
    (ph                       % S SK Jr  S SKrS SKJr  S SKJr  SSKJr  SSK	J
r
  S\S	'   S
S/SS//r\R                  S SS9  \ HU  u  rr S\S'   S\S'   S\S'   S\S'   S\S'   \S:X  a  S SKJrJr  S SKJrJrJr  O\S:X  a  S SKJrJr  S SKJrJrJr  Sr\r  O   SrSrS$S jrS rS rS r S r!\(       a   " S  S!\5      r"S%S" jr#S# r$g! \\4 a     M  f = f)&    )annotationsN)BytesIO)Callable   )Image)is_pathz
str | None
qt_version6PyQt6side6PySide6c                .    U S   [         R                  ;   $ )Nr   )sysmodules)versions    >/var/www/html/venv/lib/python3.13/site-packages/PIL/ImageQt.py<lambda>r   "   s    WQZ3;;%>    T)keyreversetypeQBuffer	QIODeviceQImageQPixmapz#Callable[[int, int, int, int], int]qRgba)r   r   )r   r   r   Fc                     [        XX#5      S-  $ )zA(Internal) Turns an RGB color into a Qt compatible color integer.l    )r   )rgbas       r   rgbr"   :   s     qz))r   c                   [        5       n[        S:X  a   [        R                  nO[        nUR                  UR                  5        U R                  5       (       a  U R                  US5        OU R                  US5        [        5       nUR                  UR                  5       5        UR                  5         UR                  S5        [        R                  " U5      $ ! [         a    [        R
                  n Nf = f)z)
:param im: QImage or PIL ImageQt object
r
   pngppmr   )r   r	   r   OpenModeFlagAttributeErrorOpenModeopen	ReadWritehasAlphaChannelsaver   writedatacloseseekr   )imbufferqt_openmoder    s       r   
fromqimager4   A   s     YFS	-#00K  
KK%%& 


	AGGFKKM
LLNFF1I::a=#  	-#,,K	-s   C" "C?>C?c                    [        U 5      $ N)r4   r1   s    r   fromqpixmapr8   ]   s    b>r   c                   SSSSS.U   nX1-  n[        US5      u  pVXV(       a  SOS-   nU* S-  nU(       d  U $ [        [        U 5      U-  5       V	s/ s H  n	X	U-  U	S-   U-   SU-  -   PM     n
n	SR                  U
5      $ s  sn	f )	z=
converts each scanline of data from 8 bit to 32 bit aligned
r         )1LPI;16r          r   )divmodrangelenjoin)byteswidthmodebits_per_pixelbits_per_linefull_bytes_per_lineremaining_bits_per_linebytes_per_lineextra_paddinginew_datas              r   
align8to32rQ   a   s    
 11b9$?N #*M39-3K0(1HAaPN#Oa'M  s5z^344A 	. AE^#;<w?VV4  
 88Hs   Bc           	        S nS nSn[        U S5      (       a  [        U R                  5       S5      n [        U 5      (       a  [        R
                  " U 5      n Sn[        S:X  a  [        R                  O[        nU R                  S:X  a  UR                  nGOyU R                  S:X  a3  UR                  n[        S5       Vs/ s H  n[        XfU5      PM     nnGO6U R                  S	:X  aN  UR                  nU R                  5       n[        S
[        U5      S5       Vs/ s H  n[        XvUS-    6 PM     nnOU R                  S:X  a0  U R!                  S5      n U R#                  SS5      nUR$                  nOU R                  S:X  a  U R#                  SS5      nUR&                  nOiU R                  S:X  a  U R)                  S 5      n UR*                  nO:U(       a  U R-                  5         S[/        U R                  5       3n[1        U5      eU R2                  n	U=(       d(    [5        U R#                  5       U	S
   U R                  5      n
U(       a  U R-                  5         XXRS.$ s  snf s  snf )NFtoUtf8zutf-8Tr
   r<   r=      r>   r      RGBRGBArawBGRAr?   c                    U S-  $ )NrT    )rO   s    r   r   "_toqclass_helper.<locals>.<lambda>   s    Cr   zunsupported image mode )r.   sizeformat
colortable)hasattrstrrS   r   r   r)   r	   r   FormatrH   Format_MonoFormat_Indexed8rC   r"   
getpaletterD   converttobytesFormat_RGB32Format_ARGB32pointFormat_Grayscale16r/   repr
ValueErrorr]   rQ   )r1   r.   r_   exclusive_fp	qt_formatr^   rO   palettemsgr]   __datas              r   _toqclass_helperrs   {   s   DJL r8g&r{{ZZ^!+s!2I	ww#~&&	C**,1#J7Jqc!lJ
7
	C**--/8=aWq8QR8Q1c7q1u-.8Q
R
	E	ZZzz%(''	F	zz%(((	F	XX'(--HHJ'RWW7o77D?Z

d1grww?F

FUU9 8 Ss   I*I/c                  (   ^  \ rS rSrU 4S jrSrU =r$ )ImageQt   c                   > [        U5      nUS   U l        [        TU ]  U R                  US   S   US   S   US   5        US   (       a  U R	                  US   5        gg)z
An PIL image wrapper for Qt.  This is a subclass of PyQt's QImage
class.

:param im: A PIL Image object, or a file name (given either as
    Python string or a PyQt string object).
r.   r]   r   r   r^   r_   N)rs   _ImageQt__datasuper__init__setColorTable)selfr1   im_data	__class__s      r   rz   ImageQt.__init__   sr     'r*G
 "&/DKG""!	 |$""7<#89 %r   )rr   )__name__
__module____qualname____firstlineno__rz   __static_attributes____classcell__)r~   s   @r   ru   ru      s    	: 	:r   ru   c                    [        U 5      $ r6   )ru   r7   s    r   toqimager      s    2;r   c                D    [        U 5      n[        R                  " U5      $ r6   )r   r   	fromImage)r1   qimages     r   	toqpixmapr      s    b\FV$$r   )   )returnru   )%
__future__r   r   ior   typingr    r   _utilr   __annotations__qt_versionssortr   	qt_modulePyQt6.QtCorer   r   PyQt6.QtGuir   r   r   PySide6.QtCorePySide6.QtGuiImportErrorRuntimeErrorqt_is_installedr	   r"   r4   r8   rQ   rs   ru   r   r   r[   r   r   <module>r      s  $ # 
     'Ni   >  M%GY227::)#9<< OJ	# && OJ*84.Vb :& :2%w & s   1C=CCC