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/CCAnimationCurve.h

Issue 11085029: [cc] Use base ptr types for cc's CSS animation classes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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
« no previous file with comments | « cc/CCActiveAnimationTest.cpp ('k') | cc/CCKeyframedAnimationCurve.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CCAnimationCurve_h 5 #ifndef CCAnimationCurve_h
6 #define CCAnimationCurve_h 6 #define CCAnimationCurve_h
7 7
8 #include "base/memory/scoped_ptr.h"
8 #include <public/WebTransformationMatrix.h> 9 #include <public/WebTransformationMatrix.h>
9 #include <wtf/PassOwnPtr.h>
10 10
11 namespace cc { 11 namespace cc {
12 12
13 class CCFloatAnimationCurve; 13 class CCFloatAnimationCurve;
14 class CCTransformAnimationCurve; 14 class CCTransformAnimationCurve;
15 class IntSize; 15 class IntSize;
16 class TransformOperations; 16 class TransformOperations;
17 17
18 // An animation curve is a function that returns a value given a time. 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. 19 // There are currently only two types of curve, float and transform.
20 class CCAnimationCurve { 20 class CCAnimationCurve {
21 public: 21 public:
22 enum Type { Float, Transform }; 22 enum Type { Float, Transform };
23 23
24 virtual ~CCAnimationCurve() { } 24 virtual ~CCAnimationCurve() { }
25 25
26 virtual double duration() const = 0; 26 virtual double duration() const = 0;
27 virtual Type type() const = 0; 27 virtual Type type() const = 0;
28 virtual PassOwnPtr<CCAnimationCurve> clone() const = 0; 28 virtual scoped_ptr<CCAnimationCurve> clone() const = 0;
29 29
30 const CCFloatAnimationCurve* toFloatAnimationCurve() const; 30 const CCFloatAnimationCurve* toFloatAnimationCurve() const;
31 const CCTransformAnimationCurve* toTransformAnimationCurve() const; 31 const CCTransformAnimationCurve* toTransformAnimationCurve() const;
32 }; 32 };
33 33
34 class CCFloatAnimationCurve : public CCAnimationCurve { 34 class CCFloatAnimationCurve : public CCAnimationCurve {
35 public: 35 public:
36 virtual ~CCFloatAnimationCurve() { } 36 virtual ~CCFloatAnimationCurve() { }
37 37
38 virtual float getValue(double t) const = 0; 38 virtual float getValue(double t) const = 0;
39 39
40 // Partial CCAnimation implementation. 40 // Partial CCAnimation implementation.
41 virtual Type type() const OVERRIDE; 41 virtual Type type() const OVERRIDE;
42 }; 42 };
43 43
44 class CCTransformAnimationCurve : public CCAnimationCurve { 44 class CCTransformAnimationCurve : public CCAnimationCurve {
45 public: 45 public:
46 virtual ~CCTransformAnimationCurve() { } 46 virtual ~CCTransformAnimationCurve() { }
47 47
48 virtual WebKit::WebTransformationMatrix getValue(double t) const = 0; 48 virtual WebKit::WebTransformationMatrix getValue(double t) const = 0;
49 49
50 // Partial CCAnimation implementation. 50 // Partial CCAnimation implementation.
51 virtual Type type() const OVERRIDE; 51 virtual Type type() const OVERRIDE;
52 }; 52 };
53 53
54 } // namespace cc 54 } // namespace cc
55 55
56 #endif // CCAnimation_h 56 #endif // CCAnimation_h
OLDNEW
« no previous file with comments | « cc/CCActiveAnimationTest.cpp ('k') | cc/CCKeyframedAnimationCurve.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698