summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-02-09 10:43:54 +0100
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-02-11 12:58:29 +0000
commitba08832a4e2152c21fb0f3175d50bc6dc9a303cc (patch)
tree745e45bdd0a868ea615db79af9bdacc356083b2e
parent321658d288b8f790ecfe5ab5198bf6c0d27f0f73 (diff)
Move waylandfunctions from qtwayland to qtbase
The only place such headers can live is qtbase. Exporting headers under QtPlatformHeaders from other modules would conflict. Change-Id: I13d78fe54b50c5eaccc29bb166efdaafba70e6e2 Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
-rw-r--r--src/platformheaders/platformheaders.pro1
-rw-r--r--src/platformheaders/waylandfunctions/qwaylandwindowfunctions.h86
-rw-r--r--src/platformheaders/waylandfunctions/waylandfunctions.pri1
3 files changed, 88 insertions, 0 deletions
diff --git a/src/platformheaders/platformheaders.pro b/src/platformheaders/platformheaders.pro
index 1ced4f1c95..caaa67a486 100644
--- a/src/platformheaders/platformheaders.pro
+++ b/src/platformheaders/platformheaders.pro
@@ -9,6 +9,7 @@ include(eglfsfunctions/eglfsfunctions.pri)
include(windowsfunctions/windowsfunctions.pri)
include(helper/helper.pri)
include(cocoafunctions/cocoafunctions.pri)
+include(waylandfunctions/waylandfunctions.pri)
QMAKE_DOCS = $$PWD/doc/qtplatformheaders.qdocconf
diff --git a/src/platformheaders/waylandfunctions/qwaylandwindowfunctions.h b/src/platformheaders/waylandfunctions/qwaylandwindowfunctions.h
new file mode 100644
index 0000000000..9c2e5f2a14
--- /dev/null
+++ b/src/platformheaders/waylandfunctions/qwaylandwindowfunctions.h
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 LG Electronics Ltd, author: mikko.levonmaa@lge.com
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QWAYLANDWINDOWFUNCTIONS_H
+#define QWAYLANDWINDOWFUNCTIONS_H
+
+#include <QtCore/QByteArray>
+#include <QtGui/QGuiApplication>
+
+QT_BEGIN_NAMESPACE
+
+class QWindow;
+
+class QWaylandWindowFunctions {
+public:
+
+ typedef void (*SetWindowSync)(QWindow *window);
+ typedef void (*SetWindowDeSync)(QWindow *window);
+ typedef bool (*IsWindowSync)(QWindow *window);
+ static const QByteArray setSyncIdentifier() { return QByteArrayLiteral("WaylandSubSurfaceSetSync"); }
+ static const QByteArray setDeSyncIdentifier() { return QByteArrayLiteral("WaylandSubSurfaceSetDeSync"); }
+ static const QByteArray isSyncIdentifier() { return QByteArrayLiteral("WaylandSubSurfaceIsSync"); }
+
+ static void setSync(QWindow *window)
+ {
+ static SetWindowSync func = reinterpret_cast<SetWindowSync>(QGuiApplication::platformFunction(setSyncIdentifier()));
+ Q_ASSERT(func);
+ func(window);
+ }
+
+ static void setDeSync(QWindow *window)
+ {
+ static SetWindowDeSync func = reinterpret_cast<SetWindowDeSync>(QGuiApplication::platformFunction(setDeSyncIdentifier()));
+ Q_ASSERT(func);
+ func(window);
+ }
+
+ static bool isSync(QWindow *window)
+ {
+ static IsWindowSync func = reinterpret_cast<IsWindowSync>(QGuiApplication::platformFunction(isSyncIdentifier()));
+ Q_ASSERT(func);
+ return func(window);
+ }
+
+};
+
+QT_END_NAMESPACE
+
+#endif // QWAYLANDWINDOWFUNCTIONS_H
+
diff --git a/src/platformheaders/waylandfunctions/waylandfunctions.pri b/src/platformheaders/waylandfunctions/waylandfunctions.pri
new file mode 100644
index 0000000000..202df907e5
--- /dev/null
+++ b/src/platformheaders/waylandfunctions/waylandfunctions.pri
@@ -0,0 +1 @@
+HEADERS += $$PWD/qwaylandwindowfunctions.h