
    \
j9                        d dl mZmZ d dlmZm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mZ ddlmZ  ej        d          Z ej        d          Z ej        d          Z ej        d	          Z ej        d
          Zej        e	ej        e
ej        eej        eej        eej         eej!        eej"        eej#        eej$        ei
Z%d Z&d Z'd Z(d Z) G d d          Z* ej        d          Z+dS )    )keymouse)keymapcharmap)cocoapy%NSPasteboardURLReadingFileURLsOnlyKeyNSLeftShiftKeyMaskNSRightShiftKeyMaskNSLeftControlKeyMaskNSRightControlKeyMaskNSLeftAlternateKeyMaskNSRightAlternateKeyMaskNSLeftCommandKeyMaskNSRightCommandKeyMaskNSFunctionKeyMaskNSAlphaShiftKeyMask   )PygletTextViewNSTrackingAreaNSURLNSArrayNSDictionaryNSNumberc                 \    |                                  }|                                  }||fS N)deltaXdeltaY)nseventdxdys      Y/DATA/AppData/hermes/venv/lib/python3.11/site-packages/pyglet/window/cocoa/pyglet_view.pygetMouseDeltar"   !   s,    			B
..

	Br6M    c                     |                                 }|                     |d           }t          |j                  }t          |j                  }|| j        _        || j        _        ||fS r   )locationInWindowconvertPoint_fromView_intxy_window_mouse_x_mouse_y)selfr   	in_windowr(   r)   s        r!   getMousePositionr/   '   sc    ((**I++It<<IIKAIKADLDLa4Kr#   c                    d}|                                  }|t          j        z  r|t          j        z  }|t          j        z  r|t          j        z  }|t          j        z  r|t          j        z  }|t          j	        z  r|t          j
        z  }|t          j        z  }|t          j        z  r|t          j        z  }|t          j        z  r|t          j        z  }|S Nr   )modifierFlagsr   r   r   MOD_CAPSLOCKNSShiftKeyMask	MOD_SHIFTNSControlKeyMaskMOD_CTRLNSAlternateKeyMaskMOD_ALT
MOD_OPTIONNSCommandKeyMaskMOD_COMMANDr   MOD_FUNCTION)r   	modifiersr2   s      r!   getModifiersr?   2   s    I))++Mw22 &S%%	w-- #S]"	w// "S\!	w11 $S[ 	S^#	w// %S_$	w00 &S%%	r#   c                    t          j        |                                 d           }||S t          j        |                                           }|r-t          j        |d                                         d           S d S r1   )r   getkeyCoder   cfstring_to_stringcharactersIgnoringModifiersr   upper)r   symbolcharss      r!   	getSymbolrH   E   sq    Z))400F&w'J'J'L'LMME 3{58>>++T2224r#   c                   x   e Zd Z ej        dd          Ze                    dej        z   ej        z             d             Z	e                    d          d             Z
e                    d          d             Ze                    d          d	             Ze                    d          d
             Ze                    dej        z             d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Ze                    d          d             Z e                    d          d              Z!e                    d!          d"             Z"e                    d          d#             Z#d$S )%PygletView_ImplementationNSView
PygletView   @c                 F   d | _         t          j        t          j        | d|t          j        g                    } | sd S || _        |                                  t          j                    	                    |          | _
        |                     | j
                   | S )NzinitWithFrame:)argtypes)_tracking_arear   ObjCInstance
send_superNSRectr*   updateTrackingAreasr   allocinitWithCocoaWindow_	_textviewaddSubview_)r-   framewindows      r!   initWithFrame_cocoaWindow_z4PygletView_Implementation.initWithFrame_cocoaWindow_T   s    
 ##G$6t=Mu`g`n_o$p$p$pqq 	4   """ (-//DDVLL(((r#   vc                     d | _         | j                                         d | _        | j                                         d | _        t	          j        | d           d S )Ndealloc)r*   rW   releaserP   r   rR   r-   s    r!   r^   z!PygletView_Implementation.deallocp   sZ       ##%%%"4+++++r#   c                    | j         r:|                     | j                    | j                                          d | _         t          j        t          j        z  t          j        z  }|                                 }t          	                                
                    ||| d           | _         |                     | j                    d S r   )rP   removeTrackingArea_r_   r   NSTrackingMouseEnteredAndExitedNSTrackingActiveInActiveAppNSTrackingCursorUpdaterY   r   rU   $initWithRect_options_owner_userInfo_addTrackingArea_)r-   tracking_optionsrY   s      r!   rT   z-PygletView_Implementation.updateTrackingAreasz   s      	'$$T%8999'')))"&D"BWEhhkr  lJ  J

