1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSGSIMPLETEXTURENODE_H
#define QSGSIMPLETEXTURENODE_H
#include <QtQuick/qsgnode.h>
#include <QtQuick/qsggeometry.h>
#include <QtQuick/qsgtexturematerial.h>
QT_BEGIN_NAMESPACE
class QSGSimpleTextureNodePrivate;
class Q_QUICK_EXPORT QSGSimpleTextureNode : public QSGGeometryNode
{
public:
QSGSimpleTextureNode();
~QSGSimpleTextureNode() override;
void setRect(const QRectF &rect);
inline void setRect(qreal x, qreal y, qreal w, qreal h) { setRect(QRectF(x, y, w, h)); }
QRectF rect() const;
void setSourceRect(const QRectF &r);
inline void setSourceRect(qreal x, qreal y, qreal w, qreal h) { setSourceRect(QRectF(x, y, w, h)); }
QRectF sourceRect() const;
void setTexture(QSGTexture *texture);
QSGTexture *texture() const;
void setFiltering(QSGTexture::Filtering filtering);
QSGTexture::Filtering filtering() const;
enum TextureCoordinatesTransformFlag {
NoTransform = 0x00,
MirrorHorizontally = 0x01,
MirrorVertically = 0x02
};
Q_DECLARE_FLAGS(TextureCoordinatesTransformMode, TextureCoordinatesTransformFlag)
void setTextureCoordinatesTransform(TextureCoordinatesTransformMode mode);
TextureCoordinatesTransformMode textureCoordinatesTransform() const;
void setOwnsTexture(bool owns);
bool ownsTexture() const;
private:
QSGGeometry m_geometry;
QSGOpaqueTextureMaterial m_opaque_material;
QSGTextureMaterial m_material;
QRectF m_rect;
Q_DECLARE_PRIVATE(QSGSimpleTextureNode)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QSGSimpleTextureNode::TextureCoordinatesTransformMode)
QT_END_NAMESPACE
#endif // QSGSIMPLETEXTURENODE_H
|