Edit

IABSD.fr/xenocara/lib/libxcb/src/shape.h

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2016-09-02 10:09:43
    Hash : 778b53e3
    Message : Update to xcb-proto/libxcb 1.12. "Just commit it" naddy@

  • lib/libxcb/src/shape.h
  • /*
     * 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_offset;
        xcb_window_t     source_window;
    } xcb_shape_combine_request_t;
    
    /** Opcode for xcb_shape_offset. */
    #define XCB_SHAPE_OFFSET 4
    
    /**
     * @brief xcb_shape_offset_request_t
     **/
    typedef struct xcb_shape_offset_request_t {
        uint8_t          major_opcode;
        uint8_t          minor_opcode;
        uint16_t         length;
        xcb_shape_kind_t destination_kind;
        uint8_t          pad0[3];
        xcb_window_t     destination_window;
        int16_t          x_offset;
        int16_t          y_offset;
    } xcb_shape_offset_request_t;
    
    /**
     * @brief xcb_shape_query_extents_cookie_t
     **/
    typedef struct xcb_shape_query_extents_cookie_t {
        unsigned int sequence;
    } xcb_shape_query_extents_cookie_t;
    
    /** Opcode for xcb_shape_query_extents. */
    #define XCB_SHAPE_QUERY_EXTENTS 5
    
    /**
     * @brief xcb_shape_query_extents_request_t
     **/
    typedef struct xcb_shape_query_extents_request_t {
        uint8_t      major_opcode;
        uint8_t      minor_opcode;
        uint16_t     length;
        xcb_window_t destination_window;
    } xcb_shape_query_extents_request_t;
    
    /**
     * @brief xcb_shape_query_extents_reply_t
     **/
    typedef struct xcb_shape_query_extents_reply_t {
        uint8_t  response_type;
        uint8_t  pad0;
        uint16_t sequence;
        uint32_t length;
        uint8_t  bounding_shaped;
        uint8_t  clip_shaped;
        uint8_t  pad1[2];
        int16_t  bounding_shape_extents_x;
        int16_t  bounding_shape_extents_y;
        uint16_t bounding_shape_extents_width;
        uint16_t bounding_shape_extents_height;
        int16_t  clip_shape_extents_x;
        int16_t  clip_shape_extents_y;
        uint16_t clip_shape_extents_width;
        uint16_t clip_shape_extents_height;
    } xcb_shape_query_extents_reply_t;
    
    /** Opcode for xcb_shape_select_input. */
    #define XCB_SHAPE_SELECT_INPUT 6
    
    /**
     * @brief xcb_shape_select_input_request_t
     **/
    typedef struct xcb_shape_select_input_request_t {
        uint8_t      major_opcode;
        uint8_t      minor_opcode;
        uint16_t     length;
        xcb_window_t destination_window;
        uint8_t      enable;
        uint8_t      pad0[3];
    } xcb_shape_select_input_request_t;
    
    /**
     * @brief xcb_shape_input_selected_cookie_t
     **/
    typedef struct xcb_shape_input_selected_cookie_t {
        unsigned int sequence;
    } xcb_shape_input_selected_cookie_t;
    
    /** Opcode for xcb_shape_input_selected. */
    #define XCB_SHAPE_INPUT_SELECTED 7
    
    /**
     * @brief xcb_shape_input_selected_request_t
     **/
    typedef struct xcb_shape_input_selected_request_t {
        uint8_t      major_opcode;
        uint8_t      minor_opcode;
        uint16_t     length;
        xcb_window_t destination_window;
    } xcb_shape_input_selected_request_t;
    
    /**
     * @brief xcb_shape_input_selected_reply_t
     **/
    typedef struct xcb_shape_input_selected_reply_t {
        uint8_t  response_type;
        uint8_t  enabled;
        uint16_t sequence;
        uint32_t length;
    } xcb_shape_input_selected_reply_t;
    
    /**
     * @brief xcb_shape_get_rectangles_cookie_t
     **/
    typedef struct xcb_shape_get_rectangles_cookie_t {
        unsigned int sequence;
    } xcb_shape_get_rectangles_cookie_t;
    
    /** Opcode for xcb_shape_get_rectangles. */
    #define XCB_SHAPE_GET_RECTANGLES 8
    
    /**
     * @brief xcb_shape_get_rectangles_request_t
     **/
    typedef struct xcb_shape_get_rectangles_request_t {
        uint8_t          major_opcode;
        uint8_t          minor_opcode;
        uint16_t         length;
        xcb_window_t     window;
        xcb_shape_kind_t source_kind;
        uint8_t          pad0[3];
    } xcb_shape_get_rectangles_request_t;
    
    /**
     * @brief xcb_shape_get_rectangles_reply_t
     **/
    typedef struct xcb_shape_get_rectangles_reply_t {
        uint8_t  response_type;
        uint8_t  ordering;
        uint16_t sequence;
        uint32_t length;
        uint32_t rectangles_len;
        uint8_t  pad0[20];
    } xcb_shape_get_rectangles_reply_t;
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_shape_op_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_shape_op_t)
     */
    void
    xcb_shape_op_next (xcb_shape_op_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_shape_op_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_shape_op_end (xcb_shape_op_iterator_t i);
    
    /**
     * Get the next element of the iterator
     * @param i Pointer to a xcb_shape_kind_iterator_t
     *
     * Get the next element in the iterator. The member rem is
     * decreased by one. The member data points to the next
     * element. The member index is increased by sizeof(xcb_shape_kind_t)
     */
    void
    xcb_shape_kind_next (xcb_shape_kind_iterator_t *i);
    
    /**
     * Return the iterator pointing to the last element
     * @param i An xcb_shape_kind_iterator_t
     * @return  The iterator pointing to the last element
     *
     * Set the current element in the iterator to the last element.
     * The member rem is set to 0. The member data points to the
     * last element.
     */
    xcb_generic_iterator_t
    xcb_shape_kind_end (xcb_shape_kind_iterator_t i);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_shape_query_version_cookie_t
    xcb_shape_query_version (xcb_connection_t *c);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_shape_query_version_cookie_t
    xcb_shape_query_version_unchecked (xcb_connection_t *c);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_shape_query_version_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_shape_query_version_reply_t *
    xcb_shape_query_version_reply (xcb_connection_t                  *c,
                                   xcb_shape_query_version_cookie_t   cookie  /**< */,
                                   xcb_generic_error_t              **e);
    
    int
    xcb_shape_rectangles_sizeof (const void  *_buffer,
                                 uint32_t     rectangles_len);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will not cause
     * a reply to be generated. Any returned error will be
     * saved for handling by xcb_request_check().
     */
    xcb_void_cookie_t
    xcb_shape_rectangles_checked (xcb_connection_t      *c,
                                  xcb_shape_op_t         operation,
                                  xcb_shape_kind_t       destination_kind,
                                  uint8_t                ordering,
                                  xcb_window_t           destination_window,
                                  int16_t                x_offset,
                                  int16_t                y_offset,
                                  uint32_t               rectangles_len,
                                  const xcb_rectangle_t *rectangles);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_void_cookie_t
    xcb_shape_rectangles (xcb_connection_t      *c,
                          xcb_shape_op_t         operation,
                          xcb_shape_kind_t       destination_kind,
                          uint8_t                ordering,
                          xcb_window_t           destination_window,
                          int16_t                x_offset,
                          int16_t                y_offset,
                          uint32_t               rectangles_len,
                          const xcb_rectangle_t *rectangles);
    
    xcb_rectangle_t *
    xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R);
    
    int
    xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R);
    
    xcb_rectangle_iterator_t
    xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will not cause
     * a reply to be generated. Any returned error will be
     * saved for handling by xcb_request_check().
     */
    xcb_void_cookie_t
    xcb_shape_mask_checked (xcb_connection_t *c,
                            xcb_shape_op_t    operation,
                            xcb_shape_kind_t  destination_kind,
                            xcb_window_t      destination_window,
                            int16_t           x_offset,
                            int16_t           y_offset,
                            xcb_pixmap_t      source_bitmap);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_void_cookie_t
    xcb_shape_mask (xcb_connection_t *c,
                    xcb_shape_op_t    operation,
                    xcb_shape_kind_t  destination_kind,
                    xcb_window_t      destination_window,
                    int16_t           x_offset,
                    int16_t           y_offset,
                    xcb_pixmap_t      source_bitmap);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will not cause
     * a reply to be generated. Any returned error will be
     * saved for handling by xcb_request_check().
     */
    xcb_void_cookie_t
    xcb_shape_combine_checked (xcb_connection_t *c,
                               xcb_shape_op_t    operation,
                               xcb_shape_kind_t  destination_kind,
                               xcb_shape_kind_t  source_kind,
                               xcb_window_t      destination_window,
                               int16_t           x_offset,
                               int16_t           y_offset,
                               xcb_window_t      source_window);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_void_cookie_t
    xcb_shape_combine (xcb_connection_t *c,
                       xcb_shape_op_t    operation,
                       xcb_shape_kind_t  destination_kind,
                       xcb_shape_kind_t  source_kind,
                       xcb_window_t      destination_window,
                       int16_t           x_offset,
                       int16_t           y_offset,
                       xcb_window_t      source_window);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will not cause
     * a reply to be generated. Any returned error will be
     * saved for handling by xcb_request_check().
     */
    xcb_void_cookie_t
    xcb_shape_offset_checked (xcb_connection_t *c,
                              xcb_shape_kind_t  destination_kind,
                              xcb_window_t      destination_window,
                              int16_t           x_offset,
                              int16_t           y_offset);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_void_cookie_t
    xcb_shape_offset (xcb_connection_t *c,
                      xcb_shape_kind_t  destination_kind,
                      xcb_window_t      destination_window,
                      int16_t           x_offset,
                      int16_t           y_offset);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_shape_query_extents_cookie_t
    xcb_shape_query_extents (xcb_connection_t *c,
                             xcb_window_t      destination_window);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_shape_query_extents_cookie_t
    xcb_shape_query_extents_unchecked (xcb_connection_t *c,
                                       xcb_window_t      destination_window);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_shape_query_extents_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_shape_query_extents_reply_t *
    xcb_shape_query_extents_reply (xcb_connection_t                  *c,
                                   xcb_shape_query_extents_cookie_t   cookie  /**< */,
                                   xcb_generic_error_t              **e);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will not cause
     * a reply to be generated. Any returned error will be
     * saved for handling by xcb_request_check().
     */
    xcb_void_cookie_t
    xcb_shape_select_input_checked (xcb_connection_t *c,
                                    xcb_window_t      destination_window,
                                    uint8_t           enable);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_void_cookie_t
    xcb_shape_select_input (xcb_connection_t *c,
                            xcb_window_t      destination_window,
                            uint8_t           enable);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_shape_input_selected_cookie_t
    xcb_shape_input_selected (xcb_connection_t *c,
                              xcb_window_t      destination_window);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_shape_input_selected_cookie_t
    xcb_shape_input_selected_unchecked (xcb_connection_t *c,
                                        xcb_window_t      destination_window);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_shape_input_selected_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_shape_input_selected_reply_t *
    xcb_shape_input_selected_reply (xcb_connection_t                   *c,
                                    xcb_shape_input_selected_cookie_t   cookie  /**< */,
                                    xcb_generic_error_t               **e);
    
    int
    xcb_shape_get_rectangles_sizeof (const void  *_buffer);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     */
    xcb_shape_get_rectangles_cookie_t
    xcb_shape_get_rectangles (xcb_connection_t *c,
                              xcb_window_t      window,
                              xcb_shape_kind_t  source_kind);
    
    /**
     *
     * @param c The connection
     * @return A cookie
     *
     * Delivers a request to the X server.
     *
     * This form can be used only if the request will cause
     * a reply to be generated. Any returned error will be
     * placed in the event queue.
     */
    xcb_shape_get_rectangles_cookie_t
    xcb_shape_get_rectangles_unchecked (xcb_connection_t *c,
                                        xcb_window_t      window,
                                        xcb_shape_kind_t  source_kind);
    
    xcb_rectangle_t *
    xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R);
    
    int
    xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R);
    
    xcb_rectangle_iterator_t
    xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R);
    
    /**
     * Return the reply
     * @param c      The connection
     * @param cookie The cookie
     * @param e      The xcb_generic_error_t supplied
     *
     * Returns the reply of the request asked by
     *
     * The parameter @p e supplied to this function must be NULL if
     * xcb_shape_get_rectangles_unchecked(). is used.
     * Otherwise, it stores the error if any.
     *
     * The returned value must be freed by the caller using free().
     */
    xcb_shape_get_rectangles_reply_t *
    xcb_shape_get_rectangles_reply (xcb_connection_t                   *c,
                                    xcb_shape_get_rectangles_cookie_t   cookie  /**< */,
                                    xcb_generic_error_t               **e);
    
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif
    
    /**
     * @}
     */