ó
È4ec           @   s5  d  d l  Z  d d l m Z m Z m Z d d l m Z m Z m	 Z	 m
 Z d Z i d d 6d d 6d
 d  6d d! 6d d" 6d d# 6d d$ 6Z d e j f d „  ƒ  YZ i d% d 6d& d
 6d' d 6d( d 6d) d 6d* d 6Z d „  Z e j e j e ƒ e j e j e ƒ e j e j d d d d g ƒ e j e j d ƒ d S(+   iÿÿÿÿNi   (   t   Imaget	   ImageFilet   ImagePalette(   t   i8t   i16let   o8t   o16les   0.3t   Pi   t   1i   t   Lt   LAi   s   BGR;5i   t   BGRi   t   BGRAi    t   TgaImageFilec           B   s   e  Z d  Z d Z d „  Z RS(   t   TGAt   Targac         C   s  |  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 rÿ d |  _ qn| d k rnd |  _ qnnT | d* k r2d |  _ n< | d+ k rbd |  _ | d k rnd |  _ qnn t d ƒ ‚ | d @} | d k r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 re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	 @r5d d/ |  j |  j  j ƒ  | | | f f g |  _ n1 d& d0 |  j |  j  j ƒ  | d | f f g |  _ Wn t k
 rzn Xd  S(1   Ni   i    i   i   i   i   i   i   i   i   i    s   not a TGA filei   i   R	   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;16s    R   R   i   t   raw(   i    i   (   i   i   i   i   i    (   i   i   (   i   i	   (   i   i
   s     s      s       (   i    i    (   i    i    (   t   fpt   readR   t   i16t   _sizet   sizet   SyntaxErrort   modet   infoR   R   t   palettet   MODESt   tellt   tilet   KeyError(   t   selft   st   id_lent   colormaptypet	   imagetypet   deptht   flagsR   t   startR   t   mapdeptht   rawmode(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyt   _open8   sx    #		
		
2**-


(   t   __name__t
   __module__t   formatt   format_descriptionR.   (    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyR   3   s   i    R   R   c      	   C   sÎ  y t  |  j \ } } } } Wn$ t k
 rC t d |  j ƒ ‚ n Xd |  j k rc |  j d } n- |  j j d |  j j d ƒ ƒ } | d k } | r£ | d 7} n  |  j j d |  j j d d ƒ ƒ }	 t |	 ƒ }
 |
 d k rÿ d }
 |	 d  }	 t j	 d	 ƒ n  | rd \ } } } n d \ } } } |  j d k r>d } n d
 } |  j j d |  j j d d ƒ ƒ } | d
 k r| d B} n  | j
 t |
 ƒ t | ƒ t | ƒ t | ƒ t | ƒ t | ƒ t d
 ƒ t d
 ƒ t |  j d
 ƒ t |  j d ƒ t | ƒ t | ƒ ƒ |	 r&| j
 |	 ƒ n  | rK| j
 |  j j d d ƒ ƒ n  | rƒt j |  | d d |  j d
 | | f f g ƒ n2 t j |  | d d |  j d
 | d
 | f f g ƒ | j
 d d d ƒ d  S(   Ns   cannot write mode %s as TGAt   rleR   R   i   R   t    iÿ   s-   id_section has been trimmed to 255 charactersi    i   i   R
   R   R   iÿÿÿÿi    i   R   R   R   s    s   TRUEVISION-XFILE.(   i    i   i   (   i    i    i    (   R
   R   (   i    i    (   i    i    s           (   t   SAVER   R#   t   IOErrort   encoderinfot   getR   t   lent   warningst   warnt   writeR   t   o16R   t   imt
   getpaletteR   t   _save(   R>   R   t   filenameR-   t   bitsR'   R(   R3   R   R   R&   t   colormapfirstt   colormaplengtht   colormapentryR*   R   (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyR@   «   sJ    !$
	$‰,,s   .tgas   .icbs   .vdas   .vsts   image/x-tga(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   R   i   i    i   (   R	   i   i    i   (   R
   i   i    i   (   R   i   i   i   (   R   i   i    i   (   R   i    i    i   (   R:   R4   R    R   R   t   _binaryR   R   R   R   R   R=   t   __version__R    R   R5   R@   t   register_openR1   t   register_savet   register_extensionst   register_mime(    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/TgaImagePlugin.pyt   <module>   s0   "
n
	K