svvitch
digital signage player
|
00001 #pragma once 00002 00003 #include "Content.h" 00004 #include <Poco/Logger.h> 00005 #include <Poco/Mutex.h> 00006 #include <vector> 00007 00008 using std::vector; 00009 00010 00015 class Container: public Content 00016 { 00017 private: 00018 Poco::FastMutex _lock; 00019 vector<ContentPtr> _list; 00020 00021 bool _initialized; 00022 00023 public: 00024 Container(Renderer& renderer); 00025 virtual ‾Container(); 00026 00027 void initialize(); 00028 00029 void add(ContentPtr c); 00030 00031 ContentPtr operator[](int i); 00032 00033 ContentPtr get(int i); 00034 00035 int size(); 00036 00037 const string opened(); 00038 00039 void play(); 00040 00041 void pause(); 00042 00043 void stop(); 00044 00045 bool useFastStop(); 00046 00047 void rewind(); 00048 00049 const bool finished(); 00050 00051 void notifyKey(const int keycode, const bool shift, const bool ctrl); 00052 00053 void process(const DWORD& frame); 00054 00055 void draw(const DWORD& frame); 00056 00057 void preview(const DWORD& frame); 00058 00059 const int current(); 00060 00061 const int duration(); 00062 00063 void setProperty(const string& key, const string& value); 00064 }; 00065 00066 typedef Container* ContainerPtr;