
 X                 @   s  d  d l  m Z m Z m Z m Z d Z e j Z e j Z i d d 6d d 6d d 6d	 d 6d d 6d d 6Z	 Gd d   d e j  Z
 e j Z e j Z e j Z i d d 6d d 6d  d 6d! d 6d" d 6Z d  d d  Z e j e
 j e
  e j e
 j e  e j e
 j d  d S)#    )Image	ImageFileImagePalette_binaryz0.3P      1   LzBGR;5      BGR   BGRA    c               @   s(   e  Z d  Z d Z d Z d d   Z d S)TgaImageFileZTGAZTargac             C   s  |  j  j d  } t | d  } t | d  } t | d  } t | d  } t | d  } t | d d    t | d 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 rbd |  _ qbnT | d( k r&d |  _ n< | d) k rVd |  _ | d k rbd |  _ qb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 d    t | d d    t | d d    } }	 }
 |
 d k rk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
 rYn Xd  S)0N   r   r   r   r            r   r   r   znot a TGA filer
      r   r	   	   r   
   RGBRGBAzunknown TGA mode0   zunknown TGA orientationorientationZtga_rlecompressionZ
id_section      zBGR;16s    r   r      raw)r   r   )r   r   r   r   r   )r
   r   )r   r   )r   r   s     s      s       )r   r   )r   r   )fpreadi8i16sizeSyntaxErrormodeinfor   r"   ZpaletteMODEStellZtileKeyError)selfsZidlencolormaptype	imagetypedepthflagsr   startr(   Zmapdepthrawmode r7   O/home/ubuntu/projects/ifolica/lib/python3.4/site-packages/PIL/TgaImagePlugin.py_open4   sj    /&		
		
D**-
'(zTgaImageFile._openN)__name__
__module____qualname__formatZformat_descriptionr9   r7   r7   r7   r8   r   /   s   r   r   r   c             C   s  y t  |  j \ } } } } Wn% t k
 rD t d |  j   Yn X| rO | S| rg 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 |   | rp| j |  j
 j d d   n  t j |  | d d |  j	 d | d | f f g  d  S)Nzcannot write mode %s as TGAr      r   r   r   r   r   r   s    r   r   r"   )r   r>   r   )r   r   r   r#   )r   r   )SAVEr*   r.   IOErrorr+   getwriteo8o16r(   imZ
getpaletter   _save)rE   r$   filenamecheckr6   bitsr1   r2   ZcolormapfirstZcolormaplengthZcolormapentryr4   r   r7   r7   r8   rF      s,    	
urF   z.tgaN)r   r   )r
   r   )r
   r   )r   r   )r   r   )r   r   )r	   r   r   r
   )r   r   r   r
   )r   r   r   r   )zBGRr   r   r   )zBGRAr   r   r   )ZPILr   r   r   r   __version__r&   Zi16ler'   r,   r   rC   Zo16lerD   Zo32leZo32r?   rF   Zregister_openr=   Zregister_saveZregister_extensionr7   r7   r7   r8   <module>   s0   "		
X			
/