svvitch
digital signage player
D:/vs_workspace/switch_sf/src/svvitch/Scene.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "Renderer.h"
00004 #include "Workspace.h"
00005 #include <string>
00006 #include <map>
00007 
00008 using std::string;
00009 using std::map;
00010 
00011 
00016 class Scene
00017 {
00018 protected:
00019     Poco::Logger& _log;
00020     Renderer& _renderer;
00021     bool _visible;
00022     int _keycode;
00023     bool _shift;
00024     bool _ctrl;
00025 
00027     map<string, string> _status;
00028 
00029 public:
00030     Scene(Renderer& renderer);
00031 
00032     virtual ‾Scene();
00033 
00034     Renderer& renderer();
00035 
00036     virtual bool initialize();
00037 
00039     void setVisible(const bool visible);
00040 
00041     virtual void notifyKey(const int keycode, const bool shift, const bool ctrl);
00042 
00044     virtual void setStatus(const string& key, const string& value);
00045 
00047     virtual const map<string, string>& getStatus();
00048 
00050     virtual const string getStatus(const string& key);
00051 
00053     virtual void removeStatus(const string& key);
00054 
00055     virtual void process();
00056 
00057     virtual void processAlways();
00058 
00059     virtual void draw1();
00060 
00061     virtual void draw2();
00062 };
00063 
00064 typedef Scene* ScenePtr;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines