o
    Z#a)                     @   sL   d dl Z ddlmZ e jdkrd dlZd dlZd dlZd
ddZdd	 ZdS )    N   )ImagedarwinFc              	   C   sF  |d u r{t jdkr:td\}}t| tdd|g t	|}|
  t| | r8|| }|  |S |S t jdkr{tj||\}}	}
td|	|
dd|	d	 d
 d
 d@ d}| ry|\}}| \}}}}||| || || || f}|S tjjstdtj|\}	}
td|	|
dd|	d	 d d}| r|| }|S )Nr   z.pngscreencapturez-xwin32RGBrawBGRr      z$Pillow was built without XCB supportBGRX   r   )sysplatformtempfilemkstemposclose
subprocesscallr   openloadunlinkcropcoregrabscreen_win32	frombytesHAVE_XCBOSErrorgrabscreen_x11)bboxinclude_layered_windowsall_screensxdisplayfhfilepathim
im_croppedoffsetsizedatax0y0lefttoprightbottom r2   //usr/lib/python3/dist-packages/PIL/ImageGrab.pygrab   sL   







"
r4   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)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 theFile	osascriptz-er   r   fileI   zutf-16le mbcs pngr   )PngImagePluginDIB)BmpImagePluginz3ImageGrab.grabclipboard() is macOS and Windows only)r   r   r   r   r   r   r   r   statst_sizer   r   r   r   r   grabclipboard_win32structunpack_fromdecodesplitindex
isinstancebytesioBytesIOr<   r>   PngImageFiler@   DibImageFileNotImplementedError)r%   r&   commandsscriptcommandr'   fmtr+   rD   ofilesrK   r>   r@   r2   r2   r3   grabclipboardG   sV   

	







rV   )NFFN)	r   r<   r   r   r   r   r   r4   rV   r2   r2   r2   r3   <module>   s   

+