svvitch
digital signage player
|
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;