summaryrefslogtreecommitdiff
path: root/displayplugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'displayplugin.c')
-rw-r--r--displayplugin.c123
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