From 28743412fed4d9d59100c38f4def327122ed0e2c Mon Sep 17 00:00:00 2001 From: louis Date: Sun, 10 May 2015 12:55:23 +0200 Subject: expanded shifting features --- libtemplate/templatefunction.c | 49 ++++++++++++++++++++++++++++++++++++++++++ libtemplate/templatefunction.h | 17 +++++++++++++++ libtemplate/templateview.c | 32 +++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) (limited to 'libtemplate') 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 > 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(ptShiftType, shiftType)); + return true; +} + +bool cTemplateFunction::SetShiftMode(string value) { + int shiftMode = smLinear; + if (!value.compare("slowed")) + shiftMode = smSlowedDown; + numericParameters.insert(pair(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"); -- cgit v1.2.3