,2244YY	  	d122222r#   Bc                     dS NT r`   s    r!   canBecomeKeyViewz*PygletView_Implementation.canBecomeKeyView       tr#   c                     dS rk   rl   r`   s    r!   isOpaquez"PygletView_Implementation.isOpaque   rn   r#      vc                 L   t          j        | d|dt           j        g           | j        j        j        sd S t          |j                  t          |j                  }}| j        	                                 | j        j        
                                 ||c| j        _        | j        _        | j                            d||           | j                            d           |                                 r(ddlm} |j        |j                                         d S d S d S )NzsetFrameSize:rK   )superclass_namerO   	on_resize	on_exposer   )app)r   rR   NSSizer*   contextcanvasr'   widthheight	switch_toupdate_geometry_width_heightdispatch_eventinLiveResizepygletrv   
event_loopidle)r-   sizerz   r{   rv   s        r!   setFrameSize_z'PygletView_Implementation.setFrameSize_   s*   4$+3%,^$4	6 	6 	6 	6 |#* 	FDJT[)9)9v   ,,...4961T\1##K???##K000  	&""""""~)##%%%%%	& 	&))r#   zv@c                     |                                 s<t          |          }t          |          }| j                            d||           d S d S )Non_key_press)	isARepeatrH   r?   r*   r   r-   r   rF   r>   s       r!   keyDown_z"PygletView_Implementation.keyDown_   s]      "" 	Kw''F$W--IL''	JJJJJ	K 	Kr#   c                 z    t          |          }t          |          }| j                            d||           d S )Non_key_release)rH   r?   r*   r   r   s       r!   keyUp_z PygletView_Implementation.keyUp_   s=    7## ))	##$4fiHHHHHr#   c                 L   t          j        |                                d           }|	|t          vrd S t	          |          }|                                }|r.|t          |         z  r| j                            d||           d S | j                            d||           d S )Nr   r   )r   rA   rB   
maskForKeyr?   r2   r*   r   )r-   r   rF   r>   r2   s        r!   flagsChanged_z'PygletView_Implementation.flagsChanged_   s    
 GOO--t44
 >V:55F ))	--// 	Mmj&88 	ML''	JJJJJL''(8&)LLLLLr#   zB@c                    |                                 }|t          j        z  rdS |t          j        z  rXt          j        |                                          }|t          j        t          j        t          j        t          j	        fv rdS t          j
        d                                          }|                                                    |           dS )NFNSApplicationT)r2   r   NSNumericPadKeyMaskr   rC   rD   NSHomeFunctionKeyNSEndFunctionKeyNSPageUpFunctionKeyNSPageDownFunctionKey	ObjCClasssharedApplicationmainMenuperformKeyEquivalent_)r-   r   r2   chNSApps        r!   r   z/PygletView_Implementation.performKeyEquivalent_   s      --//766 	5744 	+G,O,O,Q,QRRBg/1I173PR R Ru!/22DDFF..w777tr#   c                     | j         j        rd| j         _        d S | j         j        sd S t          | |          \  }}t	          |          \  }}| j                             d||||           d S )NFon_mouse_motion)r*   _mouse_ignore_motion_mouse_in_windowr/   r"   r   )r-   r   r(   r)   r   r    s         r!   mouseMoved_z%PygletView_Implementation.mouseMoved_   sy    <, 	05DL-F|, 	Fg..1w''B##$5q!RDDDDDr#   c                     t          | |          \  }}t          |          \  }}| j                            d||||           d S )Non_mouse_scroll)r/   r"   r*   r   )r-   r   r(   r)   scroll_xscroll_ys         r!   scrollWheel_z&PygletView_Implementation.scrollWheel_   sL    g..1*733(##$5q!XxPPPPPr#   c                     t          | |          \  }}t          j        }t          |          }| j                            d||||           d S Non_mouse_pressr/   r   LEFTr?   r*   r   r-   r   r(   r)   buttonsr>   s         r!   
