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