summaryrefslogtreecommitdiff
path: root/libtemplate
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-05-10 12:55:23 +0200
committerlouis <louis.braun@gmx.de>2015-05-10 12:55:23 +0200
commit28743412fed4d9d59100c38f4def327122ed0e2c (patch)
treeabfca0011e69b0e39973de807b2b3e99ff7936bb /libtemplate
parentc5edc10fbd57d17e774a07b659996bdffe16242c (diff)
downloadvdr-plugin-skindesigner-28743412fed4d9d59100c38f4def327122ed0e2c.tar.gz
vdr-plugin-skindesigner-28743412fed4d9d59100c38f4def327122ed0e2c.tar.bz2
expanded shifting features
Diffstat (limited to 'libtemplate')
-rw-r--r--libtemplate/templatefunction.c49
-rw-r--r--libtemplate/templatefunction.h17
-rw-r--r--libtemplate/templateview.c32
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");