1 | // Copyright (C) 2014 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 | #include "sortpolicy_p.h" |
5 | #include <Qt3DRender/private/qsortpolicy_p.h> |
6 | |
7 | QT_BEGIN_NAMESPACE |
8 | |
9 | |
10 | namespace Qt3DRender { |
11 | namespace Render { |
12 | |
13 | using namespace Qt3DCore; |
14 | |
15 | SortPolicy::SortPolicy() |
16 | : FrameGraphNode(FrameGraphNode::SortMethod) |
17 | { |
18 | } |
19 | |
20 | void SortPolicy::syncFromFrontEnd(const QNode *frontEnd, bool firstTime) |
21 | { |
22 | const QSortPolicy *node = qobject_cast<const QSortPolicy *>(object: frontEnd); |
23 | if (!node) |
24 | return; |
25 | |
26 | FrameGraphNode::syncFromFrontEnd(frontEnd, firstTime); |
27 | |
28 | const auto sortTypes = node->sortTypes(); |
29 | if (sortTypes != m_sortTypes) { |
30 | m_sortTypes = sortTypes; |
31 | markDirty(changes: AbstractRenderer::FrameGraphDirty); |
32 | } |
33 | } |
34 | |
35 | QList<QSortPolicy::SortType> SortPolicy::sortTypes() const |
36 | { |
37 | return m_sortTypes; |
38 | } |
39 | |
40 | } // namepace Render |
41 | } // namespace Qt3DRender |
42 | |
43 | QT_END_NAMESPACE |
44 |