﻿@charset "utf-8";

//=========================
//精灵图信息获取
//=========================

//获取精灵图总的宽
@function map-width($sprite,$unit:'number'){
    $result:map-get(map-get($sprite,size),width);
    @if $unit == 'px' {
        $result:$result + 0px;
    } @else if $unit == 'rem' {
        $result:rem($result);
    };
    @return $result; 
};

//获取精灵图总的高
@function map-height($sprite,$unit:'number'){
    $result:map-get(map-get($sprite,size),height);    
    @if $unit == 'px' {
        $result:$result + 0px;
    } @else if $unit == 'rem' {
        $result:rem($result);
    };
    @return $result; 
};

//获取精灵图url
@function map-url($sprite,$addedPath:'../'){
    @return $addedPath + map-get($sprite,url);
};

//获取精灵图列表
@function sprite-list($sprite){
    @return map-get($sprite,spriteNames);
};

//获取精灵图元素宽
@function sprite-width($sprite,$element,$unit:'number'){
    $es:map-get($sprite,element);
    $e:map-get($es,$element);
    @if $e == null {
        @debug 'Sprite "' + $element + '.png" file does not exist';
    };
    $result:map-get($e,width);

    @if $unit == 'px' {
        $result:$result + 0px;
    } @else if $unit == 'rem' {
        $result:rem($result);
    };
    @return $result;
};

//获取精灵图元素高
@function sprite-height($sprite,$element,$unit:'number'){
    $es:map-get($sprite,element);
    $e:map-get($es,$element);
    @if $e == null {
        @debug 'Sprite "' + $element + '.png" file does not exist';
    };
    $result:map-get($e,height);

    @if $unit == 'px' {
        $result:$result + 0px;
    } @else if $unit == 'rem' {
        $result:rem($result);
    };
    @return $result;
};

//获取精灵图元素X坐标
@function sprite-x($sprite,$element,$unit:'number'){
    $es:map-get($sprite,element);
    $e:map-get($es,$element);
    @if $e == null {
        @debug 'Sprite "' + $element + '.png" file does not exist';
    };
    $result:map-get($e,x);
    @if $unit == 'px' {
        $result:$result + 0px;
    } @else if $unit == 'rem' {
        $result:rem($result);
    };
    @return $result;
};

//获取精灵图元素Y坐标
@function sprite-y($sprite,$element,$unit:'number'){
    $es:map-get($sprite,element);
    $e:map-get($es,$element);
    @if $e == null {
        @debug 'Sprite "' + $element + '.png" file does not exist';
    };
    $result:map-get($e,y);
    @if $unit == 'px' {
        $result:$result + 0px;
    } @else if $unit == 'rem' {
        $result:rem($result);
    };
    @return $result;
};