summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHyungchan Kim <hyungchan2.kim@lge.com>2021-02-02 08:49:37 +0900
committerHyungchan Kim <hyungchan2.kim@lge.com>2021-02-22 17:07:17 +0900
commit3bba990c3f1cbc30dedcfcc78b63687682242ab0 (patch)
tree1dba5b325ed2337686c53cd5b3be91229bf05430 /src
parentbf60784393552a605d166330d3fdc87e900e8a0b (diff)
Export QWaylandQuickSurfacePrivate
Allow making derived class from QWaylandQuickSurface and its private class Change-Id: I223f02d053333c92c2dcf51044094966e8fd4029 Reviewed-by: Hyungchan Kim <hyungchan2.kim@lge.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/compositor/CMakeLists.txt2
-rw-r--r--src/compositor/compositor_api/compositor_api.pri1
-rw-r--r--src/compositor/compositor_api/qwaylandquicksurface.cpp22
-rw-r--r--src/compositor/compositor_api/qwaylandquicksurface.h3
-rw-r--r--src/compositor/compositor_api/qwaylandquicksurface_p.h66
5 files changed, 77 insertions, 17 deletions
diff --git a/src/compositor/CMakeLists.txt b/src/compositor/CMakeLists.txt
index bb8879422..b079c4807 100644
--- a/src/compositor/CMakeLists.txt
+++ b/src/compositor/CMakeLists.txt
@@ -149,7 +149,7 @@ qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_wayland_composi
compositor_api/qwaylandquickcompositor.cpp compositor_api/qwaylandquickcompositor.h
compositor_api/qwaylandquickitem.cpp compositor_api/qwaylandquickitem.h compositor_api/qwaylandquickitem_p.h
compositor_api/qwaylandquickoutput.cpp compositor_api/qwaylandquickoutput.h
- compositor_api/qwaylandquicksurface.cpp compositor_api/qwaylandquicksurface.h
+ compositor_api/qwaylandquicksurface.cpp compositor_api/qwaylandquicksurface.h compositor_api/qwaylandquicksurface_p.h
extensions/qwaylandivisurfaceintegration.cpp extensions/qwaylandivisurfaceintegration_p.h
extensions/qwaylandquickshellintegration.cpp extensions/qwaylandquickshellintegration.h
extensions/qwaylandquickshellsurfaceitem.cpp extensions/qwaylandquickshellsurfaceitem.h extensions/qwaylandquickshellsurfaceitem_p.h
diff --git a/src/compositor/compositor_api/compositor_api.pri b/src/compositor/compositor_api/compositor_api.pri
index 342e1841a..d8cfcaad3 100644
--- a/src/compositor/compositor_api/compositor_api.pri
+++ b/src/compositor/compositor_api/compositor_api.pri
@@ -77,6 +77,7 @@ qtConfig(wayland-compositor-quick) {
compositor_api/qwaylandquickchildren.h \
compositor_api/qwaylandquickcompositor.h \
compositor_api/qwaylandquicksurface.h \
+ compositor_api/qwaylandquicksurface_p.h \
compositor_api/qwaylandquickoutput.h \
compositor_api/qwaylandquickitem.h \
compositor_api/qwaylandquickitem_p.h
diff --git a/src/compositor/compositor_api/qwaylandquicksurface.cpp b/src/compositor/compositor_api/qwaylandquicksurface.cpp
index 694d640ff..1787435de 100644
--- a/src/compositor/compositor_api/qwaylandquicksurface.cpp
+++ b/src/compositor/compositor_api/qwaylandquicksurface.cpp
@@ -32,6 +32,7 @@
#include <QDebug>
#include "qwaylandquicksurface.h"
+#include "qwaylandquicksurface_p.h"
#include "qwaylandquickcompositor.h"
#include "qwaylandquickitem.h"
#include <QtWaylandCompositor/qwaylandbufferref.h>
@@ -40,22 +41,6 @@
QT_BEGIN_NAMESPACE
-class QWaylandQuickSurfacePrivate : public QWaylandSurfacePrivate
-{
- Q_DECLARE_PUBLIC(QWaylandQuickSurface)
-public:
- QWaylandQuickSurfacePrivate()
- {
- }
-
- ~QWaylandQuickSurfacePrivate() override
- {
- }
-
- bool useTextureAlpha = true;
- bool clientRenderingEnabled = true;
-};
-
QWaylandQuickSurface::QWaylandQuickSurface()
: QWaylandSurface(* new QWaylandQuickSurfacePrivate())
{
@@ -67,6 +52,11 @@ QWaylandQuickSurface::QWaylandQuickSurface(QWaylandCompositor *compositor, QWayl
initialize(compositor, client, id, version);
}
+QWaylandQuickSurface::QWaylandQuickSurface(QWaylandQuickSurfacePrivate &dptr)
+ : QWaylandSurface(dptr)
+{
+}
+
QWaylandQuickSurface::~QWaylandQuickSurface()
{
diff --git a/src/compositor/compositor_api/qwaylandquicksurface.h b/src/compositor/compositor_api/qwaylandquicksurface.h
index e33815254..29d01baaa 100644
--- a/src/compositor/compositor_api/qwaylandquicksurface.h
+++ b/src/compositor/compositor_api/qwaylandquicksurface.h
@@ -56,6 +56,9 @@ public:
bool useTextureAlpha() const;
void setUseTextureAlpha(bool useTextureAlpha);
+protected:
+ QWaylandQuickSurface(QWaylandQuickSurfacePrivate &dptr);
+
Q_SIGNALS:
void useTextureAlphaChanged();
};
diff --git a/src/compositor/compositor_api/qwaylandquicksurface_p.h b/src/compositor/compositor_api/qwaylandquicksurface_p.h
new file mode 100644
index 000000000..0f15141c6
--- /dev/null
+++ b/src/compositor/compositor_api/qwaylandquicksurface_p.h
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtWaylandCompositor module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** 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 General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) 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.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-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QWAYLANDQUICKSURFACE_P_H
+#define QWAYLANDQUICKSURFACE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtWaylandCompositor/private/qwaylandsurface_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandQuickSurfacePrivate : public QWaylandSurfacePrivate
+{
+ Q_DECLARE_PUBLIC(QWaylandQuickSurface)
+public:
+ QWaylandQuickSurfacePrivate()
+ {
+ }
+
+ ~QWaylandQuickSurfacePrivate() override
+ {
+ }
+
+ bool useTextureAlpha = true;
+ bool clientRenderingEnabled = true;
+};
+
+QT_END_NAMESPACE
+
+#endif // QWAYLANDQUICKSURFACE_P_H