Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qsgsoftwareinternalimagenode_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QSGSOFTWAREINTERNALIMAGENODE_H
6
#
define
QSGSOFTWAREINTERNALIMAGENODE_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
/
qsgadaptationlayer_p
.
h
>
20
#
include
<
private
/
qsgtexturematerial_p
.
h
>
21
22
#
include
<
QtCore
/
QPointer
>
23
24
QT_BEGIN_NAMESPACE
25
26
namespace
QSGSoftwareHelpers {
27
28
typedef
QVarLengthArray
<
QPainter
::
PixmapFragment
, 16>
QPixmapFragmentsArray
;
29
30
struct
QTileRules
31
{
32
inline
QTileRules
(Qt::TileRule horizontalRule, Qt::TileRule verticalRule)
33
:
horizontal
(
horizontalRule
),
vertical
(
verticalRule
) {}
34
inline
QTileRules
(Qt::TileRule rule =
Qt
::
StretchTile
)
35
:
horizontal
(
rule
),
vertical
(
rule
) {}
36
Qt
::
TileRule
horizontal
;
37
Qt
::
TileRule
vertical
;
38
};
39
40
#
ifndef
Q_QDOC
41
// For internal use only.
42
namespace
QDrawBorderPixmap
43
{
44
enum
DrawingHint
45
{
46
OpaqueTopLeft
= 0x0001,
47
OpaqueTop
= 0x0002,
48
OpaqueTopRight
= 0x0004,
49
OpaqueLeft
= 0x0008,
50
OpaqueCenter
= 0x0010,
51
OpaqueRight
= 0x0020,
52
OpaqueBottomLeft
= 0x0040,
53
OpaqueBottom
= 0x0080,
54
OpaqueBottomRight
= 0x0100,
55
OpaqueCorners
=
OpaqueTopLeft
|
OpaqueTopRight
|
OpaqueBottomLeft
|
OpaqueBottomRight
,
56
OpaqueEdges
=
OpaqueTop
|
OpaqueLeft
|
OpaqueRight
|
OpaqueBottom
,
57
OpaqueFrame
=
OpaqueCorners
|
OpaqueEdges
,
58
OpaqueAll
=
OpaqueCenter
|
OpaqueFrame
59
};
60
61
Q_DECLARE_FLAGS
(
DrawingHints
,
DrawingHint
)
62
}
63
#
endif
64
65
void
qDrawBorderPixmap
(
QPainter
*
painter
,
const
QRect
&
targetRect
,
const
QMargins
&
targetMargins
,
66
const
QPixmap
&
pixmap
,
const
QRect
&
sourceRect
,
const
QMargins
&
sourceMargins
,
67
const
QTileRules
&
rules
,
QDrawBorderPixmap
::
DrawingHints
hints
);
68
69
}
// QSGSoftwareHelpers namespace
70
71
class
QSGSoftwareInternalImageNode
:
public
QSGInternalImageNode
72
{
73
public
:
74
QSGSoftwareInternalImageNode
();
75
76
void
setTargetRect
(
const
QRectF &rect)
override
;
77
void
setInnerTargetRect
(
const
QRectF &rect)
override
;
78
void
setInnerSourceRect
(
const
QRectF &rect)
override
;
79
void
setSubSourceRect
(
const
QRectF &rect)
override
;
80
void
setTexture
(QSGTexture *texture)
override
;
81
void
setMirror
(
bool
mirrorHorizontally,
bool
mirrorVertically)
override
;
82
void
setMipmapFiltering
(QSGTexture::Filtering filtering)
override
;
83
void
setFiltering
(QSGTexture::Filtering filtering)
override
;
84
void
setHorizontalWrapMode
(QSGTexture::WrapMode wrapMode)
override
;
85
void
setVerticalWrapMode
(QSGTexture::WrapMode wrapMode)
override
;
86
void
update
()
override
;
87
88
void
preprocess
()
override
;
89
90
void
paint
(QPainter *painter);
91
92
QRectF
rect
()
const
;
93
94
const
QPixmap
&
pixmap
()
const
;
95
private
:
96
void
updateCachedMirroredPixmap();
97
QRectF m_targetRect;
98
QRectF m_innerTargetRect;
99
QRectF m_innerSourceRect;
100
QRectF m_subSourceRect;
101
102
QPointer<QSGTexture> m_texture;
103
QPixmap m_cachedMirroredPixmap;
104
105
bool
m_mirrorHorizontally;
106
bool
m_mirrorVertically;
107
bool
m_textureIsLayer;
108
bool
m_smooth;
109
bool
m_tileHorizontal;
110
bool
m_tileVertical;
111
bool
m_cachedMirroredPixmapIsDirty;
112
};
113
114
QT_END_NAMESPACE
115
116
#
endif
// QSGSOFTWAREINTERNALIMAGENODE_H
QSGSoftwareInternalImageNode
Definition
qsgsoftwareinternalimagenode_p.h:72
QSGSoftwareInternalImageNode::setInnerSourceRect
void setInnerSourceRect(const QRectF &rect) override
Definition
qsgsoftwareinternalimagenode.cpp:309
QSGSoftwareInternalImageNode::paint
void paint(QPainter *painter)
Definition
qsgsoftwareinternalimagenode.cpp:407
QSGSoftwareInternalImageNode::setTexture
void setTexture(QSGTexture *texture) override
Definition
qsgsoftwareinternalimagenode.cpp:325
QSGSoftwareInternalImageNode::setSubSourceRect
void setSubSourceRect(const QRectF &rect) override
Definition
qsgsoftwareinternalimagenode.cpp:317
QSGSoftwareInternalImageNode::pixmap
const QPixmap & pixmap() const
Definition
qsgsoftwareinternalimagenode.cpp:448
QSGSoftwareInternalImageNode::preprocess
void preprocess() override
Override this function to do processing on the node before it is rendered.
Definition
qsgsoftwareinternalimagenode.cpp:382
QSGSoftwareInternalImageNode::setTargetRect
void setTargetRect(const QRectF &rect) override
Definition
qsgsoftwareinternalimagenode.cpp:293
QSGSoftwareInternalImageNode::setVerticalWrapMode
void setVerticalWrapMode(QSGTexture::WrapMode wrapMode) override
Definition
qsgsoftwareinternalimagenode.cpp:367
QSGSoftwareInternalImageNode::setInnerTargetRect
void setInnerTargetRect(const QRectF &rect) override
Definition
qsgsoftwareinternalimagenode.cpp:301
QSGSoftwareInternalImageNode::QSGSoftwareInternalImageNode
QSGSoftwareInternalImageNode()
Definition
qsgsoftwareinternalimagenode.cpp:276
QSGSoftwareInternalImageNode::setMirror
void setMirror(bool mirrorHorizontally, bool mirrorVertically) override
Definition
qsgsoftwareinternalimagenode.cpp:333
QSGSoftwareInternalImageNode::rect
QRectF rect() const
Definition
qsgsoftwareinternalimagenode.cpp:443
QSGSoftwareInternalImageNode::setMipmapFiltering
void setMipmapFiltering(QSGTexture::Filtering filtering) override
Definition
qsgsoftwareinternalimagenode.cpp:343
QSGSoftwareInternalImageNode::setHorizontalWrapMode
void setHorizontalWrapMode(QSGTexture::WrapMode wrapMode) override
Definition
qsgsoftwareinternalimagenode.cpp:357
QSGSoftwareInternalImageNode::update
void update() override
Definition
qsgsoftwareinternalimagenode.cpp:377
QSGSoftwareInternalImageNode::setFiltering
void setFiltering(QSGTexture::Filtering filtering) override
Definition
qsgsoftwareinternalimagenode.cpp:347
QSGSoftwareInternalRectangleNode
Definition
qsgsoftwareinternalrectanglenode_p.h:28
QSGSoftwareInternalRectangleNode::setBottomRightRadius
void setBottomRightRadius(qreal radius) override
Definition
qsgsoftwareinternalrectanglenode.cpp:213
QSGSoftwareInternalRectangleNode::rect
QRectF rect() const
Definition
qsgsoftwareinternalrectanglenode.cpp:379
QSGSoftwareInternalRectangleNode::paint
void paint(QPainter *)
Definition
qsgsoftwareinternalrectanglenode.cpp:286
QSGSoftwareInternalRectangleNode::setRect
void setRect(const QRectF &rect) override
Definition
qsgsoftwareinternalrectanglenode.cpp:33
QSGSoftwareInternalRectangleNode::setRadius
void setRadius(qreal radius) override
Definition
qsgsoftwareinternalrectanglenode.cpp:174
QSGSoftwareInternalRectangleNode::setAntialiasing
void setAntialiasing(bool antialiasing) override
Definition
qsgsoftwareinternalrectanglenode_p.h:47
QSGSoftwareInternalRectangleNode::setGradientVertical
void setGradientVertical(bool vertical) override
Definition
qsgsoftwareinternalrectanglenode.cpp:165
QSGSoftwareInternalRectangleNode::resetBottomRightRadius
void resetBottomRightRadius() override
Definition
qsgsoftwareinternalrectanglenode.cpp:250
QSGSoftwareInternalRectangleNode::setTopLeftRadius
void setTopLeftRadius(qreal radius) override
Definition
qsgsoftwareinternalrectanglenode.cpp:183
QSGSoftwareInternalRectangleNode::update
void update() override
Definition
qsgsoftwareinternalrectanglenode.cpp:263
QSGSoftwareInternalRectangleNode::QSGSoftwareInternalRectangleNode
QSGSoftwareInternalRectangleNode()
Definition
qsgsoftwareinternalrectanglenode.cpp:12
QSGSoftwareInternalRectangleNode::setTopRightRadius
void setTopRightRadius(qreal radius) override
Definition
qsgsoftwareinternalrectanglenode.cpp:193
QSGSoftwareInternalRectangleNode::setBottomLeftRadius
void setBottomLeftRadius(qreal radius) override
Definition
qsgsoftwareinternalrectanglenode.cpp:203
QSGSoftwareInternalRectangleNode::isOpaque
bool isOpaque() const
Definition
qsgsoftwareinternalrectanglenode.cpp:357
QSGSoftwareInternalRectangleNode::setColor
void setColor(const QColor &color) override
Definition
qsgsoftwareinternalrectanglenode.cpp:42
QSGSoftwareInternalRectangleNode::setGradientStops
void setGradientStops(const QGradientStops &stops) override
Definition
qsgsoftwareinternalrectanglenode.cpp:92
QSGSoftwareInternalRectangleNode::setPenWidth
void setPenWidth(qreal width) override
Definition
qsgsoftwareinternalrectanglenode.cpp:60
QSGSoftwareInternalRectangleNode::resetBottomLeftRadius
void resetBottomLeftRadius() override
Definition
qsgsoftwareinternalrectanglenode.cpp:241
QSGSoftwareInternalRectangleNode::setPenColor
void setPenColor(const QColor &color) override
Definition
qsgsoftwareinternalrectanglenode.cpp:51
QSGSoftwareInternalRectangleNode::setAligned
void setAligned(bool aligned) override
Definition
qsgsoftwareinternalrectanglenode.cpp:259
QSGSoftwareInternalRectangleNode::resetTopLeftRadius
void resetTopLeftRadius() override
Definition
qsgsoftwareinternalrectanglenode.cpp:223
QSGSoftwareInternalRectangleNode::resetTopRightRadius
void resetTopRightRadius() override
Definition
qsgsoftwareinternalrectanglenode.cpp:232
QSGSoftwareHelpers::QDrawBorderPixmap
Definition
qsgsoftwareinternalimagenode_p.h:43
QSGSoftwareHelpers::QDrawBorderPixmap::DrawingHint
DrawingHint
Definition
qsgsoftwareinternalimagenode_p.h:45
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueBottomLeft
@ OpaqueBottomLeft
Definition
qsgsoftwareinternalimagenode_p.h:52
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueBottom
@ OpaqueBottom
Definition
qsgsoftwareinternalimagenode_p.h:53
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueCenter
@ OpaqueCenter
Definition
qsgsoftwareinternalimagenode_p.h:50
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueAll
@ OpaqueAll
Definition
qsgsoftwareinternalimagenode_p.h:58
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueFrame
@ OpaqueFrame
Definition
qsgsoftwareinternalimagenode_p.h:57
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueEdges
@ OpaqueEdges
Definition
qsgsoftwareinternalimagenode_p.h:56
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueTop
@ OpaqueTop
Definition
qsgsoftwareinternalimagenode_p.h:47
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueRight
@ OpaqueRight
Definition
qsgsoftwareinternalimagenode_p.h:51
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueCorners
@ OpaqueCorners
Definition
qsgsoftwareinternalimagenode_p.h:55
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueBottomRight
@ OpaqueBottomRight
Definition
qsgsoftwareinternalimagenode_p.h:54
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueLeft
@ OpaqueLeft
Definition
qsgsoftwareinternalimagenode_p.h:49
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueTopRight
@ OpaqueTopRight
Definition
qsgsoftwareinternalimagenode_p.h:48
QSGSoftwareHelpers::QDrawBorderPixmap::OpaqueTopLeft
@ OpaqueTopLeft
Definition
qsgsoftwareinternalimagenode_p.h:46
QSGSoftwareHelpers::QPixmapFragmentsArray
QVarLengthArray< QPainter::PixmapFragment, 16 > QPixmapFragmentsArray
Definition
qsgsoftwareinternalimagenode_p.h:28
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QSGSoftwareHelpers::QTileRules
Definition
qsgsoftwareinternalimagenode_p.h:31
QSGSoftwareHelpers::QTileRules::QTileRules
QTileRules(Qt::TileRule horizontalRule, Qt::TileRule verticalRule)
Definition
qsgsoftwareinternalimagenode_p.h:32
QSGSoftwareHelpers::QTileRules::horizontal
Qt::TileRule horizontal
Definition
qsgsoftwareinternalimagenode_p.h:36
QSGSoftwareHelpers::QTileRules::QTileRules
QTileRules(Qt::TileRule rule=Qt::StretchTile)
Definition
qsgsoftwareinternalimagenode_p.h:34
QSGSoftwareHelpers::QTileRules::vertical
Qt::TileRule vertical
Definition
qsgsoftwareinternalimagenode_p.h:37
qtdeclarative
src
quick
scenegraph
adaptations
software
qsgsoftwareinternalimagenode_p.h
Generated on
for Qt by
1.18.0