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_QGRAPHICSAPIFILTER_P_H
5#define QT3DRENDER_QGRAPHICSAPIFILTER_P_H
6
7#include <private/qobject_p.h>
8#include <Qt3DRender/qgraphicsapifilter.h>
9#include <Qt3DRender/private/qt3drender_global_p.h>
10
11//
12// W A R N I N G
13// -------------
14//
15// This file is not part of the Qt API. It exists for the convenience
16// of other Qt classes. This header file may change from version to
17// version without notice, or even be removed.
18//
19// We mean it.
20//
21
22QT_BEGIN_NAMESPACE
23
24namespace Qt3DRender {
25
26struct Q_3DRENDERSHARED_PRIVATE_EXPORT GraphicsApiFilterData
27{
28 GraphicsApiFilterData();
29
30 QGraphicsApiFilter::Api m_api;
31 QGraphicsApiFilter::OpenGLProfile m_profile;
32 int m_minor;
33 int m_major;
34 QStringList m_extensions;
35 QString m_vendor;
36
37 QString toString() const;
38
39 bool operator ==(const GraphicsApiFilterData &other) const;
40 bool operator !=(const GraphicsApiFilterData &other) const;
41 bool operator <(const GraphicsApiFilterData &other) const;
42};
43
44class Q_3DRENDERSHARED_PRIVATE_EXPORT QGraphicsApiFilterPrivate : public QObjectPrivate
45{
46public:
47 QGraphicsApiFilterPrivate()
48 : QObjectPrivate()
49 {
50 }
51
52 static QGraphicsApiFilterPrivate *get(QGraphicsApiFilter *q);
53 static const QGraphicsApiFilterPrivate *get(const QGraphicsApiFilter *q);
54
55 Q_DECLARE_PUBLIC(QGraphicsApiFilter)
56 GraphicsApiFilterData m_data;
57};
58
59} // Qt3DRender
60
61QT_END_NAMESPACE
62
63Q_DECLARE_METATYPE(Qt3DRender::GraphicsApiFilterData); // LCOV_EXCL_LINE
64
65#endif // QT3DRENDER_QGRAPHICSAPIFILTER_P_H
66

source code of qt3d/src/render/materialsystem/qgraphicsapifilter_p.h