app_list: Update separator color.
[chromium-blink-merge.git] / cc / CCTimingFunction.h
blob30bba7254a002f70323f877010ed6735e558c5ba
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CCTimingFunction_h
6 #define CCTimingFunction_h
8 #include "CCAnimationCurve.h"
9 #include "UnitBezier.h"
10 #include <wtf/PassOwnPtr.h>
12 namespace WebCore {
14 // See http://www.w3.org/TR/css3-transitions/.
15 class CCTimingFunction : public CCFloatAnimationCurve {
16 public:
17 virtual ~CCTimingFunction();
19 // Partial implementation of CCFloatAnimationCurve.
20 virtual double duration() const OVERRIDE;
22 protected:
23 CCTimingFunction();
26 class CCCubicBezierTimingFunction : public CCTimingFunction {
27 public:
28 static PassOwnPtr<CCCubicBezierTimingFunction> create(double x1, double y1, double x2, double y2);
29 virtual ~CCCubicBezierTimingFunction();
31 // Partial implementation of CCFloatAnimationCurve.
32 virtual float getValue(double time) const OVERRIDE;
33 virtual PassOwnPtr<CCAnimationCurve> clone() const OVERRIDE;
35 protected:
36 CCCubicBezierTimingFunction(double x1, double y1, double x2, double y2);
38 UnitBezier m_curve;
41 class CCEaseTimingFunction {
42 public:
43 static PassOwnPtr<CCTimingFunction> create();
46 class CCEaseInTimingFunction {
47 public:
48 static PassOwnPtr<CCTimingFunction> create();
51 class CCEaseOutTimingFunction {
52 public:
53 static PassOwnPtr<CCTimingFunction> create();
56 class CCEaseInOutTimingFunction {
57 public:
58 static PassOwnPtr<CCTimingFunction> create();
61 } // namespace WebCore
63 #endif // CCTimingFunction_h