diff options
Diffstat (limited to 'libskindesigner')
-rw-r--r-- | libskindesigner/osdelements.c | 203 | ||||
-rw-r--r-- | libskindesigner/osdelements.h | 91 | ||||
-rw-r--r-- | libskindesigner/services.h | 131 | ||||
-rw-r--r-- | libskindesigner/skindesignerosdbase.c | 209 | ||||
-rw-r--r-- | libskindesigner/skindesignerosdbase.h | 84 |
5 files changed, 0 insertions, 718 deletions
diff --git a/libskindesigner/osdelements.c b/libskindesigner/osdelements.c deleted file mode 100644 index 11915a8..0000000 --- a/libskindesigner/osdelements.c +++ /dev/null @@ -1,203 +0,0 @@ -#include "osdelements.h" - -/********************************************************************** -* cOsdElement -**********************************************************************/ -cOsdElement::cOsdElement(cSkinDisplayPlugin *view) { - this->view = view; -} - -cOsdElement::~cOsdElement() { -} - -void cOsdElement::ClearTokens(void) { - stringTokens.clear(); - intTokens.clear(); - loopTokens.clear(); -} - -void cOsdElement::AddStringToken(string key, string value) { - stringTokens.insert(pair<string,string>(key, value)); -} - -void cOsdElement::AddIntToken(string key, int value) { - intTokens.insert(pair<string,int>(key, value)); -} - -void cOsdElement::AddLoopToken(string loopName, map<string, string> &tokens) { - map<string, vector<map<string, string> > >::iterator hitLoop = loopTokens.find(loopName); - if (hitLoop == loopTokens.end()) { - vector<map<string, string> > tokenVector; - tokenVector.push_back(tokens); - loopTokens.insert(pair<string, vector<map<string, string> > >(loopName, tokenVector)); - } else { - vector<map<string, string> > *tokenVector = &hitLoop->second; - tokenVector->push_back(tokens); - } -} - -bool cOsdElement::ChannelLogoExists(string channelId) { - return view->ChannelLogoExists(channelId); -} - -string cOsdElement::GetEpgImagePath(void) { - return view->GetEpgImagePath(); -} - - -/********************************************************************** -* cViewElement -**********************************************************************/ -cViewElement::cViewElement(cSkinDisplayPlugin *view, int viewElementID) : cOsdElement(view) { - this->viewElementID = viewElementID; -} - -cViewElement::~cViewElement() { -} - -void cViewElement::Clear(void) { - if (!view) - return; - view->ClearViewElement(viewElementID); -} - -void cViewElement::Display(void) { - if (!view) - return; - view->SetViewElementIntTokens(&intTokens); - view->SetViewElementStringTokens(&stringTokens); - view->SetViewElementLoopTokens(&loopTokens); - view->DisplayViewElement(viewElementID); -} - -/********************************************************************** -* cViewGrid -**********************************************************************/ -cViewGrid::cViewGrid(cSkinDisplayPlugin *view, int viewGridID) : cOsdElement(view) { - this->viewGridID = viewGridID; -} - -cViewGrid::~cViewGrid() { -} - -void cViewGrid::SetGrid(long gridID, double x, double y, double width, double height) { - if (!view) - return; - view->SetGrid(viewGridID, gridID, x, y, width, height, &intTokens, &stringTokens); -} - -void cViewGrid::SetCurrent(long gridID, bool current) { - if (!view) - return; - view->SetGridCurrent(viewGridID, gridID, current); -} - -void cViewGrid::MoveGrid(long gridID, double x, double y, double width, double height) { - if (!view) - return; - view->SetGrid(viewGridID, gridID, x, y, width, height, NULL, NULL); -} - -void cViewGrid::Delete(long gridID) { - if (!view) - return; - view->DeleteGrid(viewGridID, gridID); -} - -void cViewGrid::Clear(void) { - if (!view) - return; - view->ClearGrids(viewGridID); -} - -void cViewGrid::Display(void) { - if (!view) - return; - view->DisplayGrids(viewGridID); -} - -/********************************************************************** -* cViewTab -**********************************************************************/ -cViewTab::cViewTab(cSkinDisplayPlugin *view) : cOsdElement(view) { -} - -cViewTab::~cViewTab() { -} - -void cViewTab::Init(void) { - view->SetTabIntTokens(&intTokens); - view->SetTabStringTokens(&stringTokens); - view->SetTabLoopTokens(&loopTokens); - view->SetTabs(); -} - -void cViewTab::Left(void) { - view->TabLeft(); -} - -void cViewTab::Right(void) { - view->TabRight(); -} - -void cViewTab::Up(void) { - view->TabUp(); -} - -void cViewTab::Down(void) { - view->TabDown(); -} - -void cViewTab::Display(void) { - if (!view) - return; - view->DisplayTabs(); -} - -/********************************************************************** -* cOsdView -**********************************************************************/ -cOsdView::cOsdView(cSkinDisplayPlugin *displayPlugin) { - this->displayPlugin = displayPlugin; -} - -cOsdView::~cOsdView() { - delete displayPlugin; -} - -void cOsdView::Deactivate(bool hide) { - if (!displayPlugin) - return; - displayPlugin->Deactivate(hide); -} - -void cOsdView::Activate(void) { - if (!displayPlugin) - return; - displayPlugin->Activate(); -} - -cViewElement *cOsdView::GetViewElement(int viewElementID) { - if (!displayPlugin) - return NULL; - return new cViewElement(displayPlugin, viewElementID); -} - -cViewGrid *cOsdView::GetViewGrid(int viewGridID) { - if (!displayPlugin) - return NULL; - displayPlugin->InitGrids(viewGridID); - return new cViewGrid(displayPlugin, viewGridID); -} - -cViewTab *cOsdView::GetViewTabs(void) { - if (!displayPlugin) - return NULL; - return new cViewTab(displayPlugin); -} - -void cOsdView::Display(void) { - if (!displayPlugin) - return; - displayPlugin->Flush(); -} diff --git a/libskindesigner/osdelements.h b/libskindesigner/osdelements.h deleted file mode 100644 index 057a1fd..0000000 --- a/libskindesigner/osdelements.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef __OSDELEMENTS_H -#define __OSDELEMENTS_H - -#include <vdr/plugin.h> -#include "services.h" - -/********************************************************************** -* cOsdElement -**********************************************************************/ - -class cOsdElement { -protected: - cSkinDisplayPlugin *view; - map < string, string > stringTokens; - map < string, int > intTokens; - map < string, vector< map< string, string > > > loopTokens; -public: - cOsdElement(cSkinDisplayPlugin *view); - virtual ~cOsdElement(); - void AddLoopToken(string loopName, map<string, string> &tokens); - void AddStringToken(string key, string value); - void AddIntToken(string key, int value); - void ClearTokens(void); - bool ChannelLogoExists(string channelId); - string GetEpgImagePath(void); -}; - -/********************************************************************** -* cViewElement -**********************************************************************/ -class cViewElement : public cOsdElement { -private: - int viewElementID; -public: - cViewElement(cSkinDisplayPlugin *view, int viewElementID); - virtual ~cViewElement(); - void Clear(void); - void Display(void); -}; - -/********************************************************************** -* cViewGrid -**********************************************************************/ -class cViewGrid : public cOsdElement { -private: - int viewGridID; -public: - cViewGrid(cSkinDisplayPlugin *view, int viewGridID); - virtual ~cViewGrid(); - void SetGrid(long gridID, double x, double y, double width, double height); - void SetCurrent(long gridID, bool current); - void MoveGrid(long gridID, double x, double y, double width, double height); - void Delete(long gridID); - void Clear(void); - void Display(void); -}; - -/********************************************************************** -* cViewTab -**********************************************************************/ -class cViewTab : public cOsdElement { -private: -public: - cViewTab(cSkinDisplayPlugin *view); - virtual ~cViewTab(); - void Init(void); - void Left(void); - void Right(void); - void Up(void); - void Down(void); - void Display(void); -}; - -/********************************************************************** -* cOsdView -**********************************************************************/ -class cOsdView { -private: - cSkinDisplayPlugin *displayPlugin; -public: - cOsdView(cSkinDisplayPlugin *displayPlugin); - virtual ~cOsdView(); - void Deactivate(bool hide); - void Activate(void); - cViewElement *GetViewElement(int viewElementID); - cViewGrid *GetViewGrid(int viewGridID); - cViewTab *GetViewTabs(void); - void Display(void); -}; - -#endif // __OSDELEMENTS_H
\ No newline at end of file diff --git a/libskindesigner/services.h b/libskindesigner/services.h deleted file mode 100644 index 8fa9c69..0000000 --- a/libskindesigner/services.h +++ /dev/null @@ -1,131 +0,0 @@ -#ifndef __SKINDESIGNERSERVICES_H -#define __SKINDESIGNERSERVICES_H - -using namespace std; - -#include <string> -#include <vector> -#include <map> - -enum eMenuType { - mtList, - mtText -}; - -class cSDDisplayMenu : public cSkinDisplayMenu { -public: - virtual void SetTitle(const char *Title); - virtual void SetPluginMenu(string name, int menu, int type, bool init); - virtual bool SetItemPlugin(map<string,string> *stringTokens, map<string,int> *intTokens, map<string,vector<map<string,string> > > *loopTokens, int Index, bool Current, bool Selectable); - virtual bool SetPluginText(map<string,string> *stringTokens, map<string,int> *intTokens, map<string,vector<map<string,string> > > *loopTokens); -}; - -class cSkinDisplayPlugin { -public: - cSkinDisplayPlugin(void); - virtual ~cSkinDisplayPlugin(void); - virtual void Deactivate(bool hide); - virtual void Activate(void); - virtual void ClearViewElement(int id); - virtual void DisplayViewElement(int id); - virtual void SetViewElementIntTokens(map<string,int> *intTokens); - virtual void SetViewElementStringTokens(map<string,string> *stringTokens); - virtual void SetViewElementLoopTokens(map<string,vector<map<string,string> > > *loopTokens); - virtual void InitGrids(int viewGridID); - virtual void SetGrid(int viewGridID, long gridID, double x, double y, double width, double height, map<string,int> *intTokens, map<string,string> *stringTokens); - virtual void SetGridCurrent(int viewGridID, long gridID, bool current); - virtual void DeleteGrid(int viewGridID, long gridID); - virtual void DisplayGrids(int viewGridID); - virtual void ClearGrids(int viewGridID); - virtual void SetTabIntTokens(map<string,int> *intTokens); - virtual void SetTabStringTokens(map<string,string> *stringTokens); - virtual void SetTabLoopTokens(map<string,vector<map<string,string> > > *loopTokens); - virtual void SetTabs(void); - virtual void TabLeft(void); - virtual void TabRight(void); - virtual void TabUp(void); - virtual void TabDown(void); - virtual void DisplayTabs(void); - virtual void Flush(void); - virtual bool ChannelLogoExists(string channelId); - virtual string GetEpgImagePath(void); -}; - -/********************************************************************* -* Data Structures for Service Calls -*********************************************************************/ - -// Data structure for service "RegisterPlugin" -class RegisterPlugin { -public: - RegisterPlugin(void) { - name = ""; - }; - void SetMenu(int key, string templateName) { - menus.insert(pair<int, string>(key, templateName)); - } - void SetView(int key, string templateName) { - views.insert(pair<int, string>(key, templateName)); - } - void SetSubView(int view, int subView, string templateName) { - pair<int, string> sub = make_pair(subView, templateName); - subViews.insert(pair<int, pair<int, string> >(view, sub)); - } - void SetViewElement(int view, int viewElement, string name) { - map< int, map<int, string> >::iterator hit = viewElements.find(view); - if (hit == viewElements.end()) { - map<int, string> vE; - vE.insert(pair<int, string >(viewElement, name)); - viewElements.insert(pair<int, map < int, string > >(view, vE)); - } else { - (hit->second).insert(pair<int, string >(viewElement, name)); - } - } - void SetViewGrid(int view, int viewGrid, string name) { - map< int, map<int, string> >::iterator hit = viewGrids.find(view); - if (hit == viewGrids.end()) { - map<int, string> vG; - vG.insert(pair<int, string >(viewGrid, name)); - viewGrids.insert(pair<int, map < int, string > >(view, vG)); - } else { - (hit->second).insert(pair<int, string >(viewGrid, name)); - } - } -// in - string name; //name of plugin - map< int, string > menus; //menus as key -> templatename hashmap - map< int, string> views; //standalone views as key -> templatename hashmap - multimap< int, pair <int, string> > subViews; //subviews of standalone views as view -> (subview, templatename) multimap - map< int, map <int, string> > viewElements; //viewelements as key -> (viewelement, viewelementname) hashmap - map< int, map <int, string> > viewGrids; //viewgrids as key -> (viewgrid, viewgridname) hashmap -//out -}; - -// Data structure for service "GetDisplayMenu" -class GetDisplayMenu { -public: - GetDisplayMenu(void) { - displayMenu = NULL; - }; -// in -//out - cSDDisplayMenu *displayMenu; -}; - -// Data structure for service "GetDisplayPlugin" -class GetDisplayPlugin { -public: - GetDisplayPlugin(void) { - pluginName = ""; - viewID = -1; - subViewID = -1; - displayPlugin = NULL; - }; -// in - string pluginName; - int viewID; - int subViewID; -//out - cSkinDisplayPlugin *displayPlugin; -}; -#endif //__SKINDESIGNERSERVICES_H diff --git a/libskindesigner/skindesignerosdbase.c b/libskindesigner/skindesignerosdbase.c deleted file mode 100644 index 4d40615..0000000 --- a/libskindesigner/skindesignerosdbase.c +++ /dev/null @@ -1,209 +0,0 @@ -#include "skindesignerosdbase.h" -#include "osdelements.h" - -/********************************************************************** -* cSkindesignerOsdObject -**********************************************************************/ - -cSkindesignerOsdObject::cSkindesignerOsdObject(void) { - pSkinDesigner = NULL; - pluginName = ""; -} - -cSkindesignerOsdObject::~cSkindesignerOsdObject() { -} - -bool cSkindesignerOsdObject::InitSkindesignerInterface(string pluginName) { - this->pluginName = pluginName; - pSkinDesigner = cPluginManager::GetPlugin("skindesigner"); - if (!pSkinDesigner) { - return false; - } - return true; -} - -cOsdView *cSkindesignerOsdObject::GetOsdView(int viewID, int subViewID) { - cSkinDisplayPlugin *displayPlugin = NULL; - cOsdView *view = NULL; - GetDisplayPlugin call; - call.pluginName = pluginName; - call.viewID = viewID; - call.subViewID = subViewID; - bool ok = pSkinDesigner->Service("GetDisplayPlugin", &call); - if (ok) { - displayPlugin = call.displayPlugin; - view = new cOsdView(displayPlugin); - } - return view; -} - -/********************************************************************** -* cSkindesignerOsdItem -**********************************************************************/ -cSkindesignerOsdItem::cSkindesignerOsdItem(eOSState State) : cOsdItem(State) { - sdDisplayMenu = NULL; -} - -cSkindesignerOsdItem::cSkindesignerOsdItem(const char *Text, eOSState State, bool Selectable) : cOsdItem(Text, State, Selectable) { - sdDisplayMenu = NULL; -} - -cSkindesignerOsdItem::~cSkindesignerOsdItem() { - -} - -void cSkindesignerOsdItem::SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable) { - if (sdDisplayMenu) { - if (!sdDisplayMenu->SetItemPlugin(&stringTokens, &intTokens, &loopTokens, Index, Current, Selectable)) { - DisplayMenu->SetItem(Text(), Index, Current, Selectable); - } - } else { - DisplayMenu->SetItem(Text(), Index, Current, Selectable); - } -} - -void cSkindesignerOsdItem::AddStringToken(string key, string value) { - stringTokens.insert(pair<string,string>(key, value)); -} - -void cSkindesignerOsdItem::AddIntToken(string key, int value) { - intTokens.insert(pair<string,int>(key, value)); -} - -void cSkindesignerOsdItem::AddLoopToken(string loopName, map<string, string> &tokens) { - map<string, vector<map<string, string> > >::iterator hitLoop = loopTokens.find(loopName); - if (hitLoop == loopTokens.end()) { - vector<map<string, string> > tokenVector; - tokenVector.push_back(tokens); - loopTokens.insert(pair<string, vector<map<string, string> > >(loopName, tokenVector)); - } else { - vector<map<string, string> > *tokenVector = &hitLoop->second; - tokenVector->push_back(tokens); - } -} - - -/********************************************************************** -* cSkindesignerOsdMenu -**********************************************************************/ -cSkindesignerOsdMenu::cSkindesignerOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4) : cOsdMenu(Title, c0, c1, c2, c3, c4) { - init = true; - displayText = false; - sdDisplayMenu = NULL; - pluginName = ""; - SetMenuCategory(mcPlugin); - SetSkinDesignerDisplayMenu(); -} - -cSkindesignerOsdMenu::~cSkindesignerOsdMenu() { - -} - -void cSkindesignerOsdMenu::SetPluginMenu(int menu, eMenuType type) { - if (type == mtList) - displayText = false; - else if (type == mtText) - displayText = true; - - if (sdDisplayMenu) { - sdDisplayMenu->SetPluginMenu(pluginName, menu, type, init); - } - init = false; -} - -bool cSkindesignerOsdMenu::SetSkinDesignerDisplayMenu(void) { - static cPlugin *pSkinDesigner = cPluginManager::GetPlugin("skindesigner"); - if (!pSkinDesigner) { - return false; - } - GetDisplayMenu call; - bool ok = pSkinDesigner->Service("GetDisplayMenu", &call); - if (ok && call.displayMenu) { - sdDisplayMenu = call.displayMenu; - return true; - } - return false; -} - -void cSkindesignerOsdMenu::ClearTokens(void) { - text = ""; - stringTokens.clear(); - intTokens.clear(); - loopTokens.clear(); -} - -void cSkindesignerOsdMenu::AddStringToken(string key, string value) { - stringTokens.insert(pair<string,string>(key, value)); -} - -void cSkindesignerOsdMenu::AddIntToken(string key, int value) { - intTokens.insert(pair<string,int>(key, value)); -} - -void cSkindesignerOsdMenu::AddLoopToken(string loopName, map<string, string> &tokens) { - map<string, vector<map<string, string> > >::iterator hitLoop = loopTokens.find(loopName); - if (hitLoop == loopTokens.end()) { - vector<map<string, string> > tokenVector; - tokenVector.push_back(tokens); - loopTokens.insert(pair<string, vector<map<string, string> > >(loopName, tokenVector)); - } else { - vector<map<string, string> > *tokenVector = &hitLoop->second; - tokenVector->push_back(tokens); - } -} - -void cSkindesignerOsdMenu::TextKeyLeft(void) { - if (!displayText) - return; - DisplayMenu()->Scroll(true, true); -} - -void cSkindesignerOsdMenu::TextKeyRight(void) { - if (!displayText) - return; - DisplayMenu()->Scroll(false, true); -} - -void cSkindesignerOsdMenu::TextKeyUp(void) { - if (!displayText) - return; - DisplayMenu()->Scroll(true, false); -} - -void cSkindesignerOsdMenu::TextKeyDown(void) { - if (!displayText) - return; - DisplayMenu()->Scroll(false, false); -} - -void cSkindesignerOsdMenu::Display(void) { - if (displayText) { - if (sdDisplayMenu) { - sdDisplayMenu->SetTitle(Title()); - if (sdDisplayMenu->SetPluginText(&stringTokens, &intTokens, &loopTokens)) { - sdDisplayMenu->Flush(); - } else { - DisplayMenu()->Clear(); - DisplayMenu()->SetTitle(Title()); - DisplayMenu()->SetText(text.c_str(), false); - DisplayMenu()->Flush(); - } - } else { - DisplayMenu()->Clear(); - DisplayMenu()->SetTitle(Title()); - DisplayMenu()->SetText(text.c_str(), false); - DisplayMenu()->Flush(); - } - return; - } - if (sdDisplayMenu) { - sdDisplayMenu->SetTitle(Title()); - for (cOsdItem *item = First(); item; item = Next(item)) { - cSkindesignerOsdItem *sdItem = dynamic_cast<cSkindesignerOsdItem*>(item); - if (sdItem) { - sdItem->SetDisplayMenu(sdDisplayMenu); - } - } - } - cOsdMenu::Display(); -} diff --git a/libskindesigner/skindesignerosdbase.h b/libskindesigner/skindesignerosdbase.h deleted file mode 100644 index 060ec11..0000000 --- a/libskindesigner/skindesignerosdbase.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef __SKINDESIGNEROSDBASE_H -#define __SKINDESIGNEROSDBASE_H - -#include <string> -#include <vector> -#include <map> -#include <set> -#include <sstream> -#include <vdr/osdbase.h> -#include <vdr/plugin.h> -#include "services.h" - -class cOsdView; - -/********************************************************************** -* cSkindesignerOsdObject -**********************************************************************/ -class cSkindesignerOsdObject : public cOsdObject { -protected: - string pluginName; - cPlugin *pSkinDesigner; - bool InitSkindesignerInterface(string pluginName); - cOsdView *GetOsdView(int viewID, int subViewID = -1); -public: - cSkindesignerOsdObject(void); - virtual ~cSkindesignerOsdObject(); - virtual void Show(void) {}; -}; - -/********************************************************************** -* cSkindesignerOsdItem -**********************************************************************/ -class cSkindesignerOsdItem : public cOsdItem { -private: - cSDDisplayMenu *sdDisplayMenu; - map < string, string > stringTokens; - map < string, int > intTokens; - map < string, vector< map< string, string > > > loopTokens; -protected: -public: - cSkindesignerOsdItem(eOSState State = osUnknown); - cSkindesignerOsdItem(const char *Text, eOSState State = osUnknown, bool Selectable = true); - virtual ~cSkindesignerOsdItem(); - virtual void SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable); - void SetDisplayMenu(cSDDisplayMenu *sdDisplayMenu) { this->sdDisplayMenu = sdDisplayMenu; }; - void AddStringToken(string key, string value); - void AddIntToken(string key, int value); - void AddLoopToken(string loopName, map<string, string> &tokens); -}; - -/********************************************************************** -* cSkindesignerOsdMenu -**********************************************************************/ -class cSkindesignerOsdMenu : public cOsdMenu { -private: - bool init; - bool displayText; - string pluginName; - cSDDisplayMenu *sdDisplayMenu; - string text; - map < string, string > stringTokens; - map < string, int > intTokens; - map < string, vector< map< string, string > > > loopTokens; - bool SetSkinDesignerDisplayMenu(void); -protected: - void ClearTokens(void); - void SetPluginName(string name) {pluginName = name; }; - void SetPluginMenu(int menu, eMenuType type); - void SetText(string text) { this->text = text; }; - void AddStringToken(string key, string value); - void AddIntToken(string key, int value); - void AddLoopToken(string loopName, map<string, string> &tokens); - void TextKeyLeft(void); - void TextKeyRight(void); - void TextKeyUp(void); - void TextKeyDown(void); -public: - cSkindesignerOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0); - virtual ~cSkindesignerOsdMenu(); - virtual void Display(void); -}; - -#endif // __SKINDESIGNEROSDBASE_H - |