svvitch
digital signage player
D:/vs_workspace/switch_sf/src/svvitch/Container.h
Go to the documentation of this file.
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;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines