diff options
author | Iain Merrick <husky@google.com> | 2010-09-13 16:35:48 +0100 |
---|---|---|
committer | Iain Merrick <husky@google.com> | 2010-09-16 12:10:42 +0100 |
commit | 5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306 (patch) | |
tree | ddce1aa5e3b6967a69691892e500897558ff8ab6 /WebCore/css/CSSTimingFunctionValue.h | |
parent | 12bec63ec71e46baba27f0bd9bd9d8067683690a (diff) | |
download | external_webkit-5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306.zip external_webkit-5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306.tar.gz external_webkit-5abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306.tar.bz2 |
Merge WebKit at r67178 : Initial merge by git.
Change-Id: I57e01163b6866cb029cdadf405a0394a3918bc18
Diffstat (limited to 'WebCore/css/CSSTimingFunctionValue.h')
-rw-r--r-- | WebCore/css/CSSTimingFunctionValue.h | 68 |
1 files changed, 63 insertions, 5 deletions
diff --git a/WebCore/css/CSSTimingFunctionValue.h b/WebCore/css/CSSTimingFunctionValue.h index e465993..27e899b 100644 --- a/WebCore/css/CSSTimingFunctionValue.h +++ b/WebCore/css/CSSTimingFunctionValue.h @@ -33,20 +33,51 @@ namespace WebCore { class CSSTimingFunctionValue : public CSSValue { public: - static PassRefPtr<CSSTimingFunctionValue> create(double x1, double y1, double x2, double y2) + virtual String cssText() const = 0; + + virtual bool isLinearTimingFunctionValue() const { return false; } + virtual bool isCubicBezierTimingFunctionValue() const { return false; } + virtual bool isStepsTimingFunctionValue() const { return false; } + +protected: + CSSTimingFunctionValue() + { + } + + virtual bool isTimingFunctionValue() const { return true; } +}; + +class CSSLinearTimingFunctionValue : public CSSTimingFunctionValue { +public: + static PassRefPtr<CSSLinearTimingFunctionValue> create() + { + return adoptRef(new CSSLinearTimingFunctionValue); + } + +private: + CSSLinearTimingFunctionValue() { - return adoptRef(new CSSTimingFunctionValue(x1, y1, x2, y2)); } virtual String cssText() const; + virtual bool isLinearTimingFunctionValue() const { return true; } +}; + +class CSSCubicBezierTimingFunctionValue : public CSSTimingFunctionValue { +public: + static PassRefPtr<CSSCubicBezierTimingFunctionValue> create(double x1, double y1, double x2, double y2) + { + return adoptRef(new CSSCubicBezierTimingFunctionValue(x1, y1, x2, y2)); + } + double x1() const { return m_x1; } double y1() const { return m_y1; } double x2() const { return m_x2; } double y2() const { return m_y2; } private: - CSSTimingFunctionValue(double x1, double y1, double x2, double y2) + CSSCubicBezierTimingFunctionValue(double x1, double y1, double x2, double y2) : m_x1(x1) , m_y1(y1) , m_x2(x2) @@ -54,14 +85,41 @@ private: { } - virtual bool isTimingFunctionValue() const { return true; } - + virtual String cssText() const; + + virtual bool isCubicBezierTimingFunctionValue() const { return true; } + double m_x1; double m_y1; double m_x2; double m_y2; }; +class CSSStepsTimingFunctionValue : public CSSTimingFunctionValue { +public: + static PassRefPtr<CSSStepsTimingFunctionValue> create(int steps, bool stepAtStart) + { + return adoptRef(new CSSStepsTimingFunctionValue(steps, stepAtStart)); + } + + int numberOfSteps() const { return m_steps; } + bool stepAtStart() const { return m_stepAtStart; } + +private: + CSSStepsTimingFunctionValue(int steps, bool stepAtStart) + : m_steps(steps) + , m_stepAtStart(stepAtStart) + { + } + + virtual String cssText() const; + + virtual bool isStepsTimingFunctionValue() const { return true; } + + int m_steps; + bool m_stepAtStart; +}; + } // namespace #endif |