TouchCPLib  1.0.0
A touch-enabled GUI interface based on SDL and libTS. It provides a simple desktop-free UI for your embedded Raspberry projects.
SceneManager.h
Go to the documentation of this file.
1 #pragma once
2 
13 #include <map>
14 
15 #include "GraphicsScene.h"
16 
23 {
24 public:
25  SceneManager();
26  ~SceneManager();
31  void setCurrentScene(std::string sceneName);
38  void registerScene(const std::string& sceneName, GraphicsScene* scene);
43  void unregisterScene(GraphicsScene* scene);
48  void unregisterScene(const std::string& sceneName);
49 private:
50  GraphicsScene* currentScene;
51  std::map<std::string, GraphicsScene*> registeredScenes;
52 };
53 
~SceneManager()
Definition: SceneManager.cpp:49
SceneManager()
Definition: SceneManager.cpp:3
void setCurrentScene(std::string sceneName)
Change the currently displayed scene. It has to be registered through registerScene before you can di...
Definition: SceneManager.cpp:7
void registerScene(const std::string &sceneName, GraphicsScene *scene)
Register a scene for displaying it later. It will NOT take ownership of the scene, so it&#39;s your job to free its memory later, if needed.
Definition: SceneManager.cpp:20
The GraphicsScene base class.
GraphicsScene * getCurrentScene()
Definition: SceneManager.cpp:15
The scene manager controls which scene is currently displayed, in addition to enumerating the scenes ...
Definition: SceneManager.h:22
void unregisterScene(GraphicsScene *scene)
Unregister a scene.
Definition: SceneManager.cpp:37
The Scene object is a base class to construct a Scene upon. The scene is basically a view that can be...
Definition: GraphicsScene.h:27