Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:36

0001 /*
0002  * This file generated automatically from composite.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_Composite_API XCB Composite API
0008  * @brief Composite XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __COMPOSITE_H
0013 #define __COMPOSITE_H
0014 
0015 #include "xcb.h"
0016 #include "xproto.h"
0017 #include "xfixes.h"
0018 
0019 #ifdef __cplusplus
0020 extern "C" {
0021 #endif
0022 
0023 #define XCB_COMPOSITE_MAJOR_VERSION 0
0024 #define XCB_COMPOSITE_MINOR_VERSION 4
0025 
0026 extern xcb_extension_t xcb_composite_id;
0027 
0028 typedef enum xcb_composite_redirect_t {
0029     XCB_COMPOSITE_REDIRECT_AUTOMATIC = 0,
0030     XCB_COMPOSITE_REDIRECT_MANUAL = 1
0031 } xcb_composite_redirect_t;
0032 
0033 /**
0034  * @brief xcb_composite_query_version_cookie_t
0035  **/
0036 typedef struct xcb_composite_query_version_cookie_t {
0037     unsigned int sequence;
0038 } xcb_composite_query_version_cookie_t;
0039 
0040 /** Opcode for xcb_composite_query_version. */
0041 #define XCB_COMPOSITE_QUERY_VERSION 0
0042 
0043 /**
0044  * @brief xcb_composite_query_version_request_t
0045  **/
0046 typedef struct xcb_composite_query_version_request_t {
0047     uint8_t  major_opcode;
0048     uint8_t  minor_opcode;
0049     uint16_t length;
0050     uint32_t client_major_version;
0051     uint32_t client_minor_version;
0052 } xcb_composite_query_version_request_t;
0053 
0054 /**
0055  * @brief xcb_composite_query_version_reply_t
0056  **/
0057 typedef struct xcb_composite_query_version_reply_t {
0058     uint8_t  response_type;
0059     uint8_t  pad0;
0060     uint16_t sequence;
0061     uint32_t length;
0062     uint32_t major_version;
0063     uint32_t minor_version;
0064     uint8_t  pad1[16];
0065 } xcb_composite_query_version_reply_t;
0066 
0067 /** Opcode for xcb_composite_redirect_window. */
0068 #define XCB_COMPOSITE_REDIRECT_WINDOW 1
0069 
0070 /**
0071  * @brief xcb_composite_redirect_window_request_t
0072  **/
0073 typedef struct xcb_composite_redirect_window_request_t {
0074     uint8_t      major_opcode;
0075     uint8_t      minor_opcode;
0076     uint16_t     length;
0077     xcb_window_t window;
0078     uint8_t      update;
0079     uint8_t      pad0[3];
0080 } xcb_composite_redirect_window_request_t;
0081 
0082 /** Opcode for xcb_composite_redirect_subwindows. */
0083 #define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
0084 
0085 /**
0086  * @brief xcb_composite_redirect_subwindows_request_t
0087  **/
0088 typedef struct xcb_composite_redirect_subwindows_request_t {
0089     uint8_t      major_opcode;
0090     uint8_t      minor_opcode;
0091     uint16_t     length;
0092     xcb_window_t window;
0093     uint8_t      update;
0094     uint8_t      pad0[3];
0095 } xcb_composite_redirect_subwindows_request_t;
0096 
0097 /** Opcode for xcb_composite_unredirect_window. */
0098 #define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
0099 
0100 /**
0101  * @brief xcb_composite_unredirect_window_request_t
0102  **/
0103 typedef struct xcb_composite_unredirect_window_request_t {
0104     uint8_t      major_opcode;
0105     uint8_t      minor_opcode;
0106     uint16_t     length;
0107     xcb_window_t window;
0108     uint8_t      update;
0109     uint8_t      pad0[3];
0110 } xcb_composite_unredirect_window_request_t;
0111 
0112 /** Opcode for xcb_composite_unredirect_subwindows. */
0113 #define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
0114 
0115 /**
0116  * @brief xcb_composite_unredirect_subwindows_request_t
0117  **/
0118 typedef struct xcb_composite_unredirect_subwindows_request_t {
0119     uint8_t      major_opcode;
0120     uint8_t      minor_opcode;
0121     uint16_t     length;
0122     xcb_window_t window;
0123     uint8_t      update;
0124     uint8_t      pad0[3];
0125 } xcb_composite_unredirect_subwindows_request_t;
0126 
0127 /** Opcode for xcb_composite_create_region_from_border_clip. */
0128 #define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
0129 
0130 /**
0131  * @brief xcb_composite_create_region_from_border_clip_request_t
0132  **/
0133 typedef struct xcb_composite_create_region_from_border_clip_request_t {
0134     uint8_t             major_opcode;
0135     uint8_t             minor_opcode;
0136     uint16_t            length;
0137     xcb_xfixes_region_t region;
0138     xcb_window_t        window;
0139 } xcb_composite_create_region_from_border_clip_request_t;
0140 
0141 /** Opcode for xcb_composite_name_window_pixmap. */
0142 #define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
0143 
0144 /**
0145  * @brief xcb_composite_name_window_pixmap_request_t
0146  **/
0147 typedef struct xcb_composite_name_window_pixmap_request_t {
0148     uint8_t      major_opcode;
0149     uint8_t      minor_opcode;
0150     uint16_t     length;
0151     xcb_window_t window;
0152     xcb_pixmap_t pixmap;
0153 } xcb_composite_name_window_pixmap_request_t;
0154 
0155 /**
0156  * @brief xcb_composite_get_overlay_window_cookie_t
0157  **/
0158 typedef struct xcb_composite_get_overlay_window_cookie_t {
0159     unsigned int sequence;
0160 } xcb_composite_get_overlay_window_cookie_t;
0161 
0162 /** Opcode for xcb_composite_get_overlay_window. */
0163 #define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
0164 
0165 /**
0166  * @brief xcb_composite_get_overlay_window_request_t
0167  **/
0168 typedef struct xcb_composite_get_overlay_window_request_t {
0169     uint8_t      major_opcode;
0170     uint8_t      minor_opcode;
0171     uint16_t     length;
0172     xcb_window_t window;
0173 } xcb_composite_get_overlay_window_request_t;
0174 
0175 /**
0176  * @brief xcb_composite_get_overlay_window_reply_t
0177  **/
0178 typedef struct xcb_composite_get_overlay_window_reply_t {
0179     uint8_t      response_type;
0180     uint8_t      pad0;
0181     uint16_t     sequence;
0182     uint32_t     length;
0183     xcb_window_t overlay_win;
0184     uint8_t      pad1[20];
0185 } xcb_composite_get_overlay_window_reply_t;
0186 
0187 /** Opcode for xcb_composite_release_overlay_window. */
0188 #define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
0189 
0190 /**
0191  * @brief xcb_composite_release_overlay_window_request_t
0192  **/
0193 typedef struct xcb_composite_release_overlay_window_request_t {
0194     uint8_t      major_opcode;
0195     uint8_t      minor_opcode;
0196     uint16_t     length;
0197     xcb_window_t window;
0198 } xcb_composite_release_overlay_window_request_t;
0199 
0200 /**
0201  * @brief Negotiate the version of Composite
0202  *
0203  * @param c The connection
0204  * @param client_major_version The major version supported by the client.
0205  * @param client_minor_version The minor version supported by the client.
0206  * @return A cookie
0207  *
0208  * This negotiates the version of the Composite extension.  It must be precede all
0209  * other requests using Composite.  Failure to do so will cause a BadRequest error.
0210  *
0211  */
0212 xcb_composite_query_version_cookie_t
0213 xcb_composite_query_version (xcb_connection_t *c,
0214                              uint32_t          client_major_version,
0215                              uint32_t          client_minor_version);
0216 
0217 /**
0218  * @brief Negotiate the version of Composite
0219  *
0220  * @param c The connection
0221  * @param client_major_version The major version supported by the client.
0222  * @param client_minor_version The minor version supported by the client.
0223  * @return A cookie
0224  *
0225  * This negotiates the version of the Composite extension.  It must be precede all
0226  * other requests using Composite.  Failure to do so will cause a BadRequest error.
0227  *
0228  * This form can be used only if the request will cause
0229  * a reply to be generated. Any returned error will be
0230  * placed in the event queue.
0231  */
0232 xcb_composite_query_version_cookie_t
0233 xcb_composite_query_version_unchecked (xcb_connection_t *c,
0234                                        uint32_t          client_major_version,
0235                                        uint32_t          client_minor_version);
0236 
0237 /**
0238  * Return the reply
0239  * @param c      The connection
0240  * @param cookie The cookie
0241  * @param e      The xcb_generic_error_t supplied
0242  *
0243  * Returns the reply of the request asked by
0244  *
0245  * The parameter @p e supplied to this function must be NULL if
0246  * xcb_composite_query_version_unchecked(). is used.
0247  * Otherwise, it stores the error if any.
0248  *
0249  * The returned value must be freed by the caller using free().
0250  */
0251 xcb_composite_query_version_reply_t *
0252 xcb_composite_query_version_reply (xcb_connection_t                      *c,
0253                                    xcb_composite_query_version_cookie_t   cookie  /**< */,
0254                                    xcb_generic_error_t                  **e);
0255 
0256 /**
0257  * @brief Redirect the hierarchy starting at "window" to off-screen storage.
0258  *
0259  * @param c The connection
0260  * @param window The root of the hierarchy to redirect to off-screen storage.
0261  * @param update A bitmask of #xcb_composite_redirect_t values.
0262  * @param update Whether contents are automatically mirrored to the parent window.  If one client
0263  *  already specifies an update type of Manual, any attempt by another to specify a
0264  *  mode of Manual so will result in an Access error.
0265  * @return A cookie
0266  *
0267  * The hierarchy starting at 'window' is directed to off-screen
0268  *  storage.  When all clients enabling redirection terminate,
0269  *  the redirection will automatically be disabled.
0270  * 
0271  *  The root window may not be redirected. Doing so results in a Match
0272  *  error.
0273  *
0274  * This form can be used only if the request will not cause
0275  * a reply to be generated. Any returned error will be
0276  * saved for handling by xcb_request_check().
0277  */
0278 xcb_void_cookie_t
0279 xcb_composite_redirect_window_checked (xcb_connection_t *c,
0280                                        xcb_window_t      window,
0281                                        uint8_t           update);
0282 
0283 /**
0284  * @brief Redirect the hierarchy starting at "window" to off-screen storage.
0285  *
0286  * @param c The connection
0287  * @param window The root of the hierarchy to redirect to off-screen storage.
0288  * @param update A bitmask of #xcb_composite_redirect_t values.
0289  * @param update Whether contents are automatically mirrored to the parent window.  If one client
0290  *  already specifies an update type of Manual, any attempt by another to specify a
0291  *  mode of Manual so will result in an Access error.
0292  * @return A cookie
0293  *
0294  * The hierarchy starting at 'window' is directed to off-screen
0295  *  storage.  When all clients enabling redirection terminate,
0296  *  the redirection will automatically be disabled.
0297  * 
0298  *  The root window may not be redirected. Doing so results in a Match
0299  *  error.
0300  *
0301  */
0302 xcb_void_cookie_t
0303 xcb_composite_redirect_window (xcb_connection_t *c,
0304                                xcb_window_t      window,
0305                                uint8_t           update);
0306 
0307 /**
0308  * @brief Redirect all current and future children of ‘window’
0309  *
0310  * @param c The connection
0311  * @param window The root of the hierarchy to redirect to off-screen storage.
0312  * @param update A bitmask of #xcb_composite_redirect_t values.
0313  * @param update Whether contents are automatically mirrored to the parent window.  If one client
0314  *  already specifies an update type of Manual, any attempt by another to specify a
0315  *  mode of Manual so will result in an Access error.
0316  * @return A cookie
0317  *
0318  * Hierarchies starting at all current and future children of window
0319  *  will be redirected as in RedirectWindow. If update is Manual,
0320  *  then painting of the window background during window manipulation
0321  *  and ClearArea requests is inhibited.
0322  *
0323  * This form can be used only if the request will not cause
0324  * a reply to be generated. Any returned error will be
0325  * saved for handling by xcb_request_check().
0326  */
0327 xcb_void_cookie_t
0328 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c,
0329                                            xcb_window_t      window,
0330                                            uint8_t           update);
0331 
0332 /**
0333  * @brief Redirect all current and future children of ‘window’
0334  *
0335  * @param c The connection
0336  * @param window The root of the hierarchy to redirect to off-screen storage.
0337  * @param update A bitmask of #xcb_composite_redirect_t values.
0338  * @param update Whether contents are automatically mirrored to the parent window.  If one client
0339  *  already specifies an update type of Manual, any attempt by another to specify a
0340  *  mode of Manual so will result in an Access error.
0341  * @return A cookie
0342  *
0343  * Hierarchies starting at all current and future children of window
0344  *  will be redirected as in RedirectWindow. If update is Manual,
0345  *  then painting of the window background during window manipulation
0346  *  and ClearArea requests is inhibited.
0347  *
0348  */
0349 xcb_void_cookie_t
0350 xcb_composite_redirect_subwindows (xcb_connection_t *c,
0351                                    xcb_window_t      window,
0352                                    uint8_t           update);
0353 
0354 /**
0355  * @brief Terminate redirection of the specified window.
0356  *
0357  * @param c The connection
0358  * @param window The window to terminate redirection of.  Must be redirected by the
0359  *  current client, or a Value error results.
0360  * @param update A bitmask of #xcb_composite_redirect_t values.
0361  * @param update The update type passed to RedirectWindows.  If this does not match the
0362  *  previously requested update type, a Value error results.
0363  * @return A cookie
0364  *
0365  * Redirection of the specified window will be terminated.  This cannot be
0366  *  used if the window was redirected with RedirectSubwindows.
0367  *
0368  * This form can be used only if the request will not cause
0369  * a reply to be generated. Any returned error will be
0370  * saved for handling by xcb_request_check().
0371  */
0372 xcb_void_cookie_t
0373 xcb_composite_unredirect_window_checked (xcb_connection_t *c,
0374                                          xcb_window_t      window,
0375                                          uint8_t           update);
0376 
0377 /**
0378  * @brief Terminate redirection of the specified window.
0379  *
0380  * @param c The connection
0381  * @param window The window to terminate redirection of.  Must be redirected by the
0382  *  current client, or a Value error results.
0383  * @param update A bitmask of #xcb_composite_redirect_t values.
0384  * @param update The update type passed to RedirectWindows.  If this does not match the
0385  *  previously requested update type, a Value error results.
0386  * @return A cookie
0387  *
0388  * Redirection of the specified window will be terminated.  This cannot be
0389  *  used if the window was redirected with RedirectSubwindows.
0390  *
0391  */
0392 xcb_void_cookie_t
0393 xcb_composite_unredirect_window (xcb_connection_t *c,
0394                                  xcb_window_t      window,
0395                                  uint8_t           update);
0396 
0397 /**
0398  * @brief Terminate redirection of the specified window’s children
0399  *
0400  * @param c The connection
0401  * @param window The window to terminate redirection of.  Must have previously been
0402  *  selected for sub-redirection by the current client, or a Value error
0403  *  results.
0404  * @param update A bitmask of #xcb_composite_redirect_t values.
0405  * @param update The update type passed to RedirectSubWindows.  If this does not match
0406  *  the previously requested update type, a Value error results.
0407  * @return A cookie
0408  *
0409  * Redirection of all children of window will be terminated.
0410  *
0411  * This form can be used only if the request will not cause
0412  * a reply to be generated. Any returned error will be
0413  * saved for handling by xcb_request_check().
0414  */
0415 xcb_void_cookie_t
0416 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c,
0417                                              xcb_window_t      window,
0418                                              uint8_t           update);
0419 
0420 /**
0421  * @brief Terminate redirection of the specified window’s children
0422  *
0423  * @param c The connection
0424  * @param window The window to terminate redirection of.  Must have previously been
0425  *  selected for sub-redirection by the current client, or a Value error
0426  *  results.
0427  * @param update A bitmask of #xcb_composite_redirect_t values.
0428  * @param update The update type passed to RedirectSubWindows.  If this does not match
0429  *  the previously requested update type, a Value error results.
0430  * @return A cookie
0431  *
0432  * Redirection of all children of window will be terminated.
0433  *
0434  */
0435 xcb_void_cookie_t
0436 xcb_composite_unredirect_subwindows (xcb_connection_t *c,
0437                                      xcb_window_t      window,
0438                                      uint8_t           update);
0439 
0440 /**
0441  *
0442  * @param c The connection
0443  * @return A cookie
0444  *
0445  * Delivers a request to the X server.
0446  *
0447  * This form can be used only if the request will not cause
0448  * a reply to be generated. Any returned error will be
0449  * saved for handling by xcb_request_check().
0450  */
0451 xcb_void_cookie_t
0452 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t    *c,
0453                                                       xcb_xfixes_region_t  region,
0454                                                       xcb_window_t         window);
0455 
0456 /**
0457  *
0458  * @param c The connection
0459  * @return A cookie
0460  *
0461  * Delivers a request to the X server.
0462  *
0463  */
0464 xcb_void_cookie_t
0465 xcb_composite_create_region_from_border_clip (xcb_connection_t    *c,
0466                                               xcb_xfixes_region_t  region,
0467                                               xcb_window_t         window);
0468 
0469 /**
0470  *
0471  * @param c The connection
0472  * @return A cookie
0473  *
0474  * Delivers a request to the X server.
0475  *
0476  * This form can be used only if the request will not cause
0477  * a reply to be generated. Any returned error will be
0478  * saved for handling by xcb_request_check().
0479  */
0480 xcb_void_cookie_t
0481 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c,
0482                                           xcb_window_t      window,
0483                                           xcb_pixmap_t      pixmap);
0484 
0485 /**
0486  *
0487  * @param c The connection
0488  * @return A cookie
0489  *
0490  * Delivers a request to the X server.
0491  *
0492  */
0493 xcb_void_cookie_t
0494 xcb_composite_name_window_pixmap (xcb_connection_t *c,
0495                                   xcb_window_t      window,
0496                                   xcb_pixmap_t      pixmap);
0497 
0498 /**
0499  *
0500  * @param c The connection
0501  * @return A cookie
0502  *
0503  * Delivers a request to the X server.
0504  *
0505  */
0506 xcb_composite_get_overlay_window_cookie_t
0507 xcb_composite_get_overlay_window (xcb_connection_t *c,
0508                                   xcb_window_t      window);
0509 
0510 /**
0511  *
0512  * @param c The connection
0513  * @return A cookie
0514  *
0515  * Delivers a request to the X server.
0516  *
0517  * This form can be used only if the request will cause
0518  * a reply to be generated. Any returned error will be
0519  * placed in the event queue.
0520  */
0521 xcb_composite_get_overlay_window_cookie_t
0522 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c,
0523                                             xcb_window_t      window);
0524 
0525 /**
0526  * Return the reply
0527  * @param c      The connection
0528  * @param cookie The cookie
0529  * @param e      The xcb_generic_error_t supplied
0530  *
0531  * Returns the reply of the request asked by
0532  *
0533  * The parameter @p e supplied to this function must be NULL if
0534  * xcb_composite_get_overlay_window_unchecked(). is used.
0535  * Otherwise, it stores the error if any.
0536  *
0537  * The returned value must be freed by the caller using free().
0538  */
0539 xcb_composite_get_overlay_window_reply_t *
0540 xcb_composite_get_overlay_window_reply (xcb_connection_t                           *c,
0541                                         xcb_composite_get_overlay_window_cookie_t   cookie  /**< */,
0542                                         xcb_generic_error_t                       **e);
0543 
0544 /**
0545  *
0546  * @param c The connection
0547  * @return A cookie
0548  *
0549  * Delivers a request to the X server.
0550  *
0551  * This form can be used only if the request will not cause
0552  * a reply to be generated. Any returned error will be
0553  * saved for handling by xcb_request_check().
0554  */
0555 xcb_void_cookie_t
0556 xcb_composite_release_overlay_window_checked (xcb_connection_t *c,
0557                                               xcb_window_t      window);
0558 
0559 /**
0560  *
0561  * @param c The connection
0562  * @return A cookie
0563  *
0564  * Delivers a request to the X server.
0565  *
0566  */
0567 xcb_void_cookie_t
0568 xcb_composite_release_overlay_window (xcb_connection_t *c,
0569                                       xcb_window_t      window);
0570 
0571 
0572 #ifdef __cplusplus
0573 }
0574 #endif
0575 
0576 #endif
0577 
0578 /**
0579  * @}
0580  */