+
    }c!  c                   s   R t ^ RIHt ^ RIHt Rt^ t^t ! R R]P                  4      t	R t
 ! R R]P                  4      tRR
 lt ! R R]P                  4      tRR lt ! R R]P                  4      tRR lt ! R R]P                  4      tRR lt ! R R]P                  4      tRR lt ! R R]P                  4      tRR lt ! R R]P                  4      tR tR tR	# )a  Composite extension, allowing windows to be rendered to off-screen
storage.

For detailed description, see the protocol specification at
http://freedesktop.org/wiki/Software/CompositeExt

By itself this extension is not very useful, it is intended to be used
together with the DAMAGE and XFIXES extensions.  Typically you would
also need RENDER or glX or some similar method of creating fancy
graphics.
)rq)drawableZ	Compositec                   s   ] tR t^,t]P
                  ! ]P                  ! R4      ]P                  ! ^ 4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R4      4      t
]P
                  ! ]P                  ! 4       ]P                  ! ^4      ]P                  ! R4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R4      ]P                  ! ^4      4      tRtR# )QueryVersionopcodemajor_versionminor_versionsequence_number N)__name__
__module____qualname____firstlineno__r    StructCard8OpcodeRequestLengthCard32_request	ReplyCodePadCard16ReplyLength_reply__static_attributes__r       7/usr/lib/python3.14/site-packages/Xlib/ext/composite.pyr   r   ,   s    yyHHXIIaLIIo&IIo&H YYLLNFF1III'(NNIIo&IIo&FF2JFr   r   c                 sn    \        V P                  V P                  P                  \        4      ^ ^R7      # )i    )displayr   r   r   )r   r   get_extension_majorextnameself   &r   query_versionr    ?   s.    ,,11':	
 
