1// Copyright (C) 2008-2012 NVIDIA Corporation.
2// Copyright (C) 2019 The Qt Company Ltd.
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
4
5#ifndef QSSG_RENDER_IMAGE_TEXTURE_H
6#define QSSG_RENDER_IMAGE_TEXTURE_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <private/qglobal_p.h>
20
21QT_BEGIN_NAMESPACE
22
23class QRhiTexture;
24
25enum class QSSGRenderImageTextureFlagValue
26{
27 HasTransparency = 1 << 0,
28 RGBE8 = 1 << 1,
29 Linear = 1 << 2
30};
31
32struct QSSGRenderImageTextureFlags : public QFlags<QSSGRenderImageTextureFlagValue>
33{
34 bool hasTransparency() const { return this->operator&(other: QSSGRenderImageTextureFlagValue::HasTransparency); }
35 void setHasTransparency(bool inValue) { setFlag(flag: QSSGRenderImageTextureFlagValue::HasTransparency, on: inValue); }
36
37 bool isRgbe8() const { return this->operator&(other: QSSGRenderImageTextureFlagValue::RGBE8); }
38 void setRgbe8(bool inValue) { setFlag(flag: QSSGRenderImageTextureFlagValue::RGBE8, on: inValue); }
39
40 bool isLinear() const { return this->operator&(other: QSSGRenderImageTextureFlagValue::Linear); }
41 void setLinear(bool inValue) { setFlag(flag: QSSGRenderImageTextureFlagValue::Linear, on: inValue); }
42};
43
44struct QSSGRenderImageTexture
45{
46 QRhiTexture *m_texture = nullptr; // not owned
47 int m_mipmapCount = 0;
48 QSSGRenderImageTextureFlags m_flags;
49};
50
51QT_END_NAMESPACE
52
53#endif
54

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qtquick3d/src/runtimerender/qssgrenderimagetexture_p.h