
    Bwgr                    x    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	 	 	 	 	 	 	 	 	 ddZ
d	dZy)
    )annotationsN   )Imagec           
        |vt         j                  dk(  rt        j                  d      \  }}t	        j
                  |       dg}| r| \  }}}	}
|d| d| d|	|z
   d|
|z
   gz  }t        j                  |d|gz          t        j                  |      }|j                          t	        j                  |       | r+|j                  	z
  
z
  f      }|j                          |S |S t         j                  dk(  r|t        j                  j                  ||      \  }}}t        j                  d||d	d
|d   dz  dz   dz  d      }| r-|\  }}| \  }}}	}
|j!                  ||z
  ||z
  |	|z
  |
|z
  f      }|S |}	 t        j                  j"                  sd}t%        |      t        j                  j'                  |      \  }}t        j                  d||d	d|d   dz  d      }| r|j!                  |       }|S # t$        $ r |t         j                  dvrt)        j*                  d      rt        j                  d      \  }}t	        j
                  |       t        j                  dd|g       t        j                  |      }|j                          t	        j                  |       | r%|j!                  |       }|j                          |cY S |cY S  w xY w)Ndarwinz.pngscreencapturez-R,z-xwin32RGBrawBGRr      z$Pillow was built without XCB supportBGRX   r   )r   r
   zgnome-screenshotz-f)sysplatformtempfilemkstemposclose
subprocesscallr   openloadunlinkresizecoregrabscreen_win32	frombytescropHAVE_XCBOSErrorgrabscreen_x11shutilwhich)bboxinclude_layered_windowsall_screensxdisplayfhfilepathargslefttoprightbottomim
im_resizedoffsetsizedatax0y0display_namemsg
im_croppeds                        D/var/www/horilla/myenv/lib/python3.12/site-packages/PIL/ImageGrab.pygrabr>      s    <<8##++F3LBHHRL#$D+/(c5&$qQuTzl!F3J<HIIOODD(#334H%BGGIIIhYYfsl'CD

!!I\\W$!&!<!<'"FD$ a1qB&	B B+/(c5&WWdRir52:v{KLI'Lzz""8C#,ZZ..|<
d* __UD$vtAw{ANB	/   $77/0#++F3LBHHRLOO/x@AH%BGGIIIhWWT]

!!I%s   =A	G< <CKKKc                    t         j                  dk(  rst        j                  g dd      } | j                  dk7  ry dd l}t        j                  |j                  | j                  dd             }t        j                  |      S t         j                  dk(  r t        j                  j                         \  }}|d	k(  r|dd l}|j                  d
|      d   }|d   dk7  r$||d  j!                  d      j#                  d      }n#||d  j!                  d      j#                  d      }|d |j%                  d       S t'        |t(              rMt        j                  |      }|dk(  rddlm} |j/                  |      S |dk(  rddlm} |j3                  |      S y t5        j6                  d      rd}	nt5        j6                  d      rd}	nd }	t9        j:                  d      r	|	dv rg d}
n+t9        j:                  d      r	|	dv rg d}
nd}t=        |      t        j                  |
d      } | j                  dk7  rR| j>                  }d D ]  }||v s y  |
d    d!}|r$|d"|jA                         j!                          z  }tC        |      t        j                  | j                        }t        j                  |      }|jE                          |S )#Nr   )	osascriptz-eu#   get the clipboard as «class PNGf»T)capture_outputr      r
   fileI   zutf-16le mbcs pngr   )PngImagePluginDIB)BmpImagePluginWAYLAND_DISPLAYwaylandDISPLAYx11wl-paste)rO   N)rR   -timagexclip)rQ   N)rU   z
-selection	clipboardrS   z	image/pngz-ozDwl-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bytesrI   rK   PngImageFilerM   DibImageFiler   getenvr&   r'   NotImplementedErrorstderrstripChildProcessErrorr   )prY   r7   fmtr_   ofilesrK   rM   session_typer.   r;   errsilent_errorr3   s                  r=   grabclipboardrt   i   sv   
||xNNF
 <<1zz(,,QXXb_=>zz$		 JJ224	T&=""3-a0ABx1}QR
399$?QR/55d;*5;;r?++dE"::d#De|,%22488,%2248899&'$LYYy! LL<<
#8I(I.D\\'"|}'DPDXC%c**NN45<<1((C!    3&   !WIV$CCIIK..0122#C((zz!((#ZZ
		    )NFFN)
r(   z tuple[int, int, int, int] | Noner)   boolr*   rv   r+   z
str | NonereturnzImage.Image)rw   zImage.Image | list[str] | None)
__future__r   rZ   r   r&   r   r   r   rI   r   r>   rt    ru   r=   <module>rz      sm   " # 	 	   
   .2$)	I
*I!I I 	I
 IXNru   