o
    پhM                     @   sJ   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	ddZdd ZdS )
    N   )ImageFc              
   C   s  |d u rt 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rtj||\}}}td||d	d
|d d d d@ d}| r|\}}| \}}}	}
||| || |	| |
| f}|S tdrtd\}}t| tdd|g t	|}|
  t| | r|| }|  |S |S tjjsd}t|tj|\}}td||d	d|d d d}| r|| }|S )Ndarwinz.pngZscreencapturez-R,z-xwin32RGBrawZBGRr      zgnome-screenshotz-fz$Pillow was built without XCB supportZBGRX   r   )sysplatformtempfilemkstemposclose
subprocesscallr   openloadunlinkresizecoreZgrabscreen_win32	frombytescropshutilwhichZHAVE_XCBOSErrorZgrabscreen_x11)ZbboxZinclude_layered_windowsZall_screensZxdisplayfhfilepathargslefttoprightbottomimZ
im_resizedoffsetsizedataZx0Zy0Z
im_croppedmsg r+   S/home/www/facesmatcher.com/frenv_dlib/lib/python3.10/site-packages/PIL/ImageGrab.pygrab   sn   

*




"





r-   c                  C   s  t jdkrItd\} }t|  d| d ddddg}d	g}|D ]}|d
|g7 }q!t| d }t|j	dkrBt
|}|  t| |S t jdkrt
j \}}|dkrdd l}|d|d }	|d dkrx||	d  dd}
n||	d  dd}
|
d |
d S t|trdd l}||}|dkrddlm} ||S |dkrddlm} ||S d S tdrdg}ntdrg d}nd}t |t \} }tj|| d t|  t
|}|  t| |S )Nr   z.jpgz,set theFile to (open for access POSIX file "z" with write permission)tryz4    write (the clipboard as JPEG picture) to theFilezend tryzclose access theFileZ	osascriptz-er   r   fileI   zutf-16le mbcs Zpngr   )PngImagePluginZDIB)BmpImagePluginzwl-pastexclip)r7   z
-selection	clipboardz-tz	image/pngz-ozDwl-paste or xclip is required for ImageGrab.grabclipboard() on Linux)stdout)!r   r   r   r   r   r   r   r   statst_sizer   r   r   r   r   Zgrabclipboard_win32structunpack_fromdecodesplitindex
isinstancebytesioBytesIOr4   r5   ZPngImageFiler6   ZDibImageFiler   r   NotImplementedError)r   r    commandsscriptcommandr&   fmtr)   r<   ofilesrC   r5   r6   r!   r*   r+   r+   r,   grabclipboardW   sn   

	













rL   )NFFN)	r   r   r   r   r   r4   r   r-   rL   r+   r+   r+   r,   <module>   s   
<