
    ȡcR                     t   d Z ddlmZ ddlmZ ddlmZ dZd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d 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d Zd ZdS )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.
    )X)rq)drawable	Composite   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dS )	QueryVersionopcoder   major_versionminor_versionr   sequence_number   N)__name__
__module____qualname__r   StructCard8OpcodeRequestLengthCard32_request	ReplyCodePadCard16ReplyLength_reply     U/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/Xlib/ext/composite.pyr	   r	   *   s        ryBHXBIaLLBBIo&&BIo&& H RYBLNNBF1IIBI'((BNBIo&&BIo&&BF2JJ FFFr   r	   c                 h    t          | j        | j                            t                              S )N)displayr
   )r	   r!   get_extension_majorextname)selfs    r   query_versionr%   =   s1    ,11'::
 
 
 
r   c                       e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej	        dde
ef           ej        d                    ZdS )RedirectWindowr
   r   windowupdate   Nr   r   r   r   r   r   r   r   WindowSetRedirectAutomaticRedirectManualr   r   r   r   r   r'   r'   D           ry	!	(x.?@@q		
 
HHHr   r'   c                 p    t          | j        | j                            t                    | |           dS )zNRedirect the hierarchy starting at this window to off-screen
    storage.
    r!   r
   r(   r)   Nr'   r!   r"   r#   r$   r)   s     r   redirect_windowr5   N   sB     T\ L<<WEE "     r   c                       e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej	        dde
ef           ej        d                    ZdS )RedirectSubwindowsr
      r(   r)   r   r*   Nr+   r   r   r   r7   r7   Y   r0   r   r7   c                 p    t          | j        | j                            t                    | |           dS )zsRedirect the hierarchies starting at all current and future
    children to this window to off-screen storage.
    r2   N)r7   r!   r"   r#   r4   s     r   redirect_subwindowsr:   c   sB      $ @ @ I I $ &     r   c                       e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej	        dde
ef           ej        d                    ZdS )UnredirectWindowr
   r*   r(   r)   r   Nr+   r   r   r   r<   r<   n   r0   r   r<   c                 p    t          | j        | j                            t                    | |           dS )z,Stop redirecting this window hierarchy.
    r2   N)r<   r!   r"   r#   r4   s     r   unredirect_windowr>   x   sB     t|"l>>wGG"$     r   c                       e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej	        dde
ef           ej        d                    ZdS )UnredirectSubindowsr
      r(   r)   r   r*   Nr+   r   r   r   r@   r@      r0   r   r@   c                 p    t          | j        | j                            t                    | |           dS )zAStop redirecting the hierarchies of children to this window.
    r2   Nr3   r4   s     r   unredirect_subwindowsrC      sB     T\ L<<WEE "     r   c            	           e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej	        d                    Z
dS )CreateRegionFromBorderClipr
      regionr(   N)r   r   r   r   r   r   r   r   r   r,   r   r   r   r   rE   rE      i        ry	!	(	(
 
HHHr   rE   c                     | j                                         }t          | j         | j                             t                    ||            |S )zCreate 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
   rG   r(   )r!   allocate_resource_idrE   r"   r#   )r$   rids     r   create_region_from_border_cliprL      sS    
 ,
+
+
-
-C,11'::	
 
 
 
 Jr   c            	           e Zd Z ej         ej        d           ej        d           ej                     ej        d           ej	        d                    Z
dS )NameWindowPixmapr
      r(   pixmapN)r   r   r   r   r   r   r   r   r,   Pixmapr   r   r   r   rN   rN      rH   r   rN   c                    | j                                         }t          | j         | j                             t                    | |           | j                             dt          j                  } || j         |d          S )a  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(   rP   rP   r   )owner)r!   rJ   rN   r"   r#   get_resource_classr   rQ   )r$   pidclss      r   name_window_pixmaprW      s     ,
+
+
-
-Ct|"l>>wGG"!    ,
)
)(HO
D
DC3t|S!,,,,r   c                    |                      ddt                     |                      ddt                     |                      ddt                     |                      ddt                     |                      ddt
                     |                      ddt                     |                      dd	t                     d S )
Nr!   composite_query_versionr(   composite_redirect_windowcomposite_redirect_subwindowscomposite_unredirect_windowcomposite_unredirect_subwindows(composite_create_region_from_border_clipcomposite_name_window_pixmap)extension_add_methodr%   r5   r:   r>   rC   rL   rW   )dispinfos     r   initrc      s    i7+- - - 	h9-/ / / 	h=13 3 3 	h;/1 1 1 	h?35 5 5 	hH<> > > 	h<02 2 2 2 2r   N)__doc__Xlibr   Xlib.protocolr   Xlib.xobjectr   r#   r.   r/   ReplyRequestr	   r%   Requestr'   r5   r7   r:   r<   r>   r@   rC   rE   rL   rN   rW   rc   r   r   r   <module>rj      s  *
 
             ! ! ! ! ! !
     2?   &
 
 

 
 
 
 
RZ 
 
 
  
 
 
 
 
 
 
 
  
 
 
 
 
rz 
 
 
  
 
 
 
 
"* 
 
 
  
 
 
 
 
 
 
 
  "
 
 
 
 
rz 
 
 
- - -,2 2 2 2 2r   