
    ^j 
                     n    d dl Zd dlT d dlT d dlmZ  G d de          Z G d de          Z	d Z
d	 ZdS )
    N)*)Imagec                       e Zd Zd Zd ZdS )PILImageDecoderc                 
    g dS )N).bmpz.cur.gifz.ico.jpg.jpeg.pcx.pngz.tgaz.tif.tiff.xbmz.xpm selfs    R/home/agentuser/manim-venv/lib/python3.11/site-packages/pyglet/image/codecs/pil.pyget_file_extensionsz#PILImageDecoder.get_file_extensions
       9 9 9 	9    c                    |st          |d          }	 t          j         |          }n)# t          $ r}t          d|p|d|          d }~ww xY w	 |                    t          j                  }n)# t          $ r}t          d|p|d|          d }~ww xY w|j        dv r|                                }|j        dvrt          d|j        z            |j        \  }}t          |||j        |
                                          S )NrbzPIL cannot read z: zPIL failed to transpose )1P)LLARGBRGBAzUnsupported mode "%s")openr   	ExceptionImageDecodeException	transposeFLIP_TOP_BOTTOMmodeconvertsize	ImageDatatobytes)r   filenamefileimageewidthheights          r   decodezPILImageDecoder.decode   sF    	($''D	YJt$$EE 	Y 	Y 	Y&&8CStCSCSUVUV'WXXX	Y	aOOE$9::EE 	a 	a 	a&&8K[W[K[K[]^]^'_```	a :##MMOOE:777&'>'KLLL
v
EMMOODDDs,   ) 
AA

AA3 3
B=BBN)__name__
__module____qualname__r   r/   r   r   r   r   r   	   s7        9 9 9E E E E Er   r   c                       e Zd Zd Zd ZdS )PILImageEncoderc                 
    g dS )N)
r   z.epsr	   r
   r   r   r   z.ppmr   r   r   r   s    r   r   z#PILImageEncoder.get_file_extensions,   r   r   c                 T   |r-t           j                            |          d         dd          pd}|                                dk    rd}|                                }|j        }|dk    rd}|j        t          |          z   }	 t          t          d          }n%# t          $ r t          t          d          }Y nw xY w |||j        |j        f|                    ||                    }	 |                    ||           d S # t          $ r}	t          |	          d }	~	ww xY w)	N   pngjpgJPEGr   r   	frombytes
fromstring)ospathsplitextlowerget_image_dataformatr-   lengetattrr   AttributeErrorr.   get_datasaver    ImageEncodeException)
r   r+   r)   r*   
pil_formatfmtpitchimage_from_fn	pil_imager,   s
             r   encodezPILImageEncoder.encode1   sB   D27#3#3H#=#=a#@#DN
&&J$$&&l%<<C+C()	9#E;77MM 	9 	9 	9#E<88MMM	9!M#U\'BENNSVX]D^D^__		*NN4,,,,, 	* 	* 	*&q)))	*s*   B C ?C 1D	 	
D'D""D'N)r0   r1   r2   r   rN   r   r   r   r4   r4   +   s2        9 9 9
* * * * *r   r4   c                       t                      gS N)r   r   r   r   get_decodersrQ   M       r   c                       t                      gS rP   )r4   r   r   r   get_encodersrT   Q   rR   r   )os.pathr=   pyglet.imagepyglet.image.codecsPILr   ImageDecoderr   ImageEncoderr4   rQ   rT   r   r   r   <module>r[      s         ! ! ! !      E E E E El E E ED* * * * *l * * *D      r   