1 /* 2 * This file generated automatically from damage.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 /** 7 * @defgroup XCB_Damage_API XCB Damage API 8 * @brief Damage XCB Protocol Implementation. 9 * @{ 10 **/ 11 12 #ifndef __DAMAGE_H 13 #define __DAMAGE_H 14 15 #include "xcb.h" 16 #include "xproto.h" 17 #include "xfixes.h" 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 #define XCB_DAMAGE_MAJOR_VERSION 1 24 #define XCB_DAMAGE_MINOR_VERSION 1 25 26 extern xcb_extension_t xcb_damage_id; 27 28 typedef uint32_t xcb_damage_damage_t; 29 30 /** 31 * @brief xcb_damage_damage_iterator_t 32 **/ 33 typedef struct xcb_damage_damage_iterator_t { 34 xcb_damage_damage_t *data; /**< */ 35 int rem; /**< */ 36 int index; /**< */ 37 } xcb_damage_damage_iterator_t; 38 39 typedef enum xcb_damage_report_level_t { 40 XCB_DAMAGE_REPORT_LEVEL_RAW_RECTANGLES = 0, 41 XCB_DAMAGE_REPORT_LEVEL_DELTA_RECTANGLES = 1, 42 XCB_DAMAGE_REPORT_LEVEL_BOUNDING_BOX = 2, 43 XCB_DAMAGE_REPORT_LEVEL_NON_EMPTY = 3 44 } xcb_damage_report_level_t; 45 46 /** Opcode for xcb_damage_bad_damage. */ 47 #define XCB_DAMAGE_BAD_DAMAGE 0 48 49 /** 50 * @brief xcb_damage_bad_damage_error_t 51 **/ 52 typedef struct xcb_damage_bad_damage_error_t { 53 uint8_t response_type; /**< */ 54 uint8_t error_code; /**< */ 55 uint16_t sequence; /**< */ 56 } xcb_damage_bad_damage_error_t; 57 58 /** 59 * @brief xcb_damage_query_version_cookie_t 60 **/ 61 typedef struct xcb_damage_query_version_cookie_t { 62 unsigned int sequence; /**< */ 63 } xcb_damage_query_version_cookie_t; 64 65 /** Opcode for xcb_damage_query_version. */ 66 #define XCB_DAMAGE_QUERY_VERSION 0 67 68 /** 69 * @brief xcb_damage_query_version_request_t 70 **/ 71 typedef struct xcb_damage_query_version_request_t { 72 uint8_t major_opcode; /**< */ 73 uint8_t minor_opcode; /**< */ 74 uint16_t length; /**< */ 75 uint32_t client_major_version; /**< */ 76 uint32_t client_minor_version; /**< */ 77 } xcb_damage_query_version_request_t; 78 79 /** 80 * @brief xcb_damage_query_version_reply_t 81 **/ 82 typedef struct xcb_damage_query_version_reply_t { 83 uint8_t response_type; /**< */ 84 uint8_t pad0; /**< */ 85 uint16_t sequence; /**< */ 86 uint32_t length; /**< */ 87 uint32_t major_version; /**< */ 88 uint32_t minor_version; /**< */ 89 uint8_t pad1[16]; /**< */ 90 } xcb_damage_query_version_reply_t; 91 92 /** Opcode for xcb_damage_create. */ 93 #define XCB_DAMAGE_CREATE 1 94 95 /** 96 * @brief xcb_damage_create_request_t 97 **/ 98 typedef struct xcb_damage_create_request_t { 99 uint8_t major_opcode; /**< */ 100 uint8_t minor_opcode; /**< */ 101 uint16_t length; /**< */ 102 xcb_damage_damage_t damage; /**< */ 103 xcb_drawable_t drawable; /**< */ 104 uint8_t level; /**< */ 105 uint8_t pad0[3]; /**< */ 106 } xcb_damage_create_request_t; 107 108 /** Opcode for xcb_damage_destroy. */ 109 #define XCB_DAMAGE_DESTROY 2 110 111 /** 112 * @brief xcb_damage_destroy_request_t 113 **/ 114 typedef struct xcb_damage_destroy_request_t { 115 uint8_t major_opcode; /**< */ 116 uint8_t minor_opcode; /**< */ 117 uint16_t length; /**< */ 118 xcb_damage_damage_t damage; /**< */ 119 } xcb_damage_destroy_request_t; 120 121 /** Opcode for xcb_damage_subtract. */ 122 #define XCB_DAMAGE_SUBTRACT 3 123 124 /** 125 * @brief xcb_damage_subtract_request_t 126 **/ 127 typedef struct xcb_damage_subtract_request_t { 128 uint8_t major_opcode; /**< */ 129 uint8_t minor_opcode; /**< */ 130 uint16_t length; /**< */ 131 xcb_damage_damage_t damage; /**< */ 132 xcb_xfixes_region_t repair; /**< */ 133 xcb_xfixes_region_t parts; /**< */ 134 } xcb_damage_subtract_request_t; 135 136 /** Opcode for xcb_damage_add. */ 137 #define XCB_DAMAGE_ADD 4 138 139 /** 140 * @brief xcb_damage_add_request_t 141 **/ 142 typedef struct xcb_damage_add_request_t { 143 uint8_t major_opcode; /**< */ 144 uint8_t minor_opcode; /**< */ 145 uint16_t length; /**< */ 146 xcb_drawable_t drawable; /**< */ 147 xcb_xfixes_region_t region; /**< */ 148 } xcb_damage_add_request_t; 149 150 /** Opcode for xcb_damage_notify. */ 151 #define XCB_DAMAGE_NOTIFY 0 152 153 /** 154 * @brief xcb_damage_notify_event_t 155 **/ 156 typedef struct xcb_damage_notify_event_t { 157 uint8_t response_type; /**< */ 158 uint8_t level; /**< */ 159 uint16_t sequence; /**< */ 160 xcb_drawable_t drawable; /**< */ 161 xcb_damage_damage_t damage; /**< */ 162 xcb_timestamp_t timestamp; /**< */ 163 xcb_rectangle_t area; /**< */ 164 xcb_rectangle_t geometry; /**< */ 165 } xcb_damage_notify_event_t; 166 167 /** 168 * Get the next element of the iterator 169 * @param i Pointer to a xcb_damage_damage_iterator_t 170 * 171 * Get the next element in the iterator. The member rem is 172 * decreased by one. The member data points to the next 173 * element. The member index is increased by sizeof(xcb_damage_damage_t) 174 */ 175 void 176 xcb_damage_damage_next (xcb_damage_damage_iterator_t *i /**< */); 177 178 /** 179 * Return the iterator pointing to the last element 180 * @param i An xcb_damage_damage_iterator_t 181 * @return The iterator pointing to the last element 182 * 183 * Set the current element in the iterator to the last element. 184 * The member rem is set to 0. The member data points to the 185 * last element. 186 */ 187 xcb_generic_iterator_t 188 xcb_damage_damage_end (xcb_damage_damage_iterator_t i /**< */); 189 190 /** 191 * 192 * @param c The connection 193 * @return A cookie 194 * 195 * Delivers a request to the X server. 196 * 197 */ 198 xcb_damage_query_version_cookie_t 199 xcb_damage_query_version (xcb_connection_t *c /**< */, 200 uint32_t client_major_version /**< */, 201 uint32_t client_minor_version /**< */); 202 203 /** 204 * 205 * @param c The connection 206 * @return A cookie 207 * 208 * Delivers a request to the X server. 209 * 210 * This form can be used only if the request will cause 211 * a reply to be generated. Any returned error will be 212 * placed in the event queue. 213 */ 214 xcb_damage_query_version_cookie_t 215 xcb_damage_query_version_unchecked (xcb_connection_t *c /**< */, 216 uint32_t client_major_version /**< */, 217 uint32_t client_minor_version /**< */); 218 219 /** 220 * Return the reply 221 * @param c The connection 222 * @param cookie The cookie 223 * @param e The xcb_generic_error_t supplied 224 * 225 * Returns the reply of the request asked by 226 * 227 * The parameter @p e supplied to this function must be NULL if 228 * xcb_damage_query_version_unchecked(). is used. 229 * Otherwise, it stores the error if any. 230 * 231 * The returned value must be freed by the caller using free(). 232 */ 233 xcb_damage_query_version_reply_t * 234 xcb_damage_query_version_reply (xcb_connection_t *c /**< */, 235 xcb_damage_query_version_cookie_t cookie /**< */, 236 xcb_generic_error_t **e /**< */); 237 238 /** 239 * 240 * @param c The connection 241 * @return A cookie 242 * 243 * Delivers a request to the X server. 244 * 245 * This form can be used only if the request will not cause 246 * a reply to be generated. Any returned error will be 247 * saved for handling by xcb_request_check(). 248 */ 249 xcb_void_cookie_t 250 xcb_damage_create_checked (xcb_connection_t *c /**< */, 251 xcb_damage_damage_t damage /**< */, 252 xcb_drawable_t drawable /**< */, 253 uint8_t level /**< */); 254 255 /** 256 * 257 * @param c The connection 258 * @return A cookie 259 * 260 * Delivers a request to the X server. 261 * 262 */ 263 xcb_void_cookie_t 264 xcb_damage_create (xcb_connection_t *c /**< */, 265 xcb_damage_damage_t damage /**< */, 266 xcb_drawable_t drawable /**< */, 267 uint8_t level /**< */); 268 269 /** 270 * 271 * @param c The connection 272 * @return A cookie 273 * 274 * Delivers a request to the X server. 275 * 276 * This form can be used only if the request will not cause 277 * a reply to be generated. Any returned error will be 278 * saved for handling by xcb_request_check(). 279 */ 280 xcb_void_cookie_t 281 xcb_damage_destroy_checked (xcb_connection_t *c /**< */, 282 xcb_damage_damage_t damage /**< */); 283 284 /** 285 * 286 * @param c The connection 287 * @return A cookie 288 * 289 * Delivers a request to the X server. 290 * 291 */ 292 xcb_void_cookie_t 293 xcb_damage_destroy (xcb_connection_t *c /**< */, 294 xcb_damage_damage_t damage /**< */); 295 296 /** 297 * 298 * @param c The connection 299 * @return A cookie 300 * 301 * Delivers a request to the X server. 302 * 303 * This form can be used only if the request will not cause 304 * a reply to be generated. Any returned error will be 305 * saved for handling by xcb_request_check(). 306 */ 307 xcb_void_cookie_t 308 xcb_damage_subtract_checked (xcb_connection_t *c /**< */, 309 xcb_damage_damage_t damage /**< */, 310 xcb_xfixes_region_t repair /**< */, 311 xcb_xfixes_region_t parts /**< */); 312 313 /** 314 * 315 * @param c The connection 316 * @return A cookie 317 * 318 * Delivers a request to the X server. 319 * 320 */ 321 xcb_void_cookie_t 322 xcb_damage_subtract (xcb_connection_t *c /**< */, 323 xcb_damage_damage_t damage /**< */, 324 xcb_xfixes_region_t repair /**< */, 325 xcb_xfixes_region_t parts /**< */); 326 327 /** 328 * 329 * @param c The connection 330 * @return A cookie 331 * 332 * Delivers a request to the X server. 333 * 334 * This form can be used only if the request will not cause 335 * a reply to be generated. Any returned error will be 336 * saved for handling by xcb_request_check(). 337 */ 338 xcb_void_cookie_t 339 xcb_damage_add_checked (xcb_connection_t *c /**< */, 340 xcb_drawable_t drawable /**< */, 341 xcb_xfixes_region_t region /**< */); 342 343 /** 344 * 345 * @param c The connection 346 * @return A cookie 347 * 348 * Delivers a request to the X server. 349 * 350 */ 351 xcb_void_cookie_t 352 xcb_damage_add (xcb_connection_t *c /**< */, 353 xcb_drawable_t drawable /**< */, 354 xcb_xfixes_region_t region /**< */); 355 356 357 #ifdef __cplusplus 358 } 359 #endif 360 361 #endif 362 363 /** 364 * @} 365 */ 366