
    i
                        d dl mZ d dlmZmZ d dlmZ dZd Zd Z	 G d de      Z
d ZdZdZd	ZeeeefZej                   Z G d
 dej$                        Zd Z G d dej*                        Zd Z G d dej*                        Zd Z G d dej*                        Zej6                  ej6                  fdZ G d dej*                        Zd Z G d dej>                        Z d Z!y)    )X)rqstructs)XErrorDAMAGEc                       e Zd Zy)BadDamageErrorN)__name__
__module____qualname__     Y/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/Xlib/ext/damage.pyr	   r	   #   s    r   r	            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)	QueryVersionopcoder   major_versionminor_versionr   sequence_number   N)r
   r   r   r   StructCard8OpcodeRequestLengthCard32_request	ReplyCodePadCard16ReplyLength_replyr   r   r   r   r   7   s    ryy(+"1)))+"?3"?3	H RYY|r||~rvvay ryy!23%r~~' ryy1 ryy1rvvbzFr   r   c                 n    t        | j                  | j                  j                  t              dd      S )Nr   )displayr   r   r   )r   r&   get_extension_majorextname)selfs    r   query_versionr*   H   s-    #||??H&'&') )r   c                   
   e Zd Z ej                   ej
                  d       ej                  d       ej                          ed       ej                  d       ej                  dde       ej                  d            Zy)DamageCreater   r   damagedrawablelevelr   N)r
   r   r   r   r   r   r   r   r   DrawableSetDamageReportLevelr!   r   r   r   r   r,   r,   N   sp    ryy(+"1)))+)$Z0,=>Hr   r,   c                     | j                   j                         }t        | j                   | j                   j                  t              || j
                  |       |S )N)r&   r   r-   r.   r/   )r&   allocate_resource_idr,   r'   r(   id)r)   r/   dids      r   damage_creater7   X   sH    
,,
+
+
-C88A''	 Jr   c                       e Zd Z ej                   ej
                  d       ej                  d       ej                          ed            Z	y)DamageDestroyr   r   r-   N)
r
   r   r   r   r   r   r   r   r   r   r   r   r   r9   r9   b   sB    ryy(+"1)))+)Hr   r9   c                     t        | j                  | j                  j                  t              |       | j                  j	                  |       y )N)r&   r   r-   )r9   r&   r'   r(   free_resource_id)r)   r-   s     r   damage_destroyr<   i   s9    $,,99'B
 	LL!!&)r   c            
           e Zd Z ej                   ej
                  d       ej                  d       ej                          ed       ej                  d       ej                  d            Z
y)DamageSubtractr   r   r-   repairpartsN)r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r>   r>   q   s^    ryy(+"1)))+)"8,"7+Hr   r>   c                 r    t        | j                  | j                  j                  t              |||       y )N)r&   r   r-   r?   r@   )r>   r&   r'   r(   )r)   r-   r?   r@   s       r   damage_subtractrB   z   s+    4<<,,::7C  	 r   c            	           e Zd Z ej                   ej
                  d       ej                  d       ej                          ej                  d       ej                  d            Z	y)	DamageAddr      r?   r@   N)
r
   r   r   r   r   r   r   r   r   r   r   r   r   rD   rD      sV    ryy(+"1)))+"8,"7+	Hr   rD   c                 p    t        | j                  | j                  j                  t              ||       y )N)r&   r   r?   r@   )rD   r&   r'   r(   )r)   r?   r@   s      r   
damage_addrG      s(    dll\\55g>r   c                   Z   e Zd ZdZ ej
                   ej                  d       ej                  d       ej                  d       ej                  d       e	d       ej                  d       ej                  dej                         ej                  d	ej                              Zy)
DamageNotifyNtyper/   r   r.   r-   	timestampareadrawable_geometry)r
   r   r   _coder   r   r   r"   r0   r   r   Objectr   	Rectangle_fieldsr   r   r   rI   rI      s    Ebii		#$Jx		+		&'++,		%w'8'89	
Gr   rI   c                 n   | j                  ddt               | j                  ddt               | j                  ddt               | j                  ddt               | j                  ddt
               | j                  |j                  t        z   t               | j                  t        t               y )	Nr&   damage_query_versionr.   r7   r<   rB   rG   )codeerr)extension_add_methodr*   r7   r<   rB   rG   extension_add_eventfirst_eventDamageNotifyCoderI   extension_add_errorBadDamageCoder	   )dispinfos     r   initr^      s    i4+- 	j-+- 	i.,. 	i/-/ 	j*(* 	T--0@@,O-^Dr   N)"Xlibr   Xlib.protocolr   r   
Xlib.errorr   r(   rY   r[   r	   DamageReportRawRectanglesDamageReportDeltaRectanglesDamageReportBoundingBoxDamageReportNonEmptyr2   r   r   ReplyRequestr   r*   Requestr,   r7   r9   r<   r>   NONErB   rD   rG   EventrI   r^   r   r   r   <module>rj      s   .  % 
   	V 	      	  
2?? ")2:: BJJ *RZZ  *+qvv  

 
288 
Er   