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

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

Issue 1922833002: CC Animation: Start replacing int layer_id with ElementId element_id. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « cc/animation/animation_player_unittest.cc ('k') | cc/animation/element_animations.cc » ('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_ELEMENT_ANIMATIONS_H_ 5 #ifndef CC_ANIMATION_ELEMENT_ANIMATIONS_H_
6 #define CC_ANIMATION_ELEMENT_ANIMATIONS_H_ 6 #define CC_ANIMATION_ELEMENT_ANIMATIONS_H_
7 7
8 #include <bitset> 8 #include <bitset>
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 25 matching lines...) Expand all
36 enum class LayerTreeType; 36 enum class LayerTreeType;
37 37
38 // An ElementAnimations owns a list of all AnimationPlayers, attached to 38 // An ElementAnimations owns a list of all AnimationPlayers, attached to
39 // the layer. 39 // the layer.
40 // This is a CC counterpart for blink::ElementAnimations (in 1:1 relationship). 40 // This is a CC counterpart for blink::ElementAnimations (in 1:1 relationship).
41 // No pointer to/from respective blink::ElementAnimations object for now. 41 // No pointer to/from respective blink::ElementAnimations object for now.
42 class CC_EXPORT ElementAnimations : public base::RefCounted<ElementAnimations> { 42 class CC_EXPORT ElementAnimations : public base::RefCounted<ElementAnimations> {
43 public: 43 public:
44 static scoped_refptr<ElementAnimations> Create(); 44 static scoped_refptr<ElementAnimations> Create();
45 45
46 int layer_id() const { return layer_id_; } 46 ElementId element_id() const { return element_id_; }
47 void SetLayerId(int layer_id); 47 void SetElementId(ElementId element_id);
48 48
49 // Parent AnimationHost. 49 // Parent AnimationHost.
50 AnimationHost* animation_host() { return animation_host_; } 50 AnimationHost* animation_host() { return animation_host_; }
51 const AnimationHost* animation_host() const { return animation_host_; } 51 const AnimationHost* animation_host() const { return animation_host_; }
52 void SetAnimationHost(AnimationHost* host); 52 void SetAnimationHost(AnimationHost* host);
53 53
54 void InitAffectedElementTypes(); 54 void InitAffectedElementTypes();
55 void ClearAffectedElementTypes(); 55 void ClearAffectedElementTypes();
56 56
57 void LayerRegistered(int layer_id, LayerTreeType tree_type); 57 void LayerRegistered(ElementId element_id, LayerTreeType tree_type);
58 void LayerUnregistered(int layer_id, LayerTreeType tree_type); 58 void LayerUnregistered(ElementId element_id, LayerTreeType tree_type);
59 59
60 void AddPlayer(AnimationPlayer* player); 60 void AddPlayer(AnimationPlayer* player);
61 void RemovePlayer(AnimationPlayer* player); 61 void RemovePlayer(AnimationPlayer* player);
62 bool IsEmpty() const; 62 bool IsEmpty() const;
63 63
64 typedef base::LinkedList<AnimationPlayer> PlayersList; 64 typedef base::LinkedList<AnimationPlayer> PlayersList;
65 typedef base::LinkNode<AnimationPlayer> PlayersListNode; 65 typedef base::LinkNode<AnimationPlayer> PlayersListNode;
66 const PlayersList& players_list() const { return *players_list_.get(); } 66 const PlayersList& players_list() const { return *players_list_.get(); }
67 67
68 // Ensures that the list of active animations on the main thread and the impl 68 // Ensures that the list of active animations on the main thread and the impl
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 TargetProperty::Type target_property, 251 TargetProperty::Type target_property,
252 int group); 252 int group);
253 void NotifyPlayersAnimationPropertyUpdate(const AnimationEvent& event); 253 void NotifyPlayersAnimationPropertyUpdate(const AnimationEvent& event);
254 void NotifyPlayersAnimationTakeover(base::TimeTicks monotonic_time, 254 void NotifyPlayersAnimationTakeover(base::TimeTicks monotonic_time,
255 TargetProperty::Type target_property, 255 TargetProperty::Type target_property,
256 double animation_start_time, 256 double animation_start_time,
257 std::unique_ptr<AnimationCurve> curve); 257 std::unique_ptr<AnimationCurve> curve);
258 258
259 std::unique_ptr<PlayersList> players_list_; 259 std::unique_ptr<PlayersList> players_list_;
260 AnimationHost* animation_host_; 260 AnimationHost* animation_host_;
261 int layer_id_; 261 ElementId element_id_;
262 std::vector<std::unique_ptr<Animation>> animations_; 262 std::vector<std::unique_ptr<Animation>> animations_;
263 263
264 // This is used to ensure that we don't spam the animation host. 264 // This is used to ensure that we don't spam the animation host.
265 bool is_active_; 265 bool is_active_;
266 266
267 base::TimeTicks last_tick_time_; 267 base::TimeTicks last_tick_time_;
268 268
269 bool has_element_in_active_list_; 269 bool has_element_in_active_list_;
270 bool has_element_in_pending_list_; 270 bool has_element_in_pending_list_;
271 271
272 // Only try to start animations when new animations are added or when the 272 // Only try to start animations when new animations are added or when the
273 // previous attempt at starting animations failed to start all animations. 273 // previous attempt at starting animations failed to start all animations.
274 bool needs_to_start_animations_; 274 bool needs_to_start_animations_;
275 275
276 bool scroll_offset_animation_was_interrupted_; 276 bool scroll_offset_animation_was_interrupted_;
277 277
278 bool potentially_animating_transform_for_active_elements_; 278 bool potentially_animating_transform_for_active_elements_;
279 bool potentially_animating_transform_for_pending_elements_; 279 bool potentially_animating_transform_for_pending_elements_;
280 280
281 DISALLOW_COPY_AND_ASSIGN(ElementAnimations); 281 DISALLOW_COPY_AND_ASSIGN(ElementAnimations);
282 }; 282 };
283 283
284 } // namespace cc 284 } // namespace cc
285 285
286 #endif // CC_ANIMATION_ELEMENT_ANIMATIONS_H_ 286 #endif // CC_ANIMATION_ELEMENT_ANIMATIONS_H_
OLDNEW
« no previous file with comments | « cc/animation/animation_player_unittest.cc ('k') | cc/animation/element_animations.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698