581 lines
19 KiB
C
581 lines
19 KiB
C
/*
|
||
* This file generated automatically from composite.xml by c_client.py.
|
||
* Edit at your peril.
|
||
*/
|
||
|
||
/**
|
||
* @defgroup XCB_Composite_API XCB Composite API
|
||
* @brief Composite XCB Protocol Implementation.
|
||
* @{
|
||
**/
|
||
|
||
#ifndef __COMPOSITE_H
|
||
#define __COMPOSITE_H
|
||
|
||
#include "xcb.h"
|
||
#include "xproto.h"
|
||
#include "xfixes.h"
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
#define XCB_COMPOSITE_MAJOR_VERSION 0
|
||
#define XCB_COMPOSITE_MINOR_VERSION 4
|
||
|
||
extern xcb_extension_t xcb_composite_id;
|
||
|
||
typedef enum xcb_composite_redirect_t {
|
||
XCB_COMPOSITE_REDIRECT_AUTOMATIC = 0,
|
||
XCB_COMPOSITE_REDIRECT_MANUAL = 1
|
||
} xcb_composite_redirect_t;
|
||
|
||
/**
|
||
* @brief xcb_composite_query_version_cookie_t
|
||
**/
|
||
typedef struct xcb_composite_query_version_cookie_t {
|
||
unsigned int sequence;
|
||
} xcb_composite_query_version_cookie_t;
|
||
|
||
/** Opcode for xcb_composite_query_version. */
|
||
#define XCB_COMPOSITE_QUERY_VERSION 0
|
||
|
||
/**
|
||
* @brief xcb_composite_query_version_request_t
|
||
**/
|
||
typedef struct xcb_composite_query_version_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
uint32_t client_major_version;
|
||
uint32_t client_minor_version;
|
||
} xcb_composite_query_version_request_t;
|
||
|
||
/**
|
||
* @brief xcb_composite_query_version_reply_t
|
||
**/
|
||
typedef struct xcb_composite_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;
|
||
uint8_t pad1[16];
|
||
} xcb_composite_query_version_reply_t;
|
||
|
||
/** Opcode for xcb_composite_redirect_window. */
|
||
#define XCB_COMPOSITE_REDIRECT_WINDOW 1
|
||
|
||
/**
|
||
* @brief xcb_composite_redirect_window_request_t
|
||
**/
|
||
typedef struct xcb_composite_redirect_window_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_window_t window;
|
||
uint8_t update;
|
||
uint8_t pad0[3];
|
||
} xcb_composite_redirect_window_request_t;
|
||
|
||
/** Opcode for xcb_composite_redirect_subwindows. */
|
||
#define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
|
||
|
||
/**
|
||
* @brief xcb_composite_redirect_subwindows_request_t
|
||
**/
|
||
typedef struct xcb_composite_redirect_subwindows_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_window_t window;
|
||
uint8_t update;
|
||
uint8_t pad0[3];
|
||
} xcb_composite_redirect_subwindows_request_t;
|
||
|
||
/** Opcode for xcb_composite_unredirect_window. */
|
||
#define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
|
||
|
||
/**
|
||
* @brief xcb_composite_unredirect_window_request_t
|
||
**/
|
||
typedef struct xcb_composite_unredirect_window_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_window_t window;
|
||
uint8_t update;
|
||
uint8_t pad0[3];
|
||
} xcb_composite_unredirect_window_request_t;
|
||
|
||
/** Opcode for xcb_composite_unredirect_subwindows. */
|
||
#define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
|
||
|
||
/**
|
||
* @brief xcb_composite_unredirect_subwindows_request_t
|
||
**/
|
||
typedef struct xcb_composite_unredirect_subwindows_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_window_t window;
|
||
uint8_t update;
|
||
uint8_t pad0[3];
|
||
} xcb_composite_unredirect_subwindows_request_t;
|
||
|
||
/** Opcode for xcb_composite_create_region_from_border_clip. */
|
||
#define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
|
||
|
||
/**
|
||
* @brief xcb_composite_create_region_from_border_clip_request_t
|
||
**/
|
||
typedef struct xcb_composite_create_region_from_border_clip_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_xfixes_region_t region;
|
||
xcb_window_t window;
|
||
} xcb_composite_create_region_from_border_clip_request_t;
|
||
|
||
/** Opcode for xcb_composite_name_window_pixmap. */
|
||
#define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
|
||
|
||
/**
|
||
* @brief xcb_composite_name_window_pixmap_request_t
|
||
**/
|
||
typedef struct xcb_composite_name_window_pixmap_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_window_t window;
|
||
xcb_pixmap_t pixmap;
|
||
} xcb_composite_name_window_pixmap_request_t;
|
||
|
||
/**
|
||
* @brief xcb_composite_get_overlay_window_cookie_t
|
||
**/
|
||
typedef struct xcb_composite_get_overlay_window_cookie_t {
|
||
unsigned int sequence;
|
||
} xcb_composite_get_overlay_window_cookie_t;
|
||
|
||
/** Opcode for xcb_composite_get_overlay_window. */
|
||
#define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
|
||
|
||
/**
|
||
* @brief xcb_composite_get_overlay_window_request_t
|
||
**/
|
||
typedef struct xcb_composite_get_overlay_window_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_window_t window;
|
||
} xcb_composite_get_overlay_window_request_t;
|
||
|
||
/**
|
||
* @brief xcb_composite_get_overlay_window_reply_t
|
||
**/
|
||
typedef struct xcb_composite_get_overlay_window_reply_t {
|
||
uint8_t response_type;
|
||
uint8_t pad0;
|
||
uint16_t sequence;
|
||
uint32_t length;
|
||
xcb_window_t overlay_win;
|
||
uint8_t pad1[20];
|
||
} xcb_composite_get_overlay_window_reply_t;
|
||
|
||
/** Opcode for xcb_composite_release_overlay_window. */
|
||
#define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
|
||
|
||
/**
|
||
* @brief xcb_composite_release_overlay_window_request_t
|
||
**/
|
||
typedef struct xcb_composite_release_overlay_window_request_t {
|
||
uint8_t major_opcode;
|
||
uint8_t minor_opcode;
|
||
uint16_t length;
|
||
xcb_window_t window;
|
||
} xcb_composite_release_overlay_window_request_t;
|
||
|
||
/**
|
||
* @brief Negotiate the version of Composite
|
||
*
|
||
* @param c The connection
|
||
* @param client_major_version The major version supported by the client.
|
||
* @param client_minor_version The minor version supported by the client.
|
||
* @return A cookie
|
||
*
|
||
* This negotiates the version of the Composite extension. It must be precede all
|
||
* other requests using Composite. Failure to do so will cause a BadRequest error.
|
||
*
|
||
*/
|
||
xcb_composite_query_version_cookie_t
|
||
xcb_composite_query_version (xcb_connection_t *c,
|
||
uint32_t client_major_version,
|
||
uint32_t client_minor_version);
|
||
|
||
/**
|
||
* @brief Negotiate the version of Composite
|
||
*
|
||
* @param c The connection
|
||
* @param client_major_version The major version supported by the client.
|
||
* @param client_minor_version The minor version supported by the client.
|
||
* @return A cookie
|
||
*
|
||
* This negotiates the version of the Composite extension. It must be precede all
|
||
* other requests using Composite. Failure to do so will cause a BadRequest error.
|
||
*
|
||
* 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_composite_query_version_cookie_t
|
||
xcb_composite_query_version_unchecked (xcb_connection_t *c,
|
||
uint32_t client_major_version,
|
||
uint32_t client_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_composite_query_version_unchecked(). is used.
|
||
* Otherwise, it stores the error if any.
|
||
*
|
||
* The returned value must be freed by the caller using free().
|
||
*/
|
||
xcb_composite_query_version_reply_t *
|
||
xcb_composite_query_version_reply (xcb_connection_t *c,
|
||
xcb_composite_query_version_cookie_t cookie /**< */,
|
||
xcb_generic_error_t **e);
|
||
|
||
/**
|
||
* @brief Redirect the hierarchy starting at "window" to off-screen storage.
|
||
*
|
||
* @param c The connection
|
||
* @param window The root of the hierarchy to redirect to off-screen storage.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update Whether contents are automatically mirrored to the parent window. If one client
|
||
* already specifies an update type of Manual, any attempt by another to specify a
|
||
* mode of Manual so will result in an Access error.
|
||
* @return A cookie
|
||
*
|
||
* The hierarchy starting at 'window' is directed to off-screen
|
||
* storage. When all clients enabling redirection terminate,
|
||
* the redirection will automatically be disabled.
|
||
*
|
||
* The root window may not be redirected. Doing so results in a Match
|
||
* error.
|
||
*
|
||
* 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_composite_redirect_window_checked (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
* @brief Redirect the hierarchy starting at "window" to off-screen storage.
|
||
*
|
||
* @param c The connection
|
||
* @param window The root of the hierarchy to redirect to off-screen storage.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update Whether contents are automatically mirrored to the parent window. If one client
|
||
* already specifies an update type of Manual, any attempt by another to specify a
|
||
* mode of Manual so will result in an Access error.
|
||
* @return A cookie
|
||
*
|
||
* The hierarchy starting at 'window' is directed to off-screen
|
||
* storage. When all clients enabling redirection terminate,
|
||
* the redirection will automatically be disabled.
|
||
*
|
||
* The root window may not be redirected. Doing so results in a Match
|
||
* error.
|
||
*
|
||
*/
|
||
xcb_void_cookie_t
|
||
xcb_composite_redirect_window (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
* @brief Redirect all current and future children of ‘window’
|
||
*
|
||
* @param c The connection
|
||
* @param window The root of the hierarchy to redirect to off-screen storage.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update Whether contents are automatically mirrored to the parent window. If one client
|
||
* already specifies an update type of Manual, any attempt by another to specify a
|
||
* mode of Manual so will result in an Access error.
|
||
* @return A cookie
|
||
*
|
||
* Hierarchies starting at all current and future children of window
|
||
* will be redirected as in RedirectWindow. If update is Manual,
|
||
* then painting of the window background during window manipulation
|
||
* and ClearArea requests is inhibited.
|
||
*
|
||
* 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_composite_redirect_subwindows_checked (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
* @brief Redirect all current and future children of ‘window’
|
||
*
|
||
* @param c The connection
|
||
* @param window The root of the hierarchy to redirect to off-screen storage.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update Whether contents are automatically mirrored to the parent window. If one client
|
||
* already specifies an update type of Manual, any attempt by another to specify a
|
||
* mode of Manual so will result in an Access error.
|
||
* @return A cookie
|
||
*
|
||
* Hierarchies starting at all current and future children of window
|
||
* will be redirected as in RedirectWindow. If update is Manual,
|
||
* then painting of the window background during window manipulation
|
||
* and ClearArea requests is inhibited.
|
||
*
|
||
*/
|
||
xcb_void_cookie_t
|
||
xcb_composite_redirect_subwindows (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
* @brief Terminate redirection of the specified window.
|
||
*
|
||
* @param c The connection
|
||
* @param window The window to terminate redirection of. Must be redirected by the
|
||
* current client, or a Value error results.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update The update type passed to RedirectWindows. If this does not match the
|
||
* previously requested update type, a Value error results.
|
||
* @return A cookie
|
||
*
|
||
* Redirection of the specified window will be terminated. This cannot be
|
||
* used if the window was redirected with RedirectSubwindows.
|
||
*
|
||
* 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_composite_unredirect_window_checked (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
* @brief Terminate redirection of the specified window.
|
||
*
|
||
* @param c The connection
|
||
* @param window The window to terminate redirection of. Must be redirected by the
|
||
* current client, or a Value error results.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update The update type passed to RedirectWindows. If this does not match the
|
||
* previously requested update type, a Value error results.
|
||
* @return A cookie
|
||
*
|
||
* Redirection of the specified window will be terminated. This cannot be
|
||
* used if the window was redirected with RedirectSubwindows.
|
||
*
|
||
*/
|
||
xcb_void_cookie_t
|
||
xcb_composite_unredirect_window (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
* @brief Terminate redirection of the specified window’s children
|
||
*
|
||
* @param c The connection
|
||
* @param window The window to terminate redirection of. Must have previously been
|
||
* selected for sub-redirection by the current client, or a Value error
|
||
* results.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update The update type passed to RedirectSubWindows. If this does not match
|
||
* the previously requested update type, a Value error results.
|
||
* @return A cookie
|
||
*
|
||
* Redirection of all children of window will be terminated.
|
||
*
|
||
* 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_composite_unredirect_subwindows_checked (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
* @brief Terminate redirection of the specified window’s children
|
||
*
|
||
* @param c The connection
|
||
* @param window The window to terminate redirection of. Must have previously been
|
||
* selected for sub-redirection by the current client, or a Value error
|
||
* results.
|
||
* @param update A bitmask of #xcb_composite_redirect_t values.
|
||
* @param update The update type passed to RedirectSubWindows. If this does not match
|
||
* the previously requested update type, a Value error results.
|
||
* @return A cookie
|
||
*
|
||
* Redirection of all children of window will be terminated.
|
||
*
|
||
*/
|
||
xcb_void_cookie_t
|
||
xcb_composite_unredirect_subwindows (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
uint8_t update);
|
||
|
||
/**
|
||
*
|
||
* @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_composite_create_region_from_border_clip_checked (xcb_connection_t *c,
|
||
xcb_xfixes_region_t region,
|
||
xcb_window_t window);
|
||
|
||
/**
|
||
*
|
||
* @param c The connection
|
||
* @return A cookie
|
||
*
|
||
* Delivers a request to the X server.
|
||
*
|
||
*/
|
||
xcb_void_cookie_t
|
||
xcb_composite_create_region_from_border_clip (xcb_connection_t *c,
|
||
xcb_xfixes_region_t region,
|
||
xcb_window_t 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_composite_name_window_pixmap_checked (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
xcb_pixmap_t pixmap);
|
||
|
||
/**
|
||
*
|
||
* @param c The connection
|
||
* @return A cookie
|
||
*
|
||
* Delivers a request to the X server.
|
||
*
|
||
*/
|
||
xcb_void_cookie_t
|
||
xcb_composite_name_window_pixmap (xcb_connection_t *c,
|
||
xcb_window_t window,
|
||
xcb_pixmap_t pixmap);
|
||
|
||
/**
|
||
*
|
||
* @param c The connection
|
||
* @return A cookie
|
||
*
|
||
* Delivers a request to the X server.
|
||
*
|
||
*/
|
||
xcb_composite_get_overlay_window_cookie_t
|
||
xcb_composite_get_overlay_window (xcb_connection_t *c,
|
||
xcb_window_t 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_composite_get_overlay_window_cookie_t
|
||
xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c,
|
||
xcb_window_t 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_composite_get_overlay_window_unchecked(). is used.
|
||
* Otherwise, it stores the error if any.
|
||
*
|
||
* The returned value must be freed by the caller using free().
|
||
*/
|
||
xcb_composite_get_overlay_window_reply_t *
|
||
xcb_composite_get_overlay_window_reply (xcb_connection_t *c,
|
||
xcb_composite_get_overlay_window_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_composite_release_overlay_window_checked (xcb_connection_t *c,
|
||
xcb_window_t window);
|
||
|
||
/**
|
||
*
|
||
* @param c The connection
|
||
* @return A cookie
|
||
*
|
||
* Delivers a request to the X server.
|
||
*
|
||
*/
|
||
xcb_void_cookie_t
|
||
xcb_composite_release_overlay_window (xcb_connection_t *c,
|
||
xcb_window_t window);
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|
||
|
||
/**
|
||
* @}
|
||
*/
|