diff options
Diffstat (limited to 'displayplugin.c')
-rw-r--r-- | displayplugin.c | 123 |
1 files changed, 113 insertions, 10 deletions
diff --git a/displayplugin.c b/displayplugin.c index ad5965f..28085a9 100644 --- a/displayplugin.c +++ b/displayplugin.c @@ -1,6 +1,7 @@ +#include "config.h" #include "displayplugin.h" -cSkinDisplayPlugin::cSkinDisplayPlugin(cTemplate *pluginTemplate) { +cSkinDisplayPlugin::cSkinDisplayPlugin(cTemplate *pluginTemplate, int subViewID) { if (!pluginTemplate) { doOutput = false; return; @@ -8,8 +9,17 @@ cSkinDisplayPlugin::cSkinDisplayPlugin(cTemplate *pluginTemplate) { doOutput = true; } initial = true; - pluginView = new cDisplayPluginView(pluginTemplate->GetRootView()); - if (!pluginView->createOsd()) { + if (subViewID > -1) { + cTemplateView *subView = pluginTemplate->GetRootView()->GetSubView((eSubView)subViewID); + if (!subView) { + doOutput = false; + return; + } + pluginView = new cDisplayPluginView(subView, false); + } else { + pluginView = new cDisplayPluginView(pluginTemplate->GetRootView(), true); + } + if (!pluginView->createOsd() && subViewID < 0) { doOutput = false; return; } @@ -22,6 +32,35 @@ cSkinDisplayPlugin::~cSkinDisplayPlugin(void) { } } +void cSkinDisplayPlugin::Deactivate(bool hide) { + if (!doOutput) { + return; + } + pluginView->Deactivate(hide); +} + +void cSkinDisplayPlugin::Activate(void) { + if (!doOutput) { + return; + } + pluginView->Activate(); +} + + +void cSkinDisplayPlugin::ClearViewElement(int id) { + if (!doOutput) { + return; + } + pluginView->CleanViewElement(id); +} + +void cSkinDisplayPlugin::DisplayViewElement(int id) { + if (!doOutput) { + return; + } + pluginView->DisplayViewElement(id); +} + void cSkinDisplayPlugin::SetViewElementIntTokens(map<string,int> *intTokens) { if (pluginView) pluginView->SetIntTokens(intTokens); @@ -37,13 +76,6 @@ void cSkinDisplayPlugin::SetViewElementLoopTokens(map<string,vector<map<string,s pluginView->SetLoopTokens(loopTokens); } -void cSkinDisplayPlugin::DisplayViewElement(int id) { - if (!doOutput) { - return; - } - pluginView->DisplayViewElement(id); -} - void cSkinDisplayPlugin::InitGrids(int viewGridID) { if (!doOutput) { return; @@ -88,10 +120,81 @@ void cSkinDisplayPlugin::ClearGrids(int viewGridID) { pluginView->ClearGrids(viewGridID); } +void cSkinDisplayPlugin::SetTabIntTokens(map<string,int> *intTokens) { + if (!doOutput) { + return; + } + pluginView->SetTabIntTokens(intTokens); +} + +void cSkinDisplayPlugin::SetTabStringTokens(map<string,string> *stringTokens) { + if (!doOutput) { + return; + } + pluginView->SetTabStringTokens(stringTokens); +} + +void cSkinDisplayPlugin::SetTabLoopTokens(map<string,vector<map<string,string> > > *loopTokens) { + if (!doOutput) { + return; + } + pluginView->SetTabLoopTokens(loopTokens); +} + +void cSkinDisplayPlugin::SetTabs(void) { + if (!doOutput) { + return; + } + pluginView->SetTabs(); +} + +void cSkinDisplayPlugin::TabLeft(void) { + if (!doOutput) { + return; + } + pluginView->TabLeft(); +} + +void cSkinDisplayPlugin::TabRight(void) { + if (!doOutput) { + return; + } + pluginView->TabRight(); +} + +void cSkinDisplayPlugin::TabUp(void) { + if (!doOutput) { + return; + } + pluginView->TabUp(); +} + +void cSkinDisplayPlugin::TabDown(void) { + if (!doOutput) { + return; + } + pluginView->TabDown(); +} + +void cSkinDisplayPlugin::DisplayTabs(void) { + if (!doOutput) { + return; + } + pluginView->DisplayTab(); +} + void cSkinDisplayPlugin::Flush(void) { if (initial) { pluginView->DoStart(); initial = false; } pluginView->Flush(); +} + +bool cSkinDisplayPlugin::ChannelLogoExists(string channelId) { + return imgCache->LogoExists(channelId); +} + +string cSkinDisplayPlugin::GetEpgImagePath(void) { + return *config.epgImagePath; }
\ No newline at end of file |