|
||||
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 */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |