
    
3j                         S r SSKrSSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
JrJrJrJrJrJrJrJrJrJrJr  S/r/ S	Qr " S
 S\5      rSS\S\S\4S jjrg)z@GNU/Linux backend dispatcher for X11 screenshot implementations.    N)Any)MSS)MSSImplementation)ScreenShotError)
CFUNCTIONS	PLAINMASKZPIXMAPDisplayXErrorEventXFixesCursorImageXImageXRRCrtcInfoXRRModeInfoXRRScreenResourcesXWindowAttributesr   )defaultxlib	xgetimagexshmgetimagec                   8   ^  \ rS rSrSrS\SS4U 4S jjrSrU =r$ )r      zODeprecated GNU/Linux compatibility constructor.

Use :class:`mss.MSS` instead.
kwargsreturnNc                Z   > [         R                  " S[        SS9  [        TU ]  " S0 UD6  g )NzLmss.linux.MSS is deprecated and will be removed in 11.0; use mss.MSS instead   )
stacklevel )warningswarnDeprecationWarningsuper__init__)selfr   	__class__s     L/home/wildlama/miniconda3/lib/python3.13/site-packages/mss/linux/__init__.pyr"   MSS.__init__$   s*    Z	

 	"6"    r   )	__name__
__module____qualname____firstlineno____doc__r   r"   __static_attributes____classcell__)r$   s   @r%   r   r      s     
#C #D # #r'   backendr   r   c                     U R                  5       n U S:X  a  SSKJn  U" S
0 UD6$ U S:X  a  SSKJn  U" S
0 UD6$ U S;   a  SSKJn  U" S
0 UD6$ U [        ;  d   eSU < S	3n[        U5      e)aw  Return a backend-specific MSS implementation for GNU/Linux.

Selects and instantiates the appropriate X11 backend based on the
``backend`` parameter.

:param backend: Backend selector. Valid values:

    - ``"default"`` or ``"xshmgetimage"`` (default): XCB-based backend
      using XShmGetImage with automatic fallback to XGetImage when MIT-SHM
      is unavailable.
    - ``"xgetimage"``: XCB-based backend using XGetImage.
    - ``"xlib"``: Legacy Xlib-based backend retained for environments
      without working XCB libraries.

    .. versionadded:: 10.2.0 Prior to this version, the
        legacy Xlib implementation was the only available
        backend.

:param display: Optional keyword argument.  Specifies an X11 display
    string to connect to.  The default is taken from the environment
    variable :envvar:`DISPLAY`.
:type display: str | bytes | None
:param kwargs: Additional keyword arguments passed to the backend class.
:returns: An MSS backend implementation.

.. versionadded:: 10.2.0 Prior to this version, this didn't exist:
      GNU/Linux had a single implementation selected through
      :class:`mss.linux.MSS`.
r   r   )MSSImplXlibr   )MSSImplXGetImage>   r   r   )MSSImplXShmGetImagezBackend z not (yet?) implemented.r   )	lowermss.linux.xlibr1   mss.linux.xgetimager2   mss.linux.xshmgetimager3   BACKENDSr   )r/   r   r1   r2   r3   msgs         r%   choose_implr:   .   s    < mmoG&.$V$$+8
  )&))-->",V,,("""WK7
8C
#
r'   )r   )r,   r   typingr   mss.baser   _MSSr   mss.exceptionr   r5   r   r   r	   r
   r   r   r   r   r   r   r   __all__r8   strr:   r   r'   r%   <module>rA      s`    F     & )    ';#$ # 0 0C 0<M 0r'   