summaryrefslogtreecommitdiffstats
path: root/examples/wayland/custom-extension/compositor/customextension.cpp
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@qt.io>2017-10-25 14:06:54 +0200
committerPaul Olav Tvete <paul.tvete@qt.io>2017-10-25 14:06:54 +0200
commit523cf490b4c46916c6f5253c666a492f5cce2aad (patch)
treeb4514f338b143ab430fe2b91ec7699cb176a147e /examples/wayland/custom-extension/compositor/customextension.cpp
parent8e3c71b2d1ec37222bf1648aa23eb033062b4ea6 (diff)
parentf1407493d6d25f24a3c71fbcedc00598baa44b56 (diff)
Merge remote-tracking branch 'qt/5.9' into 5.10v5.10.0-beta3
Diffstat (limited to 'examples/wayland/custom-extension/compositor/customextension.cpp')
-rw-r--r--examples/wayland/custom-extension/compositor/customextension.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/wayland/custom-extension/compositor/customextension.cpp b/examples/wayland/custom-extension/compositor/customextension.cpp
index 8304e1afe..d9f637a12 100644
--- a/examples/wayland/custom-extension/compositor/customextension.cpp
+++ b/examples/wayland/custom-extension/compositor/customextension.cpp
@@ -123,3 +123,39 @@ void CustomExtension::example_extension_register_surface(QtWaylandServer::qt_exa
qDebug() << "server received new surface" << surface;
emit surfaceAdded(surface);
}
+
+
+void CustomExtension::example_extension_create_local_object(Resource *resource, uint32_t id, const QString &color, const QString &text)
+{
+ auto *obj = new CustomExtensionObject(color, text, resource->client(), id, 1);
+ qDebug() << "Object created" << text << color;
+ emit customObjectCreated(obj);
+}
+
+CustomExtensionObject::CustomExtensionObject(const QString &color, const QString &text, wl_client *client, int id, int version)
+ : QtWaylandServer::qt_example_local_object(client, id, version)
+ , m_color(color)
+ , m_text(text)
+{
+
+}
+
+void CustomExtensionObject::sendClicked()
+{
+ send_clicked();
+}
+
+void CustomExtensionObject::example_local_object_destroy_resource(QtWaylandServer::qt_example_local_object::Resource *resource)
+{
+ Q_UNUSED(resource);
+ qDebug() << "Object destroyed" << m_text << m_color;
+ emit resourceDestroyed();
+}
+
+
+void CustomExtensionObject::example_local_object_set_text(QtWaylandServer::qt_example_local_object::Resource *resource, const QString &text)
+{
+ Q_UNUSED(resource);
+ qDebug() << "Client changed text from" << m_text << "to" << text;
+ setText(text);
+}