mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2025-12-12 17:58:53 +01:00
make tweens other than linear for components now work, added TWEEN_PROPERTY_X_OFFSET_SHIFT_MENU_DIRECTION
Signed-off-by: Vincent-FK <vincent.buso@funkey-project.com>
This commit is contained in:
parent
4692a90c48
commit
115641c0e9
@ -49,6 +49,7 @@ bool Tween::getTweenProperty(std::string name, TweenProperty &property)
|
|||||||
tweenPropertyMap_["yorigin"] = TWEEN_PROPERTY_Y_ORIGIN;
|
tweenPropertyMap_["yorigin"] = TWEEN_PROPERTY_Y_ORIGIN;
|
||||||
tweenPropertyMap_["xoffset"] = TWEEN_PROPERTY_X_OFFSET;
|
tweenPropertyMap_["xoffset"] = TWEEN_PROPERTY_X_OFFSET;
|
||||||
tweenPropertyMap_["yoffset"] = TWEEN_PROPERTY_Y_OFFSET;
|
tweenPropertyMap_["yoffset"] = TWEEN_PROPERTY_Y_OFFSET;
|
||||||
|
tweenPropertyMap_["xoffsetshiftmenudirection"] = TWEEN_PROPERTY_X_OFFSET_SHIFT_MENU_DIRECTION;
|
||||||
tweenPropertyMap_["yoffsetshiftmenudirection"] = TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION;
|
tweenPropertyMap_["yoffsetshiftmenudirection"] = TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION;
|
||||||
tweenPropertyMap_["fontSize"] = TWEEN_PROPERTY_FONT_SIZE;
|
tweenPropertyMap_["fontSize"] = TWEEN_PROPERTY_FONT_SIZE;
|
||||||
tweenPropertyMap_["backgroundalpha"] = TWEEN_PROPERTY_BACKGROUND_ALPHA;
|
tweenPropertyMap_["backgroundalpha"] = TWEEN_PROPERTY_BACKGROUND_ALPHA;
|
||||||
@ -78,27 +79,27 @@ TweenAlgorithm Tween::getTweenType(std::string name)
|
|||||||
{
|
{
|
||||||
if(tweenTypeMap_.size() == 0)
|
if(tweenTypeMap_.size() == 0)
|
||||||
{
|
{
|
||||||
tweenTypeMap_["easeInquadratic"] = EASE_IN_QUADRATIC;
|
tweenTypeMap_["easeinquadratic"] = EASE_IN_QUADRATIC;
|
||||||
tweenTypeMap_["easeOutquadratic"] = EASE_OUT_QUADRATIC;
|
tweenTypeMap_["easeoutquadratic"] = EASE_OUT_QUADRATIC;
|
||||||
tweenTypeMap_["easeInoutquadratic"] = EASE_INOUT_QUADRATIC;
|
tweenTypeMap_["easeinoutquadratic"] = EASE_INOUT_QUADRATIC;
|
||||||
tweenTypeMap_["easeIncubic"] = EASE_IN_CUBIC;
|
tweenTypeMap_["easeincubic"] = EASE_IN_CUBIC;
|
||||||
tweenTypeMap_["easeOutcubic"] = EASE_OUT_CUBIC;
|
tweenTypeMap_["easeoutcubic"] = EASE_OUT_CUBIC;
|
||||||
tweenTypeMap_["easeInoutcubic"] = EASE_INOUT_CUBIC;
|
tweenTypeMap_["easeinoutcubic"] = EASE_INOUT_CUBIC;
|
||||||
tweenTypeMap_["easeInquartic"] = EASE_IN_QUARTIC;
|
tweenTypeMap_["easeinquartic"] = EASE_IN_QUARTIC;
|
||||||
tweenTypeMap_["easeOutquartic"] = EASE_OUT_QUARTIC;
|
tweenTypeMap_["easeoutquartic"] = EASE_OUT_QUARTIC;
|
||||||
tweenTypeMap_["easeInoutquartic"] = EASE_INOUT_QUARTIC;
|
tweenTypeMap_["easeinoutquartic"] = EASE_INOUT_QUARTIC;
|
||||||
tweenTypeMap_["easeInquintic"] = EASE_IN_QUINTIC;
|
tweenTypeMap_["easeinquintic"] = EASE_IN_QUINTIC;
|
||||||
tweenTypeMap_["easeOutquintic"] = EASE_OUT_QUINTIC;
|
tweenTypeMap_["easeoutquintic"] = EASE_OUT_QUINTIC;
|
||||||
tweenTypeMap_["easeInoutquintic"] = EASE_INOUT_QUINTIC;
|
tweenTypeMap_["easeinoutquintic"] = EASE_INOUT_QUINTIC;
|
||||||
tweenTypeMap_["easeInsine"] = EASE_IN_SINE;
|
tweenTypeMap_["easeinsine"] = EASE_IN_SINE;
|
||||||
tweenTypeMap_["easeOutsine"] = EASE_OUT_SINE;
|
tweenTypeMap_["easeoutsine"] = EASE_OUT_SINE;
|
||||||
tweenTypeMap_["easeInoutsine"] = EASE_INOUT_SINE;
|
tweenTypeMap_["easeinoutsine"] = EASE_INOUT_SINE;
|
||||||
tweenTypeMap_["easeInexponential"] = EASE_IN_EXPONENTIAL;
|
tweenTypeMap_["easeinexponential"] = EASE_IN_EXPONENTIAL;
|
||||||
tweenTypeMap_["easeOutexponential"] = EASE_OUT_EXPONENTIAL;
|
tweenTypeMap_["easeoutexponential"] = EASE_OUT_EXPONENTIAL;
|
||||||
tweenTypeMap_["easeInoutexponential"] = EASE_INOUT_EXPONENTIAL;
|
tweenTypeMap_["easeinoutexponential"] = EASE_INOUT_EXPONENTIAL;
|
||||||
tweenTypeMap_["easeIncircular"] = EASE_IN_CIRCULAR;
|
tweenTypeMap_["easeincircular"] = EASE_IN_CIRCULAR;
|
||||||
tweenTypeMap_["easeOutcircular"] = EASE_OUT_CIRCULAR;
|
tweenTypeMap_["easeoutcircular"] = EASE_OUT_CIRCULAR;
|
||||||
tweenTypeMap_["easeInoutcircular"] = EASE_INOUT_CIRCULAR;
|
tweenTypeMap_["easeinoutcircular"] = EASE_INOUT_CIRCULAR;
|
||||||
tweenTypeMap_["linear"] = LINEAR;
|
tweenTypeMap_["linear"] = LINEAR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -53,6 +53,7 @@ enum TweenProperty
|
|||||||
TWEEN_PROPERTY_Y_ORIGIN,
|
TWEEN_PROPERTY_Y_ORIGIN,
|
||||||
TWEEN_PROPERTY_X_OFFSET,
|
TWEEN_PROPERTY_X_OFFSET,
|
||||||
TWEEN_PROPERTY_Y_OFFSET,
|
TWEEN_PROPERTY_Y_OFFSET,
|
||||||
|
TWEEN_PROPERTY_X_OFFSET_SHIFT_MENU_DIRECTION,
|
||||||
TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION,
|
TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION,
|
||||||
TWEEN_PROPERTY_FONT_SIZE,
|
TWEEN_PROPERTY_FONT_SIZE,
|
||||||
TWEEN_PROPERTY_BACKGROUND_ALPHA,
|
TWEEN_PROPERTY_BACKGROUND_ALPHA,
|
||||||
|
|||||||
@ -345,6 +345,21 @@ bool Component::animate()
|
|||||||
baseViewInfo.YOffset = tween->animate(elapsedTime, storeViewInfo_.YOffset);
|
baseViewInfo.YOffset = tween->animate(elapsedTime, storeViewInfo_.YOffset);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TWEEN_PROPERTY_X_OFFSET_SHIFT_MENU_DIRECTION:
|
||||||
|
if (tween->startDefined){
|
||||||
|
baseViewInfo.XOffset = tween->animate(elapsedTime,
|
||||||
|
tween->getStart(),
|
||||||
|
tween->getStart() + tween->getEnd()* (static_cast<double>(page.isMenuScrollForward()?-1.0f:1.0f)),
|
||||||
|
duration);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
baseViewInfo.XOffset = tween->animate(elapsedTime,
|
||||||
|
static_cast<double>(storeViewInfo_.YOffset),
|
||||||
|
static_cast<double>(storeViewInfo_.YOffset) + tween->getEnd()* (static_cast<double>(page.isMenuScrollForward()?-1.0f:1.0f)),
|
||||||
|
duration);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION:
|
case TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION:
|
||||||
if (tween->startDefined){
|
if (tween->startDefined){
|
||||||
/*printf("storeViewInfo_.YOffset = %f, tween->start() = %f, page.isMenuScrollForward()=%d, tween->getEnd()=%f, newEnd=%f\n",
|
/*printf("storeViewInfo_.YOffset = %f, tween->start() = %f, page.isMenuScrollForward()=%d, tween->getEnd()=%f, newEnd=%f\n",
|
||||||
|
|||||||
@ -1492,7 +1492,7 @@ void PageBuilder::getAnimationEvents(xml_node<> *node, TweenSet &tweens)
|
|||||||
if(algorithmXml)
|
if(algorithmXml)
|
||||||
{
|
{
|
||||||
algorithm = Tween::getTweenType(algorithmXml->value());
|
algorithm = Tween::getTweenType(algorithmXml->value());
|
||||||
|
//printf(" algorithm=%d\n", algorithm);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Tween::getTweenProperty(type->value(), property))
|
if(Tween::getTweenProperty(type->value(), property))
|
||||||
@ -1524,6 +1524,7 @@ void PageBuilder::getAnimationEvents(xml_node<> *node, TweenSet &tweens)
|
|||||||
toValue = getVerticalAlignment(to, 0);
|
toValue = getVerticalAlignment(to, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TWEEN_PROPERTY_X_OFFSET_SHIFT_MENU_DIRECTION:
|
||||||
case TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION:
|
case TWEEN_PROPERTY_Y_OFFSET_SHIFT_MENU_DIRECTION:
|
||||||
fromValue = getVerticalAlignment(from, 0);
|
fromValue = getVerticalAlignment(from, 0);
|
||||||
toValue = getVerticalAlignment(to, 0);
|
toValue = getVerticalAlignment(to, 0);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user