diff options
author | louis <louis.braun@gmx.de> | 2015-05-10 12:55:23 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-05-10 12:55:23 +0200 |
commit | 28743412fed4d9d59100c38f4def327122ed0e2c (patch) | |
tree | abfca0011e69b0e39973de807b2b3e99ff7936bb /libtemplate | |
parent | c5edc10fbd57d17e774a07b659996bdffe16242c (diff) | |
download | vdr-plugin-skindesigner-28743412fed4d9d59100c38f4def327122ed0e2c.tar.gz vdr-plugin-skindesigner-28743412fed4d9d59100c38f4def327122ed0e2c.tar.bz2 |
expanded shifting features
Diffstat (limited to 'libtemplate')
-rw-r--r-- | libtemplate/templatefunction.c | 49 | ||||
-rw-r--r-- | libtemplate/templatefunction.h | 17 | ||||
-rw-r--r-- | libtemplate/templateview.c | 32 |
3 files changed, 98 insertions, 0 deletions
diff --git a/libtemplate/templatefunction.c b/libtemplate/templatefunction.c index 9855066..246db23 100644 --- a/libtemplate/templatefunction.c +++ b/libtemplate/templatefunction.c @@ -75,6 +75,10 @@ void cTemplateFunction::SetParameters(vector<pair<string, string> > params) { p.first = ptFadeTime;
} else if (!name.compare("shifttime")) {
p.first = ptShiftTime;
+ } else if (!name.compare("shifttype")) {
+ p.first = ptShiftType;
+ } else if (!name.compare("shiftmode")) {
+ p.first = ptShiftMode;
} else if (!name.compare("startx")) {
p.first = ptStartX;
} else if (!name.compare("starty")) {
@@ -304,6 +308,12 @@ bool cTemplateFunction::CalculateParameters(void) { case ptAnimType:
paramValid = SetAnimType(value);
break;
+ case ptShiftType:
+ paramValid = SetShiftType(value);
+ break;
+ case ptShiftMode:
+ paramValid = SetShiftMode(value);
+ break;
default:
paramValid = true;
break;
@@ -442,6 +452,8 @@ int cTemplateFunction::GetNumericParameter(eParamType type) { return 0;
else if (type == ptFadeTime)
return 0;
+ else if (type == ptShiftTime)
+ return 0;
else if (type == ptMenuItemWidth)
return 0;
else if (type == ptHideRoot)
@@ -454,6 +466,15 @@ int cTemplateFunction::GetNumericParameter(eParamType type) { return 0;
else if (type == ptDirection)
return diBottomUp;
+ else if (type == ptStartX)
+ return 0;
+ else if (type == ptStartY)
+ return 0;
+ else if (type == ptShiftType)
+ return stNone;
+ else if (type == ptShiftMode)
+ return smLinear;
+ //default default ;)
return -1;
}
return hit->second;
@@ -1164,6 +1185,28 @@ bool cTemplateFunction::SetAnimType(string value) { return true;
}
+bool cTemplateFunction::SetShiftType(string value) {
+ int shiftType = stNone;
+ if (!value.compare("left"))
+ shiftType = stLeft;
+ else if (!value.compare("right"))
+ shiftType = stRight;
+ else if (!value.compare("top"))
+ shiftType = stTop;
+ else if (!value.compare("bottom"))
+ shiftType = stBottom;
+ numericParameters.insert(pair<eParamType, int>(ptShiftType, shiftType));
+ return true;
+}
+
+bool cTemplateFunction::SetShiftMode(string value) {
+ int shiftMode = smLinear;
+ if (!value.compare("slowed"))
+ shiftMode = smSlowedDown;
+ numericParameters.insert(pair<eParamType, int>(ptShiftMode, shiftMode));
+ return true;
+}
+
void cTemplateFunction::SetDebugGrid(string value) {
int numGridsX = 0;
int numGridsY = 0;
@@ -1605,6 +1648,12 @@ string cTemplateFunction::GetParamName(eParamType pt) { case ptShiftTime:
name = "Shift Time";
break;
+ case ptShiftType:
+ name = "Shift Type";
+ break;
+ case ptShiftMode:
+ name = "Shift Mode";
+ break;
case ptStartX:
name = "Startpos X";
break;
diff --git a/libtemplate/templatefunction.h b/libtemplate/templatefunction.h index 508615d..43cb106 100644 --- a/libtemplate/templatefunction.h +++ b/libtemplate/templatefunction.h @@ -52,6 +52,8 @@ enum eParamType { ptDetached, ptFadeTime, ptShiftTime, + ptShiftType, + ptShiftMode, ptStartX, ptStartY, ptDelay, @@ -103,6 +105,19 @@ enum eImageType { itImage }; +enum eShiftType { + stNone, + stLeft, + stRight, + stTop, + stBottom +}; + +enum eShiftMode { + smLinear, + smSlowedDown +}; + enum eAnimType { atNone, atBlink, @@ -180,6 +195,8 @@ protected: bool SetBackground(string value); bool SetDirection(string value); bool SetAnimType(string value); + bool SetShiftType(string value); + bool SetShiftMode(string value); void SetDebugGrid(string value); void ParseStringParameters(void); void ParseNumericalParameters(void); diff --git a/libtemplate/templateview.c b/libtemplate/templateview.c index 2e7782b..3fcdd86 100644 --- a/libtemplate/templateview.c +++ b/libtemplate/templateview.c @@ -668,6 +668,8 @@ void cTemplateView::SetFunctionDefinitions(void) { attributes.insert("delay"); attributes.insert("fadetime"); attributes.insert("shifttime"); + attributes.insert("shifttype"); + attributes.insert("shiftmode"); attributes.insert("startx"); attributes.insert("starty"); attributes.insert("name"); @@ -875,6 +877,11 @@ cTemplateViewChannel::cTemplateViewChannel(void) { attributes.insert("width"); attributes.insert("height"); attributes.insert("fadetime"); + attributes.insert("shifttime"); + attributes.insert("shifttype"); + attributes.insert("shiftmode"); + attributes.insert("startx"); + attributes.insert("starty"); attributes.insert("scaletvx"); attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); @@ -1581,6 +1588,11 @@ cTemplateViewMessage::cTemplateViewMessage(void) { attributes.insert("width"); attributes.insert("height"); attributes.insert("fadetime"); + attributes.insert("shifttime"); + attributes.insert("shifttype"); + attributes.insert("shiftmode"); + attributes.insert("startx"); + attributes.insert("starty"); attributes.insert("scaletvx"); attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); @@ -1656,6 +1668,11 @@ cTemplateViewReplay::cTemplateViewReplay(void) { attributes.insert("width"); attributes.insert("height"); attributes.insert("fadetime"); + attributes.insert("shifttime"); + attributes.insert("shifttype"); + attributes.insert("shiftmode"); + attributes.insert("startx"); + attributes.insert("starty"); attributes.insert("scaletvx"); attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); @@ -1839,6 +1856,11 @@ cTemplateViewVolume::cTemplateViewVolume(void) { attributes.insert("width"); attributes.insert("height"); attributes.insert("fadetime"); + attributes.insert("shifttime"); + attributes.insert("shifttype"); + attributes.insert("shiftmode"); + attributes.insert("startx"); + attributes.insert("starty"); attributes.insert("scaletvx"); attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); @@ -1914,6 +1936,11 @@ cTemplateViewAudioTracks::cTemplateViewAudioTracks(void) { attributes.insert("width"); attributes.insert("height"); attributes.insert("fadetime"); + attributes.insert("shifttime"); + attributes.insert("shifttype"); + attributes.insert("shiftmode"); + attributes.insert("startx"); + attributes.insert("starty"); attributes.insert("scaletvx"); attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); @@ -2036,6 +2063,11 @@ cTemplateViewPlugin::cTemplateViewPlugin(string pluginName, int viewID) { attributes.insert("width"); attributes.insert("height"); attributes.insert("fadetime"); + attributes.insert("shifttime"); + attributes.insert("shifttype"); + attributes.insert("shiftmode"); + attributes.insert("startx"); + attributes.insert("starty"); attributes.insert("scaletvx"); attributes.insert("scaletvy"); attributes.insert("scaletvwidth"); |