
    zvg                       U d dl mZ d dlZd dlmZ d dlmZmZmZm	Z	 ddl
mZ ddlmZ erd dlZd dlZddl
mZ d	ed
<   e	ej        j        ej        j        f         Ze	ej        j        ej        j        f         Ze	ej        j        ej        j        f         Ze	ej        j        ej        j        f         Zded<   ddgddggZe                    d d           eD ]O\  ZZ	 ded<   edk    rd dlmZmZ d dlmZmZmZ nedk    rd dl mZmZ d dl!mZmZmZ n# e"e#f$ r Y Fw xY wdZ$eZ% ndZ$dZ%d3d4d Z&d5d$Z'd6d&Z(d7d+Z)d8d.Z*e$r G d/ d0e          Z+d9d1Z,d:d2Z-dS );    )annotationsN)BytesIO)TYPE_CHECKINGAnyCallableUnion   )Image)is_path)	ImageFiletypeQBufferz
str | None
qt_version6PyQt6side6PySide6c                *    | d         t           j        v S )Nr	   )sysmodules)versions    H/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/PIL/ImageQt.py<lambda>r   .   s    WQZ3;%>     T)keyreversez#Callable[[int, int, int, int], int]qRgba)r   	QIODevice)QImageQPixmapr   F   rintgbareturnc                ,    t          | |||          dz  S )zA(Internal) Turns an RGB color into a Qt compatible color integer.l    )r   )r"   r$   r%   r&   s       r   rgbr)   B   s     Aq!z))r   imQImage | QPixmapImageFile.ImageFilec                f   t                      }t          dk    r<	 t          t          d          }n,# t          $ r t          t          d          }Y nw xY wt          }|                    t          |d                     |                                 r|                     |d           n|                     |d           t                      }|	                    |
                                           |                                 |                    d           t          j        |          S )z1
    :param im: QImage or PIL ImageQt object
    r   OpenModeFlagOpenMode	ReadWritepngppmr   )r   r   getattrr   AttributeErroropenhasAlphaChannelsaver   writedatacloseseekr
   )r*   bufferqt_openmoder%   s       r   
fromqimager>   I   s    YYFS	9!)^<<KK 	9 	9 	9!)Z88KKK	9  
KK[11222 
 

		AGGFKKMM
LLNNNFF1III:a==s   1 AAr    c                     t          |           S N)r>   r*   s    r   fromqpixmaprB   f   s    b>>r   byteswidthmodestrc                    	 ddddd|         }||z  }t          |d          \  }}||rdndz    dz  		s S  	fdt          t                     z            D             }d                    |          S )	zE
    converts each scanline of data from 8 bit to 32 bit aligned
    r	         )1LPI;16r      c                B    g | ]}|z  |d z   z           dz  z   S )r	        ).0irC   bytes_per_lineextra_paddings     r   
<listcomp>zalign8to32.<locals>.<listcomp>|   sK        	a. AE^#;;<w?VV  r   r   )divmodrangelenjoin)
rC   rD   rE   bits_per_pixelbits_per_linefull_bytes_per_lineremaining_bits_per_linenew_datarT   rU   s
   `       @@r   
align8to32r`   j   s    
 11b99$?N #U*M39-3K3K00(1H,OAAaPN#Oa'M       s5zz^344  H
 88Hr   Image.Image | str | QByteArraydict[str, Any]c                  	 d }d }d}t          | d          r"t          |                                 d          } t          |           rt	          j        |           } d}t          | t          j                  sJ t          dk    rt          t          d          nt          }| j
        dk    rt          |d          }n{| j
        d	k    r+t          |d
          }d t          d          D             }nE| j
        dk    rSt          |d
          }|                                 		J 	fdt          dt          	          d          D             }n| j
        dk    r<|                     d          } |                     dd          }t          |d          }n| j
        dk    r'|                     dd          }t          |d          }nn| j
        dk    r'|                     d           } t          |d          }n<|r|                                  dt%          | j
                   }t'          |          | j        }|p-t+          |                                 |d         | j
                  }|r|                                  ||||dS )NFtoUtf8zutf-8Tr   FormatrJ   Format_MonorK   Format_Indexed8c                0    g | ]}t          |||          S rQ   r)   )rR   rS   s     r   rV   z$_toqclass_helper.<locals>.<listcomp>   s"    777qc!Qll777r      rL   c                8    g | ]}t          ||d z             S )   ri   )rR   rS   palettes     r   rV   z$_toqclass_helper.<locals>.<listcomp>   s+    RRR1c71q1u9-.RRRr   r   rl   RGBRGBArawBGRAFormat_RGB32Format_ARGB32rM   c                    | dz  S )Nrj   rQ   )rS   s    r   r   z"_toqclass_helper.<locals>.<lambda>   s
    C r   Format_Grayscale16zunsupported image mode )r9   sizeformat
colortable)hasattrrF   rd   r   r
   r5   
isinstancer   r3   r   rE   rX   
getpaletterY   converttobytespointr:   repr
ValueErrorrv   r`   )
r*   r9   rx   exclusive_fp	qt_formatrw   msgrv   __datarm   s
            @r   _toqclass_helperr      su   DJL r8 'g&&r{{ Z^^b%+&&&&&-73->->)))FI	w#~~M22	C$56677E#JJ777

	C$566--//"""RRRRaWq8Q8QRRR

	E		ZZzz%((N33	F		zz%((O44	F		XX''(($899 	HHJJJ7RW77oo7D?Z

d1grw??F 



DF*UUUr   c                        e Zd Zd fdZ xZS )ImageQtr*   ra   r'   Nonec                   t          |          }|d         | _        t                                          | j        |d         d         |d         d         |d                    |d         r|                     |d                    dS dS )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).
            r9   rv   r   r	   rw   rx   N)r   _ImageQt__datasuper__init__setColorTable)selfr*   im_data	__class__s      r   r   zImageQt.__init__   s     'r**G
 "&/DKGG""!	   |$ :""7<#899999: :r   )r*   ra   r'   r   )__name__
__module____qualname__r   __classcell__)r   s   @r   r   r      s=        	: 	: 	: 	: 	: 	: 	: 	: 	: 	:r   r   c                     t          |           S r@   )r   rA   s    r   toqimager      s    2;;r   c                    t          |           } t          t          d          |          }t          dk    r|                                 |S )N	fromImager   )r   r3   r    r   detach)r*   qimagepixmaps      r   	toqpixmapr      sC    b\\F*WWk**622FSMr   )r!   )
r"   r#   r$   r#   r%   r#   r&   r#   r'   r#   )r*   r+   r'   r,   )r*   r    r'   r,   )rC   rC   rD   r#   rE   rF   r'   rC   )r*   ra   r'   rb   )r*   ra   r'   r   )r*   ra   r'   r    ).
__future__r   r   ior   typingr   r   r   r    r
   _utilr   r   r   r   __annotations__QtCore
QByteArrayr   QtGuir   r    qt_versionssortr   	qt_modulePyQt6.QtCorer   PyQt6.QtGuir   PySide6.QtCorePySide6.QtGuiImportErrorRuntimeErrorqt_is_installedr   r)   r>   rB   r`   r   r   r   r   rQ   r   r   <module>r      s  $ # " " " " " " 



       6 6 6 6 6 6 6 6 6 6 6 6             
@LLLNNNMMMu|.0IIJJel,gn.FFGI5;%w}';;<FEK')>>?G    'Ni   >>  M M M%  GY	222277777777:::::::::::)##99999999<<<<<<<<<<&   OJ	EOJ* * * * *   :      40V 0V 0V 0Vf  :: : : : :& : : :2        s   $6DD%$D%