
    &Th                        d dl Z ddlmZmZmZ ddlmZ ddlmZ ddlm	Z
 ddd	d
ddddZ G d dej                        ZdddddddZd Z ej                  ej                   e        ej"                  ej                   e        ej$                  ej                   g d        ej&                  ej                   d       y)    N   )Image	ImageFileImagePalette)i16le)o8)o16leP1LLAzBGR;5BGRBGRA))r      )   r   )r   r   )r      )   r   )r      )r       c                        e Zd ZdZdZd Zd Zy)TgaImageFileTGATargac                    | j                   j                  d      }|d   }|d   }|d   }|d   }|d   }t        |d      t        |d      f| _        |d	vs(| j                  d   dk  s| j                  d   dk  s|d
vrd}t        |      |dv r!d| _        |dk(  rd| _        n>|dk(  r9d| _        n1|dv rd| _        n%|dv rd| _        |dk(  rd| _        nd}t        |      |dz  }|dv | _        |dv rd}n|dv rd}nd}t        |      || j                  d<   |dz  rd| j                  d <   |r(| j                   j                  |      | j                  d!<   |rt        |d"      t        |d#      |d$   }}
}	|dk(  r>t        j                  d%d&|	z  | j                   j                  d|
z        z         | _        n|d'k(  r>t        j                  d(d)|	z  | j                   j                  d"|
z        z         | _        nB|dk(  r=t        j                  d*d+|	z  | j                   j                  d,|
z        z         | _        	 t        |d$z  |f   }|dz  r5dd-| j                  z   | j                   j                         |||ffg| _        y d.d-| j                  z   | j                   j                         |d|ffg| _        y # t        $ r Y y w xY w)/N   r   r   r   r            )r   r   )r   r   r   r   r   znot a TGA file)r      r   r   r   )r   	   r
   )r   
   RGBr   RGBAzunknown TGA mode0   )r   r$   )r   r$   )r   r   zunknown TGA orientationorientationr   tga_rlecompression
id_sectionr         zBGR;15s     r   r   s      r   s          r   r   raw)fpreadi16_sizesizeSyntaxErrormode_flip_horizontallyinfor   r.   paletteMODEStelltileKeyError)selfsid_lencolormaptype	imagetypedepthflagsmsgr&   startr3   mapdepthrawmodes                Z/home/stella.sw7ft.com/public_html/venv/lib/python3.12/site-packages/PIL/TgaImagePlugin.py_openzTgaImageFile._open4   s   GGLL1taD	""BZQ+
 &yy|q yy|q .."Cc"" DIz	" 	& DI'!DI{"	$Cc"" dl"-"=,&KI%K+Cc""#.		- q='0DIIm$&*ggll6&:DIIl#$'1Is1ay!A$4E2~+//i%/$'',,q4x2HH  R+//9u,tww||AH/EE  R+//I-QX0FF 
	Y]E23G1} "* +u5		 * ![1		  		s   ?AJ< 4J< <	KKc                     | j                   r9| j                  j                  t        j                  j
                        | _        y y )N)r6   im	transposer   	TransposeFLIP_LEFT_RIGHT)r=   s    rH   load_endzTgaImageFile.load_end   s0    ""gg''(G(GHDG #    N)__name__
__module____qualname__formatformat_descriptionrI   rO    rP   rH   r   r   0   s    F dLIrP   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r
   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r
   r"   r#   c           
         	 t         | j                     \  }}}}d| j                  v r| j                  d   }	n:| j                  j                  d| j                  j                  d            }
|
dk(  }	|	r|dz  }| j                  j                  d| j                  j                  dd            }t        |      }|d	kD  rd	}|d d	 }t        j                  d
       |r-| j                  j                  dd      }t        |      dz  d}}nd\  }}| j                  dv rd}nd}| j                  j                  d| j                  j                  dd            }|dkD  r|dz  }|j                  t        |      t        |      z   t        |      z   t        d      z   t        |      z   t        |      z   t        d      z   t        d      z   t        | j                  d         z   t        | j                  d         z   t        |      z   t        |      z          |r|j                  |       |r|j                         |	r,t!        j"                  | |dd| j                  z   d||ffg       n,t!        j"                  | |dd| j                  z   d|d|ffg       |j                  d       y # t        $ r!}d| j                   d}t        |      |d }~ww xY w)Nzcannot write mode z as TGArler(   r'   r   r)       z-id_section has been trimmed to 255 charactersr"   r   r   r   r-   )r   r#   r   r&   r%   r   r   r.   s           TRUEVISION-XFILE. )SAVEr5   r<   OSErrorencoderinfogetr7   lenwarningswarnrK   
getpalettewriter   o16r3   r   _save)rK   r/   filenamerG   bitsr@   rA   erD   rX   r(   r)   r?   r8   colormaplengthcolormapentryrC   r&   s                     rH   re   re      s   "15bgg.|Y
 nnU#nn((M8RSY&
Q	##L"''++lB2OPJ_F|%
EF%%""5%0(+G(92(,%	ww. ..$$]BGGKKr4RSKQHH
6

\
	
Y-	 a&	 n
		
 ]
	 a&	 a&	 bggaj/	 bggaj/		 T(
	 U)	 


i"''!11w6LMN	
 	eVbgg-q7A{2KLM	

 HH9:C  ""277)73cl!"s   J, ,	K5KK)z.tgaz.icbz.vdaz.vstzimage/x-tga)r`   rY   r   r   r   _binaryr   r1   r   r	   rd   r9   r   r[   re   register_openrT   register_saveregister_extensionsregister_mimerV   rP   rH   <module>rp      s   (  , , !  ! 		 lI9&& lIj 
	
	D;X   L'' 6   L'' /   ,--/O P   L'' 7rP   