struct Timing {
enum FillMode {
+ FillModeAuto,
FillModeNone,
FillModeForwards,
FillModeBackwards,
Timing()
: startDelay(0)
- , fillMode(FillModeForwards)
+ , endDelay(0)
+ , fillMode(FillModeAuto)
, iterationStart(0)
, iterationCount(1)
- , hasIterationDuration(false)
- , iterationDuration(0)
+ , iterationDuration(std::numeric_limits<double>::quiet_NaN())
, playbackRate(1)
, direction(PlaybackDirectionNormal)
, timingFunction(LinearTimingFunction::create())
void assertValid() const
{
ASSERT(std::isfinite(startDelay));
+ ASSERT(std::isfinite(endDelay));
ASSERT(std::isfinite(iterationStart));
ASSERT(iterationStart >= 0);
ASSERT(iterationCount >= 0);
- ASSERT(iterationDuration >= 0);
+ ASSERT(std::isnan(iterationDuration) || iterationDuration >= 0);
ASSERT(std::isfinite(playbackRate));
ASSERT(timingFunction);
}
double startDelay;
+ double endDelay;
FillMode fillMode;
double iterationStart;
double iterationCount;
- bool hasIterationDuration;
double iterationDuration;
// FIXME: Add activeDuration.
double playbackRate;