ó
î Xc           @   s§   d  d l  m Z m Z m Z m Z d  d l m Z d Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z e e	 e
 e e g Z d	 d d
 „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   pit   logt   sint   sqrt(   t   o8g»½×Ùß|Û=c         C   sc   | |  k r+ |  t  k  r d Sd | |  Sn4 | |  } d |  }  |  t  k  rO d Sd d | |  Sd  S(   Ng        g      à?g      ð?(   t   EPSILON(   t   middlet   pos(    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt   linear   s    

c         C   s!   | t  d ƒ t  t |  t ƒ ƒ S(   Ng      à?(   R   t   maxR   (   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt   curved+   s    c         C   s(   t  t d t t |  | ƒ ƒ d d S(   Ng       @g      ð?(   R   R    R   (   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt   sine/   s    c         C   s   t  d t |  | ƒ d d ƒ S(   Ng      ð?i   (   R   R   (   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt   sphere_increasing3   s    c         C   s   d t  d t |  | ƒ d ƒ S(   Ng      ð?i   (   R   R   (   R   R   (    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt   sphere_decreasing7   s    t   GradientFilec           B   s   e  Z d Z d  d „ Z RS(   i   c         C   sÍ  g  } d } |  j  | \ } } } } } }	 xŒt | ƒ D]~}
 |
 t | d ƒ } x9 | | k  r | d 7} |  j  | \ } } } } } }	 qU W| | } | t k  r¶ |	 d d ƒ } n |	 | | | | | | ƒ } t t d | d | d | | d d ƒ ƒ } t t d | d | d | | d d ƒ ƒ } t t d | d | d | | d d ƒ ƒ } t t d | d | d | | d d ƒ ƒ } | j | | | | ƒ q8 Wd j | ƒ d f S(	   Ni    i   g      à?iÿ   i   i   t    t   RGBA(   t   gradientt   ranget   floatR   R   t   intt   appendt   join(   t   selft   entriest   palettet   ixt   x0t   x1t   xmt   rgb0t   rgb1t   segmentt   it   xt   wt   scalet   rt   gt   bt   a(    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt
   getpaletteA   s$    
#
2222N(   t   __name__t
   __module__t   NoneR   R)   (    (    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyR   =   s   t   GimpGradientFilec           B   s   e  Z d  „  Z RS(   c         C   sW  | j  ƒ  d  d k r% t d ƒ ‚ n  | j  ƒ  } | j d ƒ rU | j  ƒ  j ƒ  } n  t | ƒ } g  } xà t | ƒ D]Ò } | j  ƒ  j ƒ  } g  | d  D] } t | ƒ ^ q— } | d | d }	 }
 | d } | d	 d
 !} | d
 d !} t t | d ƒ } t | d ƒ } | d k r't	 d ƒ ‚ n  | j
 |	 |
 | | | | f ƒ qt W| |  _ d  S(   Ni   s   GIMP Gradients   not a GIMP gradient files   Name: i   i    i   i   i   i   i   s   cannot handle HSV colour space(   t   readlinet   SyntaxErrort
   startswitht   stripR   R   t   splitR   t   SEGMENTSt   IOErrorR   R   (   R   t   fpt   linet   countR   R!   t   sR"   R#   R   R   R   R   R   R    t   cspace(    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt   __init__h   s(    #
#(   R*   R+   R:   (    (    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyR-   f   s   N(    (   t   mathR    R   R   R   t   PIL._binaryR   R   R   R
   R   R   R   R3   R   R-   (    (    (    s8   /usr/lib/python2.7/dist-packages/PIL/GimpGradientFile.pyt   <module>   s   "					)