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 QWAYLANDQUICKCOMPOSITOR_H 31 #define QWAYLANDQUICKCOMPOSITOR_H 32 33 #include <QtWaylandCompositor/qwaylandcompositor.h> 34 #include <QtQml/QQmlParserStatus> 35 36 QT_BEGIN_NAMESPACE 37 38 class QQuickWindow; 39 class QWaylandQuickCompositorPrivate; 40 class QWaylandView; 41 42 class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandQuickCompositor : public QWaylandCompositor, public QQmlParserStatus 43 { 44 Q_INTERFACES(QQmlParserStatus) 45 Q_OBJECT 46 public: 47 QWaylandQuickCompositor(QObject *parent = nullptr); 48 void create() override; 49 50 void grabSurface(QWaylandSurfaceGrabber *grabber, const QWaylandBufferRef &buffer) override; 51 52 protected: 53 void classBegin() override; 54 void componentComplete() override; 55 }; 56 57 QT_END_NAMESPACE 58 59 #endif 60