Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: cc/animation_curve.h

Issue 12822004: Part 3 of cc/ directory shuffles: animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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.
4
5 #ifndef CC_ANIMATION_CURVE_H_
6 #define CC_ANIMATION_CURVE_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/base/cc_export.h"
10 #include "ui/gfx/transform.h"
11
12 namespace cc {
13
14 class FloatAnimationCurve;
15 class TransformAnimationCurve;
16 class TransformOperations;
17
18 // An animation curve is a function that returns a value given a time.
19 // There are currently only two types of curve, float and transform.
20 class CC_EXPORT AnimationCurve {
21 public:
22 enum CurveType { Float, Transform };
23
24 virtual ~AnimationCurve() {}
25
26 virtual double Duration() const = 0;
27 virtual CurveType Type() const = 0;
28 virtual scoped_ptr<AnimationCurve> Clone() const = 0;
29
30 const FloatAnimationCurve* ToFloatAnimationCurve() const;
31 const TransformAnimationCurve* ToTransformAnimationCurve() const;
32 };
33
34 class CC_EXPORT FloatAnimationCurve : public AnimationCurve {
35 public:
36 virtual ~FloatAnimationCurve() {}
37
38 virtual float GetValue(double t) const = 0;
39
40 // Partial Animation implementation.
41 virtual CurveType Type() const OVERRIDE;
42 };
43
44 class CC_EXPORT TransformAnimationCurve : public AnimationCurve {
45 public:
46 virtual ~TransformAnimationCurve() {}
47
48 virtual gfx::Transform GetValue(double t) const = 0;
49
50 // Partial Animation implementation.
51 virtual CurveType Type() const OVERRIDE;
52 };
53
54 } // namespace cc
55
56 #endif // CC_ANIMATION_CURVE_H_
OLDNEW
« no previous file with comments | « cc/animation/scrollbar_animation_controller_linear_fade_unittest.cc ('k') | cc/animation_curve.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698