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
qssgrenderroot.cpp
Go to the documentation of this file.
1
// Copyright (C) 2025 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
6
#
include
"qssgrenderroot_p.h"
7
#
include
"qssgrenderlayer_p.h"
8
9
#
include
"../rendererimpl/qssgrenderdata_p.h"
10
11
QT_BEGIN_NAMESPACE
12
13
QSSGRenderRoot::QSSGRenderRoot()
14
: QSSGRenderNode(Type::Root)
15
, m_gnd(std::make_shared<QSSGGlobalRenderNodeData>(
this
))
16
{
17
rootNodeRef = &self;
18
localTransform = calculateTransformMatrix({}, initScale, {}, {});
19
}
20
21
QSSGRenderRoot::~QSSGRenderRoot()
22
{
23
if
(m_gnd)
24
m_gnd->invalidate();
25
}
26
27
void
QSSGRenderRoot::markDirty(DirtyFlag dirtyFlag)
28
{
29
m_rootDirtyFlags |= FlagT(dirtyFlag);
30
QSSGRenderNode::markDirty(QSSGRenderNode::DirtyFlag::SubNodeDirty);
31
}
32
33
void
QSSGRenderRoot::clearDirty(DirtyFlag dirtyFlag)
34
{
35
m_rootDirtyFlags &= ~FlagT(dirtyFlag);
36
QSSGRenderNode::clearDirty(QSSGRenderNode::DirtyFlag::SubNodeDirty);
37
}
38
39
void
QSSGRenderRoot::reindex()
40
{
41
m_gnd->reindex();
42
for
(QSSGRenderNode &chld : children) {
43
if
(QSSG_GUARD_X(chld.type == QSSGRenderNode::Type::Layer,
"Layer type mismatch"
))
44
static_cast
<QSSGRenderLayer &>(chld).markDirty(QSSGRenderLayer::DirtyFlag::TreeDirty);
45
}
46
clearDirty(QSSGRenderRoot::DirtyFlag::TreeDirty);
47
}
48
49
QT_END_NAMESPACE
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtquick3d
src
runtimerender
graphobjects
qssgrenderroot.cpp
Generated on
for Qt by
1.18.0