Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / animation / TimingFunction.h
index 239e4a5..b9e3da6 100644 (file)
 #include "wtf/PassRefPtr.h"
 #include "wtf/RefCounted.h"
 #include "wtf/StdLibExtras.h"
-#include "wtf/Vector.h"
 #include "wtf/text/StringBuilder.h"
 #include "wtf/text/WTFString.h"
 #include <algorithm>
 
-namespace WebCore {
+namespace blink {
 
 class PLATFORM_EXPORT TimingFunction : public RefCounted<TimingFunction> {
 public:
@@ -56,6 +55,10 @@ public:
     // accuracy and is not guaranteed.
     virtual double evaluate(double fraction, double accuracy) const = 0;
 
+    // This function returns the minimum and maximum values obtainable when
+    // calling evaluate();
+    virtual void range(double* minValue, double* maxValue) const = 0;
+
 protected:
     TimingFunction(Type type)
         : m_type(type)
@@ -80,6 +83,7 @@ public:
 
     virtual double evaluate(double fraction, double) const OVERRIDE;
 
+    virtual void range(double* minValue, double* maxValue) const OVERRIDE;
 private:
     LinearTimingFunction()
         : TimingFunction(LinearFunction)
@@ -136,6 +140,7 @@ public:
     virtual String toString() const OVERRIDE;
 
     virtual double evaluate(double fraction, double accuracy) const OVERRIDE;
+    virtual void range(double* minValue, double* maxValue) const OVERRIDE;
 
     double x1() const { return m_x1; }
     double y1() const { return m_y1; }
@@ -214,6 +219,7 @@ public:
 
     virtual double evaluate(double fraction, double) const OVERRIDE;
 
+    virtual void range(double* minValue, double* maxValue) const OVERRIDE;
     int numberOfSteps() const { return m_steps; }
     StepAtPosition stepAtPosition() const { return m_stepAtPosition; }
 
@@ -250,6 +256,6 @@ DEFINE_TIMING_FUNCTION_TYPE_CASTS(Linear);
 DEFINE_TIMING_FUNCTION_TYPE_CASTS(CubicBezier);
 DEFINE_TIMING_FUNCTION_TYPE_CASTS(Steps);
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // TimingFunction_h