
    "d                     (    d Z ddlZd Zd Zd Zd Zy)zLibsass functions.    Nc           	         d}t        | t        j                        r|j                  dk(  r|j                  }n.|j                  dkD  r|j                  dz  }n|j                  dz  }|j                  t        | j                        t        |j                        t        |j                        t        |            S t        | t              r;|j                  t        |       t        |      t        |      t        |dz              S y)aW  Convert r,g,b,a values to standard format.

    Where `a` is alpha! In CSS alpha can be given as:
     * float from 0.0 (fully transparent) to 1.0 (opaque)
    In Qt or qss that is:
     * int from 0 (fully transparent) to 255 (opaque)
    A percentage value 0% (fully transparent) to 100% (opaque) works
    in BOTH systems the same way!
    zrgba({}, {}, {}, {}%)%g      ?gffffff@d   N)
isinstancesass
SassNumberunitvalueformatintfloat)rgbaresultalphas         2/usr/lib/python3/dist-packages/qtsass/functions.pyrgbar      s     %F!T__%66S=GGEWWs]GGdNEGGcME}}LLLJ	
 	
 
Au	}}SVSVSVSS\BB 
    c                     t        | t        j                        sdj                  |       S t	        | j
                  | j                  | j                  | j                        S )z8
    Conform rgba.

    :type color: sass.SassColor
    z{})	r   r   	SassColorr   r   r   r   r   r   )colors    r   rgba_from_colorr   1   sB     eT^^,{{5!!%''57733r   c           	      .   g }|d   D ]>  }|d   \  }}|j                  dj                  |j                  t        |                   @ d}	|	j                  | j                  |j                  |j                  |j                  dj	                  |            S )z
    Implement qss qlineargradient function for scss.

    :type x1: sass.SassNumber
    :type y1: sass.SassNumber
    :type x2: sass.SassNumber
    :type y2: sass.SassNumber
    :type stops: sass.SassList
    :return:
    r   stop: {} {}z3qlineargradient(x1: {}, y1: {}, x2: {}, y2: {}, {}), appendr   r
   r   join)
x1y1x2y2stops	stops_strstopposr   templates
             r   qlineargradientr*   >   s     Ia !W
U--IIE"
 	 EH??288RXXrxx99Y/1 1r   c                 F   g }|d   D ]>  }|d   \  }	}
|j                  dj                  |	j                  t        |
                   @ d}|j                  | |j                  |j                  |j                  |j                  |j                  dj	                  |            S )a  
    Implement qss qradialgradient function for scss.

    :type spread: string
    :type cx: sass.SassNumber
    :type cy: sass.SassNumber
    :type radius: sass.SassNumber
    :type fx: sass.SassNumber
    :type fy: sass.SassNumber
    :type stops: sass.SassList
    :return:
    r   r   zKqradialgradient(spread: {}, cx: {}, cy: {}, radius: {}, fx: {}, fy: {}, {})r   r   )spreadcxcyradiusfxfyr%   r&   r'   r(   r   r)   s               r   qradialgradientr2   U   s     Ia !W
U--IIE"
 	H ??6288RXXv||RXX88TYYy%9; ;r   )__doc__r   r   r   r*   r2    r   r   <module>r5      s$    
 C:
41.;r   