mouseDown_z$PygletView_Implementation.mouseDown_   sN    g..1* ))	##$4aGYOOOOOr#   c           	          t          | |          \  }}t          |          \  }}t          j        }t	          |          }| j                            d||||||           d S Non_mouse_drag)r/   r"   r   r   r?   r*   r   r-   r   r(   r)   r   r    r   r>   s           r!   mouseDragged_z'PygletView_Implementation.mouseDragged_  sb    g..1w''B* ))	##OQ2r7IVVVVVr#   c                     t          | |          \  }}t          j        }t          |          }| j                            d||||           d S Non_mouse_releaser   r   s         r!   mouseUp_z"PygletView_Implementation.mouseUp_  sN    g..1* ))	##$61gyQQQQQr#   c                     t          | |          \  }}t          j        }t          |          }| j                            d||||           d S r   r/   r   RIGHTr?   r*   r   r   s         r!   rightMouseDown_z)PygletView_Implementation.rightMouseDown_  sN    g..1+ ))	##$4aGYOOOOOr#   c           	          t          | |          \  }}t          |          \  }}t          j        }t	          |          }| j                            d||||||           d S r   )r/   r"   r   r   r?   r*   r   r   s           r!   rightMouseDragged_z,PygletView_Implementation.rightMouseDragged_  sb    g..1w''B+ ))	##OQ2r7IVVVVVr#   c                     t          | |          \  }}t          j        }t          |          }| j                            d||||           d S r   r   r   s         r!   rightMouseUp_z'PygletView_Implementation.rightMouseUp_"  sN    g..1+ ))	##$61gyQQQQQr#   c                     t          | |          \  }}t          j        }t          |          }| j                            d||||           d S r   r/   r   MIDDLEr?   r*   r   r   s         r!   otherMouseDown_z)PygletView_Implementation.otherMouseDown_)  sN    g..1, ))	##$4aGYOOOOOr#   c           	          t          | |          \  }}t          |          \  }}t          j        }t	          |          }| j                            d||||||           d S r   )r/   r"   r   r   r?   r*   r   r   s           r!   otherMouseDragged_z,PygletView_Implementation.otherMouseDragged_0  sb    g..1w''B, ))	##OQ2r7IVVVVVr#   c                     t          | |          \  }}t          j        }t          |          }| j                            d||||           d S r   r   r   s         r!   otherMouseUp_z'PygletView_Implementation.otherMouseUp_8  sN    g..1, ))	##$61gyQQQQQr#   c                 |    t          | |          \  }}d| j        _        | j                            d||           d S )NTon_mouse_enter)r/   r*   r   r   r-   r   r(   r)   s       r!   mouseEntered_z'PygletView_Implementation.mouseEntered_?  sB    g..1(,% 	##$4a;;;;;r#   c                     t          | |          \  }}d| j        _        | j        j        s| j                                         | j                            d||           d S )NFon_mouse_leave)r/   r*   r   _is_mouse_exclusiveset_mouse_platform_visibler   r   s       r!   mouseExited_z&PygletView_Implementation.mouseExited_G  sa    g..1(-%|/ 	6L33555##$4a;;;;;r#   c                 l    d| j         _        | j         j        s| j                                          d S d S rk   )r*   r   r   r   )r-   r   s     r!   cursorUpdate_z'PygletView_Implementation.cursorUpdate_O  s?     )-%|/ 	6L3355555	6 	6r#   zQ@c                     t           j        S r   )r   NSDragOperationGeneric)r-   draginfos     r!   draggingEntered_z*PygletView_Implementation.draggingEntered_\  s    --r#   c                 j   |                                 }|                                }t                              t                    }t
                              t                              d          t                    }|
                    ||          }|                                }g }t          |          D ]P}	|                    |	                                          }
|                    |
                                           Q| j                            d|j        |j        |           d S )NTon_file_drop)draggingLocationdraggingPasteboardr   arrayWithObject_r   r   dictionaryWithObject_forKey_r   numberWithBool_r   readObjectsForClasses_options_countrangeobjectAtIndex_fileSystemRepresentationappenddecoder*   r   r(   r)   )r-   senderpos
pasteboardclassesoptionsurls	url_countpathsifpaths              r!   performDragOperation_z/PygletView_Implementation.performDragOperation_`  s   %%''..00
**511;;$$T**,Q
 
 88'JJJJLL	y!! 	) 	)A''**CCEEELL((((##NCE35%HHHHHr#   N)$__name__
__module____qualname__r   ObjCSubclassrL   methodNSRectEncodingPyObjectEncodingr[   r^   rT   rm   rp   NSSizeEncodingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rl   r#   r!   rJ   rJ   Q   s       %%h==JtG2273KKLL  ML6 s, , , s3 3 3& s   s   tG2233& & 43&8 tK K K tI I I
 tM M M* t  " t	E 	E 	E tQ Q Q
 tP P P tW W W tR R R tP P P tW W W tR R R tP P P tW W W tR R R t< < < t< < < t
6 
6 
6 t. . . tI I I I Ir#   rJ   rL   N),pyglet.windowr   r   pyglet.libs.darwin.quartzkeyr   r   pyglet.libs.darwinr   r   r	   r
   r   r   r   r   r   r   r   r   pyglet_textviewr   r   r   r   r   r   r   LSHIFTRSHIFTLCTRLRCTRLLOPTIONROPTIONLCOMMANDRCOMMANDCAPSLOCKFUNCTIONr   r"   r/   r?   rH   rJ   rL   rl   r#   r!   <module>r     s4   $ $ $ $ $ $ $ $ 8 8 8 8 8 8 8 8B B B B B B B B B B B B B B B B B B B B B B B B B B B B , + + + + + #"#344'""
'
I
&
& w 007Z(( J"J#I#I$K'K(L&L'L%L#
       &	 	 	cI cI cI cI cI cI cI cIL	 W|,,


r#   