1/****************************************************************************
2**
3** Copyright (C) 2017 Jolla Ltd, author: <giulio.camuffo@jollamobile.com>
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtWaylandCompositor module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:GPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 or (at your option) any later version
20** approved by the KDE Free Qt Foundation. The licenses are as published by
21** the Free Software Foundation and appearing in the file LICENSE.GPL3
22** included in the packaging of this file. Please review the following
23** information to ensure the GNU General Public License requirements will
24** be met: https://www.gnu.org/licenses/gpl-3.0.html.
25**
26** $QT_END_LICENSE$
27**
28****************************************************************************/
29
30#ifndef QQUICKWAYLANDSURFACE_H
31#define QQUICKWAYLANDSURFACE_H
32
33#include <QtWaylandCompositor/qwaylandsurface.h>
34#include <QtWaylandCompositor/qwaylandquickchildren.h>
35
36struct wl_client;
37
38QT_BEGIN_NAMESPACE
39
40class QWaylandQuickSurfacePrivate;
41class QWaylandQuickCompositor;
42
43class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandQuickSurface : public QWaylandSurface
44{
45 Q_OBJECT
46 Q_DECLARE_PRIVATE(QWaylandQuickSurface)
47 Q_WAYLAND_COMPOSITOR_DECLARE_QUICK_CHILDREN(QWaylandQuickSurface)
48 Q_PROPERTY(bool useTextureAlpha READ useTextureAlpha WRITE setUseTextureAlpha NOTIFY useTextureAlphaChanged)
49 Q_PROPERTY(bool clientRenderingEnabled READ clientRenderingEnabled WRITE setClientRenderingEnabled NOTIFY clientRenderingEnabledChanged)
50public:
51 QWaylandQuickSurface();
52 QWaylandQuickSurface(QWaylandCompositor *compositor, QWaylandClient *client, quint32 id, int version);
53 ~QWaylandQuickSurface() override;
54
55 bool useTextureAlpha() const;
56 void setUseTextureAlpha(bool useTextureAlpha);
57
58 Q_DECL_DEPRECATED bool clientRenderingEnabled() const;
59 Q_DECL_DEPRECATED void setClientRenderingEnabled(bool enabled);
60
61Q_SIGNALS:
62 void useTextureAlphaChanged();
63 void clientRenderingEnabledChanged(); //deprecated
64};
65
66QT_END_NAMESPACE
67
68#endif
69

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