| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644 |
- /*
- * This file generated automatically from present.xml by c_client.py.
- * Edit at your peril.
- */
- /**
- * @defgroup XCB_Present_API XCB Present API
- * @brief Present XCB Protocol Implementation.
- * @{
- **/
- #ifndef __PRESENT_H
- #define __PRESENT_H
- #include "xcb.h"
- #include "xproto.h"
- #include "randr.h"
- #include "xfixes.h"
- #include "sync.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define XCB_PRESENT_MAJOR_VERSION 1
- #define XCB_PRESENT_MINOR_VERSION 2
- extern xcb_extension_t xcb_present_id;
- typedef enum xcb_present_event_enum_t {
- XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
- XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
- XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
- XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
- } xcb_present_event_enum_t;
- typedef enum xcb_present_event_mask_t {
- XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
- XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
- XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
- XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
- XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
- } xcb_present_event_mask_t;
- typedef enum xcb_present_option_t {
- XCB_PRESENT_OPTION_NONE = 0,
- XCB_PRESENT_OPTION_ASYNC = 1,
- XCB_PRESENT_OPTION_COPY = 2,
- XCB_PRESENT_OPTION_UST = 4,
- XCB_PRESENT_OPTION_SUBOPTIMAL = 8
- } xcb_present_option_t;
- typedef enum xcb_present_capability_t {
- XCB_PRESENT_CAPABILITY_NONE = 0,
- XCB_PRESENT_CAPABILITY_ASYNC = 1,
- XCB_PRESENT_CAPABILITY_FENCE = 2,
- XCB_PRESENT_CAPABILITY_UST = 4
- } xcb_present_capability_t;
- typedef enum xcb_present_complete_kind_t {
- XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
- XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
- } xcb_present_complete_kind_t;
- typedef enum xcb_present_complete_mode_t {
- XCB_PRESENT_COMPLETE_MODE_COPY = 0,
- XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
- XCB_PRESENT_COMPLETE_MODE_SKIP = 2,
- XCB_PRESENT_COMPLETE_MODE_SUBOPTIMAL_COPY = 3
- } xcb_present_complete_mode_t;
- /**
- * @brief xcb_present_notify_t
- **/
- typedef struct xcb_present_notify_t {
- xcb_window_t window;
- uint32_t serial;
- } xcb_present_notify_t;
- /**
- * @brief xcb_present_notify_iterator_t
- **/
- typedef struct xcb_present_notify_iterator_t {
- xcb_present_notify_t *data;
- int rem;
- int index;
- } xcb_present_notify_iterator_t;
- /**
- * @brief xcb_present_query_version_cookie_t
- **/
- typedef struct xcb_present_query_version_cookie_t {
- unsigned int sequence;
- } xcb_present_query_version_cookie_t;
- /** Opcode for xcb_present_query_version. */
- #define XCB_PRESENT_QUERY_VERSION 0
- /**
- * @brief xcb_present_query_version_request_t
- **/
- typedef struct xcb_present_query_version_request_t {
- uint8_t major_opcode;
- uint8_t minor_opcode;
- uint16_t length;
- uint32_t major_version;
- uint32_t minor_version;
- } xcb_present_query_version_request_t;
- /**
- * @brief xcb_present_query_version_reply_t
- **/
- typedef struct xcb_present_query_version_reply_t {
- uint8_t response_type;
- uint8_t pad0;
- uint16_t sequence;
- uint32_t length;
- uint32_t major_version;
- uint32_t minor_version;
- } xcb_present_query_version_reply_t;
- /** Opcode for xcb_present_pixmap. */
- #define XCB_PRESENT_PIXMAP 1
- /**
- * @brief xcb_present_pixmap_request_t
- **/
- typedef struct xcb_present_pixmap_request_t {
- uint8_t major_opcode;
- uint8_t minor_opcode;
- uint16_t length;
- xcb_window_t window;
- xcb_pixmap_t pixmap;
- uint32_t serial;
- xcb_xfixes_region_t valid;
- xcb_xfixes_region_t update;
- int16_t x_off;
- int16_t y_off;
- xcb_randr_crtc_t target_crtc;
- xcb_sync_fence_t wait_fence;
- xcb_sync_fence_t idle_fence;
- uint32_t options;
- uint8_t pad0[4];
- uint64_t target_msc;
- uint64_t divisor;
- uint64_t remainder;
- } xcb_present_pixmap_request_t;
- /** Opcode for xcb_present_notify_msc. */
- #define XCB_PRESENT_NOTIFY_MSC 2
- /**
- * @brief xcb_present_notify_msc_request_t
- **/
- typedef struct xcb_present_notify_msc_request_t {
- uint8_t major_opcode;
- uint8_t minor_opcode;
- uint16_t length;
- xcb_window_t window;
- uint32_t serial;
- uint8_t pad0[4];
- uint64_t target_msc;
- uint64_t divisor;
- uint64_t remainder;
- } xcb_present_notify_msc_request_t;
- typedef uint32_t xcb_present_event_t;
- /**
- * @brief xcb_present_event_iterator_t
- **/
- typedef struct xcb_present_event_iterator_t {
- xcb_present_event_t *data;
- int rem;
- int index;
- } xcb_present_event_iterator_t;
- /** Opcode for xcb_present_select_input. */
- #define XCB_PRESENT_SELECT_INPUT 3
- /**
- * @brief xcb_present_select_input_request_t
- **/
- typedef struct xcb_present_select_input_request_t {
- uint8_t major_opcode;
- uint8_t minor_opcode;
- uint16_t length;
- xcb_present_event_t eid;
- xcb_window_t window;
- uint32_t event_mask;
- } xcb_present_select_input_request_t;
- /**
- * @brief xcb_present_query_capabilities_cookie_t
- **/
- typedef struct xcb_present_query_capabilities_cookie_t {
- unsigned int sequence;
- } xcb_present_query_capabilities_cookie_t;
- /** Opcode for xcb_present_query_capabilities. */
- #define XCB_PRESENT_QUERY_CAPABILITIES 4
- /**
- * @brief xcb_present_query_capabilities_request_t
- **/
- typedef struct xcb_present_query_capabilities_request_t {
- uint8_t major_opcode;
- uint8_t minor_opcode;
- uint16_t length;
- uint32_t target;
- } xcb_present_query_capabilities_request_t;
- /**
- * @brief xcb_present_query_capabilities_reply_t
- **/
- typedef struct xcb_present_query_capabilities_reply_t {
- uint8_t response_type;
- uint8_t pad0;
- uint16_t sequence;
- uint32_t length;
- uint32_t capabilities;
- } xcb_present_query_capabilities_reply_t;
- /** Opcode for xcb_present_generic. */
- #define XCB_PRESENT_GENERIC 0
- /**
- * @brief xcb_present_generic_event_t
- **/
- typedef struct xcb_present_generic_event_t {
- uint8_t response_type;
- uint8_t extension;
- uint16_t sequence;
- uint32_t length;
- uint16_t evtype;
- uint8_t pad0[2];
- xcb_present_event_t event;
- } xcb_present_generic_event_t;
- /** Opcode for xcb_present_configure_notify. */
- #define XCB_PRESENT_CONFIGURE_NOTIFY 0
- /**
- * @brief xcb_present_configure_notify_event_t
- **/
- typedef struct xcb_present_configure_notify_event_t {
- uint8_t response_type;
- uint8_t extension;
- uint16_t sequence;
- uint32_t length;
- uint16_t event_type;
- uint8_t pad0[2];
- xcb_present_event_t event;
- xcb_window_t window;
- int16_t x;
- int16_t y;
- uint16_t width;
- uint16_t height;
- int16_t off_x;
- int16_t off_y;
- uint32_t full_sequence;
- uint16_t pixmap_width;
- uint16_t pixmap_height;
- uint32_t pixmap_flags;
- } xcb_present_configure_notify_event_t;
- /** Opcode for xcb_present_complete_notify. */
- #define XCB_PRESENT_COMPLETE_NOTIFY 1
- /**
- * @brief xcb_present_complete_notify_event_t
- **/
- typedef struct xcb_present_complete_notify_event_t {
- uint8_t response_type;
- uint8_t extension;
- uint16_t sequence;
- uint32_t length;
- uint16_t event_type;
- uint8_t kind;
- uint8_t mode;
- xcb_present_event_t event;
- xcb_window_t window;
- uint32_t serial;
- uint64_t ust;
- uint32_t full_sequence;
- uint64_t msc;
- } XCB_PACKED xcb_present_complete_notify_event_t;
- /** Opcode for xcb_present_idle_notify. */
- #define XCB_PRESENT_IDLE_NOTIFY 2
- /**
- * @brief xcb_present_idle_notify_event_t
- **/
- typedef struct xcb_present_idle_notify_event_t {
- uint8_t response_type;
- uint8_t extension;
- uint16_t sequence;
- uint32_t length;
- uint16_t event_type;
- uint8_t pad0[2];
- xcb_present_event_t event;
- xcb_window_t window;
- uint32_t serial;
- xcb_pixmap_t pixmap;
- xcb_sync_fence_t idle_fence;
- uint32_t full_sequence;
- } xcb_present_idle_notify_event_t;
- /** Opcode for xcb_present_redirect_notify. */
- #define XCB_PRESENT_REDIRECT_NOTIFY 3
- /**
- * @brief xcb_present_redirect_notify_event_t
- **/
- typedef struct xcb_present_redirect_notify_event_t {
- uint8_t response_type;
- uint8_t extension;
- uint16_t sequence;
- uint32_t length;
- uint16_t event_type;
- uint8_t update_window;
- uint8_t pad0;
- xcb_present_event_t event;
- xcb_window_t event_window;
- xcb_window_t window;
- xcb_pixmap_t pixmap;
- uint32_t serial;
- uint32_t full_sequence;
- xcb_xfixes_region_t valid_region;
- xcb_xfixes_region_t update_region;
- xcb_rectangle_t valid_rect;
- xcb_rectangle_t update_rect;
- int16_t x_off;
- int16_t y_off;
- xcb_randr_crtc_t target_crtc;
- xcb_sync_fence_t wait_fence;
- xcb_sync_fence_t idle_fence;
- uint32_t options;
- uint8_t pad1[4];
- uint64_t target_msc;
- uint64_t divisor;
- uint64_t remainder;
- } XCB_PACKED xcb_present_redirect_notify_event_t;
- /**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_present_notify_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_present_notify_t)
- */
- void
- xcb_present_notify_next (xcb_present_notify_iterator_t *i);
- /**
- * Return the iterator pointing to the last element
- * @param i An xcb_present_notify_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_present_notify_end (xcb_present_notify_iterator_t i);
- /**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
- xcb_present_query_version_cookie_t
- xcb_present_query_version (xcb_connection_t *c,
- uint32_t major_version,
- uint32_t minor_version);
- /**
- *
- * @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_present_query_version_cookie_t
- xcb_present_query_version_unchecked (xcb_connection_t *c,
- uint32_t major_version,
- uint32_t minor_version);
- /**
- * 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_present_query_version_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
- xcb_present_query_version_reply_t *
- xcb_present_query_version_reply (xcb_connection_t *c,
- xcb_present_query_version_cookie_t cookie /**< */,
- xcb_generic_error_t **e);
- int
- xcb_present_pixmap_sizeof (const void *_buffer,
- uint32_t notifies_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_present_pixmap_checked (xcb_connection_t *c,
- xcb_window_t window,
- xcb_pixmap_t pixmap,
- uint32_t serial,
- xcb_xfixes_region_t valid,
- xcb_xfixes_region_t update,
- int16_t x_off,
- int16_t y_off,
- xcb_randr_crtc_t target_crtc,
- xcb_sync_fence_t wait_fence,
- xcb_sync_fence_t idle_fence,
- uint32_t options,
- uint64_t target_msc,
- uint64_t divisor,
- uint64_t remainder,
- uint32_t notifies_len,
- const xcb_present_notify_t *notifies);
- /**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
- xcb_void_cookie_t
- xcb_present_pixmap (xcb_connection_t *c,
- xcb_window_t window,
- xcb_pixmap_t pixmap,
- uint32_t serial,
- xcb_xfixes_region_t valid,
- xcb_xfixes_region_t update,
- int16_t x_off,
- int16_t y_off,
- xcb_randr_crtc_t target_crtc,
- xcb_sync_fence_t wait_fence,
- xcb_sync_fence_t idle_fence,
- uint32_t options,
- uint64_t target_msc,
- uint64_t divisor,
- uint64_t remainder,
- uint32_t notifies_len,
- const xcb_present_notify_t *notifies);
- xcb_present_notify_t *
- xcb_present_pixmap_notifies (const xcb_present_pixmap_request_t *R);
- int
- xcb_present_pixmap_notifies_length (const xcb_present_pixmap_request_t *R);
- xcb_present_notify_iterator_t
- xcb_present_pixmap_notifies_iterator (const xcb_present_pixmap_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_present_notify_msc_checked (xcb_connection_t *c,
- xcb_window_t window,
- uint32_t serial,
- uint64_t target_msc,
- uint64_t divisor,
- uint64_t remainder);
- /**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
- xcb_void_cookie_t
- xcb_present_notify_msc (xcb_connection_t *c,
- xcb_window_t window,
- uint32_t serial,
- uint64_t target_msc,
- uint64_t divisor,
- uint64_t remainder);
- /**
- * Get the next element of the iterator
- * @param i Pointer to a xcb_present_event_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_present_event_t)
- */
- void
- xcb_present_event_next (xcb_present_event_iterator_t *i);
- /**
- * Return the iterator pointing to the last element
- * @param i An xcb_present_event_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_present_event_end (xcb_present_event_iterator_t i);
- /**
- *
- * @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_present_select_input_checked (xcb_connection_t *c,
- xcb_present_event_t eid,
- xcb_window_t window,
- uint32_t event_mask);
- /**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
- xcb_void_cookie_t
- xcb_present_select_input (xcb_connection_t *c,
- xcb_present_event_t eid,
- xcb_window_t window,
- uint32_t event_mask);
- /**
- *
- * @param c The connection
- * @return A cookie
- *
- * Delivers a request to the X server.
- *
- */
- xcb_present_query_capabilities_cookie_t
- xcb_present_query_capabilities (xcb_connection_t *c,
- uint32_t target);
- /**
- *
- * @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_present_query_capabilities_cookie_t
- xcb_present_query_capabilities_unchecked (xcb_connection_t *c,
- uint32_t target);
- /**
- * 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_present_query_capabilities_unchecked(). is used.
- * Otherwise, it stores the error if any.
- *
- * The returned value must be freed by the caller using free().
- */
- xcb_present_query_capabilities_reply_t *
- xcb_present_query_capabilities_reply (xcb_connection_t *c,
- xcb_present_query_capabilities_cookie_t cookie /**< */,
- xcb_generic_error_t **e);
- int
- xcb_present_redirect_notify_sizeof (const void *_buffer,
- uint32_t notifies_len);
- xcb_present_notify_t *
- xcb_present_redirect_notify_notifies (const xcb_present_redirect_notify_event_t *R);
- int
- xcb_present_redirect_notify_notifies_length (const xcb_present_redirect_notify_event_t *R);
- xcb_present_notify_iterator_t
- xcb_present_redirect_notify_notifies_iterator (const xcb_present_redirect_notify_event_t *R);
- #ifdef __cplusplus
- }
- #endif
- #endif
- /**
- * @}
- */
|