summaryrefslogtreecommitdiffstats
path: root/cc/animation_registrar.h
blob: 5cce4e93312a0c15745208260668e431a093027f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CC_ANIMATION_REGISTRAR_H_
#define CC_ANIMATION_REGISTRAR_H_

namespace cc {

class LayerAnimationController;

// TODO(vollick): we need to rename:
//    AnimationRegistrar -> AnimationController
//    LayerAnimationController -> LayerAnimator
class CC_EXPORT AnimationRegistrar {
 public:
  // Registers the given animation controller as active. An active animation
  // controller is one that has a running animation that needs to be ticked.
  virtual void DidActivateAnimationController(LayerAnimationController*) = 0;

  // Unregisters the given animation controller. When this happens, the
  // animation controller will no longer be ticked (since it's not active). It
  // is not an error to call this function with a deactivated controller.
  virtual void DidDeactivateAnimationController(LayerAnimationController*) = 0;

  // Registers the given controller as alive.
  virtual void RegisterAnimationController(LayerAnimationController*) = 0;

  // Unregisters the given controller as alive.
  virtual void UnregisterAnimationController(LayerAnimationController*) = 0;
};

}  // namespace cc

#endif  // CC_ANIMATION_REGISTRAR_H_