1// Copyright (C) 2016 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 <private/backendnode_p.h>
5#include <private/abstractrenderer_p.h>
6#include <private/resourceaccessor_p.h>
7#include <private/nodemanagers_p.h>
8#include <Qt3DCore/private/qbackendnode_p.h>
9#include <Qt3DCore/qnode.h>
10
11QT_BEGIN_NAMESPACE
12
13
14namespace Qt3DRender {
15namespace Render {
16
17using namespace Qt3DCore;
18
19BackendNode::BackendNode(Mode mode)
20 : QBackendNode(mode)
21 , m_renderer(nullptr)
22{
23}
24
25BackendNode::BackendNode(Qt3DCore::QBackendNodePrivate &dd)
26 : QBackendNode(dd)
27 , m_renderer(nullptr)
28{
29}
30
31BackendNode::~BackendNode()
32{
33}
34
35void BackendNode::setRenderer(AbstractRenderer *renderer)
36{
37 m_renderer = renderer;
38}
39
40AbstractRenderer *BackendNode::renderer() const
41{
42 return m_renderer;
43}
44
45void BackendNode::markDirty(AbstractRenderer::BackendNodeDirtySet changes)
46{
47 Q_ASSERT(m_renderer);
48 m_renderer->markDirty(changes, node: this);
49}
50
51QSharedPointer<RenderBackendResourceAccessor> BackendNode::resourceAccessor() const
52{
53 return m_renderer->resourceAccessor();
54}
55
56void BackendNode::syncFromFrontEnd(const Qt3DCore::QNode *frontEnd, bool firstTime)
57{
58 Q_UNUSED(firstTime);
59
60 d_ptr->setEnabled(frontEnd->isEnabled());
61}
62
63} // namespace Render
64} // namespace Qt3DRender
65
66QT_END_NAMESPACE
67

Provided by KDAB

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

source code of qt3d/src/render/backend/backendnode.cpp