1// Copyright (C) 2016 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#ifndef QT3DRENDER_QSTENCILTEST_P_H
5#define QT3DRENDER_QSTENCILTEST_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of other Qt classes. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <Qt3DRender/private/qrenderstate_p.h>
19#include <Qt3DRender/qstenciltest.h>
20#include <Qt3DRender/qstenciltestarguments.h>
21#include <Qt3DRender/private/qstenciltestarguments_p.h>
22#include <Qt3DRender/private/qt3drender_global_p.h>
23
24QT_BEGIN_NAMESPACE
25
26namespace Qt3DRender {
27
28struct QStencilTestData
29{
30 QStencilTestArgumentsData front;
31 QStencilTestArgumentsData back;
32};
33
34class Q_3DRENDERSHARED_PRIVATE_EXPORT QStencilTestPrivate : public QRenderStatePrivate
35{
36public:
37 QStencilTestPrivate()
38 : QRenderStatePrivate(Render::StencilTestStateMask)
39 , m_front(new QStencilTestArguments(QStencilTestArguments::Front))
40 , m_back(new QStencilTestArguments(QStencilTestArguments::Back))
41 {
42 }
43
44 Q_DECLARE_PUBLIC(QStencilTest)
45 QStencilTestArguments *m_front;
46 QStencilTestArguments *m_back;
47
48 void fillData(QStencilTestData &data) const;
49};
50
51} // namespace Qt3DRender
52
53QT_END_NAMESPACE
54
55Q_DECLARE_METATYPE(Qt3DRender::QStencilTestData)
56
57#endif // QT3DRENDER_QSTENCILTEST_P_H
58

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