diff options
Diffstat (limited to 'sdDisplayReplay.h')
-rw-r--r-- | sdDisplayReplay.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/sdDisplayReplay.h b/sdDisplayReplay.h new file mode 100644 index 0000000..e580e16 --- /dev/null +++ b/sdDisplayReplay.h @@ -0,0 +1,48 @@ +#ifndef CSDDISPLAYREPLAY_H +#define CSDDISPLAYREPLAY_H + +#include <vdr/osdbase.h> +#include <libskindesignerapi/osdelements.h> +#include <libskindesignerapi/skindesignerosdbase.h> +#include <memory> + +#include "PVideo.h" +#include "hlsPlayerControl.h" + +class cSdDisplayReplay : public skindesignerapi::cSkindesignerOsdObject +{ +public: + enum eElements { + Background, + Replay, + Info, + Time + }; + + cSdDisplayReplay(plexclient::Video Video, cHlsPlayerControl* Control); + ~cSdDisplayReplay(); + + virtual void Show(void); + //virtual eOSState ProcessKey(eKeys Key); + +private: + plexclient::Video m_video; + cHlsPlayerControl* m_pContol; + + skindesignerapi::cOsdView* m_pRootView; + std::shared_ptr<skindesignerapi::cViewElement> m_pBackground; + std::shared_ptr<skindesignerapi::cViewElement> m_pReplay; + std::shared_ptr<skindesignerapi::cViewElement> m_pInfo; + std::shared_ptr<skindesignerapi::cViewElement> m_pTime; + + int m_lastsecond; + + void DrawReplay(); + void DrawInfo(); + bool DrawTime(); + void Flush(); + + std::string IndexToHMS(int index, bool WithSeconds = true); +}; + +#endif // CSDDISPLAYREPLAY_H |