- add sources.
[platform/framework/web/crosswalk.git] / src / ui / gfx / animation / test_animation_delegate.h
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:
17   TestAnimationDelegate() : canceled_(false), finished_(false) {
18   }
19
20   virtual void AnimationEnded(const Animation* animation) {
21     finished_ = true;
22     base::MessageLoop::current()->Quit();
23   }
24
25   virtual void AnimationCanceled(const Animation* animation) {
26     finished_ = true;
27     canceled_ = true;
28     base::MessageLoop::current()->Quit();
29   }
30
31   bool finished() const {
32     return finished_;
33   }
34
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_