From ebe08096c94c6af43ee492c8939693a1bcbd893f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= Date: Mon, 16 Nov 2015 14:21:58 +0100 Subject: [PATCH] xcb: Add Xinerama 3rd party source code for static build Change-Id: I421d0bcf3fd6362ad6e95db5cfcdefd1a9ec096f Reviewed-by: Shawn Rutledge --- src/3rdparty/xcb/README | 2 +- src/3rdparty/xcb/include/xcb/xinerama.h | 808 ++++++++++++++++++ src/3rdparty/xcb/libxcb/xinerama.c | 655 ++++++++++++++ .../platforms/xcb/xcb-static/xcb-static.pro | 6 +- 4 files changed, 1468 insertions(+), 3 deletions(-) create mode 100644 src/3rdparty/xcb/include/xcb/xinerama.h create mode 100644 src/3rdparty/xcb/libxcb/xinerama.c diff --git a/src/3rdparty/xcb/README b/src/3rdparty/xcb/README index 4de7a17409..d7c8eba294 100644 --- a/src/3rdparty/xcb/README +++ b/src/3rdparty/xcb/README @@ -1,6 +1,6 @@ Contains the header and sources files from selected xcb libraries: - libxcb-1.5 together with xcb-proto-1.6 (sync, xfixes, randr sources) + libxcb-1.5 together with xcb-proto-1.6 (sync, xfixes, randr, xinerama sources) # libxkbcommon-x11 requires libxcb-xkb >= 1.10 libxcb-1.10 together with xcb-proto-1.10 (xkb sources) libxcb-util-image-0.3.9 diff --git a/src/3rdparty/xcb/include/xcb/xinerama.h b/src/3rdparty/xcb/include/xcb/xinerama.h new file mode 100644 index 0000000000..74da5458d2 --- /dev/null +++ b/src/3rdparty/xcb/include/xcb/xinerama.h @@ -0,0 +1,808 @@ +/* + * This file generated automatically from xinerama.xml by c_client.py. + * Edit at your peril. + */ + +/** + * @defgroup XCB_Xinerama_API XCB Xinerama API + * @brief Xinerama XCB Protocol Implementation. + * @{ + **/ + +#ifndef __XINERAMA_H +#define __XINERAMA_H + +#include "xcb.h" +#include "xproto.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define XCB_XINERAMA_MAJOR_VERSION 1 +#define XCB_XINERAMA_MINOR_VERSION 1 + +extern xcb_extension_t xcb_xinerama_id; + +/** + * @brief xcb_xinerama_screen_info_t + **/ +typedef struct xcb_xinerama_screen_info_t { + int16_t x_org; /**< */ + int16_t y_org; /**< */ + uint16_t width; /**< */ + uint16_t height; /**< */ +} xcb_xinerama_screen_info_t; + +/** + * @brief xcb_xinerama_screen_info_iterator_t + **/ +typedef struct xcb_xinerama_screen_info_iterator_t { + xcb_xinerama_screen_info_t *data; /**< */ + int rem; /**< */ + int index; /**< */ +} xcb_xinerama_screen_info_iterator_t; + +/** + * @brief xcb_xinerama_query_version_cookie_t + **/ +typedef struct xcb_xinerama_query_version_cookie_t { + unsigned int sequence; /**< */ +} xcb_xinerama_query_version_cookie_t; + +/** Opcode for xcb_xinerama_query_version. */ +#define XCB_XINERAMA_QUERY_VERSION 0 + +/** + * @brief xcb_xinerama_query_version_request_t + **/ +typedef struct xcb_xinerama_query_version_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + uint8_t major; /**< */ + uint8_t minor; /**< */ +} xcb_xinerama_query_version_request_t; + +/** + * @brief xcb_xinerama_query_version_reply_t + **/ +typedef struct xcb_xinerama_query_version_reply_t { + uint8_t response_type; /**< */ + uint8_t pad0; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + uint16_t major; /**< */ + uint16_t minor; /**< */ +} xcb_xinerama_query_version_reply_t; + +/** + * @brief xcb_xinerama_get_state_cookie_t + **/ +typedef struct xcb_xinerama_get_state_cookie_t { + unsigned int sequence; /**< */ +} xcb_xinerama_get_state_cookie_t; + +/** Opcode for xcb_xinerama_get_state. */ +#define XCB_XINERAMA_GET_STATE 1 + +/** + * @brief xcb_xinerama_get_state_request_t + **/ +typedef struct xcb_xinerama_get_state_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_window_t window; /**< */ +} xcb_xinerama_get_state_request_t; + +/** + * @brief xcb_xinerama_get_state_reply_t + **/ +typedef struct xcb_xinerama_get_state_reply_t { + uint8_t response_type; /**< */ + uint8_t state; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + xcb_window_t window; /**< */ +} xcb_xinerama_get_state_reply_t; + +/** + * @brief xcb_xinerama_get_screen_count_cookie_t + **/ +typedef struct xcb_xinerama_get_screen_count_cookie_t { + unsigned int sequence; /**< */ +} xcb_xinerama_get_screen_count_cookie_t; + +/** Opcode for xcb_xinerama_get_screen_count. */ +#define XCB_XINERAMA_GET_SCREEN_COUNT 2 + +/** + * @brief xcb_xinerama_get_screen_count_request_t + **/ +typedef struct xcb_xinerama_get_screen_count_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_window_t window; /**< */ +} xcb_xinerama_get_screen_count_request_t; + +/** + * @brief xcb_xinerama_get_screen_count_reply_t + **/ +typedef struct xcb_xinerama_get_screen_count_reply_t { + uint8_t response_type; /**< */ + uint8_t screen_count; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + xcb_window_t window; /**< */ +} xcb_xinerama_get_screen_count_reply_t; + +/** + * @brief xcb_xinerama_get_screen_size_cookie_t + **/ +typedef struct xcb_xinerama_get_screen_size_cookie_t { + unsigned int sequence; /**< */ +} xcb_xinerama_get_screen_size_cookie_t; + +/** Opcode for xcb_xinerama_get_screen_size. */ +#define XCB_XINERAMA_GET_SCREEN_SIZE 3 + +/** + * @brief xcb_xinerama_get_screen_size_request_t + **/ +typedef struct xcb_xinerama_get_screen_size_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_window_t window; /**< */ + uint32_t screen; /**< */ +} xcb_xinerama_get_screen_size_request_t; + +/** + * @brief xcb_xinerama_get_screen_size_reply_t + **/ +typedef struct xcb_xinerama_get_screen_size_reply_t { + uint8_t response_type; /**< */ + uint8_t pad0; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + uint32_t width; /**< */ + uint32_t height; /**< */ + xcb_window_t window; /**< */ + uint32_t screen; /**< */ +} xcb_xinerama_get_screen_size_reply_t; + +/** + * @brief xcb_xinerama_is_active_cookie_t + **/ +typedef struct xcb_xinerama_is_active_cookie_t { + unsigned int sequence; /**< */ +} xcb_xinerama_is_active_cookie_t; + +/** Opcode for xcb_xinerama_is_active. */ +#define XCB_XINERAMA_IS_ACTIVE 4 + +/** + * @brief xcb_xinerama_is_active_request_t + **/ +typedef struct xcb_xinerama_is_active_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ +} xcb_xinerama_is_active_request_t; + +/** + * @brief xcb_xinerama_is_active_reply_t + **/ +typedef struct xcb_xinerama_is_active_reply_t { + uint8_t response_type; /**< */ + uint8_t pad0; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + uint32_t state; /**< */ +} xcb_xinerama_is_active_reply_t; + +/** + * @brief xcb_xinerama_query_screens_cookie_t + **/ +typedef struct xcb_xinerama_query_screens_cookie_t { + unsigned int sequence; /**< */ +} xcb_xinerama_query_screens_cookie_t; + +/** Opcode for xcb_xinerama_query_screens. */ +#define XCB_XINERAMA_QUERY_SCREENS 5 + +/** + * @brief xcb_xinerama_query_screens_request_t + **/ +typedef struct xcb_xinerama_query_screens_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ +} xcb_xinerama_query_screens_request_t; + +/** + * @brief xcb_xinerama_query_screens_reply_t + **/ +typedef struct xcb_xinerama_query_screens_reply_t { + uint8_t response_type; /**< */ + uint8_t pad0; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + uint32_t number; /**< */ + uint8_t pad1[20]; /**< */ +} xcb_xinerama_query_screens_reply_t; + +/** + * Get the next element of the iterator + * @param i Pointer to a xcb_xinerama_screen_info_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_xinerama_screen_info_t) + */ + +/***************************************************************************** + ** + ** void xcb_xinerama_screen_info_next + ** + ** @param xcb_xinerama_screen_info_iterator_t *i + ** @returns void + ** + *****************************************************************************/ + +void +xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i /**< */); + +/** + * Return the iterator pointing to the last element + * @param i An xcb_xinerama_screen_info_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_xinerama_screen_info_end + ** + ** @param xcb_xinerama_screen_info_iterator_t i + ** @returns xcb_generic_iterator_t + ** + *****************************************************************************/ + +xcb_generic_iterator_t +xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version + ** + ** @param xcb_connection_t *c + ** @param uint8_t major + ** @param uint8_t minor + ** @returns xcb_xinerama_query_version_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_version_cookie_t +xcb_xinerama_query_version (xcb_connection_t *c /**< */, + uint8_t major /**< */, + uint8_t minor /**< */); + +/** + * Delivers a request to the X server + * @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_xinerama_query_version_cookie_t xcb_xinerama_query_version_unchecked + ** + ** @param xcb_connection_t *c + ** @param uint8_t major + ** @param uint8_t minor + ** @returns xcb_xinerama_query_version_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_version_cookie_t +xcb_xinerama_query_version_unchecked (xcb_connection_t *c /**< */, + uint8_t major /**< */, + uint8_t minor /**< */); + +/** + * 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_xinerama_query_version_unchecked(). is used. + * Otherwise, it stores the error if any. + * + * The returned value must be freed by the caller using free(). + */ + +/***************************************************************************** + ** + ** xcb_xinerama_query_version_reply_t * xcb_xinerama_query_version_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_query_version_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_query_version_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_query_version_reply_t * +xcb_xinerama_query_version_reply (xcb_connection_t *c /**< */, + xcb_xinerama_query_version_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_state_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_state_cookie_t +xcb_xinerama_get_state (xcb_connection_t *c /**< */, + xcb_window_t window /**< */); + +/** + * Delivers a request to the X server + * @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_xinerama_get_state_cookie_t xcb_xinerama_get_state_unchecked + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_state_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_state_cookie_t +xcb_xinerama_get_state_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_xinerama_get_state_unchecked(). is used. + * Otherwise, it stores the error if any. + * + * The returned value must be freed by the caller using free(). + */ + +/***************************************************************************** + ** + ** xcb_xinerama_get_state_reply_t * xcb_xinerama_get_state_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_get_state_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_get_state_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_get_state_reply_t * +xcb_xinerama_get_state_reply (xcb_connection_t *c /**< */, + xcb_xinerama_get_state_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_screen_count_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_count_cookie_t +xcb_xinerama_get_screen_count (xcb_connection_t *c /**< */, + xcb_window_t window /**< */); + +/** + * Delivers a request to the X server + * @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_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count_unchecked + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_screen_count_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_count_cookie_t +xcb_xinerama_get_screen_count_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_xinerama_get_screen_count_unchecked(). is used. + * Otherwise, it stores the error if any. + * + * The returned value must be freed by the caller using free(). + */ + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_count_reply_t * xcb_xinerama_get_screen_count_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_get_screen_count_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_get_screen_count_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_count_reply_t * +xcb_xinerama_get_screen_count_reply (xcb_connection_t *c /**< */, + xcb_xinerama_get_screen_count_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @param uint32_t screen + ** @returns xcb_xinerama_get_screen_size_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_size_cookie_t +xcb_xinerama_get_screen_size (xcb_connection_t *c /**< */, + xcb_window_t window /**< */, + uint32_t screen /**< */); + +/** + * Delivers a request to the X server + * @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_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size_unchecked + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @param uint32_t screen + ** @returns xcb_xinerama_get_screen_size_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_size_cookie_t +xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c /**< */, + xcb_window_t window /**< */, + uint32_t screen /**< */); + +/** + * 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_xinerama_get_screen_size_unchecked(). is used. + * Otherwise, it stores the error if any. + * + * The returned value must be freed by the caller using free(). + */ + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_size_reply_t * xcb_xinerama_get_screen_size_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_get_screen_size_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_get_screen_size_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_size_reply_t * +xcb_xinerama_get_screen_size_reply (xcb_connection_t *c /**< */, + xcb_xinerama_get_screen_size_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_is_active_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_is_active_cookie_t +xcb_xinerama_is_active (xcb_connection_t *c /**< */); + +/** + * Delivers a request to the X server + * @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_xinerama_is_active_cookie_t xcb_xinerama_is_active_unchecked + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_is_active_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_is_active_cookie_t +xcb_xinerama_is_active_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_xinerama_is_active_unchecked(). is used. + * Otherwise, it stores the error if any. + * + * The returned value must be freed by the caller using free(). + */ + +/***************************************************************************** + ** + ** xcb_xinerama_is_active_reply_t * xcb_xinerama_is_active_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_is_active_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_is_active_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_is_active_reply_t * +xcb_xinerama_is_active_reply (xcb_connection_t *c /**< */, + xcb_xinerama_is_active_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_query_screens_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_screens_cookie_t +xcb_xinerama_query_screens (xcb_connection_t *c /**< */); + +/** + * Delivers a request to the X server + * @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_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_query_screens_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_screens_cookie_t +xcb_xinerama_query_screens_unchecked (xcb_connection_t *c /**< */); + + +/***************************************************************************** + ** + ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info + ** + ** @param const xcb_xinerama_query_screens_reply_t *R + ** @returns xcb_xinerama_screen_info_t * + ** + *****************************************************************************/ + +xcb_xinerama_screen_info_t * +xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R /**< */); + + +/***************************************************************************** + ** + ** int xcb_xinerama_query_screens_screen_info_length + ** + ** @param const xcb_xinerama_query_screens_reply_t *R + ** @returns int + ** + *****************************************************************************/ + +int +xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R /**< */); + + +/***************************************************************************** + ** + ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator + ** + ** @param const xcb_xinerama_query_screens_reply_t *R + ** @returns xcb_xinerama_screen_info_iterator_t + ** + *****************************************************************************/ + +xcb_xinerama_screen_info_iterator_t +xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_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_xinerama_query_screens_unchecked(). is used. + * Otherwise, it stores the error if any. + * + * The returned value must be freed by the caller using free(). + */ + +/***************************************************************************** + ** + ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_query_screens_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_query_screens_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_query_screens_reply_t * +xcb_xinerama_query_screens_reply (xcb_connection_t *c /**< */, + xcb_xinerama_query_screens_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + + +#ifdef __cplusplus +} +#endif + +#endif + +/** + * @} + */ diff --git a/src/3rdparty/xcb/libxcb/xinerama.c b/src/3rdparty/xcb/libxcb/xinerama.c new file mode 100644 index 0000000000..05b6b73707 --- /dev/null +++ b/src/3rdparty/xcb/libxcb/xinerama.c @@ -0,0 +1,655 @@ +/* + * This file generated automatically from xinerama.xml by c_client.py. + * Edit at your peril. + */ + +#include +#include +#include "xcbext.h" +#include "xinerama.h" +#include "xproto.h" + +xcb_extension_t xcb_xinerama_id = { "XINERAMA", 0 }; + + +/***************************************************************************** + ** + ** void xcb_xinerama_screen_info_next + ** + ** @param xcb_xinerama_screen_info_iterator_t *i + ** @returns void + ** + *****************************************************************************/ + +void +xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i /**< */) +{ + --i->rem; + ++i->data; + i->index += sizeof(xcb_xinerama_screen_info_t); +} + + +/***************************************************************************** + ** + ** xcb_generic_iterator_t xcb_xinerama_screen_info_end + ** + ** @param xcb_xinerama_screen_info_iterator_t i + ** @returns xcb_generic_iterator_t + ** + *****************************************************************************/ + +xcb_generic_iterator_t +xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i /**< */) +{ + xcb_generic_iterator_t ret; + ret.data = i.data + i.rem; + ret.index = i.index + ((char *) ret.data - (char *) i.data); + ret.rem = 0; + return ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version + ** + ** @param xcb_connection_t *c + ** @param uint8_t major + ** @param uint8_t minor + ** @returns xcb_xinerama_query_version_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_version_cookie_t +xcb_xinerama_query_version (xcb_connection_t *c /**< */, + uint8_t major /**< */, + uint8_t minor /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_QUERY_VERSION, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_query_version_cookie_t xcb_ret; + xcb_xinerama_query_version_request_t xcb_out; + + xcb_out.major = major; + xcb_out.minor = minor; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version_unchecked + ** + ** @param xcb_connection_t *c + ** @param uint8_t major + ** @param uint8_t minor + ** @returns xcb_xinerama_query_version_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_version_cookie_t +xcb_xinerama_query_version_unchecked (xcb_connection_t *c /**< */, + uint8_t major /**< */, + uint8_t minor /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_QUERY_VERSION, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_query_version_cookie_t xcb_ret; + xcb_xinerama_query_version_request_t xcb_out; + + xcb_out.major = major; + xcb_out.minor = minor; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_query_version_reply_t * xcb_xinerama_query_version_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_query_version_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_query_version_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_query_version_reply_t * +xcb_xinerama_query_version_reply (xcb_connection_t *c /**< */, + xcb_xinerama_query_version_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */) +{ + return (xcb_xinerama_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_state_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_state_cookie_t +xcb_xinerama_get_state (xcb_connection_t *c /**< */, + xcb_window_t window /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_GET_STATE, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_get_state_cookie_t xcb_ret; + xcb_xinerama_get_state_request_t xcb_out; + + xcb_out.window = window; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state_unchecked + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_state_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_state_cookie_t +xcb_xinerama_get_state_unchecked (xcb_connection_t *c /**< */, + xcb_window_t window /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_GET_STATE, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_get_state_cookie_t xcb_ret; + xcb_xinerama_get_state_request_t xcb_out; + + xcb_out.window = window; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_state_reply_t * xcb_xinerama_get_state_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_get_state_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_get_state_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_get_state_reply_t * +xcb_xinerama_get_state_reply (xcb_connection_t *c /**< */, + xcb_xinerama_get_state_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */) +{ + return (xcb_xinerama_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_screen_count_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_count_cookie_t +xcb_xinerama_get_screen_count (xcb_connection_t *c /**< */, + xcb_window_t window /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_get_screen_count_cookie_t xcb_ret; + xcb_xinerama_get_screen_count_request_t xcb_out; + + xcb_out.window = window; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count_unchecked + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @returns xcb_xinerama_get_screen_count_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_count_cookie_t +xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c /**< */, + xcb_window_t window /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_get_screen_count_cookie_t xcb_ret; + xcb_xinerama_get_screen_count_request_t xcb_out; + + xcb_out.window = window; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_count_reply_t * xcb_xinerama_get_screen_count_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_get_screen_count_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_get_screen_count_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_count_reply_t * +xcb_xinerama_get_screen_count_reply (xcb_connection_t *c /**< */, + xcb_xinerama_get_screen_count_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */) +{ + return (xcb_xinerama_get_screen_count_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @param uint32_t screen + ** @returns xcb_xinerama_get_screen_size_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_size_cookie_t +xcb_xinerama_get_screen_size (xcb_connection_t *c /**< */, + xcb_window_t window /**< */, + uint32_t screen /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_get_screen_size_cookie_t xcb_ret; + xcb_xinerama_get_screen_size_request_t xcb_out; + + xcb_out.window = window; + xcb_out.screen = screen; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size_unchecked + ** + ** @param xcb_connection_t *c + ** @param xcb_window_t window + ** @param uint32_t screen + ** @returns xcb_xinerama_get_screen_size_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_size_cookie_t +xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c /**< */, + xcb_window_t window /**< */, + uint32_t screen /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_get_screen_size_cookie_t xcb_ret; + xcb_xinerama_get_screen_size_request_t xcb_out; + + xcb_out.window = window; + xcb_out.screen = screen; + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_get_screen_size_reply_t * xcb_xinerama_get_screen_size_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_get_screen_size_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_get_screen_size_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_get_screen_size_reply_t * +xcb_xinerama_get_screen_size_reply (xcb_connection_t *c /**< */, + xcb_xinerama_get_screen_size_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */) +{ + return (xcb_xinerama_get_screen_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + + +/***************************************************************************** + ** + ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_is_active_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_is_active_cookie_t +xcb_xinerama_is_active (xcb_connection_t *c /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_IS_ACTIVE, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_is_active_cookie_t xcb_ret; + xcb_xinerama_is_active_request_t xcb_out; + + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active_unchecked + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_is_active_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_is_active_cookie_t +xcb_xinerama_is_active_unchecked (xcb_connection_t *c /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_IS_ACTIVE, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_is_active_cookie_t xcb_ret; + xcb_xinerama_is_active_request_t xcb_out; + + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_is_active_reply_t * xcb_xinerama_is_active_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_is_active_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_is_active_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_is_active_reply_t * +xcb_xinerama_is_active_reply (xcb_connection_t *c /**< */, + xcb_xinerama_is_active_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */) +{ + return (xcb_xinerama_is_active_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + + +/***************************************************************************** + ** + ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_query_screens_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_screens_cookie_t +xcb_xinerama_query_screens (xcb_connection_t *c /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_QUERY_SCREENS, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_query_screens_cookie_t xcb_ret; + xcb_xinerama_query_screens_request_t xcb_out; + + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked + ** + ** @param xcb_connection_t *c + ** @returns xcb_xinerama_query_screens_cookie_t + ** + *****************************************************************************/ + +xcb_xinerama_query_screens_cookie_t +xcb_xinerama_query_screens_unchecked (xcb_connection_t *c /**< */) +{ + static const xcb_protocol_request_t xcb_req = { + /* count */ 2, + /* ext */ &xcb_xinerama_id, + /* opcode */ XCB_XINERAMA_QUERY_SCREENS, + /* isvoid */ 0 + }; + + struct iovec xcb_parts[4]; + xcb_xinerama_query_screens_cookie_t xcb_ret; + xcb_xinerama_query_screens_request_t xcb_out; + + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info + ** + ** @param const xcb_xinerama_query_screens_reply_t *R + ** @returns xcb_xinerama_screen_info_t * + ** + *****************************************************************************/ + +xcb_xinerama_screen_info_t * +xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R /**< */) +{ + return (xcb_xinerama_screen_info_t *) (R + 1); +} + + +/***************************************************************************** + ** + ** int xcb_xinerama_query_screens_screen_info_length + ** + ** @param const xcb_xinerama_query_screens_reply_t *R + ** @returns int + ** + *****************************************************************************/ + +int +xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R /**< */) +{ + return R->number; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator + ** + ** @param const xcb_xinerama_query_screens_reply_t *R + ** @returns xcb_xinerama_screen_info_iterator_t + ** + *****************************************************************************/ + +xcb_xinerama_screen_info_iterator_t +xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R /**< */) +{ + xcb_xinerama_screen_info_iterator_t i; + i.data = (xcb_xinerama_screen_info_t *) (R + 1); + i.rem = R->number; + i.index = (char *) i.data - (char *) R; + return i; +} + + +/***************************************************************************** + ** + ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_xinerama_query_screens_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_xinerama_query_screens_reply_t * + ** + *****************************************************************************/ + +xcb_xinerama_query_screens_reply_t * +xcb_xinerama_query_screens_reply (xcb_connection_t *c /**< */, + xcb_xinerama_query_screens_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */) +{ + return (xcb_xinerama_query_screens_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + diff --git a/src/plugins/platforms/xcb/xcb-static/xcb-static.pro b/src/plugins/platforms/xcb/xcb-static/xcb-static.pro index d0fe282b14..20481e4834 100644 --- a/src/plugins/platforms/xcb/xcb-static/xcb-static.pro +++ b/src/plugins/platforms/xcb/xcb-static/xcb-static.pro @@ -1,7 +1,8 @@ # # Statically compile in code for # libxcb-fixes, libxcb-randr, libxcb-shm, libxcb-sync, libxcb-image, -# libxcb-keysyms, libxcb-icccm, libxcb-renderutil, libxcb-xkb +# libxcb-keysyms, libxcb-icccm, libxcb-renderutil, libxcb-xkb, +# libxcb-xinerama # CONFIG += static load(qt_helper_lib) @@ -28,7 +29,8 @@ SOURCES += \ $$LIBXCB_DIR/sync.c \ $$LIBXCB_DIR/render.c \ $$LIBXCB_DIR/shape.c \ - $$LIBXCB_DIR/xkb.c + $$LIBXCB_DIR/xkb.c \ + $$LIBXCB_DIR/xinerama.c # # xcb-util