o
    üÞhG  ã                   @  s€   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZddlm	Z	 dZ
e
r.ddlmZ 					dddd„Zddd„ZdS )é    )ÚannotationsNé   )ÚImageF)ÚImageWinÚbboxú tuple[int, int, int, int] | NoneÚinclude_layered_windowsÚboolÚall_screensÚxdisplayú
str | NoneÚwindowúint | ImageWin.HWND | NoneÚreturnúImage.Imagec              
   C  s’  |d u r±t jdkrat d¡\}}t |¡ dg}| r5| \}}	}
}|d|› d|	› d|
| › d||	 › �g7 }t |d|g ¡ t 	|¡}| 
¡  t |¡ | r_| |
| ||	 f¡}| ¡  |S |S t jdkr±|d urld}tj |||d uryt|ƒnd	¡\}}}t d
||dd|d	 d d d@ d¡}| r¯|\}}| \}}	}
}| || |	| |
| || f¡}|S |}ztjjs¾d}t|ƒ‚tj |¡\}}W nh t�y/   |d u �r.t jdv�r.t d¡räddg}nt d¡rídg}nt d¡r÷g d¢}n‚ t d¡\}}t |¡ t ||g ¡ t 	|¡}| 
¡  t |¡ | �r*| | ¡}| ¡  | Y S | Y S ‚ w t d
||dd|d	 d d¡}| �rG| | ¡}|S )NÚdarwinz.pngÚscreencapturez-Rú,z-xÚwin32éÿÿÿÿr   ÚRGBÚrawÚBGRé   éüÿÿÿz$Pillow was built without XCB support)r   r   zgnome-screenshotú-fÚgrimÚ	spectacle)r   z-nz-br   ú-oÚBGRXé   r   )ÚsysÚplatformÚtempfileÚmkstempÚosÚcloseÚ
subprocessÚcallr   ÚopenÚloadÚunlinkÚresizeÚcoreÚgrabscreen_win32ÚintÚ	frombytesÚcropÚHAVE_XCBÚOSErrorÚgrabscreen_x11ÚshutilÚwhich)r   r   r
   r   r   ÚfhÚfilepathÚargsÚleftÚtopÚrightÚbottomÚimÚ
im_resizedÚoffsetÚsizeÚdataÚx0Úy0Údisplay_nameÚmsgÚ
im_cropped© rH   úM/var/www/html/premium_crap/venv/lib/python3.10/site-packages/PIL/ImageGrab.pyÚgrab!   sŽ   

*



ýø
"








ê
rJ   úImage.Image | list[str] | Nonec                  C  s$  t jdkr+tjg d¢dd�} | jdkrd S dd l}t | | j	dd… ¡¡}t
 |¡S t jdkr™t
j ¡ \}}|d	krodd l}| d
|¡d }|d dkrZ||d …  d¡ d¡}n||d …  d¡ d¡}|d | d¡… S t|tƒr—t |¡}|dkrˆddlm} | |¡S |dkr—ddlm} | |¡S d S t d¡r¡d}	n
t d¡r©d}	nd }	t d¡r¹|	dv r¹g d¢}
nt d¡rÇ|	dv rÇg d¢}
nd}t|ƒ‚tj|
dd�} | jdk�r| j}d D ]	}||v rè d S qß|
d › d!�}|rý|d"|  ¡  ¡ › �7 }t!|ƒ‚t | j	¡}t
 |¡}| "¡  |S )#Nr   )Ú	osascriptz-eu#   get the clipboard as Â«class PNGfÂ»T)Úcapture_outputr   é   éýÿÿÿr   ÚfileÚIé   Úmbcsú zutf-16leÚ Úpngr   )ÚPngImagePluginÚDIB)ÚBmpImagePluginÚWAYLAND_DISPLAYÚwaylandÚDISPLAYÚx11úwl-paste)r[   N)r^   ú-tÚimageÚxclip)r]   N)ra   z
-selectionÚ	clipboardr_   z	image/pngr   zDwl-paste or xclip is required for ImageGrab.grabclipboard() on Linux)s   Nothing is copieds   No selections"   No suitable type of content copieds    not availables   cannot convert s(   xclip: Error: There is no owner for the z errorz: )#r!   r"   r'   ÚrunÚ
returncodeÚbinasciiÚioÚBytesIOÚ	unhexlifyÚstdoutr   r)   r-   Úgrabclipboard_win32ÚstructÚunpack_fromÚdecodeÚsplitÚindexÚ
isinstanceÚbytesrU   rW   ÚPngImageFilerY   ÚDibImageFiler%   Úgetenvr5   r6   ÚNotImplementedErrorÚstderrÚstripÚChildProcessErrorr*   )Úpre   rB   Úfmtrk   ÚoÚfilesrW   rY   Úsession_typer9   rF   ÚerrÚsilent_errorr>   rH   rH   rI   Úgrabclipboardv   sl   
þ










ÿ
r€   )NFFNN)r   r   r   r	   r
   r	   r   r   r   r   r   r   )r   rK   )Ú
__future__r   rf   r%   r5   r'   r!   r#   rU   r   ÚTYPE_CHECKINGr   rJ   r€   rH   rH   rH   rI   Ú<module>   s$   ûU