summaryrefslogtreecommitdiff
path: root/plexSdOsd.h
diff options
context:
space:
mode:
Diffstat (limited to 'plexSdOsd.h')
-rw-r--r--plexSdOsd.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/plexSdOsd.h b/plexSdOsd.h
new file mode 100644
index 0000000..1f7c677
--- /dev/null
+++ b/plexSdOsd.h
@@ -0,0 +1,55 @@
+#ifndef CPLEXSDOSD_H
+#define CPLEXSDOSD_H
+
+#include <vdr/osdbase.h>
+
+#include <iostream>
+#include <string>
+#include <vector>
+#include <iterator>
+#include <algorithm>
+#include <memory>
+
+#include "Config.h"
+#include "Plexservice.h"
+
+#include "plexgdm.h"
+#include "hlsPlayerControl.h"
+
+#include "browserGrid.h"
+#include "viewHeader.h"
+#include "libskindesigner/osdelements.h"
+#include "libskindesigner/skindesignerosdbase.h"
+
+enum eViews {
+ viRootView,
+ viDetailView
+};
+
+enum eViewElementsRoot {
+ verHeader,
+ verFooter
+};
+
+enum eViewGrids {
+ vgBrowser
+};
+
+class cPlexSdOsd : public cSkindesignerOsdObject
+{
+private:
+ std::shared_ptr<cBrowserGrid> m_pBrowserGrid;
+ std::shared_ptr<cViewHeader> m_pViewHeader;
+ cOsdView* m_pRootView;
+
+ void Flush();
+ void SwitchGrid(ePlexMenuTab currentTab);
+
+public:
+ cPlexSdOsd();
+ virtual void Show(void);
+ virtual eOSState ProcessKey(eKeys Key);
+
+};
+
+#endif // CPLEXSDOSD_H