test_cursor_client.h revision 424c4d7b64af9d0d8fd9624f381f469654d5e3d2
1// Copyright 2013 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_AURA_TEST_TEST_CURSOR_CLIENT_H_
6#define UI_AURA_TEST_TEST_CURSOR_CLIENT_H_
7
8#include "base/compiler_specific.h"
9#include "base/observer_list.h"
10#include "ui/aura/client/cursor_client.h"
11
12namespace aura {
13namespace test {
14
15class TestCursorClient : public aura::client::CursorClient {
16 public:
17  explicit TestCursorClient(aura::Window* root_window);
18  virtual ~TestCursorClient();
19
20  // Overridden from aura::client::CursorClient:
21  virtual void SetCursor(gfx::NativeCursor cursor) OVERRIDE;
22  virtual void ShowCursor() OVERRIDE;
23  virtual void HideCursor() OVERRIDE;
24  virtual void SetCursorSet(ui::CursorSetType cursor_set) OVERRIDE;
25  virtual void SetScale(float scale) OVERRIDE;
26  virtual bool IsCursorVisible() const OVERRIDE;
27  virtual void EnableMouseEvents() OVERRIDE;
28  virtual void DisableMouseEvents() OVERRIDE;
29  virtual bool IsMouseEventsEnabled() const OVERRIDE;
30  virtual void SetDisplay(const gfx::Display& display) OVERRIDE;
31  virtual void LockCursor() OVERRIDE;
32  virtual void UnlockCursor() OVERRIDE;
33  virtual bool IsCursorLocked() const OVERRIDE;
34  virtual void AddObserver(
35      aura::client::CursorClientObserver* observer) OVERRIDE;
36  virtual void RemoveObserver(
37      aura::client::CursorClientObserver* observer) OVERRIDE;
38
39 private:
40  bool visible_;
41  bool mouse_events_enabled_;
42  int cursor_lock_count_;
43  ObserverList<aura::client::CursorClientObserver> observers_;
44  aura::Window* root_window_;
45
46  DISALLOW_COPY_AND_ASSIGN(TestCursorClient);
47};
48
49}  // namespace test
50}  // namespace aura
51
52#endif // UI_AURA_TEST_TEST_CURSOR_CLIENT_H_
53