
    ^j                        U d Z ddlZddlZ eed          oej        ZerddlmZmZm	Z	m
Z
 n}ddlmZmZ ed         rddlmZ ddlmZ dd	lmZ	 nZed
k    rddlmZ ddlmZ ddlmZ	 nAedv rddlmZ ddlmZ ddlmZ	 n*edk    rddlmZ ddlmZ ddlmZ	 nde dZ ee           ej                     Z!ej         e"d<   	 defdZ#g dZ$dS )aA  Display and screen management.

Rendering is performed on the content area of a :class:`pyglet.window.Window`,
or an entire screen.

Windows must belong to a :class:`Display`. On Microsoft Windows and macOS,
there is only one display, which can be obtained with :func:`get_display`.
Linux supports multiple displays, corresponding to discrete X11 display
connections and screens.  :func:`get_display` on Linux returns the default
display and screen 0 (``localhost:0.0``); if a particular screen or display is
required then :class:`Display` can be instantiated directly.

Within a display one or more screens are attached.  A :class:`Screen` often
corresponds to a physical attached monitor, however a monitor or projector set
up to clone another screen will not be listed.  Use :meth:`Display.get_screens`
to get a list of the attached screens; these can then be queried for their
sizes and virtual positions on the desktop.

The size of a screen is determined by its current mode, which can be changed
by the application; see the documentation for :class:`Screen`.

.. versionadded:: 1.2
    Nis_pyglet_doc_run)DisplayScreenCanvas
ScreenMode)compat_platformoptionsheadless)HeadlessDisplay)HeadlessScreen)HeadlessCanvasdarwin)CocoaDisplay)CocoaScreen)CocoaCanvas)win32cygwin)Win32Display)Win32Screen)Win32Canvaslinux)XlibDisplay)
XlibScreen)
XlibCanvaszA display interface for 'z' is not yet implemented.	_displaysreturnc                  8    t           D ]} | c S t                      S )a'  Get the default display device.

    If there is already a :class:`Display` connection, that display will be
    returned. Otherwise, a default :class:`Display` is created and returned.
    If multiple display connections are active, an arbitrary one is returned.

    .. versionadded:: 1.2
    )r   r   )displays    R/home/agentuser/manim-venv/lib/python3.11/site-packages/pyglet/display/__init__.pyget_displayr    ?   s(        99    )r   r   r   r   r    )%__doc__sysweakrefhasattrr   _is_pyglet_doc_runpyglet.display.baser   r   r   r   pygletr   r	   pyglet.display.headlessr   r   r   pyglet.display.cocoar   r   r   pyglet.display.win32r   r   r   pyglet.display.xlibr   r   r   msgNotImplementedErrorWeakSetr   __annotations__r    __all__ r!   r   <module>r3      s    0 


 WS"566P3;P   'GGGGGGGGGGGGG////////z 'FFFFFFDDDDDDDDDDDDD	H	$	$@@@@@@>>>>>>>>>>>>>	/	/	/@@@@@@>>>>>>>>>>>>>	G	#	#>>>>>><<<<<<<<<<<<<T/TTT!!#&&& -W_..	7? . . .W    " G
F
Fr!   