31 lines
555 B
C++
31 lines
555 B
C++
#pragma once
|
|
|
|
#include "TextData.h"
|
|
|
|
#include <vector>
|
|
#include <memory>
|
|
|
|
class RootNode;
|
|
class AbstractVisualNode;
|
|
class SceneItem;
|
|
class FontsManager;
|
|
|
|
class Scene
|
|
{
|
|
public:
|
|
Scene();
|
|
|
|
~Scene();
|
|
|
|
void addNode(AbstractVisualNode* node);
|
|
|
|
const std::vector<SceneItem*>& getItems() const;
|
|
|
|
bool isEmpty() const;
|
|
|
|
void update(FontsManager* fontsManager = nullptr);
|
|
private:
|
|
void updateNode(AbstractVisualNode* node, FontsManager* fontsManager);
|
|
std::unique_ptr<RootNode> mRootNode;
|
|
std::vector<SceneItem*> mSceneItems;
|
|
};
|