mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2025-12-27 17:18:52 +01:00
Removed the use of NaN due to compiler issues.
This commit is contained in:
parent
ccfc0325a9
commit
02cb0d584f
@ -24,10 +24,11 @@ std::map<std::string, TweenProperty> Tween::tweenPropertyMap_;
|
||||
|
||||
Tween::Tween(TweenProperty property, TweenAlgorithm type, double start, double end, double duration)
|
||||
: property(property)
|
||||
, duration(duration)
|
||||
, duration(duration)
|
||||
, type(type)
|
||||
, start(start)
|
||||
, end(end)
|
||||
, startDefined(true)
|
||||
{
|
||||
}
|
||||
|
||||
@ -374,9 +375,3 @@ double Tween::easeInOutCircular(double t, double d, double b, double c)
|
||||
t -= 2;
|
||||
return c/2 * (sqrt(1 - t*t) + 1) + b;
|
||||
}
|
||||
|
||||
|
||||
double Tween::getStart()
|
||||
{
|
||||
return start;
|
||||
}
|
||||
@ -33,7 +33,7 @@ public:
|
||||
static bool getTweenProperty(std::string name, TweenProperty &property);
|
||||
TweenProperty property;
|
||||
double duration;
|
||||
double getStart();
|
||||
bool startDefined;
|
||||
|
||||
private:
|
||||
static double easeInQuadratic(double elapsedTime, double duration, double b, double c);
|
||||
|
||||
@ -18,7 +18,6 @@
|
||||
#include "../../Graphics/ViewInfo.h"
|
||||
#include "../../Utility/Log.h"
|
||||
#include "../../SDL.h"
|
||||
#include <cmath>
|
||||
|
||||
Component::Component(Page &p)
|
||||
: page(p)
|
||||
@ -206,87 +205,87 @@ bool Component::animate()
|
||||
switch(tween->property)
|
||||
{
|
||||
case TWEEN_PROPERTY_X:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.X = tween->animate(elapsedTime, storeViewInfo_.X);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.X = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.X = tween->animate(elapsedTime, storeViewInfo_.X);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_Y:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.Y = tween->animate(elapsedTime, storeViewInfo_.Y);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.Y = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.Y = tween->animate(elapsedTime, storeViewInfo_.Y);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_HEIGHT:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.Height = tween->animate(elapsedTime, storeViewInfo_.Height);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.Height = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.Height = tween->animate(elapsedTime, storeViewInfo_.Height);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_WIDTH:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.Width = tween->animate(elapsedTime, storeViewInfo_.Width);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.Width = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.Width = tween->animate(elapsedTime, storeViewInfo_.Width);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_ANGLE:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.Angle = tween->animate(elapsedTime, storeViewInfo_.Angle);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.Angle = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.Angle = tween->animate(elapsedTime, storeViewInfo_.Angle);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_ALPHA:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.Alpha = tween->animate(elapsedTime, storeViewInfo_.Alpha);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.Alpha = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.Alpha = tween->animate(elapsedTime, storeViewInfo_.Alpha);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_X_ORIGIN:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.XOrigin = tween->animate(elapsedTime, storeViewInfo_.XOrigin);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.XOrigin = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.XOrigin = tween->animate(elapsedTime, storeViewInfo_.XOrigin);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_Y_ORIGIN:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.YOrigin = tween->animate(elapsedTime, storeViewInfo_.YOrigin);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.YOrigin = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.YOrigin = tween->animate(elapsedTime, storeViewInfo_.YOrigin);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_X_OFFSET:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.XOffset = tween->animate(elapsedTime, storeViewInfo_.XOffset);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.XOffset = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.XOffset = tween->animate(elapsedTime, storeViewInfo_.XOffset);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_Y_OFFSET:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.YOffset = tween->animate(elapsedTime, storeViewInfo_.YOffset);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.YOffset = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.YOffset = tween->animate(elapsedTime, storeViewInfo_.YOffset);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_FONT_SIZE:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.FontSize = tween->animate(elapsedTime, storeViewInfo_.FontSize);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.FontSize = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.FontSize = tween->animate(elapsedTime, storeViewInfo_.FontSize);
|
||||
break;
|
||||
|
||||
case TWEEN_PROPERTY_BACKGROUND_ALPHA:
|
||||
if (std::isnan( tween->getStart() ))
|
||||
baseViewInfo.BackgroundAlpha = tween->animate(elapsedTime, storeViewInfo_.BackgroundAlpha);
|
||||
else
|
||||
if (tween->startDefined)
|
||||
baseViewInfo.BackgroundAlpha = tween->animate(elapsedTime);
|
||||
else
|
||||
baseViewInfo.BackgroundAlpha = tween->animate(elapsedTime, storeViewInfo_.BackgroundAlpha);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,7 +37,6 @@
|
||||
#include <stdexcept>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <limits>
|
||||
|
||||
using namespace rapidxml;
|
||||
|
||||
@ -959,15 +958,12 @@ void PageBuilder::getAnimationEvents(xml_node<> *node, TweenSet &tweens)
|
||||
}
|
||||
else
|
||||
{
|
||||
float fromValue;
|
||||
float fromValue = 0.0f;
|
||||
bool fromDefined = true;
|
||||
if (from)
|
||||
{
|
||||
fromValue = Utils::convertFloat(from->value());
|
||||
}
|
||||
else
|
||||
{
|
||||
fromValue = std::numeric_limits<double>::quiet_NaN();
|
||||
}
|
||||
fromDefined = false;
|
||||
float toValue = Utils::convertFloat(to->value());
|
||||
float durationValue = Utils::convertFloat(durationXml->value());
|
||||
|
||||
@ -1016,6 +1012,8 @@ void PageBuilder::getAnimationEvents(xml_node<> *node, TweenSet &tweens)
|
||||
}
|
||||
|
||||
Tween *t = new Tween(property, algorithm, fromValue, toValue, durationValue);
|
||||
if (!fromDefined)
|
||||
t->startDefined = false;
|
||||
tweens.push(t);
|
||||
}
|
||||
else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user