parent
b30a31d62f
commit
100b058ade
@ -1,117 +0,0 @@
|
||||
From cb13afd8530f651c7d0ce82e47eaa3e1939bd676 Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
Date: Mon, 5 Sep 2022 14:50:53 +0300
|
||||
Subject: [PATCH] Add support for wl_output version 4
|
||||
|
||||
---
|
||||
src/client/output.cpp | 30 +++++++++++++++++++++++++++++-
|
||||
src/client/output.h | 10 ++++++++++
|
||||
src/client/registry.cpp | 2 +-
|
||||
3 files changed, 40 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/client/output.cpp b/src/client/output.cpp
|
||||
index 5999af8..d1d4109 100644
|
||||
--- a/src/client/output.cpp
|
||||
+++ b/src/client/output.cpp
|
||||
@@ -39,6 +39,8 @@ public:
|
||||
Transform transform = Transform::Normal;
|
||||
Modes modes;
|
||||
Modes::iterator currentMode = modes.end();
|
||||
+ QString name;
|
||||
+ QString description;
|
||||
|
||||
static Output *get(wl_output *o);
|
||||
|
||||
@@ -56,6 +58,8 @@ private:
|
||||
static void modeCallback(void *data, wl_output *output, uint32_t flags, int32_t width, int32_t height, int32_t refresh);
|
||||
static void doneCallback(void *data, wl_output *output);
|
||||
static void scaleCallback(void *data, wl_output *output, int32_t scale);
|
||||
+ static void nameCallback(void *data, struct wl_output *wl_output, const char *name);
|
||||
+ static void descriptionCallback(void *data, struct wl_output *wl_output, const char *description);
|
||||
void setPhysicalSize(const QSize &size);
|
||||
void setGlobalPosition(const QPoint &pos);
|
||||
void setManufacturer(const QString &manufacturer);
|
||||
@@ -120,7 +124,7 @@ Output::~Output()
|
||||
d->output.release();
|
||||
}
|
||||
|
||||
-wl_output_listener Output::Private::s_outputListener = {geometryCallback, modeCallback, doneCallback, scaleCallback};
|
||||
+wl_output_listener Output::Private::s_outputListener = {geometryCallback, modeCallback, doneCallback, scaleCallback, nameCallback, descriptionCallback};
|
||||
|
||||
void Output::Private::geometryCallback(void *data,
|
||||
wl_output *output,
|
||||
@@ -234,6 +238,20 @@ void Output::Private::scaleCallback(void *data, wl_output *output, int32_t scale
|
||||
o->setScale(scale);
|
||||
}
|
||||
|
||||
+void Output::Private::nameCallback(void *data, struct wl_output *wl_output, const char *name)
|
||||
+{
|
||||
+ auto o = reinterpret_cast<Output::Private *>(data);
|
||||
+ Q_ASSERT(o->output == wl_output);
|
||||
+ o->name = QString::fromUtf8(name);
|
||||
+}
|
||||
+
|
||||
+void Output::Private::descriptionCallback(void *data, struct wl_output *wl_output, const char *description)
|
||||
+{
|
||||
+ auto o = reinterpret_cast<Output::Private *>(data);
|
||||
+ Q_ASSERT(o->output == wl_output);
|
||||
+ o->description = QString::fromUtf8(description);
|
||||
+}
|
||||
+
|
||||
void Output::Private::doneCallback(void *data, wl_output *output)
|
||||
{
|
||||
auto o = reinterpret_cast<Output::Private *>(data);
|
||||
@@ -365,6 +383,16 @@ QList<Output::Mode> Output::modes() const
|
||||
return d->modes;
|
||||
}
|
||||
|
||||
+QString Output::name() const
|
||||
+{
|
||||
+ return d->name;
|
||||
+}
|
||||
+
|
||||
+QString Output::description() const
|
||||
+{
|
||||
+ return d->description;
|
||||
+}
|
||||
+
|
||||
Output::operator wl_output *()
|
||||
{
|
||||
return d->output;
|
||||
diff --git a/src/client/output.h b/src/client/output.h
|
||||
index 3bd30dd..246af4b 100644
|
||||
--- a/src/client/output.h
|
||||
+++ b/src/client/output.h
|
||||
@@ -174,6 +174,16 @@ public:
|
||||
**/
|
||||
QList<Mode> modes() const;
|
||||
|
||||
+ /**
|
||||
+ * Returns the name of the output.
|
||||
+ **/
|
||||
+ QString name() const;
|
||||
+
|
||||
+ /**
|
||||
+ * Returns the human readable description of the output.
|
||||
+ **/
|
||||
+ QString description() const;
|
||||
+
|
||||
/**
|
||||
* Sets the @p queue to use for bound proxies.
|
||||
**/
|
||||
diff --git a/src/client/registry.cpp b/src/client/registry.cpp
|
||||
index 2c38c7f..f034a6e 100644
|
||||
--- a/src/client/registry.cpp
|
||||
+++ b/src/client/registry.cpp
|
||||
@@ -123,7 +123,7 @@ static const QMap<Registry::Interface, SuppertedInterfaceData> s_interfaces = {
|
||||
&Registry::dataDeviceManagerRemoved
|
||||
}},
|
||||
{Registry::Interface::Output, {
|
||||
- 3,
|
||||
+ 4,
|
||||
QByteArrayLiteral("wl_output"),
|
||||
&wl_output_interface,
|
||||
&Registry::outputAnnounced,
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in new issue