r   c                   s
   ] tR t^Ht]P
                  ! ]P                  ! R4      ]P                  ! ^4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R^]]34      ]P                  ! ^4      4      tRtR# )RedirectWindowr   windowupdater   Nr   r	   r
   r   r    r   r   r   r   WindowZSetRedirectAutomaticRedirectManualr   r   r   r   r   r   r!   r!   H   `    yy

		!

		(
x.?@
q	
Hr   r!   Nc                t    \        V P                  VV P                  P                  \        4      V VR7       R# )zFRedirect the hierarchy starting at this window to off-screen
storage.
r   onerrorr   r"   r#   Nr!   r   r   r   r   r#   r+      &&&r   redirect_windowr/   R   s-     T\\$ LL<<WE "	r   c                   s
   ] tR t^^t]P
                  ! ]P                  ! R4      ]P                  ! ^4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R^]]34      ]P                  ! ^4      4      tRtR# )RedirectSubwindowsr   r"   r#   r   Nr$   r   r   r   r0   r0   ^   r(   r   r0   c                r)   )zkRedirect the hierarchies starting at all current and future
children to this window to off-screen storage.
r*   N)r0   r   r   r   r-   r.   r   redirect_subwindowsr1   h   s-     !( $ @ @ I $ &	r   c                   s
   ] tR t^tt]P
                  ! ]P                  ! R4      ]P                  ! ^4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R^]]34      ]P                  ! ^4      4      tRtR# )UnredirectWindowr   r"   r#   r   Nr$   r   r   r   r2   r2   t   r(   r   r2   c                r)   )z,Stop redirecting this window hierarchy.
    r*   N)r2   r   r   r   r-   r.   r   unredirect_windowr3   ~   s-     t||&"ll>>wG"$	r   c                   s
   ] tR t^t]P
                  ! ]P                  ! R4      ]P                  ! ^4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R^]]34      ]P                  ! ^4      4      tRtR# )UnredirectSubindowsr   r"   r#   r   Nr$   r   r   r   r4   r4      r(   r   r4   c                r)   )zAStop redirecting the hierarchies of children to this window.
    r*   Nr,   r-   r.   r   unredirect_subwindowsr5      s-     T\\$ LL<<WE "	r   c            	       s    ] tR t^t]P
                  ! ]P                  ! R4      ]P                  ! ^4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R4      4      tRtR# )CreateRegionFromBorderClipr   regionr"   r   N)r   r	   r
   r   r    r   r   r   r   r   r%   r   r   r   r   r   r6   r6      K    yy

		!

		(
		(
Hr   r6   c                s    V P                   P                  4       p\        V P                   VV P                   P                  \        4      VV R7       V# )z{Create a region of the border clip of the window, i.e. the area
that is not clipped by the parent and any sibling windows.
)r   r+   r   r7   r"   )r   allocate_resource_idr6   r   r   )r   r+   Zrids   && r   create_region_from_border_clipr:      sG    
 ,,
+
+
-C,,11':
 Jr   c            	       s    ] tR t^t]P
                  ! ]P                  ! R4      ]P                  ! ^4      ]P                  ! 4       ]P                  ! R4      ]P                  ! R4      4      tRtR# )NameWindowPixmapr   r"   pixmapr   N)r   r	   r
   r   r    r   r   r   r   r%   Pixmapr   r   r   r   r   r;   r;      r8   r   r;   c                s"   V P                   P                  4       p\        V P                   VV P                   P                  \        4      V VR7       V P                   P                  R\        P                  4      pV! V P                   V^R7      # )am  Create a new pixmap that refers to the off-screen storage of
the window, including its border.

This pixmap will remain allocated until freed whatever happens
with the window.  However, the window will get a new off-screen
pixmap every time it is mapped or resized, so to keep track of the
contents you must listen for these events and get a new pixmap
after them.
)r   r+   r   r"   r<   r<   )Zowner)r   r9   r;   r   r   Zget_resource_classr   r=   )r   r+   ZpidZclss   &&  r   name_window_pixmapr>      sn     ,,
+
+
-Ct||&"ll>>wG"!	 ,,
)
)(HOO
DCt||S!,,r   c            
       s   ] tR t^t]P
                  ! ]P                  ! R4      ]P                  ! ^4      ]P                  ! 4       ]P                  ! R4      4      t
]P
                  ! ]P                  ! 4       ]P                  ! ^4      ]P                  ! R4      ]P                  ! 4       ]P                  ! R4      ]P                  ! ^4      4      tRtR# )GetOverlayWindowr   r"   r   Zoverlay_windowr   N)r   r	   r
   r   r    r   r   r   r   r%   r   r   r   r   r   r   r   r   r   r   r?   r?      s    yy

		!

		(	H YY

q	
		#$

		"#
r
Fr   r?   c                sl    \        V P                  V P                  P                  \        4      V R7      # )z2Return the overlay window of the root window.
    )r   r   r"   )r?   r   r   r   r   r   r   get_overlay_windowr@      s,     dll'+||'G'G'P'+- -r   c                 sv   V P                  R R\        4       V P                  RR\        4       V P                  RR\        4       V P                  RR\        4       V P                  RR\
        4       V P                  RR\        4       V P                  RR\        4       V P                  RR	\        4       R
# )r   Zcomposite_query_versionr"   Zcomposite_redirect_windowZcomposite_redirect_subwindowsZcomposite_unredirect_windowZcomposite_unredirect_subwindowsZ(composite_create_region_from_border_clipZcomposite_name_window_pixmapZcomposite_get_overlay_windowN)	Zextension_add_methodr    r/   r1   r3   r5   r:   r>   r@   )ZdispZinfos   &&r   initrA      s    i7+- 	h9-/ 	h=13 	h;/1 	h?35 	hH<> 	h<02 	h<02r   )N)Z__doc__ZXlib.protocolr    ZXlib.xobjectr   r   r&   r'   ZReplyRequestr   r    ZRequestr!   r/   r0   r1   r2   r3   r4   r5   r6   r:   r;   r>   r?   r@   rA   r   r   r   <module>rB      s   0
  !
 2?? &

RZZ 
	
 
	
rzz 

"** 

 
$
rzz 
-,r  -2r   