From 809fbda03c5014ba9cd361f5113d1d717cd41ea6 Mon Sep 17 00:00:00 2001 From: louis Date: Tue, 26 Jan 2016 18:32:38 +0100 Subject: Version 0.8.0 beta --- coreengine/viewdisplayplugin.h | 101 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 coreengine/viewdisplayplugin.h (limited to 'coreengine/viewdisplayplugin.h') diff --git a/coreengine/viewdisplayplugin.h b/coreengine/viewdisplayplugin.h new file mode 100644 index 0000000..4d9cd59 --- /dev/null +++ b/coreengine/viewdisplayplugin.h @@ -0,0 +1,101 @@ +#ifndef __VIEWDISPLAYPLUGIN_H +#define __VIEWDISPLAYPLUGIN_H + +#include "view.h" +#include "viewdetail.h" +#include "viewelementsdisplaymenu.h" +#include "viewgrid.h" +#include "../libskindesignerapi/skindesignerapi.h" + +class cPluginTabView; +/*********************************************************** +* cViewPlugin +***********************************************************/ +class cViewPlugin : public cView, public skindesignerapi::ISkinDisplayPlugin { +private: + int id; + int plugId; + int numViews; + cViewPlugin **views; + int numViewGrids; + cViewGrid **viewGrids; + map gridNames; + cPluginTabView *tabView; + bool viewChanged; + int newViewId; + void SetViewElements(void); + void SetViewGrids(void); + int GridId(const char *name); +public: + cViewPlugin(int id, int plugId); + ~cViewPlugin(void); + //Internal Interface + bool ReadFromXML(const char *plugName, const char *tplName, cSdOsd *osd = NULL); + bool ReadSubViews(const char *plugName); + void AddViewElement(cVePlugin *viewElement); + void AddViewGrid(cViewGrid *viewGrid); + void AddTab(cArea *tab); + void AddScrollbar(cVeDmScrollbar *scrollbar); + void AddTablabels(cVeDmTablabels *tablabels); + void SetGlobals(cGlobals *globals); + void PreCache(void); + cVePlugin *GetViewElement(int veId); + cViewGrid *GetViewGrid(int gId); + cPluginTabView *GetViewTab(void); + void Hide(void); + void Show(void); + //libskindesigner api interface + bool InitOsd(void); + void CloseOsd(void); + void Deactivate(int viewId, bool hide); + void Activate(int viewId); + void SetViewElementTokens(int veId, int viewId, skindesignerapi::cTokenContainer *tk); + void ClearViewElement(int veId, int viewId); + void DisplayViewElement(int veId, int viewId); + void SetGrid(long gId, int viewId, int viewGridId, double x, double y, double width, double height, skindesignerapi::cTokenContainer *tk); + void SetGridCurrent(long gId, int viewId, int viewGridId, bool current); + void DeleteGrid(long gId, int viewId, int viewGridId); + void DisplayGrids(int viewId, int viewGridId); + void ClearGrids(int viewId, int viewGridId); + void SetTabTokens(int viewId, skindesignerapi::cTokenContainer *tk); + void TabLeft(int viewId); + void TabRight(int viewId); + void TabUp(int viewId); + void TabDown(int viewId); + void DisplayTabs(int viewId); + void ClearTab(int viewId); + void Flush(void); + bool ChannelLogoExists(string channelId); + string GetEpgImagePath(void); +}; +/*********************************************************** +* cPluginTabView +***********************************************************/ +class cPluginTabView { +private: + cSdOsd *sdOsd; + bool init; + bool drawScrollbar; + bool firstTab; + cVeDmScrollbar *scrollbar; + cVeDmTablabels *tablabels; + cViewDetailAdvancedPlugin *detailView; + void DrawScrollbar(void); +public: + cPluginTabView(int viewId, int plugId); + ~cPluginTabView(void); + void SetGlobals(cGlobals *globals); + void SetOsd(cSdOsd *osd) { sdOsd = osd; }; + void AddTab(cArea *tab); + void AddScrollbar(cVeDmScrollbar *scrollbar); + void AddTablabels(cVeDmTablabels *tablabels); + void PreCache(int containerX, int containerY, int containerWidth, int containerHeight); + void Set(skindesignerapi::cTokenContainer *tk); + void Render(void); + void Clear(void); + void KeyLeft(void); + void KeyRight(void); + void KeyUp(void); + void KeyDown(void); +}; +#endif //__VIEWDISPLAYPLUGIN_H \ No newline at end of file -- cgit v1.2.3