diff options
author | louis <louis.braun@gmx.de> | 2015-04-11 16:21:33 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-04-11 16:21:33 +0200 |
commit | 6872e29fe6d628acd95a5f5eded6f372102fea31 (patch) | |
tree | f8e477521aac387c8a8397b9592314dc44d3bef0 /libtemplate | |
parent | 5146f15e44d9523e3dc96bf0f5e0aeaf1bee9c2f (diff) | |
download | vdr-plugin-skindesigner-6872e29fe6d628acd95a5f5eded6f372102fea31.tar.gz vdr-plugin-skindesigner-6872e29fe6d628acd95a5f5eded6f372102fea31.tar.bz2 |
added possibility to draw a debug grid in views
Diffstat (limited to 'libtemplate')
-rw-r--r-- | libtemplate/templatefunction.c | 25 | ||||
-rw-r--r-- | libtemplate/templatefunction.h | 4 | ||||
-rw-r--r-- | libtemplate/templateview.c | 55 | ||||
-rw-r--r-- | libtemplate/templateview.h | 5 |
4 files changed, 88 insertions, 1 deletions
diff --git a/libtemplate/templatefunction.c b/libtemplate/templatefunction.c index 2e6a743..7b76539 100644 --- a/libtemplate/templatefunction.c +++ b/libtemplate/templatefunction.c @@ -49,6 +49,10 @@ void cTemplateFunction::SetParameters(vector<pair<string, string> > params) { debug = true;
}
continue;
+ } else if (!name.compare("debuggrid")) {
+ string value = it->second;
+ SetDebugGrid(value);
+ continue;
} else if (!name.compare("condition")) {
p.first = ptCond;
} else if (!name.compare("name")) {
@@ -429,6 +433,8 @@ int cTemplateFunction::GetNumericParameter(eParamType type) { return 0;
else if (type == ptBackground)
return 0;
+ else if (type == ptDrawDebugGrid)
+ return 0;
else if (type == ptDirection)
return diBottomUp;
return -1;
@@ -1119,6 +1125,25 @@ bool cTemplateFunction::SetDirection(string value) { return true;
}
+void cTemplateFunction::SetDebugGrid(string value) {
+ int numGridsX = 0;
+ int numGridsY = 0;
+ size_t posSep = value.find("x");
+ if (posSep != string::npos) {
+ string x = value.substr(0, posSep);
+ string y = value.substr(posSep+1);
+ numGridsX = atoi(x.c_str());
+ numGridsY = atoi(y.c_str());
+ }
+ if (numGridsX < 1)
+ numGridsX = 10;
+ if (numGridsY < 1)
+ numGridsY = 10;
+ numericParameters.insert(pair<eParamType, int>(ptDebugGridX, numGridsX));
+ numericParameters.insert(pair<eParamType, int>(ptDebugGridY, numGridsY));
+ numericParameters.insert(pair<eParamType, int>(ptDrawDebugGrid, 1));
+}
+
void cTemplateFunction::ParseStringParameters(void) {
//first replace stringtokens in Text (drawText)
stringstream text;
diff --git a/libtemplate/templatefunction.h b/libtemplate/templatefunction.h index fa2e86a..fdc66b0 100644 --- a/libtemplate/templatefunction.h +++ b/libtemplate/templatefunction.h @@ -41,6 +41,9 @@ enum eParamType { ptCond, ptName, ptMode, + ptDrawDebugGrid, + ptDebugGridX, + ptDebugGridY, ptX, ptY, ptWidth, @@ -165,6 +168,7 @@ protected: bool SetDetached(string value); bool SetBackground(string value); bool SetDirection(string value); + void SetDebugGrid(string value); void ParseStringParameters(void); void ParseNumericalParameters(void); void CalculateAlign(int elementWidth, int elementHeight); diff --git a/libtemplate/templateview.c b/libtemplate/templateview.c index 5af8229..b7a4110 100644 --- a/libtemplate/templateview.c +++ b/libtemplate/templateview.c @@ -212,6 +212,41 @@ bool cTemplateView::HideView(void) { return parameters->GetNumericParameter(ptHideRoot); } +bool cTemplateView::DrawGebugGrid(void) { + if (!parameters) + return false; + return parameters->GetNumericParameter(ptDrawDebugGrid); +} + +int cTemplateView::DebugGridX(void) { + if (!parameters) + return 0; + return parameters->GetNumericParameter(ptDebugGridX); +} + +int cTemplateView::DebugGridY(void) { + if (!parameters) + return 0; + return parameters->GetNumericParameter(ptDebugGridY); +} + +tColor cTemplateView::DebugGridColor(void) { + tColor col = 0xFFFF0000; + if (!globals) + return col; + string colName = "{clrDebugGrid}"; + globals->GetColor(colName, col); + return col; +} + +tColor cTemplateView::DebugGridFontColor(void) { + tColor col = 0xFFFF0000; + if (!globals) + return col; + string colName = "{clrFontDebugGrid}"; + globals->GetColor(colName, col); + return col; +} bool cTemplateView::ExecuteView(eViewElement ve) { map < eViewElement, cTemplateViewElement* >::iterator hit = viewElements.find(ve); @@ -829,6 +864,7 @@ cTemplateViewChannel::cTemplateViewChannel(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); SetViewElements(); @@ -995,6 +1031,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("width"); attributes.insert("height"); attributes.insert("fadetime"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); string subViewName = "menudefault"; @@ -1008,7 +1045,8 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvx"); attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); - attributes.insert("scaletvheight"); + attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menumain"; @@ -1023,6 +1061,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menusetup"; @@ -1037,6 +1076,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menuschedules"; @@ -1051,6 +1091,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menuchannels"; @@ -1065,6 +1106,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menutimers"; @@ -1079,6 +1121,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menurecordings"; @@ -1093,6 +1136,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menudetailedepg"; @@ -1107,6 +1151,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menudetailedrecording"; @@ -1121,6 +1166,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); subViewName = "menudetailedtext"; @@ -1135,6 +1181,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(subViewName, attributes)); //definition of allowed parameters for menuitems viewlist @@ -1182,6 +1229,7 @@ cTemplateViewMenu::cTemplateViewMenu(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >("menuplugin", attributes)); SetSubViews(); @@ -1516,6 +1564,7 @@ cTemplateViewMessage::cTemplateViewMessage(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); SetViewElements(); @@ -1590,6 +1639,7 @@ cTemplateViewReplay::cTemplateViewReplay(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); //definition of allowed parameters for onpause and onpausemodeonly viewelement @@ -1772,6 +1822,7 @@ cTemplateViewVolume::cTemplateViewVolume(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); SetViewElements(); @@ -1846,6 +1897,7 @@ cTemplateViewAudioTracks::cTemplateViewAudioTracks(void) { attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); //definition of allowed parameters for menuitems viewlist @@ -1968,6 +2020,7 @@ cTemplateViewPlugin::cTemplateViewPlugin(string pluginName, int viewID) { attributes.insert("scaletvwidth"); attributes.insert("scaletvheight"); attributes.insert("hideroot"); + attributes.insert("debuggrid"); funcsAllowed.insert(pair< string, set<string> >(viewName, attributes)); //definition of allowed parameters for viewtab diff --git a/libtemplate/templateview.h b/libtemplate/templateview.h index b1fd17d..64add2a 100644 --- a/libtemplate/templateview.h +++ b/libtemplate/templateview.h @@ -112,6 +112,11 @@ public: cRect GetOsdSize(void); int GetNumPixmaps(void); int GetNumPixmapsViewElement(eViewElement ve); + bool DrawGebugGrid(void); + int DebugGridX(void); + int DebugGridY(void); + tColor DebugGridColor(void); + tColor DebugGridFontColor(void); bool HideView(void); bool ExecuteView(eViewElement ve); bool DetachViewElement(eViewElement ve); |