1// Copyright (C) 2018 Klaralvdalens Datakonsult AB (KDAB).
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include <Qt3DRender/QFrameGraphNode>
5#include <QtCore/QVariant>
6
7#ifndef QT3DRENDER_QSETFENCE_H
8#define QT3DRENDER_QSETFENCE_H
9
10QT_BEGIN_NAMESPACE
11
12namespace Qt3DRender {
13
14class QSetFencePrivate;
15
16class Q_3DRENDERSHARED_EXPORT QSetFence : public QFrameGraphNode
17{
18 Q_OBJECT
19 Q_PROPERTY(HandleType handleType READ handleType NOTIFY handleTypeChanged)
20 Q_PROPERTY(QVariant handle READ handle NOTIFY handleChanged)
21public:
22 enum HandleType {
23 NoHandle,
24 OpenGLFenceId
25 };
26 Q_ENUM(HandleType) // LCOV_EXCL_LINE
27
28 explicit QSetFence(Qt3DCore::QNode *parent = nullptr);
29 ~QSetFence();
30
31 HandleType handleType() const;
32 QVariant handle() const;
33
34Q_SIGNALS:
35 void handleTypeChanged(HandleType handleType);
36 void handleChanged(QVariant handle);
37
38protected:
39 explicit QSetFence(QSetFencePrivate &dd, Qt3DCore::QNode *parent = nullptr);
40
41private:
42 Q_DECLARE_PRIVATE(QSetFence)
43};
44
45} // Qt3DRender
46
47QT_END_NAMESPACE
48
49#endif // QT3DRENDER_QSETFENCE_H
50

source code of qt3d/src/render/framegraph/qsetfence.h