
    ^j`                       d dl mZ d dlmZ d dlmZ d dlZd dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZ erddlmZ  ed	          Z ed
          Z ed          Z ej        ed          Z G d d          Z ed          ZdS )    )annotations)c_void_p)TYPE_CHECKINGN) NSApplicationDidHideNotification"NSApplicationDidUnhideNotification
NSMakeRect	ObjCClassObjCInstanceObjCSubclassPyObjectEncodingappkitget_selectorquartz
send_super   )SystemCursor)CocoaWindowNSNotificationCenterNSApplicationNSNotification"NSBackingPropertyOldScaleFactorKeyc                     e Zd Z edd          Ze                    dez             d!d            Ze                    d	          d"d            Ze                    d          d#d            Z	e                    d          d#d            Z
e                    d          d$d            Ze                    d          d#d            Ze                    d          d#d            Ze                    d          d#d            Ze                    d          d#d            Ze                    d          d#d            Ze                    d          d#d            Ze                    d          d%d            Ze                    d          d&d            Ze                    d          d             Zd S )'PygletDelegate_ImplementationNSObjectPygletDelegate   @windowr   returnObjCInstance | Nonec                r   t          t          | d                    } | sd S || _        |j                            |            t
                                          }|                    | t          d          t          d            |                    | t          d          t          d            d| _        | S )NinitzapplicationDidHide:zapplicationDidUnhide:F)r
   r   _window	_nswindowsetDelegate_r   defaultCenter!addObserver_selector_name_object_r   r   r   did_pause_exclusive_mouse)selfr   notificationCenters      ^/home/agentuser/manim-venv/lib/python3.11/site-packages/pyglet/window/cocoa/pyglet_delegate.pyinitWithWindow_z-PygletDelegate_Implementation.initWithWindow_$   s    JtV4455 	4 %%d+++
 2??AA<<,455,d	4 	4 	4 	<<,677.	6 	6 	6
 */&    vNonec                    t                                           }|                    |            d | _        t	          | d           d S )Ndealloc)r   r%   removeObserver_r"   r   )r(   r)   s     r*   r0   z%PygletDelegate_Implementation.dealloc@   sG     2??AA**40004#####r,   zv@notificationr   c                :    | j                             d           d S Non_hider"   dispatch_eventr(   r2   s     r*   applicationDidHide_z1PygletDelegate_Implementation.applicationDidHide_H       ##I.....r,   c                    | j         j        r9t          j                    r&t	          j                     t	          j                     | j                             d           d S Non_showr"   _mouse_exclusiver   CGCursorIsVisibler   unhidehider7   r8   s     r*   applicationDidUnhide_z3PygletDelegate_Implementation.applicationDidUnhide_L   [    <( 	 V-E-G-G 	  !!!##I.....r,   zB@senderr
   boolc                :    | j                             d           dS )Non_closeFr6   )r(   rE   s     r*   windowShouldClose_z0PygletDelegate_Implementation.windowShouldClose_U   s     	##J///ur,   c                v    | j                                         \  }}| j                             d||           d S )Non_move)r"   get_locationr7   )r(   r2   xys       r*   windowDidMove_z,PygletDelegate_Implementation.windowDidMove_[   s9    |((**1##Iq!44444r,   c                    | j         r@| j                            d           d| _         | j        j                            d           | j                                         | j                            d           d S )NTFon_activate)r'   r"   set_exclusive_mouser#   setMovable_set_mouse_platform_visibler7   r8   s     r*   windowDidBecomeKey_z1PygletDelegate_Implementation.windowDidBecomeKey_`   sv     ) 	5L,,T222-2D*L"..t444//111##M22222r,   c                   | j         j        r@| j                             d           d| _        | j         j                            d           | j                             d           | j                             d           d S )NFTon_deactivate)r"   r?   rR   r'   r#   rS   rT   r7   r8   s     r*   windowDidResignKey_z1PygletDelegate_Implementation.windowDidResignKey_k   s|     <( 	6L,,U333-1D* L"..u555//555##O44444r,   c                :    | j                             d           d S r4   r6   r8   s     r*   windowDidMiniaturize_z3PygletDelegate_Implementation.windowDidMiniaturize_y   r:   r,   c                    | j         j        r9t          j                    r&t	          j                     t	          j                     | j                             d           d S r<   r>   r8   s     r*   windowDidDeminiaturize_z5PygletDelegate_Implementation.windowDidDeminiaturize_}   rD   r,   c                :    | j                             d           d S )N	on_exposer6   r8   s     r*   windowDidExpose_z.PygletDelegate_Implementation.windowDidExpose_   s    ##K00000r,   c                b    t                                           }|                    |            d S )N)r   sharedApplication
terminate_)r(   rE   NSApps      r*   rb   z(PygletDelegate_Implementation.terminate_   s-    //11r,   menuitemc                j    |                                 t          d          k    r| j        j         S dS )Nz
terminate:T)actionr   r"   _keyboard_exclusive)r(   rd   s     r*   validateMenuItem_z/PygletDelegate_Implementation.validateMenuItem_   s4     ??\ : :::|777tr,   c                   | j         j        s|                                }|                    t                    }|                                }| j         j                                        }||k    r| j                                          | j         j        	                                }t          j        j        dk    r^|}| j                                         \  }}	t          ||z            t          |	|z            }}
| j                             |
|           nt          j        j        dk    rt!          |j        j        |j        j        |j        j        dz   |j        j        dz             }| j         j                            |d           | j         j                            |d           | j         j                                         | j                             d|| j                                                    d S d S d S )Nrealscaledr   T_on_internal_scale)r"   _shadowuserInfoobjectForKey_r   doubleValuer#   backingScaleFactor	switch_toframepygletoptionsdpi_scalingget_requested_sizeint_set_frame_sizer   originrM   rN   sizewidthheightsetFrame_display_contextupdate_geometryr7   _get_dpi_desc)r(   r2   	user_infoold_scale_value	old_scale	new_scalecurrentFramescreen_scalewhr|   r}   tempRects                r*   !windowDidChangeBackingProperties_z?PygletDelegate_Implementation.windowDidChangeBackingProperties_   s   |# 	k$--//I'556XYYO'3355I.AACCII%%&&(((#|5;;==>-77#,L<::<<DAq$'L(8$9$93q<?O;P;P6E L00????
 ~1X==#-l.A.C\EXEZ.:.?.E.I<K\KcfgKg$i $i .@@4PPP.@@tTTT$44666++,@)T\MgMgMiMijjjjj=	k 	k &%r,   N)r   r   r   r   )r   r.   )r2   r   r   r.   )rE   r
   r   rF   )rE   r
   r   r.   )rd   r
   r   rF   )__name__
__module____qualname__r   r   methodr   r+   r0   r9   rC   rI   rO   rU   rX   rZ   r\   r_   rb   rh   r    r,   r*   r   r   !   s       !\*.>??N4"2233   436 3$ $ $  $ 4  / / / ! / 4  / / / ! / 4     ! 
 4  5 5 5 ! 5 4  3 3 3 ! 3 4  5 5 5 ! 5 4  / / / ! / 4  / / / ! / 4  1 1 1 ! 1 4     !  4     !  4  k k ! k k kr,   r   r   )
__future__r   ctypesr   typingr   rt   pyglet.libs.darwin.cocoapyr   r   r   r	   r
   r   r   r   r   r   r   systemcursorr    r   r   r   r   in_dllr   r   r   r   r,   r*   <module>r      s   " " " " " "                                             ' & & & & &  y!788 	/**+,,%4X_V=a%b%b "Uk Uk Uk Uk Uk Uk Uk Ukr +,,r,   