
    i                         d Z ddlmZ dZdZ G d dej
                        Zd Z G d d	ej                        Z	d
 Z
d Zy)z
ge - Generic Event Extension
    )rqzGeneric Event Extension#   c                      e Zd Z ej                   ej
                  d       ej                  d       ej                          ej                  d       ej                  d            Z	 ej                   ej                          ej                  d       ej                  d       ej                          ej                  d       ej                  d       ej                  d            Zy)	GEQueryVersionopcoder   major_versionminor_version   sequence_number   N)__name__
__module____qualname__r   StructCard8OpcodeRequestLengthCard32_request	ReplyCodePadCard16ReplyLength_reply     U/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/Xlib/ext/ge.pyr   r   #   s    ryy		!		/"		/"
H RYYq			#$		/"		/"r

Fr   r   c                 n    t        | j                  | j                  j                  t              dd      S )Nr
   r   )displayr   r   r	   )r   r   get_extension_majorextname)selfs    r   query_versionr#   6   s.    ||//8	
 
r   c            	           e Zd ZeZ ej                   ej                  d       ej                  d       ej                  d       ej                  d       ej                  d            Z
ddZy)	GenericEventtype	extensionr   lengthevtypeNc                 &   |r|dd  }|d d }nd}t        j                  j                  | f||d| |rNt        |dd       }|r?|j	                  | j
                  | j                  fd       }|r|j                  ||      \  }}|| j                  d<   y )N
    )
binarydatar   ge_event_datadata)	r   Event__init__getattrgetr'   r)   parse_binary_data)r"   r-   r   keysr/   r.   estruct_s           r   r1   zGenericEvent.__init__O   s    bc?D#CRJD
	!	 		 #G_dCM'++T^^T[[,I4P%224AGD!!

6r   )NN)r   r   r   GenericEventCode_coder   r   r   r   r   _fieldsr1   r   r   r   r%   r%   ?   sc    Ebii		#$		(		(
G"r   r%   c                     t        | j                  d      si | j                  _        || j                  j                  ||f<   y )Nr.   )hasattrr   r.   )r"   r'   r)   r7   s       r   add_event_datar>   g   s5    4<<1%'"6=DLL	623r   c                     | j                  ddt               | j                  ddt               | j                  t        t
               y )Nr   ge_query_versionge_add_event_data)extension_add_methodr#   r>   extension_add_eventr9   r%   )dispinfos     r   initrF   m   s9    i);]Ki)<nM-|<r   N)__doc__Xlib.protocolr   r!   r9   ReplyRequestr   r#   r0   r%   r>   rF   r   r   r   <module>rJ      sL   . 
#  
R__ 
&
%"288 %"P>=r   