
     fI                    |   d dl mZ d dlZd dlZd dlm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  ej        e          ZddZ G d dej                  ZdddddZd dZ ej        ej        ee            ej        ej        e            ej        ej        d            ej        ej        d           dS )!    )annotationsN)IO   )Image	ImageFileImagePalette)i16le)o8)o16leprefixbytesreturnboolc                .    | d         dk    o	| d         dv S )Nr   
   r   )r             )r   s    U/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/PIL/PcxImagePlugin.py_acceptr   )   s    !9?8vayL88    c                      e Zd ZdZdZddZdS )PcxImageFilePCX
Paintbrushr   Nonec                   | j         J | j                             d          }t          |          sd}t          |          t	          |d          t	          |d          t	          |d          dz   t	          |d          dz   f}|d         |d	         k    s|d
         |d         k    rd}t          |          t          j        dg|R   |d         }|d
         }|d         }t	          |d          }t
                              d||||           t	          |d          t	          |d          f| j        d<   |dk    r|dk    rdx}}	nV|dk    r/|dv r+d}d|z  }	t          j	        d|dd                   | _
        n!|dk    r|dk    r|dk    rdx}}	| j                             dt          j                   | j                             d          }t          |          dk    rv|d	         dk    rjt          d          D ]2}
||
d
z  dz   |
d
z  dz            t!          |
          d
z  k    rdx}}	 n3|dk    r"t          j	        d|dd                    | _
        | j                             d           n(|dk    r|dk    r|d
k    rd}d}	nd }t#          |          || _        |d         |d	         z
  |d
         |d         z
  f| _        | j        d	         |z  d!z   dz  }||k    r||dz  z  }d"| j        z   }t          j        d#g| j        R   d$|| j                                         |	||z  ffg| _        d S )%N   znot a PCX file         r   r   r   r   r   zbad PCX image sizezBBox: %s %s %s %sA   B   z-PCX version %s, bits %s, planes %s, stride %s      dpi1)r   r    PzP;%dLRGB   @   r   Lii     RGB;Lzunknown PCX mode   r   r   zsize: %sx%spcx)fpreadr   SyntaxErrori16loggerdebuginfor   rawpaletteseekioSEEK_ENDlenranger
   OSError_mode_sizesizetelltile)selfsmsgbboxversionbitsplanesprovided_stridemoderawmodeistrides               r   _openzPcxImageFile._open5   s   w"""GLLqzz 	#"Cc""" 1ayy#a))SAYY]C2JJNB7d1gaDG!3!3&Cc"""(040000 A$t2a**;	
 	
 	
 q"::s1bzz1	%1991  D77QYY6V++D&G'+E1RU8<<DLL\\daiiFaKK  D7GLLr{+++S!!A1vv}}1s  AQQUQY./2a5519<<),,w = 3;;#/#3E1QRR5#A#ADLGLL\\daiiFaKKDGG %C#,,
!WtAw&Q$q'(99

 *Q-$&*q0 f$$fqj F	!]/TY////T47<<>>GVf_3MNO			r   N)r   r   )__name__
__module____qualname__formatformat_descriptionrS   r   r   r   r   r   1   s?        F%NP NP NP NP NP NPr   r   )r   r   r   r(   )r   r"   r   r-   )r   r"   r   r)   )r   r"   r   r/   )r(   r-   r)   r*   imImage.Imager3   	IO[bytes]filenamestr | bytesr   c           
        	 t           | j                 \  }}}}n-# t          $ r }d| j         d}t          |          |d }~ww xY w| j        d         |z  dz   dz  }	|	|	dz  z  }	t
                              d| j        d         ||	           | j        }
d}|                    t          d	          t          |          z   t          d
          z   t          |          z   t          d          z   t          d          z   t          | j        d         d
z
            z   t          | j        d
         d
z
            z   t          |d                   z   t          |d
                   z   dz   dz   dz   t          |          z   t          |	          z   t          d
          z   t          |
d                   z   t          |
d
                   z   dz              |
                                dk    sJ t          j        | |dd| j        z   d|||z  ffg           | j        dk    ru| j        J |                    t          d                     | j                            dd          }|ddt          |          z
  z  z  }|                    |           d S | j        dk    rY|                    t          d                     t!          d          D ])}|                    t          |          dz             (d S d S )NzCannot save z images as PCXr   r0   r"   r   z6PcxImagePlugin._save: xwidth: %d, bits: %d, stride: %d)d   r_   r   r   s                           s       s6                                                         r   r2   r1   r)   r%   r*   i   r-   r.   r   )SAVErO   KeyError
ValueErrorrD   r7   r8   writer
   o16rE   r   _saverY   
getpaletter?   r@   )rY   r3   r\   rK   rL   rM   rP   erI   rR   screenr'   r;   rQ   s                 r   rf   rf      s8   %)-bg&vww % % %4RW444oo1$%
 gaj4!#)F
fqjF
 LL@

	   WF
C HH
2
W++	
Q%%	 T((	 a&&		
 a&&	 bgaj1n

	 bgaj1n

	 c!f++	 c!f++		 
	 	 	 V**	 f++	 a&&	  fQi..!	" fQi..#	$ %	  , 7799OBeVbg%5q7D6M:RSTUUU	w#~~u   
B%""5%007cCLL011
	C
Bs 	  	 AHHRUUQY	 
	  	 s    
A?Az.pcxzimage/x-pcx)r   r   r   r   )rY   rZ   r3   r[   r\   r]   r   r   )
__future__r   r=   loggingtypingr    r   r   r   _binaryr	   r6   r
   r   re   	getLoggerrT   r7   r   r   ra   rf   register_openrW   register_saveregister_extensionregister_mimer   r   r   <module>rt      s  6 # " " " " " 				        , , , , , , , , , , ! ! ! ! ! !       ! ! ! ! ! !		8	$	$9 9 9 9RP RP RP RP RP9& RP RP RPv 
		 D  D  D  D V  L'w ? ? ?  L' / / /  ,f 5 5 5  L' 7 7 7 7 7r   