|
||||
File indexing completed on 2025-01-18 10:14:36
0001 /* 0002 * This file generated automatically from dbe.xml by c_client.py. 0003 * Edit at your peril. 0004 */ 0005 0006 /** 0007 * @defgroup XCB_Dbe_API XCB Dbe API 0008 * @brief Dbe XCB Protocol Implementation. 0009 * @{ 0010 **/ 0011 0012 #ifndef __DBE_H 0013 #define __DBE_H 0014 0015 #include "xcb.h" 0016 #include "xproto.h" 0017 0018 #ifdef __cplusplus 0019 extern "C" { 0020 #endif 0021 0022 #define XCB_DBE_MAJOR_VERSION 1 0023 #define XCB_DBE_MINOR_VERSION 0 0024 0025 extern xcb_extension_t xcb_dbe_id; 0026 0027 typedef uint32_t xcb_dbe_back_buffer_t; 0028 0029 /** 0030 * @brief xcb_dbe_back_buffer_iterator_t 0031 **/ 0032 typedef struct xcb_dbe_back_buffer_iterator_t { 0033 xcb_dbe_back_buffer_t *data; 0034 int rem; 0035 int index; 0036 } xcb_dbe_back_buffer_iterator_t; 0037 0038 typedef enum xcb_dbe_swap_action_t { 0039 XCB_DBE_SWAP_ACTION_UNDEFINED = 0, 0040 /**< Discard the buffer. The buffer may be reallocated and end up with random VRAM content. */ 0041 0042 XCB_DBE_SWAP_ACTION_BACKGROUND = 1, 0043 /**< Erase with window background. */ 0044 0045 XCB_DBE_SWAP_ACTION_UNTOUCHED = 2, 0046 /**< Leave untouched. */ 0047 0048 XCB_DBE_SWAP_ACTION_COPIED = 3 0049 /**< Copy the newly displayed front buffer. */ 0050 0051 } xcb_dbe_swap_action_t; 0052 0053 /** 0054 * @brief xcb_dbe_swap_info_t 0055 **/ 0056 typedef struct xcb_dbe_swap_info_t { 0057 xcb_window_t window; 0058 uint8_t swap_action; 0059 uint8_t pad0[3]; 0060 } xcb_dbe_swap_info_t; 0061 0062 /** 0063 * @brief xcb_dbe_swap_info_iterator_t 0064 **/ 0065 typedef struct xcb_dbe_swap_info_iterator_t { 0066 xcb_dbe_swap_info_t *data; 0067 int rem; 0068 int index; 0069 } xcb_dbe_swap_info_iterator_t; 0070 0071 /** 0072 * @brief xcb_dbe_buffer_attributes_t 0073 **/ 0074 typedef struct xcb_dbe_buffer_attributes_t { 0075 xcb_window_t window; 0076 } xcb_dbe_buffer_attributes_t; 0077 0078 /** 0079 * @brief xcb_dbe_buffer_attributes_iterator_t 0080 **/ 0081 typedef struct xcb_dbe_buffer_attributes_iterator_t { 0082 xcb_dbe_buffer_attributes_t *data; 0083 int rem; 0084 int index; 0085 } xcb_dbe_buffer_attributes_iterator_t; 0086 0087 /** 0088 * @brief xcb_dbe_visual_info_t 0089 **/ 0090 typedef struct xcb_dbe_visual_info_t { 0091 xcb_visualid_t visual_id; 0092 uint8_t depth; 0093 uint8_t perf_level; 0094 uint8_t pad0[2]; 0095 } xcb_dbe_visual_info_t; 0096 0097 /** 0098 * @brief xcb_dbe_visual_info_iterator_t 0099 **/ 0100 typedef struct xcb_dbe_visual_info_iterator_t { 0101 xcb_dbe_visual_info_t *data; 0102 int rem; 0103 int index; 0104 } xcb_dbe_visual_info_iterator_t; 0105 0106 /** 0107 * @brief xcb_dbe_visual_infos_t 0108 **/ 0109 typedef struct xcb_dbe_visual_infos_t { 0110 uint32_t n_infos; 0111 } xcb_dbe_visual_infos_t; 0112 0113 /** 0114 * @brief xcb_dbe_visual_infos_iterator_t 0115 **/ 0116 typedef struct xcb_dbe_visual_infos_iterator_t { 0117 xcb_dbe_visual_infos_t *data; 0118 int rem; 0119 int index; 0120 } xcb_dbe_visual_infos_iterator_t; 0121 0122 /** Opcode for xcb_dbe_bad_buffer. */ 0123 #define XCB_DBE_BAD_BUFFER 0 0124 0125 /** 0126 * @brief xcb_dbe_bad_buffer_error_t 0127 **/ 0128 typedef struct xcb_dbe_bad_buffer_error_t { 0129 uint8_t response_type; 0130 uint8_t error_code; 0131 uint16_t sequence; 0132 xcb_dbe_back_buffer_t bad_buffer; 0133 uint16_t minor_opcode; 0134 uint8_t major_opcode; 0135 } xcb_dbe_bad_buffer_error_t; 0136 0137 /** 0138 * @brief xcb_dbe_query_version_cookie_t 0139 **/ 0140 typedef struct xcb_dbe_query_version_cookie_t { 0141 unsigned int sequence; 0142 } xcb_dbe_query_version_cookie_t; 0143 0144 /** Opcode for xcb_dbe_query_version. */ 0145 #define XCB_DBE_QUERY_VERSION 0 0146 0147 /** 0148 * @brief xcb_dbe_query_version_request_t 0149 **/ 0150 typedef struct xcb_dbe_query_version_request_t { 0151 uint8_t major_opcode; 0152 uint8_t minor_opcode; 0153 uint16_t length; 0154 uint8_t major_version; 0155 uint8_t minor_version; 0156 uint8_t pad0[2]; 0157 } xcb_dbe_query_version_request_t; 0158 0159 /** 0160 * @brief xcb_dbe_query_version_reply_t 0161 **/ 0162 typedef struct xcb_dbe_query_version_reply_t { 0163 uint8_t response_type; 0164 uint8_t pad0; 0165 uint16_t sequence; 0166 uint32_t length; 0167 uint8_t major_version; 0168 uint8_t minor_version; 0169 uint8_t pad1[22]; 0170 } xcb_dbe_query_version_reply_t; 0171 0172 /** Opcode for xcb_dbe_allocate_back_buffer. */ 0173 #define XCB_DBE_ALLOCATE_BACK_BUFFER 1 0174 0175 /** 0176 * @brief xcb_dbe_allocate_back_buffer_request_t 0177 **/ 0178 typedef struct xcb_dbe_allocate_back_buffer_request_t { 0179 uint8_t major_opcode; 0180 uint8_t minor_opcode; 0181 uint16_t length; 0182 xcb_window_t window; 0183 xcb_dbe_back_buffer_t buffer; 0184 uint8_t swap_action; 0185 uint8_t pad0[3]; 0186 } xcb_dbe_allocate_back_buffer_request_t; 0187 0188 /** Opcode for xcb_dbe_deallocate_back_buffer. */ 0189 #define XCB_DBE_DEALLOCATE_BACK_BUFFER 2 0190 0191 /** 0192 * @brief xcb_dbe_deallocate_back_buffer_request_t 0193 **/ 0194 typedef struct xcb_dbe_deallocate_back_buffer_request_t { 0195 uint8_t major_opcode; 0196 uint8_t minor_opcode; 0197 uint16_t length; 0198 xcb_dbe_back_buffer_t buffer; 0199 } xcb_dbe_deallocate_back_buffer_request_t; 0200 0201 /** Opcode for xcb_dbe_swap_buffers. */ 0202 #define XCB_DBE_SWAP_BUFFERS 3 0203 0204 /** 0205 * @brief xcb_dbe_swap_buffers_request_t 0206 **/ 0207 typedef struct xcb_dbe_swap_buffers_request_t { 0208 uint8_t major_opcode; 0209 uint8_t minor_opcode; 0210 uint16_t length; 0211 uint32_t n_actions; 0212 } xcb_dbe_swap_buffers_request_t; 0213 0214 /** Opcode for xcb_dbe_begin_idiom. */ 0215 #define XCB_DBE_BEGIN_IDIOM 4 0216 0217 /** 0218 * @brief xcb_dbe_begin_idiom_request_t 0219 **/ 0220 typedef struct xcb_dbe_begin_idiom_request_t { 0221 uint8_t major_opcode; 0222 uint8_t minor_opcode; 0223 uint16_t length; 0224 } xcb_dbe_begin_idiom_request_t; 0225 0226 /** Opcode for xcb_dbe_end_idiom. */ 0227 #define XCB_DBE_END_IDIOM 5 0228 0229 /** 0230 * @brief xcb_dbe_end_idiom_request_t 0231 **/ 0232 typedef struct xcb_dbe_end_idiom_request_t { 0233 uint8_t major_opcode; 0234 uint8_t minor_opcode; 0235 uint16_t length; 0236 } xcb_dbe_end_idiom_request_t; 0237 0238 /** 0239 * @brief xcb_dbe_get_visual_info_cookie_t 0240 **/ 0241 typedef struct xcb_dbe_get_visual_info_cookie_t { 0242 unsigned int sequence; 0243 } xcb_dbe_get_visual_info_cookie_t; 0244 0245 /** Opcode for xcb_dbe_get_visual_info. */ 0246 #define XCB_DBE_GET_VISUAL_INFO 6 0247 0248 /** 0249 * @brief xcb_dbe_get_visual_info_request_t 0250 **/ 0251 typedef struct xcb_dbe_get_visual_info_request_t { 0252 uint8_t major_opcode; 0253 uint8_t minor_opcode; 0254 uint16_t length; 0255 uint32_t n_drawables; 0256 } xcb_dbe_get_visual_info_request_t; 0257 0258 /** 0259 * @brief xcb_dbe_get_visual_info_reply_t 0260 **/ 0261 typedef struct xcb_dbe_get_visual_info_reply_t { 0262 uint8_t response_type; 0263 uint8_t pad0; 0264 uint16_t sequence; 0265 uint32_t length; 0266 uint32_t n_supported_visuals; 0267 uint8_t pad1[20]; 0268 } xcb_dbe_get_visual_info_reply_t; 0269 0270 /** 0271 * @brief xcb_dbe_get_back_buffer_attributes_cookie_t 0272 **/ 0273 typedef struct xcb_dbe_get_back_buffer_attributes_cookie_t { 0274 unsigned int sequence; 0275 } xcb_dbe_get_back_buffer_attributes_cookie_t; 0276 0277 /** Opcode for xcb_dbe_get_back_buffer_attributes. */ 0278 #define XCB_DBE_GET_BACK_BUFFER_ATTRIBUTES 7 0279 0280 /** 0281 * @brief xcb_dbe_get_back_buffer_attributes_request_t 0282 **/ 0283 typedef struct xcb_dbe_get_back_buffer_attributes_request_t { 0284 uint8_t major_opcode; 0285 uint8_t minor_opcode; 0286 uint16_t length; 0287 xcb_dbe_back_buffer_t buffer; 0288 } xcb_dbe_get_back_buffer_attributes_request_t; 0289 0290 /** 0291 * @brief xcb_dbe_get_back_buffer_attributes_reply_t 0292 **/ 0293 typedef struct xcb_dbe_get_back_buffer_attributes_reply_t { 0294 uint8_t response_type; 0295 uint8_t pad0; 0296 uint16_t sequence; 0297 uint32_t length; 0298 xcb_dbe_buffer_attributes_t attributes; 0299 uint8_t pad1[20]; 0300 } xcb_dbe_get_back_buffer_attributes_reply_t; 0301 0302 /** 0303 * Get the next element of the iterator 0304 * @param i Pointer to a xcb_dbe_back_buffer_iterator_t 0305 * 0306 * Get the next element in the iterator. The member rem is 0307 * decreased by one. The member data points to the next 0308 * element. The member index is increased by sizeof(xcb_dbe_back_buffer_t) 0309 */ 0310 void 0311 xcb_dbe_back_buffer_next (xcb_dbe_back_buffer_iterator_t *i); 0312 0313 /** 0314 * Return the iterator pointing to the last element 0315 * @param i An xcb_dbe_back_buffer_iterator_t 0316 * @return The iterator pointing to the last element 0317 * 0318 * Set the current element in the iterator to the last element. 0319 * The member rem is set to 0. The member data points to the 0320 * last element. 0321 */ 0322 xcb_generic_iterator_t 0323 xcb_dbe_back_buffer_end (xcb_dbe_back_buffer_iterator_t i); 0324 0325 /** 0326 * Get the next element of the iterator 0327 * @param i Pointer to a xcb_dbe_swap_info_iterator_t 0328 * 0329 * Get the next element in the iterator. The member rem is 0330 * decreased by one. The member data points to the next 0331 * element. The member index is increased by sizeof(xcb_dbe_swap_info_t) 0332 */ 0333 void 0334 xcb_dbe_swap_info_next (xcb_dbe_swap_info_iterator_t *i); 0335 0336 /** 0337 * Return the iterator pointing to the last element 0338 * @param i An xcb_dbe_swap_info_iterator_t 0339 * @return The iterator pointing to the last element 0340 * 0341 * Set the current element in the iterator to the last element. 0342 * The member rem is set to 0. The member data points to the 0343 * last element. 0344 */ 0345 xcb_generic_iterator_t 0346 xcb_dbe_swap_info_end (xcb_dbe_swap_info_iterator_t i); 0347 0348 /** 0349 * Get the next element of the iterator 0350 * @param i Pointer to a xcb_dbe_buffer_attributes_iterator_t 0351 * 0352 * Get the next element in the iterator. The member rem is 0353 * decreased by one. The member data points to the next 0354 * element. The member index is increased by sizeof(xcb_dbe_buffer_attributes_t) 0355 */ 0356 void 0357 xcb_dbe_buffer_attributes_next (xcb_dbe_buffer_attributes_iterator_t *i); 0358 0359 /** 0360 * Return the iterator pointing to the last element 0361 * @param i An xcb_dbe_buffer_attributes_iterator_t 0362 * @return The iterator pointing to the last element 0363 * 0364 * Set the current element in the iterator to the last element. 0365 * The member rem is set to 0. The member data points to the 0366 * last element. 0367 */ 0368 xcb_generic_iterator_t 0369 xcb_dbe_buffer_attributes_end (xcb_dbe_buffer_attributes_iterator_t i); 0370 0371 /** 0372 * Get the next element of the iterator 0373 * @param i Pointer to a xcb_dbe_visual_info_iterator_t 0374 * 0375 * Get the next element in the iterator. The member rem is 0376 * decreased by one. The member data points to the next 0377 * element. The member index is increased by sizeof(xcb_dbe_visual_info_t) 0378 */ 0379 void 0380 xcb_dbe_visual_info_next (xcb_dbe_visual_info_iterator_t *i); 0381 0382 /** 0383 * Return the iterator pointing to the last element 0384 * @param i An xcb_dbe_visual_info_iterator_t 0385 * @return The iterator pointing to the last element 0386 * 0387 * Set the current element in the iterator to the last element. 0388 * The member rem is set to 0. The member data points to the 0389 * last element. 0390 */ 0391 xcb_generic_iterator_t 0392 xcb_dbe_visual_info_end (xcb_dbe_visual_info_iterator_t i); 0393 0394 int 0395 xcb_dbe_visual_infos_sizeof (const void *_buffer); 0396 0397 xcb_dbe_visual_info_t * 0398 xcb_dbe_visual_infos_infos (const xcb_dbe_visual_infos_t *R); 0399 0400 int 0401 xcb_dbe_visual_infos_infos_length (const xcb_dbe_visual_infos_t *R); 0402 0403 xcb_dbe_visual_info_iterator_t 0404 xcb_dbe_visual_infos_infos_iterator (const xcb_dbe_visual_infos_t *R); 0405 0406 /** 0407 * Get the next element of the iterator 0408 * @param i Pointer to a xcb_dbe_visual_infos_iterator_t 0409 * 0410 * Get the next element in the iterator. The member rem is 0411 * decreased by one. The member data points to the next 0412 * element. The member index is increased by sizeof(xcb_dbe_visual_infos_t) 0413 */ 0414 void 0415 xcb_dbe_visual_infos_next (xcb_dbe_visual_infos_iterator_t *i); 0416 0417 /** 0418 * Return the iterator pointing to the last element 0419 * @param i An xcb_dbe_visual_infos_iterator_t 0420 * @return The iterator pointing to the last element 0421 * 0422 * Set the current element in the iterator to the last element. 0423 * The member rem is set to 0. The member data points to the 0424 * last element. 0425 */ 0426 xcb_generic_iterator_t 0427 xcb_dbe_visual_infos_end (xcb_dbe_visual_infos_iterator_t i); 0428 0429 /** 0430 * @brief Queries the version of this extension 0431 * 0432 * @param c The connection 0433 * @param major_version The major version of the extension. Check that it is compatible with the XCB_DBE_MAJOR_VERSION that your code is compiled with. 0434 * @param minor_version The minor version of the extension. Check that it is compatible with the XCB_DBE_MINOR_VERSION that your code is compiled with. 0435 * @return A cookie 0436 * 0437 * Queries the version of this extension. You must do this before using any functionality it provides. 0438 * 0439 */ 0440 xcb_dbe_query_version_cookie_t 0441 xcb_dbe_query_version (xcb_connection_t *c, 0442 uint8_t major_version, 0443 uint8_t minor_version); 0444 0445 /** 0446 * @brief Queries the version of this extension 0447 * 0448 * @param c The connection 0449 * @param major_version The major version of the extension. Check that it is compatible with the XCB_DBE_MAJOR_VERSION that your code is compiled with. 0450 * @param minor_version The minor version of the extension. Check that it is compatible with the XCB_DBE_MINOR_VERSION that your code is compiled with. 0451 * @return A cookie 0452 * 0453 * Queries the version of this extension. You must do this before using any functionality it provides. 0454 * 0455 * This form can be used only if the request will cause 0456 * a reply to be generated. Any returned error will be 0457 * placed in the event queue. 0458 */ 0459 xcb_dbe_query_version_cookie_t 0460 xcb_dbe_query_version_unchecked (xcb_connection_t *c, 0461 uint8_t major_version, 0462 uint8_t minor_version); 0463 0464 /** 0465 * Return the reply 0466 * @param c The connection 0467 * @param cookie The cookie 0468 * @param e The xcb_generic_error_t supplied 0469 * 0470 * Returns the reply of the request asked by 0471 * 0472 * The parameter @p e supplied to this function must be NULL if 0473 * xcb_dbe_query_version_unchecked(). is used. 0474 * Otherwise, it stores the error if any. 0475 * 0476 * The returned value must be freed by the caller using free(). 0477 */ 0478 xcb_dbe_query_version_reply_t * 0479 xcb_dbe_query_version_reply (xcb_connection_t *c, 0480 xcb_dbe_query_version_cookie_t cookie /**< */, 0481 xcb_generic_error_t **e); 0482 0483 /** 0484 * @brief Allocates a back buffer 0485 * 0486 * @param c The connection 0487 * @param window The window to which to add the back buffer. 0488 * @param buffer The buffer id to associate with the back buffer. 0489 * @param swap_action The swap action most likely to be used to present this back buffer. This is only a hint, and does not preclude the use of other swap actions. 0490 * @return A cookie 0491 * 0492 * Associates \a buffer with the back buffer of \a window. Multiple ids may be associated with the back buffer, which is created by the first allocate call and destroyed by the last deallocate. 0493 * 0494 * This form can be used only if the request will not cause 0495 * a reply to be generated. Any returned error will be 0496 * saved for handling by xcb_request_check(). 0497 */ 0498 xcb_void_cookie_t 0499 xcb_dbe_allocate_back_buffer_checked (xcb_connection_t *c, 0500 xcb_window_t window, 0501 xcb_dbe_back_buffer_t buffer, 0502 uint8_t swap_action); 0503 0504 /** 0505 * @brief Allocates a back buffer 0506 * 0507 * @param c The connection 0508 * @param window The window to which to add the back buffer. 0509 * @param buffer The buffer id to associate with the back buffer. 0510 * @param swap_action The swap action most likely to be used to present this back buffer. This is only a hint, and does not preclude the use of other swap actions. 0511 * @return A cookie 0512 * 0513 * Associates \a buffer with the back buffer of \a window. Multiple ids may be associated with the back buffer, which is created by the first allocate call and destroyed by the last deallocate. 0514 * 0515 */ 0516 xcb_void_cookie_t 0517 xcb_dbe_allocate_back_buffer (xcb_connection_t *c, 0518 xcb_window_t window, 0519 xcb_dbe_back_buffer_t buffer, 0520 uint8_t swap_action); 0521 0522 /** 0523 * @brief Deallocates a back buffer 0524 * 0525 * @param c The connection 0526 * @param buffer The back buffer to deallocate. 0527 * @return A cookie 0528 * 0529 * Deallocates the given \a buffer. If \a buffer is an invalid id, a `BadBuffer` error is returned. Because a window may have allocated multiple back buffer ids, the back buffer itself is not deleted until all these ids are deallocated by this call. 0530 * 0531 * This form can be used only if the request will not cause 0532 * a reply to be generated. Any returned error will be 0533 * saved for handling by xcb_request_check(). 0534 */ 0535 xcb_void_cookie_t 0536 xcb_dbe_deallocate_back_buffer_checked (xcb_connection_t *c, 0537 xcb_dbe_back_buffer_t buffer); 0538 0539 /** 0540 * @brief Deallocates a back buffer 0541 * 0542 * @param c The connection 0543 * @param buffer The back buffer to deallocate. 0544 * @return A cookie 0545 * 0546 * Deallocates the given \a buffer. If \a buffer is an invalid id, a `BadBuffer` error is returned. Because a window may have allocated multiple back buffer ids, the back buffer itself is not deleted until all these ids are deallocated by this call. 0547 * 0548 */ 0549 xcb_void_cookie_t 0550 xcb_dbe_deallocate_back_buffer (xcb_connection_t *c, 0551 xcb_dbe_back_buffer_t buffer); 0552 0553 int 0554 xcb_dbe_swap_buffers_sizeof (const void *_buffer); 0555 0556 /** 0557 * @brief Swaps front and back buffers 0558 * 0559 * @param c The connection 0560 * @param n_actions Number of swap actions in \a actions. 0561 * @param actions List of windows on which to swap buffers. 0562 * @return A cookie 0563 * 0564 * Swaps the front and back buffers on the specified windows. The front and back buffers retain their ids, so that the window id continues to refer to the front buffer, while the back buffer id created by this extension continues to refer to the back buffer. Back buffer contents is moved to the front buffer. Back buffer contents after the operation depends on the given swap action. The optimal swap action depends on how each frame is rendered. For example, if the buffer is cleared and fully overwritten on every frame, the "untouched" action, which throws away the buffer contents, would provide the best performance. To eliminate visual artifacts, the swap will occure during the monitor VSync, if the X server supports detecting it. 0565 * 0566 * This form can be used only if the request will not cause 0567 * a reply to be generated. Any returned error will be 0568 * saved for handling by xcb_request_check(). 0569 */ 0570 xcb_void_cookie_t 0571 xcb_dbe_swap_buffers_checked (xcb_connection_t *c, 0572 uint32_t n_actions, 0573 const xcb_dbe_swap_info_t *actions); 0574 0575 /** 0576 * @brief Swaps front and back buffers 0577 * 0578 * @param c The connection 0579 * @param n_actions Number of swap actions in \a actions. 0580 * @param actions List of windows on which to swap buffers. 0581 * @return A cookie 0582 * 0583 * Swaps the front and back buffers on the specified windows. The front and back buffers retain their ids, so that the window id continues to refer to the front buffer, while the back buffer id created by this extension continues to refer to the back buffer. Back buffer contents is moved to the front buffer. Back buffer contents after the operation depends on the given swap action. The optimal swap action depends on how each frame is rendered. For example, if the buffer is cleared and fully overwritten on every frame, the "untouched" action, which throws away the buffer contents, would provide the best performance. To eliminate visual artifacts, the swap will occure during the monitor VSync, if the X server supports detecting it. 0584 * 0585 */ 0586 xcb_void_cookie_t 0587 xcb_dbe_swap_buffers (xcb_connection_t *c, 0588 uint32_t n_actions, 0589 const xcb_dbe_swap_info_t *actions); 0590 0591 xcb_dbe_swap_info_t * 0592 xcb_dbe_swap_buffers_actions (const xcb_dbe_swap_buffers_request_t *R); 0593 0594 int 0595 xcb_dbe_swap_buffers_actions_length (const xcb_dbe_swap_buffers_request_t *R); 0596 0597 xcb_dbe_swap_info_iterator_t 0598 xcb_dbe_swap_buffers_actions_iterator (const xcb_dbe_swap_buffers_request_t *R); 0599 0600 /** 0601 * @brief Begins a logical swap block 0602 * 0603 * @param c The connection 0604 * @return A cookie 0605 * 0606 * Creates a block of operations intended to occur together. This may be needed if window presentation requires changing buffers unknown to this extension, such as depth or stencil buffers. 0607 * 0608 * This form can be used only if the request will not cause 0609 * a reply to be generated. Any returned error will be 0610 * saved for handling by xcb_request_check(). 0611 */ 0612 xcb_void_cookie_t 0613 xcb_dbe_begin_idiom_checked (xcb_connection_t *c); 0614 0615 /** 0616 * @brief Begins a logical swap block 0617 * 0618 * @param c The connection 0619 * @return A cookie 0620 * 0621 * Creates a block of operations intended to occur together. This may be needed if window presentation requires changing buffers unknown to this extension, such as depth or stencil buffers. 0622 * 0623 */ 0624 xcb_void_cookie_t 0625 xcb_dbe_begin_idiom (xcb_connection_t *c); 0626 0627 /** 0628 * @brief Ends a logical swap block 0629 * 0630 * @param c The connection 0631 * @return A cookie 0632 * 0633 * No description yet 0634 * 0635 * This form can be used only if the request will not cause 0636 * a reply to be generated. Any returned error will be 0637 * saved for handling by xcb_request_check(). 0638 */ 0639 xcb_void_cookie_t 0640 xcb_dbe_end_idiom_checked (xcb_connection_t *c); 0641 0642 /** 0643 * @brief Ends a logical swap block 0644 * 0645 * @param c The connection 0646 * @return A cookie 0647 * 0648 * No description yet 0649 * 0650 */ 0651 xcb_void_cookie_t 0652 xcb_dbe_end_idiom (xcb_connection_t *c); 0653 0654 int 0655 xcb_dbe_get_visual_info_sizeof (const void *_buffer); 0656 0657 /** 0658 * @brief Requests visuals that support double buffering 0659 * 0660 * @param c The connection 0661 * @return A cookie 0662 * 0663 * No description yet 0664 * 0665 */ 0666 xcb_dbe_get_visual_info_cookie_t 0667 xcb_dbe_get_visual_info (xcb_connection_t *c, 0668 uint32_t n_drawables, 0669 const xcb_drawable_t *drawables); 0670 0671 /** 0672 * @brief Requests visuals that support double buffering 0673 * 0674 * @param c The connection 0675 * @return A cookie 0676 * 0677 * No description yet 0678 * 0679 * This form can be used only if the request will cause 0680 * a reply to be generated. Any returned error will be 0681 * placed in the event queue. 0682 */ 0683 xcb_dbe_get_visual_info_cookie_t 0684 xcb_dbe_get_visual_info_unchecked (xcb_connection_t *c, 0685 uint32_t n_drawables, 0686 const xcb_drawable_t *drawables); 0687 0688 int 0689 xcb_dbe_get_visual_info_supported_visuals_length (const xcb_dbe_get_visual_info_reply_t *R); 0690 0691 xcb_dbe_visual_infos_iterator_t 0692 xcb_dbe_get_visual_info_supported_visuals_iterator (const xcb_dbe_get_visual_info_reply_t *R); 0693 0694 /** 0695 * Return the reply 0696 * @param c The connection 0697 * @param cookie The cookie 0698 * @param e The xcb_generic_error_t supplied 0699 * 0700 * Returns the reply of the request asked by 0701 * 0702 * The parameter @p e supplied to this function must be NULL if 0703 * xcb_dbe_get_visual_info_unchecked(). is used. 0704 * Otherwise, it stores the error if any. 0705 * 0706 * The returned value must be freed by the caller using free(). 0707 */ 0708 xcb_dbe_get_visual_info_reply_t * 0709 xcb_dbe_get_visual_info_reply (xcb_connection_t *c, 0710 xcb_dbe_get_visual_info_cookie_t cookie /**< */, 0711 xcb_generic_error_t **e); 0712 0713 /** 0714 * @brief Gets back buffer attributes 0715 * 0716 * @param c The connection 0717 * @param buffer The back buffer to query. 0718 * @return A cookie 0719 * 0720 * Returns the attributes of the specified \a buffer. 0721 * 0722 */ 0723 xcb_dbe_get_back_buffer_attributes_cookie_t 0724 xcb_dbe_get_back_buffer_attributes (xcb_connection_t *c, 0725 xcb_dbe_back_buffer_t buffer); 0726 0727 /** 0728 * @brief Gets back buffer attributes 0729 * 0730 * @param c The connection 0731 * @param buffer The back buffer to query. 0732 * @return A cookie 0733 * 0734 * Returns the attributes of the specified \a buffer. 0735 * 0736 * This form can be used only if the request will cause 0737 * a reply to be generated. Any returned error will be 0738 * placed in the event queue. 0739 */ 0740 xcb_dbe_get_back_buffer_attributes_cookie_t 0741 xcb_dbe_get_back_buffer_attributes_unchecked (xcb_connection_t *c, 0742 xcb_dbe_back_buffer_t buffer); 0743 0744 /** 0745 * Return the reply 0746 * @param c The connection 0747 * @param cookie The cookie 0748 * @param e The xcb_generic_error_t supplied 0749 * 0750 * Returns the reply of the request asked by 0751 * 0752 * The parameter @p e supplied to this function must be NULL if 0753 * xcb_dbe_get_back_buffer_attributes_unchecked(). is used. 0754 * Otherwise, it stores the error if any. 0755 * 0756 * The returned value must be freed by the caller using free(). 0757 */ 0758 xcb_dbe_get_back_buffer_attributes_reply_t * 0759 xcb_dbe_get_back_buffer_attributes_reply (xcb_connection_t *c, 0760 xcb_dbe_get_back_buffer_attributes_cookie_t cookie /**< */, 0761 xcb_generic_error_t **e); 0762 0763 0764 #ifdef __cplusplus 0765 } 0766 #endif 0767 0768 #endif 0769 0770 /** 0771 * @} 0772 */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |