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

Side by Side Diff: cc/animation/animation_player.h

Issue 2506093003: CC Animation: Make cc/animation an independent GN component. (Closed)
Patch Set: Rebase. Created 4 years 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
« no previous file with comments | « cc/animation/animation_id_provider.h ('k') | cc/animation/animation_timeline.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 CC_ANIMATION_ANIMATION_PLAYER_H_ 5 #ifndef CC_ANIMATION_ANIMATION_PLAYER_H_
6 #define CC_ANIMATION_ANIMATION_PLAYER_H_ 6 #define CC_ANIMATION_ANIMATION_PLAYER_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "cc/animation/animation.h" 13 #include "cc/animation/animation.h"
14 #include "cc/animation/animation_curve.h" 14 #include "cc/animation/animation_curve.h"
15 #include "cc/animation/animation_export.h"
15 #include "cc/animation/element_animations.h" 16 #include "cc/animation/element_animations.h"
16 #include "cc/base/cc_export.h"
17 #include "cc/trees/element_id.h" 17 #include "cc/trees/element_id.h"
18 18
19 namespace cc { 19 namespace cc {
20 20
21 class AnimationDelegate; 21 class AnimationDelegate;
22 class AnimationHost; 22 class AnimationHost;
23 class AnimationTimeline; 23 class AnimationTimeline;
24 struct AnimationEvent; 24 struct AnimationEvent;
25 struct PropertyAnimationState; 25 struct PropertyAnimationState;
26 26
27 // An AnimationPlayer owns all animations to be run on particular CC Layer. 27 // An AnimationPlayer owns all animations to be run on particular CC Layer.
28 // Multiple AnimationPlayers can be attached to one layer. In this case, 28 // Multiple AnimationPlayers can be attached to one layer. In this case,
29 // they share common ElementAnimations so the 29 // they share common ElementAnimations so the
30 // ElementAnimations-to-Layer relationship is 1:1. 30 // ElementAnimations-to-Layer relationship is 1:1.
31 // For now, the blink logic is responsible for handling of conflicting 31 // For now, the blink logic is responsible for handling of conflicting
32 // same-property animations. 32 // same-property animations.
33 // Each AnimationPlayer has its copy on the impl thread. 33 // Each AnimationPlayer has its copy on the impl thread.
34 // This is a CC counterpart for blink::AnimationPlayer (in 1:1 relationship). 34 // This is a CC counterpart for blink::AnimationPlayer (in 1:1 relationship).
35 class CC_EXPORT AnimationPlayer : public base::RefCounted<AnimationPlayer> { 35 class CC_ANIMATION_EXPORT AnimationPlayer
36 : public base::RefCounted<AnimationPlayer> {
36 public: 37 public:
37 static scoped_refptr<AnimationPlayer> Create(int id); 38 static scoped_refptr<AnimationPlayer> Create(int id);
38 scoped_refptr<AnimationPlayer> CreateImplInstance() const; 39 scoped_refptr<AnimationPlayer> CreateImplInstance() const;
39 40
40 int id() const { return id_; } 41 int id() const { return id_; }
41 ElementId element_id() const { return element_id_; } 42 ElementId element_id() const { return element_id_; }
42 43
43 // Parent AnimationHost. AnimationPlayer can be detached from 44 // Parent AnimationHost. AnimationPlayer can be detached from
44 // AnimationTimeline. 45 // AnimationTimeline.
45 AnimationHost* animation_host() { return animation_host_; } 46 AnimationHost* animation_host() { return animation_host_; }
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 // Only try to start animations when new animations are added or when the 194 // Only try to start animations when new animations are added or when the
194 // previous attempt at starting animations failed to start all animations. 195 // previous attempt at starting animations failed to start all animations.
195 bool needs_to_start_animations_; 196 bool needs_to_start_animations_;
196 197
197 DISALLOW_COPY_AND_ASSIGN(AnimationPlayer); 198 DISALLOW_COPY_AND_ASSIGN(AnimationPlayer);
198 }; 199 };
199 200
200 } // namespace cc 201 } // namespace cc
201 202
202 #endif // CC_ANIMATION_ANIMATION_PLAYER_H_ 203 #endif // CC_ANIMATION_ANIMATION_PLAYER_H_
OLDNEW
« no previous file with comments | « cc/animation/animation_id_provider.h ('k') | cc/animation/animation_timeline.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698