From 60588e1a5dd9b10803e078c741271cbe5713a51b Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Tue, 19 Feb 2019 10:09:19 +0100 Subject: 3rdparty: remove xcb libs and bump minimal required version to 1.11 With libxcb 1.11 as minimal required version we can: (a) (Maybe) Enable threaded GL for MESA, see QTBUG-67277. (b) Avoid performance issues described in QTBUG-46017. Bundled xcb libs don't contain the more modern SHM fd passing APIs. The official binaries use "-qt-xcb", therefore we were shipping with the performance fix #ifdef-ed out. (c) Make xcb-xkb a mandatory dependency avoiding issues described in QTBUG-30911. Issues that appear when Qt was configure with "-no-xkb -xcb-xlib", but X server has the XKB extension. (d) Drop all, but xcb-xinput sources from src/3rdparty/xcb/, for which we need "xcb-xinput >= 1.12". This way we can reduce maintenance work. The xcb libraries were origianlly bundled because of lack of availability on supported distributions. This is not the case anymore: CI for Qt 5.13 has: Ubuntu 18.04 - libxcb 1.13 RHEL 7.4 - libxcb 1.13 openSUSE 15.0 - libxcb 1.13 CI for Qt 5.12 has: Ubuntu 16.04 - libxcb 1.11 RHEL 7.4 - libxcb 1.13 openSUSE 42.3 - libxcb 1.11 RHEL 6.x - not relevant because it was dropped from supported platforms. Why 1.11 (released on Aug, 2014), but not 1.13 (released on March 2018)? Based on what we have in CI for 5.13 and 5.14 we could update to 1.13, but it means that Qt would require a very recent version of 3rd party dependency. [ChangeLog][Configure][X11] The minimal required version of libxcb now is 1.11. [ChangeLog][Third-Party Code][X11] Removed all bundled XCB libs, with the exception of xcb-xinput, which is not available on systems with libxcb 1.11. [ChangeLog][Configure][X11] Removed -qt-xcb, -system-xcb, -xkb, -xcb-xinput switches. [ChangeLog][Platform Specific Changes][X11] XKB and XInput2 now are mandatory dependencies for XCB plugin. XCB-XKB is a part of libxcb 1.11 releases. XCB-XInput is not part of libxcb 1.11 releases, but Qt builders can use -bundled-xcb-xinput switch. Fixes: QTBUG-73862 Fixes: QTBUG-73888 Task-number: QTBUG-67277 Task-number: QTBUG-30939 Change-Id: I4c2bd2a0e667220d32fd1fbfa1419c844f17fcce Reviewed-by: Lars Knoll --- src/3rdparty/xcb/libxcb/xinerama.c | 703 ------------------------------------- 1 file changed, 703 deletions(-) delete mode 100644 src/3rdparty/xcb/libxcb/xinerama.c (limited to 'src/3rdparty/xcb/libxcb/xinerama.c') diff --git a/src/3rdparty/xcb/libxcb/xinerama.c b/src/3rdparty/xcb/libxcb/xinerama.c deleted file mode 100644 index e660be267b..0000000000 --- a/src/3rdparty/xcb/libxcb/xinerama.c +++ /dev/null @@ -1,703 +0,0 @@ -/* - * This file generated automatically from xinerama.xml by c_client.py. - * Edit at your peril. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include -#include -#include -#include /* for offsetof() */ -#include "xcbext.h" -#include "xinerama.h" - -#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member) -#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); -} - -int -xcb_xinerama_query_screens_sizeof (const void *_buffer /**< */) -{ - char *xcb_tmp = (char *)_buffer; - const xcb_xinerama_query_screens_reply_t *_aux = (xcb_xinerama_query_screens_reply_t *)_buffer; - unsigned int xcb_buffer_len = 0; - unsigned int xcb_block_len = 0; - unsigned int xcb_pad = 0; - unsigned int xcb_align_to; - - - xcb_block_len += sizeof(xcb_xinerama_query_screens_reply_t); - xcb_tmp += xcb_block_len; - /* screen_info */ - xcb_block_len += _aux->number * sizeof(xcb_xinerama_screen_info_t); - xcb_tmp += xcb_block_len; - xcb_align_to = ALIGNOF(xcb_xinerama_screen_info_t); - /* insert padding */ - xcb_pad = -xcb_block_len & (xcb_align_to - 1); - xcb_buffer_len += xcb_block_len + xcb_pad; - if (0 != xcb_pad) { - xcb_tmp += xcb_pad; - xcb_pad = 0; - } - xcb_block_len = 0; - - return xcb_buffer_len; -} - - -/***************************************************************************** - ** - ** 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); -} - -- cgit v1.2.3