ó
î Xc           @   s  d  Z  d d l m Z m Z m Z m Z e j Z e j Z e j	 Z
 i d d 6d d 6d d 6d	 d 6d d 6d d 6Z d e j f d „  ƒ  YZ e j Z e j Z e j Z i d d 6d  d 6d! d 6d" d 6d# d 6Z d d „ Z e j d e ƒ e j d e ƒ e j d d ƒ d S($   s   0.3iÿÿÿÿ(   t   Imaget	   ImageFilet   ImagePalettet   _binaryt   Pi   i   t   1i   t   Ls   BGR;5i   i   t   BGRi   t   BGRAi    t   TgaImageFilec           B   s   e  Z d  Z d Z d „  Z RS(   t   TGAt   Targac         C   sg  |  j  j d ƒ } t | d ƒ } t | d ƒ } t | d ƒ } t | d ƒ } t | d ƒ } t | d ƒ t | d ƒ f |  _ | d& k sÃ |  j d d k sÃ |  j d d k sÃ | d' k rÒ t d ƒ ‚ n  | d( k rd |  _ | d k rVd |  _ qVnT | d) k rd |  _ n< | d* k rJd |  _ | d k rVd |  _ qVn t d ƒ ‚ | d @} | d k rud } n | s„d } n t d ƒ ‚ | |  j d <| d	 @r·d |  j d <n  | rÙ|  j  j | ƒ |  j d <n  | rÈt | d ƒ t | d ƒ t | d ƒ } }	 }
 |
 d k rMt j	 d  d+ | |  j  j d |	 ƒ ƒ |  _
 qÈ|
 d
 k r‰t j	 d" d, | |  j  j d |	 ƒ ƒ |  _
 qÈ|
 d k rÈt j	 d# d- | |  j  j d$ |	 ƒ ƒ |  _
 qÈn  y‡ t | d @| f } | d	 @rd d. |  j |  j  j ƒ  | | | f f g |  _ n1 d% d/ |  j |  j  j ƒ  | d | f f g |  _ Wn t k
 rbn Xd  S(0   Ni   i    i   i   i   i   i   i   i   i   i    s   not a TGA filei   i   R   R   i	   R   i
   t   RGBt   RGBAs   unknown TGA modei0   iÿÿÿÿs   unknown TGA orientationt   orientationt   tga_rlet   compressiont
   id_sectioni   i   s   BGR;16t    R   R   i   t   raw(   i    i   (   i   i   i   i   i    (   i   i   (   i   i	   (   i   i
   t     t      t       (   i    i    (   i    i    (   t   fpt   readt   i8t   i16t   sizet   SyntaxErrort   modet   infoR   R   t   palettet   MODESt   tellt   tilet   KeyError(   t   selft   st   idlent   colormaptypet	   imagetypet   deptht   flagsR   t   startR   t   mapdeptht   rawmode(    (    s6   /usr/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyt   _open5   sj    #&		
		
2**-
'((   t   __name__t
   __module__t   formatt   format_descriptionR.   (    (    (    s6   /usr/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyR	   0   s   i    R   R   c      	   C   s¥  y t  |  j \ } } } } Wn$ t k
 rC t d |  j ƒ ‚ n X| rN | S| rf d \ } }	 }
 n d \ } }	 }
 |  j d k r d } n d } |  j j d d ƒ } | d k rÁ | d	 B} n  | j d
 t | ƒ t | ƒ t | ƒ t |	 ƒ t |
 ƒ t d ƒ t d ƒ t |  j	 d ƒ t |  j	 d ƒ t | ƒ t | ƒ ƒ | ro| j |  j
 j d d ƒ ƒ n  t j |  | d d |  j	 d | d | f f g ƒ d  S(   Ns   cannot write mode %s as TGAi    i   i   R   i   R   iÿÿÿÿi    R   i   R   R   R   (   i    i   i   (   i    i    i    (   i    i    (   t   SAVER   R#   t   IOErrorR   t   gett   writet   o8t   o16R   t   imt
   getpaletteR   t   _save(   R9   R   t   filenamet   checkR-   t   bitsR'   R(   t   colormapfirstt   colormaplengtht   colormapentryR*   R   (    (    s6   /usr/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyR;   •   s,    	
uR
   s   .tgaN(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   R   i   i    i   (   R   i   i    i   (   R   i   i   i   (   s   BGRi   i    i   (   s   BGRAi    i    i   (   t   __version__t   PILR    R   R   R   R   t   i16leR   t   i32let   i32R    R	   R7   t   o16leR8   t   o32let   o32R3   R;   t   register_opent   register_savet   register_extension(    (    (    s6   /usr/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyt   <module>   s2   "			
X			
/