+
    Si*                    ~    R t ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	H
t
HtHtHt ]'       d   ^ RIHt  ! R R4      tR# )	zXThis is part of the MSS Python's module.
Source: https://github.com/BoboTiG/python-mss.
)annotations)TYPE_CHECKINGAny)ScreenShotError)MonitorPixelPixelsPosSize)Iteratorc                     ] tR t^tRt0 RmtRR/R R lltR R lt]R R	 l4       t	]
R
 R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R ltRtR# )
ScreenShotzScreenshot object.

.. note::

    A better name would have  been *Image*, but to prevent collisions
    with PIL.Image, it has been decided to use *ScreenShot*.
sizeNc               (    V ^8  d   QhRRRRRRRR/# )	   data	bytearraymonitorr   r   zSize | NonereturnNone )formats   "T/Users/mibo/.openclaw/workspace/.venv/lib/python3.14/site-packages/mss/screenshot.py__annotate__ScreenShot.__annotate__   s/     X XY X Xk X]a X    c              	    R V n         R V n        Wn        \        VR,          VR,          4      V n        Vf"   \        VR,          VR,          4      V n        R # TV n        R # )Nlefttopwidthheight)_ScreenShot__pixels_ScreenShot__rgbrawr	   posr
   r   )selfr   r   r   s   """$r   __init__ScreenShot.__init__   sV    '+#'
  wv7 BFD)78+<=	SW	r   c                   V ^8  d   QhRR/# )r   r   strr   )r   s   "r   r   r   )   s     e e# er   c                	    R \        V 4      P                   RV P                   RV P                   RV P                   RV P
                   R2# )<z pos=,z size=x>)type__name__r   r   r   r    r%   s   &r   __repr__ScreenShot.__repr__)   sJ    4:&&'uTYYKq
&TUVZVaVaUbbcddr   c                   V ^8  d   QhRR/# )r   r   zdict[str, Any]r   )r   s   "r   r   r   -   s     
 
^ 
r   c                X    R^RV P                   V P                  ^3RRRV P                  /# )zNumpy array interface support.
It uses raw data in BGRA form.

See https://docs.scipy.org/doc/numpy/reference/arrays.interface.html
versionshapetypestrz|u1r   )r    r   r#   r1   s   &r   __array_interface__ScreenShot.__array_interface__,   s5     qdkk4::q1uDHH	
 	
r   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   clsztype[ScreenShot]r   r   r   intr    r   r   r   )r   s   "r   r   r   ;   s1     " "' "y " "c "Yc "r   c               &    R^ R^ RVRV/pV ! W4      # )z>Instantiate a new class given only screenshot's data and size.r   r   r   r    r   )r<   r   r   r    r   s   """" r   	from_sizeScreenShot.from_size:   s%     1eQ&I4!!r   c                   V ^8  d   QhRR/# r   r   bytesr   )r   s   "r   r   r   A   s      e r   c                ,    \        V P                  4      # )z%BGRA values from the BGRA raw pixels.)rC   r#   r1   s   &r   bgraScreenShot.bgra@   s     TXXr   c                   V ^8  d   QhRR/# r   r   r=   r   )r   s   "r   r   r   F   s          r   c                .    V P                   P                  # )z'Convenient accessor to the height size.)r   r    r1   s   &r   r    ScreenShot.heightE   s     yyr   c                   V ^8  d   QhRR/# rH   r   )r   s   "r   r   r   K   s      c r   c                .    V P                   P                  # )z)Convenient accessor to the left position.)r$   r   r1   s   &r   r   ScreenShot.leftJ   s     xx}}r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   P   s       r   c                "   V P                   '       gs   \        V P                  R,          V P                  R,          V P                  R,          4      p\        \        \	        V4      .V P
                  ,          !  4      V n         V P                   # )z:return list: RGB tuples.r   N      NrQ   NNrQ   )r!   zipr#   listiterr   )r%   
rgb_tupless   & r   pixelsScreenShot.pixelsO   s`     }}}*-dhhtndhhtndhhWZm*\J tJ'7&84::&E!FGDM}}r   c                   V ^8  d   QhRR/# rB   r   )r   s   "r   r   r   Y   s      U r   c                   V P                   '       gn   \        V P                  V P                  ,          ^,          4      pV P                  pVR,          VR&   VR,          VR&   VR,          VR&   \        V4      V n         V P                   # )zICompute RGB values from the BGRA raw pixels.

:return bytes: RGB pixels.
rP   :NN   rR   :rS   Nr]   rT   :r   Nr]   )r"   r   r    r   r#   rC   )r%   rgbr#   s   &  r   r^   ScreenShot.rgbX   sn     zzzDKK$**4q89C((C4yCHD	CICCIsDJzzr   c                   V ^8  d   QhRR/# rH   r   )r   s   "r   r   r   i   s      S r   c                .    V P                   P                  # )z(Convenient accessor to the top position.)r$   r   r1   s   &r   r   ScreenShot.toph   s     xx||r   c                   V ^8  d   QhRR/# rH   r   )r   s   "r   r   r   n   s      s r   c                .    V P                   P                  # )z&Convenient accessor to the width size.)r   r   r1   s   &r   r   ScreenShot.widthm   s     yyr   c               $    V ^8  d   QhRRRRRR/# )r   coord_xr=   coord_yr   r   r   )r   s   "r   r   r   r   s!     0 0S 03 05 0r   c                     V P                   V,          V,          #   \         d   pRT RT R2p\        T4      ThRp?ii ; i)zReturns the pixel value at a given position.

:param int coord_x: The x coordinate.
:param int coord_y: The y coordinate.
:return tuple: The pixel value as (R, G, B).
zPixel location (z, z) is out of range.N)rY   
IndexErrorr   )r%   rg   rh   excmsgs   &&&  r   pixelScreenShot.pixelr   sM    	0;;w'00 	0$WIRy8JKC!#&C/	0s    A<A)__pixels__rgbr$   r#   r   >   r$   r#   r   rp   ro   )r0   
__module____qualname____firstlineno____doc__	__slots__r&   r2   propertyr9   classmethodr?   rE   r    r   rY   r^   r   r   rm   __static_attributes__r   r   r   r   r      s     <IXTX Xe 
 
 " "
                0 0r   r   N)rt   
__future__r   typingr   r   mss.exceptionr   
mss.modelsr   r   r   r	   r
   collections.abcr   r   r   r   r   <module>r~      s-    # % ) 8 8(m0 m0r   