summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylandnativeinterface.h
diff options
context:
space:
mode:
authorLasse Holmstedt <lasse.holmstedt@nokia.com>2011-08-31 09:55:11 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-05 11:11:04 +0200
commit6fd75df2889c5635f3de265f40f9d23a35a94d00 (patch)
tree08c7fdef20be0feeb11b16c37200bd88cd70e4ce /src/plugins/platforms/wayland/qwaylandnativeinterface.h
parent74cf3bfc2c62ac30d16be68db1237a3dc55843a4 (diff)
Generic property support for platform windows
QPlatformNativeInterface can now contain generic window properties in a QVariantMap, to facilitate communication with the compositor and clients for certain platforms. When window properties change, a signal is emitted from the respective QPlatformNativeInterface instance. The properties are intended to be read/writable from both client and server. Change-Id: I7b42f7910d03c0d309add6c7dbb1c9b66ad22a3f Reviewed-on: http://codereview.qt.nokia.com/3956 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandnativeinterface.h')
-rw-r--r--src/plugins/platforms/wayland/qwaylandnativeinterface.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandnativeinterface.h b/src/plugins/platforms/wayland/qwaylandnativeinterface.h
index d33a41b00b..c92b44eb03 100644
--- a/src/plugins/platforms/wayland/qwaylandnativeinterface.h
+++ b/src/plugins/platforms/wayland/qwaylandnativeinterface.h
@@ -43,7 +43,7 @@
#define QWAYLANDNATIVEINTERFACE_H
#include "qwaylandscreen.h"
-
+#include <QVariantMap>
#include <QtGui/QPlatformNativeInterface>
class QWaylandNativeInterface : public QPlatformNativeInterface
@@ -52,8 +52,16 @@ public:
void *nativeResourceForWidget(const QByteArray &resourceString,
QWidget *widget);
+ QVariantMap windowProperties(QPlatformWindow *window) const;
+ QVariant windowProperty(QPlatformWindow *window, const QString &name) const;
+ QVariant windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const;
+ void setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value);
+
private:
static QWaylandScreen *qPlatformScreenForWidget(QWidget *widget);
+
+private:
+ QHash<QPlatformWindow*, QVariantMap> m_windowProperties;
};