XCB  1.13.1
shape.h
00001 /*
00002  * This file generated automatically from shape.xml by c_client.py.
00003  * Edit at your peril.
00004  */
00005 
00012 #ifndef __SHAPE_H
00013 #define __SHAPE_H
00014 
00015 #include "xcb.h"
00016 #include "xproto.h"
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021 
00022 #define XCB_SHAPE_MAJOR_VERSION 1
00023 #define XCB_SHAPE_MINOR_VERSION 1
00024 
00025 extern xcb_extension_t xcb_shape_id;
00026 
00027 typedef uint8_t xcb_shape_op_t;
00028 
00032 typedef struct xcb_shape_op_iterator_t {
00033     xcb_shape_op_t *data;
00034     int             rem;
00035     int             index;
00036 } xcb_shape_op_iterator_t;
00037 
00038 typedef uint8_t xcb_shape_kind_t;
00039 
00043 typedef struct xcb_shape_kind_iterator_t {
00044     xcb_shape_kind_t *data;
00045     int               rem;
00046     int               index;
00047 } xcb_shape_kind_iterator_t;
00048 
00049 typedef enum xcb_shape_so_t {
00050     XCB_SHAPE_SO_SET = 0,
00051     XCB_SHAPE_SO_UNION = 1,
00052     XCB_SHAPE_SO_INTERSECT = 2,
00053     XCB_SHAPE_SO_SUBTRACT = 3,
00054     XCB_SHAPE_SO_INVERT = 4
00055 } xcb_shape_so_t;
00056 
00057 typedef enum xcb_shape_sk_t {
00058     XCB_SHAPE_SK_BOUNDING = 0,
00059     XCB_SHAPE_SK_CLIP = 1,
00060     XCB_SHAPE_SK_INPUT = 2
00061 } xcb_shape_sk_t;
00062 
00064 #define XCB_SHAPE_NOTIFY 0
00065 
00069 typedef struct xcb_shape_notify_event_t {
00070     uint8_t          response_type;
00071     xcb_shape_kind_t shape_kind;
00072     uint16_t         sequence;
00073     xcb_window_t     affected_window;
00074     int16_t          extents_x;
00075     int16_t          extents_y;
00076     uint16_t         extents_width;
00077     uint16_t         extents_height;
00078     xcb_timestamp_t  server_time;
00079     uint8_t          shaped;
00080     uint8_t          pad0[11];
00081 } xcb_shape_notify_event_t;
00082 
00086 typedef struct xcb_shape_query_version_cookie_t {
00087     unsigned int sequence;
00088 } xcb_shape_query_version_cookie_t;
00089 
00091 #define XCB_SHAPE_QUERY_VERSION 0
00092 
00096 typedef struct xcb_shape_query_version_request_t {
00097     uint8_t  major_opcode;
00098     uint8_t  minor_opcode;
00099     uint16_t length;
00100 } xcb_shape_query_version_request_t;
00101 
00105 typedef struct xcb_shape_query_version_reply_t {
00106     uint8_t  response_type;
00107     uint8_t  pad0;
00108     uint16_t sequence;
00109     uint32_t length;
00110     uint16_t major_version;
00111     uint16_t minor_version;
00112 } xcb_shape_query_version_reply_t;
00113 
00115 #define XCB_SHAPE_RECTANGLES 1
00116 
00120 typedef struct xcb_shape_rectangles_request_t {
00121     uint8_t          major_opcode;
00122     uint8_t          minor_opcode;
00123     uint16_t         length;
00124     xcb_shape_op_t   operation;
00125     xcb_shape_kind_t destination_kind;
00126     uint8_t          ordering;
00127     uint8_t          pad0;
00128     xcb_window_t     destination_window;
00129     int16_t          x_offset;
00130     int16_t          y_offset;
00131 } xcb_shape_rectangles_request_t;
00132 
00134 #define XCB_SHAPE_MASK 2
00135 
00139 typedef struct xcb_shape_mask_request_t {
00140     uint8_t          major_opcode;
00141     uint8_t          minor_opcode;
00142     uint16_t         length;
00143     xcb_shape_op_t   operation;
00144     xcb_shape_kind_t destination_kind;
00145     uint8_t          pad0[2];
00146     xcb_window_t     destination_window;
00147     int16_t          x_offset;
00148     int16_t          y_offset;
00149     xcb_pixmap_t     source_bitmap;
00150 } xcb_shape_mask_request_t;
00151 
00153 #define XCB_SHAPE_COMBINE 3
00154 
00158 typedef struct xcb_shape_combine_request_t {
00159     uint8_t          major_opcode;
00160     uint8_t          minor_opcode;
00161     uint16_t         length;
00162     xcb_shape_op_t   operation;
00163     xcb_shape_kind_t destination_kind;
00164     xcb_shape_kind_t source_kind;
00165     uint8_t          pad0;
00166     xcb_window_t     destination_window;
00167     int16_t          x_offset;
00168     int16_t          y_offset;
00169     xcb_window_t     source_window;
00170 } xcb_shape_combine_request_t;
00171 
00173 #define XCB_SHAPE_OFFSET 4
00174 
00178 typedef struct xcb_shape_offset_request_t {
00179     uint8_t          major_opcode;
00180     uint8_t          minor_opcode;
00181     uint16_t         length;
00182     xcb_shape_kind_t destination_kind;
00183     uint8_t          pad0[3];
00184     xcb_window_t     destination_window;
00185     int16_t          x_offset;
00186     int16_t          y_offset;
00187 } xcb_shape_offset_request_t;
00188 
00192 typedef struct xcb_shape_query_extents_cookie_t {
00193     unsigned int sequence;
00194 } xcb_shape_query_extents_cookie_t;
00195 
00197 #define XCB_SHAPE_QUERY_EXTENTS 5
00198 
00202 typedef struct xcb_shape_query_extents_request_t {
00203     uint8_t      major_opcode;
00204     uint8_t      minor_opcode;
00205     uint16_t     length;
00206     xcb_window_t destination_window;
00207 } xcb_shape_query_extents_request_t;
00208 
00212 typedef struct xcb_shape_query_extents_reply_t {
00213     uint8_t  response_type;
00214     uint8_t  pad0;
00215     uint16_t sequence;
00216     uint32_t length;
00217     uint8_t  bounding_shaped;
00218     uint8_t  clip_shaped;
00219     uint8_t  pad1[2];
00220     int16_t  bounding_shape_extents_x;
00221     int16_t  bounding_shape_extents_y;
00222     uint16_t bounding_shape_extents_width;
00223     uint16_t bounding_shape_extents_height;
00224     int16_t  clip_shape_extents_x;
00225     int16_t  clip_shape_extents_y;
00226     uint16_t clip_shape_extents_width;
00227     uint16_t clip_shape_extents_height;
00228 } xcb_shape_query_extents_reply_t;
00229 
00231 #define XCB_SHAPE_SELECT_INPUT 6
00232 
00236 typedef struct xcb_shape_select_input_request_t {
00237     uint8_t      major_opcode;
00238     uint8_t      minor_opcode;
00239     uint16_t     length;
00240     xcb_window_t destination_window;
00241     uint8_t      enable;
00242     uint8_t      pad0[3];
00243 } xcb_shape_select_input_request_t;
00244 
00248 typedef struct xcb_shape_input_selected_cookie_t {
00249     unsigned int sequence;
00250 } xcb_shape_input_selected_cookie_t;
00251 
00253 #define XCB_SHAPE_INPUT_SELECTED 7
00254 
00258 typedef struct xcb_shape_input_selected_request_t {
00259     uint8_t      major_opcode;
00260     uint8_t      minor_opcode;
00261     uint16_t     length;
00262     xcb_window_t destination_window;
00263 } xcb_shape_input_selected_request_t;
00264 
00268 typedef struct xcb_shape_input_selected_reply_t {
00269     uint8_t  response_type;
00270     uint8_t  enabled;
00271     uint16_t sequence;
00272     uint32_t length;
00273 } xcb_shape_input_selected_reply_t;
00274 
00278 typedef struct xcb_shape_get_rectangles_cookie_t {
00279     unsigned int sequence;
00280 } xcb_shape_get_rectangles_cookie_t;
00281 
00283 #define XCB_SHAPE_GET_RECTANGLES 8
00284 
00288 typedef struct xcb_shape_get_rectangles_request_t {
00289     uint8_t          major_opcode;
00290     uint8_t          minor_opcode;
00291     uint16_t         length;
00292     xcb_window_t     window;
00293     xcb_shape_kind_t source_kind;
00294     uint8_t          pad0[3];
00295 } xcb_shape_get_rectangles_request_t;
00296 
00300 typedef struct xcb_shape_get_rectangles_reply_t {
00301     uint8_t  response_type;
00302     uint8_t  ordering;
00303     uint16_t sequence;
00304     uint32_t length;
00305     uint32_t rectangles_len;
00306     uint8_t  pad0[20];
00307 } xcb_shape_get_rectangles_reply_t;
00308 
00317 void
00318 xcb_shape_op_next (xcb_shape_op_iterator_t *i);
00319 
00329 xcb_generic_iterator_t
00330 xcb_shape_op_end (xcb_shape_op_iterator_t i);
00331 
00340 void
00341 xcb_shape_kind_next (xcb_shape_kind_iterator_t *i);
00342 
00352 xcb_generic_iterator_t
00353 xcb_shape_kind_end (xcb_shape_kind_iterator_t i);
00354 
00363 xcb_shape_query_version_cookie_t
00364 xcb_shape_query_version (xcb_connection_t *c);
00365 
00377 xcb_shape_query_version_cookie_t
00378 xcb_shape_query_version_unchecked (xcb_connection_t *c);
00379 
00394 xcb_shape_query_version_reply_t *
00395 xcb_shape_query_version_reply (xcb_connection_t                  *c,
00396                                xcb_shape_query_version_cookie_t   cookie  ,
00397                                xcb_generic_error_t              **e);
00398 
00399 int
00400 xcb_shape_rectangles_sizeof (const void  *_buffer,
00401                              uint32_t     rectangles_len);
00402 
00414 xcb_void_cookie_t
00415 xcb_shape_rectangles_checked (xcb_connection_t      *c,
00416                               xcb_shape_op_t         operation,
00417                               xcb_shape_kind_t       destination_kind,
00418                               uint8_t                ordering,
00419                               xcb_window_t           destination_window,
00420                               int16_t                x_offset,
00421                               int16_t                y_offset,
00422                               uint32_t               rectangles_len,
00423                               const xcb_rectangle_t *rectangles);
00424 
00433 xcb_void_cookie_t
00434 xcb_shape_rectangles (xcb_connection_t      *c,
00435                       xcb_shape_op_t         operation,
00436                       xcb_shape_kind_t       destination_kind,
00437                       uint8_t                ordering,
00438                       xcb_window_t           destination_window,
00439                       int16_t                x_offset,
00440                       int16_t                y_offset,
00441                       uint32_t               rectangles_len,
00442                       const xcb_rectangle_t *rectangles);
00443 
00444 xcb_rectangle_t *
00445 xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R);
00446 
00447 int
00448 xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R);
00449 
00450 xcb_rectangle_iterator_t
00451 xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R);
00452 
00464 xcb_void_cookie_t
00465 xcb_shape_mask_checked (xcb_connection_t *c,
00466                         xcb_shape_op_t    operation,
00467                         xcb_shape_kind_t  destination_kind,
00468                         xcb_window_t      destination_window,
00469                         int16_t           x_offset,
00470                         int16_t           y_offset,
00471                         xcb_pixmap_t      source_bitmap);
00472 
00481 xcb_void_cookie_t
00482 xcb_shape_mask (xcb_connection_t *c,
00483                 xcb_shape_op_t    operation,
00484                 xcb_shape_kind_t  destination_kind,
00485                 xcb_window_t      destination_window,
00486                 int16_t           x_offset,
00487                 int16_t           y_offset,
00488                 xcb_pixmap_t      source_bitmap);
00489 
00501 xcb_void_cookie_t
00502 xcb_shape_combine_checked (xcb_connection_t *c,
00503                            xcb_shape_op_t    operation,
00504                            xcb_shape_kind_t  destination_kind,
00505                            xcb_shape_kind_t  source_kind,
00506                            xcb_window_t      destination_window,
00507                            int16_t           x_offset,
00508                            int16_t           y_offset,
00509                            xcb_window_t      source_window);
00510 
00519 xcb_void_cookie_t
00520 xcb_shape_combine (xcb_connection_t *c,
00521                    xcb_shape_op_t    operation,
00522                    xcb_shape_kind_t  destination_kind,
00523                    xcb_shape_kind_t  source_kind,
00524                    xcb_window_t      destination_window,
00525                    int16_t           x_offset,
00526                    int16_t           y_offset,
00527                    xcb_window_t      source_window);
00528 
00540 xcb_void_cookie_t
00541 xcb_shape_offset_checked (xcb_connection_t *c,
00542                           xcb_shape_kind_t  destination_kind,
00543                           xcb_window_t      destination_window,
00544                           int16_t           x_offset,
00545                           int16_t           y_offset);
00546 
00555 xcb_void_cookie_t
00556 xcb_shape_offset (xcb_connection_t *c,
00557                   xcb_shape_kind_t  destination_kind,
00558                   xcb_window_t      destination_window,
00559                   int16_t           x_offset,
00560                   int16_t           y_offset);
00561 
00570 xcb_shape_query_extents_cookie_t
00571 xcb_shape_query_extents (xcb_connection_t *c,
00572                          xcb_window_t      destination_window);
00573 
00585 xcb_shape_query_extents_cookie_t
00586 xcb_shape_query_extents_unchecked (xcb_connection_t *c,
00587                                    xcb_window_t      destination_window);
00588 
00603 xcb_shape_query_extents_reply_t *
00604 xcb_shape_query_extents_reply (xcb_connection_t                  *c,
00605                                xcb_shape_query_extents_cookie_t   cookie  ,
00606                                xcb_generic_error_t              **e);
00607 
00619 xcb_void_cookie_t
00620 xcb_shape_select_input_checked (xcb_connection_t *c,
00621                                 xcb_window_t      destination_window,
00622                                 uint8_t           enable);
00623 
00632 xcb_void_cookie_t
00633 xcb_shape_select_input (xcb_connection_t *c,
00634                         xcb_window_t      destination_window,
00635                         uint8_t           enable);
00636 
00645 xcb_shape_input_selected_cookie_t
00646 xcb_shape_input_selected (xcb_connection_t *c,
00647                           xcb_window_t      destination_window);
00648 
00660 xcb_shape_input_selected_cookie_t
00661 xcb_shape_input_selected_unchecked (xcb_connection_t *c,
00662                                     xcb_window_t      destination_window);
00663 
00678 xcb_shape_input_selected_reply_t *
00679 xcb_shape_input_selected_reply (xcb_connection_t                   *c,
00680                                 xcb_shape_input_selected_cookie_t   cookie  ,
00681                                 xcb_generic_error_t               **e);
00682 
00683 int
00684 xcb_shape_get_rectangles_sizeof (const void  *_buffer);
00685 
00694 xcb_shape_get_rectangles_cookie_t
00695 xcb_shape_get_rectangles (xcb_connection_t *c,
00696                           xcb_window_t      window,
00697                           xcb_shape_kind_t  source_kind);
00698 
00710 xcb_shape_get_rectangles_cookie_t
00711 xcb_shape_get_rectangles_unchecked (xcb_connection_t *c,
00712                                     xcb_window_t      window,
00713                                     xcb_shape_kind_t  source_kind);
00714 
00715 xcb_rectangle_t *
00716 xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R);
00717 
00718 int
00719 xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R);
00720 
00721 xcb_rectangle_iterator_t
00722 xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R);
00723 
00738 xcb_shape_get_rectangles_reply_t *
00739 xcb_shape_get_rectangles_reply (xcb_connection_t                   *c,
00740                                 xcb_shape_get_rectangles_cookie_t   cookie  ,
00741                                 xcb_generic_error_t               **e);
00742 
00743 
00744 #ifdef __cplusplus
00745 }
00746 #endif
00747 
00748 #endif
00749