
    ^j                        d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZmZmZmZmZmZ eZeZ G d de          ZdgZd	S )
    )annotations)Sequence)HeadlessCanvas)EventDispatcher)egl)	
BaseWindowDefaultMouseCursorImageMouseCursorMouseCursorMouseCursorExceptionNoSuchDisplayExceptionWindowException_PlatformEventHandler_ViewEventHandlerc                      e Zd ZdZdZd,dZd-dZd-dZd.dZd/dZ	d/dZ
d/dZd0dZd1dZd-dZd-dZd2d3dZd-dZd-dZd4d Zd5d6d#Zd2d7d%Zd2d7d&Zd8d(Zd-d)Zd-d*Zd-d+ZdS )9HeadlessWindowNchangesSequence[str]returnNonec                    d S N )selfr   s     Z/home/agentuser/manim-venv/lib/python3.11/site-packages/pyglet/window/headless/__init__.py	_recreatezHeadlessWindow._recreate            c                J    | j         r| j                                          d S d S r   )contextflipr   s    r   r!   zHeadlessWindow.flip#   s0    < 	 L	  	 r   c                J    | j         r| j                                          d S d S r   )r    set_currentr"   s    r   	switch_tozHeadlessWindow.switch_to'   s0    < 	'L$$&&&&&	' 	'r   captionstrc                    d S r   r   )r   r&   s     r   set_captionzHeadlessWindow.set_caption+   r   r   widthintheightc                    d S r   r   r   r*   r,   s      r   set_minimum_sizezHeadlessWindow.set_minimum_size.   r   r   c                    d S r   r   r.   s      r   set_maximum_sizezHeadlessWindow.set_maximum_size1   r   r   c                    d S r   r   r.   s      r   set_sizezHeadlessWindow.set_size4   r   r   tuple[int, int]c                    | j         | j        fS r   )_width_heightr"   s    r   get_sizezHeadlessWindow.get_size7   s    {DL((r   xyc                    d S r   r   )r   r9   r:   s      r   set_locationzHeadlessWindow.set_location:   r   r   c                    d S r   r   r"   s    r   get_locationzHeadlessWindow.get_location=   r   r   c                    d S r   r   r"   s    r   activatezHeadlessWindow.activate@   r   r   Tvisibleboolc                    d S r   r   )r   rA   s     r   set_visiblezHeadlessWindow.set_visibleC   r   r   c                    d S r   r   r"   s    r   minimizezHeadlessWindow.minimizeF   r   r   c                    d S r   r   r"   s    r   maximizezHeadlessWindow.maximizeI   r   r   vsyncc                    d S r   r   )r   rI   s     r   	set_vsynczHeadlessWindow.set_vsyncL   r   r   platform_visiblebool | Nonec                    d S r   r   )r   rL   s     r   set_mouse_platform_visiblez)HeadlessWindow.set_mouse_platform_visibleO   r   r   	exclusivec                    d S r   r   r   rP   s     r   set_exclusive_mousez"HeadlessWindow.set_exclusive_mouseR   r   r   c                    d S r   r   rR   s     r   set_exclusive_keyboardz%HeadlessWindow.set_exclusive_keyboardU   r   r   namec                    d S r   r   )r   rV   s     r   get_system_mouse_cursorz&HeadlessWindow.get_system_mouse_cursorX   r   r   c                x    | j         r2t          j        | g| j                                         R   | j         0d S d S r   )_event_queuer   dispatch_eventpopleftr"   s    r   dispatch_eventszHeadlessWindow.dispatch_events[   s\     	O*4N$2C2K2K2M2MNNNN  	O 	O 	O 	O 	Or   c                    d S r   r   r"   s    r   dispatch_pending_eventsz&HeadlessWindow.dispatch_pending_events_   r   r   c                   | j         j        | _        | j        st          j        | j        t          j        | j        t          j	        f}t	          j
        t          |          z  | }t	          j        | j        | j        j        |          | _        t          | j         | j                  | _        | j                            | j                   |                     d| j        | j                   d S d S )N_on_internal_resize)display_display_connection_egl_display_connection_egl_surfacer   	EGL_WIDTHr6   
EGL_HEIGHTr7   EGL_NONEEGLintleneglCreatePbufferSurfaceconfig_egl_configr   canvasr    attachr[   )r   pbuffer_attribspbuffer_attrib_arrays      r   _createzHeadlessWindow._createb   s    '+|'G$  	R"}dk3>4<Y\YefO$'J_1E1E$E#X  # ;D<X<@K<S<P!R !RD )t7HIIDKL,,, 5t{DLQQQQQ	R 	Rr   )r   r   r   r   )r   r   )r&   r'   r   r   )r*   r+   r,   r+   r   r   )r   r4   )r9   r+   r:   r+   r   r   )T)rA   rB   r   r   )rI   rB   r   r   r   )rL   rM   r   r   )rP   rB   r   r   )rV   r'   r   r   )__name__
__module____qualname__rd   re   r   r!   r%   r)   r/   r1   r3   r8   r<   r>   r@   rD   rF   rH   rK   rO   rS   rU   rX   r]   r_   rr   r   r   r   r   r      s       "L          ' ' ' '            ) ) ) )                                     O O O O   R R R R R Rr   r   N)
__future__r   typingr   pyglet.display.headlessr   pyglet.eventr   pyglet.libs.eglr   pyglet.windowr   r	   r
   r   r   r   r   r   r   HeadlessEventHandlerViewEventHandlerr   __all__r   r   r   <module>r      s&   " " " " " "       2 2 2 2 2 2 ) ( ( ( ( (      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 - $ TR TR TR TR TRZ TR TR TRn 
r   