1// Copyright (C) 2015 Paul Lemire
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QT3DRENDER_QSTENCILMASK_H
5#define QT3DRENDER_QSTENCILMASK_H
6
7#include <Qt3DRender/qrenderstate.h>
8
9QT_BEGIN_NAMESPACE
10
11namespace Qt3DRender {
12
13class QStencilMaskPrivate;
14
15class Q_3DRENDERSHARED_EXPORT QStencilMask : public QRenderState
16{
17 Q_OBJECT
18 Q_PROPERTY(uint frontOutputMask READ frontOutputMask WRITE setFrontOutputMask NOTIFY frontOutputMaskChanged)
19 Q_PROPERTY(uint backOutputMask READ backOutputMask WRITE setBackOutputMask NOTIFY backOutputMaskChanged)
20public:
21 explicit QStencilMask(Qt3DCore::QNode *parent = nullptr);
22 ~QStencilMask();
23
24 uint frontOutputMask() const;
25 uint backOutputMask() const;
26
27public Q_SLOTS:
28 void setFrontOutputMask(uint frontOutputMask);
29 void setBackOutputMask(uint backOutputMask);
30
31Q_SIGNALS:
32 void frontOutputMaskChanged(uint frontOutputMask);
33 void backOutputMaskChanged(uint backOutputMask);
34
35private:
36 Q_DECLARE_PRIVATE(QStencilMask)
37};
38
39} // namespace Qt3DRender
40
41QT_END_NAMESPACE
42
43#endif // QT3DRENDER_QSTENCILMASK_H
44

source code of qt3d/src/render/renderstates/qstencilmask.h