stuff-from-scratch/src/visual_elements/Scene.h
2022-12-08 08:48:18 +00:00

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;
};