1 $ˆl–ß=¿J a,j€fãn\mÕ1hß „ŸÁÀ¿?÷/* * This file generated automatically from shape.xml by c_client.py. * Edit at your peril. */ /** * @defgroup XCB_Shape_API XCB Shape API * @brief Shape XCB Protocol Implementation. * @{ **/ #ifndef __SHAPE_H #define __SHAPE_H #include "xcb.h" #include "xproto.h" #ifdef __cplusplus extern "C" { #endif #define XCB_SHAPE_MAJOR_VERSION 1 #define XCB_SHAPE_MINOR_VERSION 1 extern xcb_extension_t xcb_shape_id; typedef uint8_t xcb_shape_op_t; /** * @brief xcb_shape_op_iterator_t **/ typedef struct xcb_shape_op_iterator_t { xcb_shape_op_t *data; int rem; int index; } xcb_shape_op_iterator_t; typedef uint8_t xcb_shape_kind_t; /** * @brief xcb_shape_kind_iterator_t **/ typedef struct xcb_shape_kind_iterator_t { xcb_shape_kind_t *data; int rem; int index; } xcb_shape_kind_iterator_t; typedef enum xcb_shape_so_t { XCB_SHAPE_SO_SET = 0, XCB_SHAPE_SO_UNION = 1, XCB_SHAPE_SO_INTERSECT = 2, XCB_SHAPE_SO_SUBTRACT = 3, XCB_SHAPE_SO_INVERT = 4 } xcb_shape_so_t; typedef enum xcb_shape_sk_t { XCB_SHAPE_SK_BOUNDING = 0, XCB_SHAPE_SK_CLIP = 1, XCB_SHAPE_SK_INPUT = 2 } xcb_shape_sk_t; /** Opcode for xcb_shape_notify. */ #define XCB_SHAPE_NOTIFY 0 /** * @brief xcb_shape_notify_event_t **/ typedef struct xcb_shape_notify_event_t { uint8_t response_type; xcb_shape_kind_t shape_kind; uint16_t sequence; xcb_window_t affected_window; int16_t extents_x; int16_t extents_y; uint16_t extents_width; uint16_t extents_height; xcb_timestamp_t server_time; uint8_t shaped; uint8_t pad0[11]; } xcb_shape_notify_event_t; /** * @brief xcb_shape_query_version_cookie_t **/ typedef struct xcb_shape_query_version_cookie_t { unsigned int sequence; } xcb_shape_query_version_cookie_t; /** Opcode for xcb_shape_query_version. */ #define XCB_SHAPE_QUERY_VERSION 0 /** * @brief xcb_shape_query_version_request_t **/ typedef struct xcb_shape_query_version_request_t { uint8_t major_opcode; uint8_t minor_opcode; uint16_t length; } xcb_shape_query_version_request_t; /** * @brief xcb_shape_query_version_reply_t **/ typedef struct xcb_shape_query_version_reply_t { uint8_t response_type; uint8_t pad0; uint16_t sequence; uint32_t length; uint16_t major_version; uint16_t minor_version; } xcb_shape_query_version_reply_t; /** Opcode for xcb_shape_rectangles. */ #define XCB_SHAPE_RECTANGLES 1 /** * @brief xcb_shape_rectangles_request_t **/ typedef struct xcb_shape_rectangles_request_t { uint8_t major_opcode; uint8_t minor_opcode; uint16_t length; xcb_shape_op_t operation; xcb_shape_kind_t destination_kind; uint8_t ordering; uint8_t pad0; xcb_window_t destination_window; int16_t x_offset; int16_t y_offset; } xcb_shape_rectangles_request_t; /** Opcode for xcb_shape_mask. */ #define XCB_SHAPE_MASK 2 /** * @brief xcb_shape_mask_request_t **/ typedef struct xcb_shape_mask_request_t { uint8_t major_opcode; uint8_t minor_opcode; uint16_t length; xcb_shape_op_t operation; xcb_shape_kind_t destination_kind; uint8_t pad0[2]; xcb_window_t destination_window; int16_t x_offset; int16_t y_offset; xcb_pixmap_t source_bitmap; } xcb_shape_mask_request_t; /** Opcode for xcb_shape_combine. */ #define XCB_SHAPE_COMBINE 3 /** * @brief xcb_shape_combine_request_t **/ typedef struct xcb_shape_combine_request_t { uint8_t major_opcode; uint8_t minor_opcode; uint16_t length; xcb_shape_op_t operation; xcb_shape_kind_t destination_kind; xcb_shape_kind_t source_kind; uint8_t pad0; xcb_window_t destination_window; int16_t x_offset; int16_t y_off