• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 UI_GFX_ANIMATION_TEST_ANIMATION_DELEGATE_H_
6 #define UI_GFX_ANIMATION_TEST_ANIMATION_DELEGATE_H_
7 
8 #include "base/message_loop/message_loop.h"
9 #include "ui/gfx/animation/animation_delegate.h"
10 
11 namespace gfx {
12 
13 // Trivial AnimationDelegate implementation. AnimationEnded/Canceled quit the
14 // message loop.
15 class TestAnimationDelegate : public AnimationDelegate {
16  public:
TestAnimationDelegate()17   TestAnimationDelegate() : canceled_(false), finished_(false) {
18   }
19 
AnimationEnded(const Animation * animation)20   virtual void AnimationEnded(const Animation* animation) {
21     finished_ = true;
22     base::MessageLoop::current()->Quit();
23   }
24 
AnimationCanceled(const Animation * animation)25   virtual void AnimationCanceled(const Animation* animation) {
26     finished_ = true;
27     canceled_ = true;
28     base::MessageLoop::current()->Quit();
29   }
30 
finished()31   bool finished() const {
32     return finished_;
33   }
34 
canceled()35   bool canceled() const {
36     return canceled_;
37   }
38 
39  private:
40   bool canceled_;
41   bool finished_;
42 
43   DISALLOW_COPY_AND_ASSIGN(TestAnimationDelegate);
44 };
45 
46 }  // namespace gfx
47 
48 #endif  // UI_GFX_ANIMATION_TEST_ANIMATION_DELEGATE_H_
49