--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="xcomposite">
+ <!-- XComposite support. This object is created by the server and published
+ using the display's global event. -->
+ <copyright>
+ Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+ All rights reserved.
+ Contact: Nokia Corporation (qt-info@nokia.com)
+
+ This file is part of the plugins of the Qt Toolkit.
+
+ $QT_BEGIN_LICENSE:LGPL$
+ GNU Lesser General Public License Usage
+ This file may be used under the terms of the GNU Lesser General Public
+ License version 2.1 as published by the Free Software Foundation and
+ appearing in the file LICENSE.LGPL included in the packaging of this
+ file. Please review the following information to ensure the GNU Lesser
+ General Public License version 2.1 requirements will be met:
+ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+
+ In addition, as a special exception, Nokia gives you certain additional
+ rights. These rights are described in the Nokia Qt LGPL Exception
+ version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+
+ GNU General Public License Usage
+ Alternatively, this file may be used under the terms of the GNU General
+ Public License version 3.0 as published by the Free Software Foundation
+ and appearing in the file LICENSE.GPL included in the packaging of this
+ file. Please review the following information to ensure the GNU General
+ Public License version 3.0 requirements will be met:
+ http://www.gnu.org/copyleft/gpl.html.
+
+ Other Usage
+ Alternatively, this file may be used in accordance with the terms and
+ conditions contained in a signed written agreement between you and Nokia.
+
+
+
+
+
+ $QT_END_LICENSE$
+ </copyright>
+ <interface name="wl_xcomposite" version="1">
+
+ <!-- Create a wayland buffer for X Window. -->
+ <request name="create_buffer">
+ <arg name="id" type="new_id" interface="wl_buffer"/>
+ <arg name="x_window" type="uint"/>
+ <arg name="width" type="int"/>
+ <arg name="height" type="int"/>
+ </request>
+
+ <!-- Notification of the root window to use for the X Window created
+ on the client side. Also passes in the Display name to use -->
+ <event name="root">
+ <arg name="display_name" type="string"/>
+ <arg name="root_window" type="uint"/>
+ </event>
+
+ </interface>
+
+</protocol>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<protocol name="xcomposite">
- <!-- XComposite support. This object is created by the server and published
- using the display's global event. -->
- <interface name="wl_xcomposite" version="1">
-
- <!-- Create a wayland buffer for X Window. -->
- <request name="create_buffer">
- <arg name="id" type="new_id" interface="wl_buffer"/>
- <arg name="x_window" type="uint"/>
- <arg name="width" type="int"/>
- <arg name="height" type="int"/>
- </request>
-
- <!-- Notification of the root window to use for the X Window created
- on the client side. Also passes in the Display name to use -->
- <event name="root">
- <arg name="display_name" type="string"/>
- <arg name="root_window" type="uint"/>
- </event>
-
- </interface>
-
-</protocol>
+++ /dev/null
-#ifndef XCOMPOSITE_CLIENT_PROTOCOL_H
-#define XCOMPOSITE_CLIENT_PROTOCOL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-#include <stddef.h>
-#include "wayland-util.h"
-
-struct wl_client;
-struct wl_resource;
-
-struct wl_xcomposite;
-
-extern const struct wl_interface wl_xcomposite_interface;
-
-struct wl_xcomposite_listener {
- void (*root)(void *data,
- struct wl_xcomposite *wl_xcomposite,
- const char *display_name,
- uint32_t root_window);
-};
-
-static inline int
-wl_xcomposite_add_listener(struct wl_xcomposite *wl_xcomposite,
- const struct wl_xcomposite_listener *listener, void *data)
-{
- return wl_proxy_add_listener((struct wl_proxy *) wl_xcomposite,
- (void (**)(void)) listener, data);
-}
-
-#define WL_XCOMPOSITE_CREATE_BUFFER 0
-
-static inline void
-wl_xcomposite_set_user_data(struct wl_xcomposite *wl_xcomposite, void *user_data)
-{
- wl_proxy_set_user_data((struct wl_proxy *) wl_xcomposite, user_data);
-}
-
-static inline void *
-wl_xcomposite_get_user_data(struct wl_xcomposite *wl_xcomposite)
-{
- return wl_proxy_get_user_data((struct wl_proxy *) wl_xcomposite);
-}
-
-static inline void
-wl_xcomposite_destroy(struct wl_xcomposite *wl_xcomposite)
-{
- wl_proxy_destroy((struct wl_proxy *) wl_xcomposite);
-}
-
-static inline struct wl_buffer *
-wl_xcomposite_create_buffer(struct wl_xcomposite *wl_xcomposite, uint32_t x_window, int32_t width, int32_t height)
-{
- struct wl_proxy *id;
-
- id = wl_proxy_create((struct wl_proxy *) wl_xcomposite,
- &wl_buffer_interface);
- if (!id)
- return NULL;
-
- wl_proxy_marshal((struct wl_proxy *) wl_xcomposite,
- WL_XCOMPOSITE_CREATE_BUFFER, id, x_window, width, height);
-
- return (struct wl_buffer *) id;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
+++ /dev/null
-#include <stdlib.h>
-#include <stdint.h>
-#include "wayland-util.h"
-
-extern const struct wl_interface wl_buffer_interface;
-
-static const struct wl_interface *types[] = {
- NULL,
- NULL,
- &wl_buffer_interface,
- NULL,
- NULL,
- NULL,
-};
-
-static const struct wl_message wl_xcomposite_requests[] = {
- { "create_buffer", "nuii", types + 2 },
-};
-
-static const struct wl_message wl_xcomposite_events[] = {
- { "root", "su", types + 0 },
-};
-
-WL_EXPORT const struct wl_interface wl_xcomposite_interface = {
- "wl_xcomposite", 1,
- ARRAY_LENGTH(wl_xcomposite_requests), wl_xcomposite_requests,
- ARRAY_LENGTH(wl_xcomposite_events), wl_xcomposite_events,
-};
-
+++ /dev/null
-#ifndef XCOMPOSITE_SERVER_PROTOCOL_H
-#define XCOMPOSITE_SERVER_PROTOCOL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-#include <stddef.h>
-#include "wayland-util.h"
-
-struct wl_client;
-struct wl_resource;
-
-struct wl_xcomposite;
-
-extern const struct wl_interface wl_xcomposite_interface;
-
-struct wl_xcomposite_interface {
- void (*create_buffer)(struct wl_client *client,
- struct wl_resource *resource,
- uint32_t id,
- uint32_t x_window,
- int32_t width,
- int32_t height);
-};
-
-#define WL_XCOMPOSITE_ROOT 0
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
INCLUDEPATH += $$PWD
+WAYLANDSOURCES += $$PWD/../../../../extensions/xcomposite/xcomposite.xml
+
HEADERS += \
- $$PWD/wayland-xcomposite-server-protocol.h \
$$PWD/xcompositebuffer.h \
$$PWD/xcompositehandler.h \
$$PWD/xlibinclude.h
SOURCES += \
- $$PWD/wayland-xcomposite-protocol.c \
$$PWD/xcompositebuffer.cpp \
$$PWD/xcompositehandler.cpp
+++ /dev/null
-#ifndef XCOMPOSITE_CLIENT_PROTOCOL_H
-#define XCOMPOSITE_CLIENT_PROTOCOL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-#include <stddef.h>
-#include "wayland-util.h"
-
-struct wl_client;
-struct wl_resource;
-
-struct wl_xcomposite;
-
-extern const struct wl_interface wl_xcomposite_interface;
-
-struct wl_xcomposite_listener {
- void (*root)(void *data,
- struct wl_xcomposite *wl_xcomposite,
- const char *display_name,
- uint32_t root_window);
-};
-
-static inline int
-wl_xcomposite_add_listener(struct wl_xcomposite *wl_xcomposite,
- const struct wl_xcomposite_listener *listener, void *data)
-{
- return wl_proxy_add_listener((struct wl_proxy *) wl_xcomposite,
- (void (**)(void)) listener, data);
-}
-
-#define WL_XCOMPOSITE_CREATE_BUFFER 0
-
-static inline void
-wl_xcomposite_set_user_data(struct wl_xcomposite *wl_xcomposite, void *user_data)
-{
- wl_proxy_set_user_data((struct wl_proxy *) wl_xcomposite, user_data);
-}
-
-static inline void *
-wl_xcomposite_get_user_data(struct wl_xcomposite *wl_xcomposite)
-{
- return wl_proxy_get_user_data((struct wl_proxy *) wl_xcomposite);
-}
-
-static inline void
-wl_xcomposite_destroy(struct wl_xcomposite *wl_xcomposite)
-{
- wl_proxy_destroy((struct wl_proxy *) wl_xcomposite);
-}
-
-static inline struct wl_buffer *
-wl_xcomposite_create_buffer(struct wl_xcomposite *wl_xcomposite, uint32_t x_window, int32_t width, int32_t height)
-{
- struct wl_proxy *id;
-
- id = wl_proxy_create((struct wl_proxy *) wl_xcomposite,
- &wl_buffer_interface);
- if (!id)
- return NULL;
-
- wl_proxy_marshal((struct wl_proxy *) wl_xcomposite,
- WL_XCOMPOSITE_CREATE_BUFFER, id, x_window, width, height);
-
- return (struct wl_buffer *) id;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
+++ /dev/null
-#include <stdlib.h>
-#include <stdint.h>
-#include "wayland-util.h"
-
-extern const struct wl_interface wl_buffer_interface;
-
-static const struct wl_interface *types[] = {
- NULL,
- NULL,
- &wl_buffer_interface,
- NULL,
- NULL,
- NULL,
-};
-
-static const struct wl_message wl_xcomposite_requests[] = {
- { "create_buffer", "nuii", types + 2 },
-};
-
-static const struct wl_message wl_xcomposite_events[] = {
- { "root", "su", types + 0 },
-};
-
-WL_EXPORT const struct wl_interface wl_xcomposite_interface = {
- "wl_xcomposite", 1,
- ARRAY_LENGTH(wl_xcomposite_requests), wl_xcomposite_requests,
- ARRAY_LENGTH(wl_xcomposite_events), wl_xcomposite_events,
-};
-
INCLUDEPATH += $$PWD
+WAYLANDSOURCES += $$PWD/../../../../../../extensions/xcomposite/xcomposite.xml
+
HEADERS += \
- $$PWD/wayland-xcomposite-client-protocol.h \
- gl_integration/xcomposite_share/qwaylandxcompositebuffer.h
+ $$PWD/qwaylandxcompositebuffer.h
SOURCES += \
- $$PWD/wayland-xcomposite-protocol.c \
- gl_integration/xcomposite_share/qwaylandxcompositebuffer.cpp
+ $$PWD/qwaylandxcompositebuffer.cpp