Index: Source/platform/animation/TimingFunction.h |
diff --git a/Source/platform/animation/TimingFunction.h b/Source/platform/animation/TimingFunction.h |
index c5c6c0620d38ae1f762554604c571b8f5a132474..31f980687279324bf74e009c8e4a29976b625f7e 100644 |
--- a/Source/platform/animation/TimingFunction.h |
+++ b/Source/platform/animation/TimingFunction.h |
@@ -172,12 +172,19 @@ public: |
enum SubType { |
Start, |
End, |
+ Middle, |
Custom |
}; |
- static PassRefPtr<StepsTimingFunction> create(int steps, bool stepAtStart) |
+ enum StepAtPosition { |
+ StepAtStart, |
+ StepAtMiddle, |
+ StepAtEnd |
+ }; |
+ |
+ static PassRefPtr<StepsTimingFunction> create(int steps, StepAtPosition stepAtPosition) |
{ |
- return adoptRef(new StepsTimingFunction(Custom, steps, stepAtStart)); |
+ return adoptRef(new StepsTimingFunction(Custom, steps, stepAtPosition)); |
} |
static StepsTimingFunction* preset(SubType subType) |
@@ -185,12 +192,17 @@ public: |
switch (subType) { |
case Start: |
{ |
- DEFINE_STATIC_REF(StepsTimingFunction, start, (adoptRef(new StepsTimingFunction(Start, 1, true)))); |
+ DEFINE_STATIC_REF(StepsTimingFunction, start, (adoptRef(new StepsTimingFunction(Start, 1, StepAtStart)))); |
return start; |
} |
+ case Middle: |
+ { |
+ DEFINE_STATIC_REF(StepsTimingFunction, middle, (adoptRef(new StepsTimingFunction(Middle, 1, StepAtMiddle)))); |
+ return middle; |
+ } |
case End: |
{ |
- DEFINE_STATIC_REF(StepsTimingFunction, end, (adoptRef(new StepsTimingFunction(End, 1, false)))); |
+ DEFINE_STATIC_REF(StepsTimingFunction, end, (adoptRef(new StepsTimingFunction(End, 1, StepAtEnd)))); |
return end; |
} |
default: |
@@ -207,21 +219,21 @@ public: |
virtual double evaluate(double fraction, double) const OVERRIDE; |
int numberOfSteps() const { return m_steps; } |
- bool stepAtStart() const { return m_stepAtStart; } |
+ StepAtPosition stepAtPosition() const { return m_stepAtPosition; } |
SubType subType() const { return m_subType; } |
private: |
- StepsTimingFunction(SubType subType, int steps, bool stepAtStart) |
+ StepsTimingFunction(SubType subType, int steps, StepAtPosition stepAtPosition) |
: TimingFunction(StepsFunction) |
, m_steps(steps) |
- , m_stepAtStart(stepAtStart) |
+ , m_stepAtPosition(stepAtPosition) |
, m_subType(subType) |
{ |
} |
int m_steps; |
- bool m_stepAtStart; |
+ StepAtPosition m_stepAtPosition; |
SubType m_subType; |
}; |