1// Copyright (C) 2017 Jolla Ltd, author: <giulio.camuffo@jollamobile.com>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QQUICKWAYLANDSURFACE_H
5#define QQUICKWAYLANDSURFACE_H
6
7#include <QtWaylandCompositor/qwaylandsurface.h>
8#include <QtWaylandCompositor/qwaylandquickchildren.h>
9
10struct wl_client;
11
12QT_REQUIRE_CONFIG(wayland_compositor_quick);
13
14QT_BEGIN_NAMESPACE
15
16class QWaylandQuickSurfacePrivate;
17class QWaylandQuickCompositor;
18
19class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandQuickSurface : public QWaylandSurface
20{
21 Q_OBJECT
22 Q_DECLARE_PRIVATE(QWaylandQuickSurface)
23 Q_WAYLAND_COMPOSITOR_DECLARE_QUICK_CHILDREN(QWaylandQuickSurface)
24 Q_PROPERTY(bool useTextureAlpha READ useTextureAlpha WRITE setUseTextureAlpha NOTIFY useTextureAlphaChanged)
25 QML_NAMED_ELEMENT(WaylandSurface)
26 QML_ADDED_IN_VERSION(1, 0)
27public:
28 QWaylandQuickSurface();
29 QWaylandQuickSurface(QWaylandCompositor *compositor, QWaylandClient *client, quint32 id, int version);
30 ~QWaylandQuickSurface() override;
31
32 bool useTextureAlpha() const;
33 void setUseTextureAlpha(bool useTextureAlpha);
34
35protected:
36 QWaylandQuickSurface(QWaylandQuickSurfacePrivate &dptr);
37
38Q_SIGNALS:
39 void useTextureAlphaChanged();
40};
41
42QT_END_NAMESPACE
43
44#endif
45

source code of qtwayland/src/compositor/compositor_api/qwaylandquicksurface.h