Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(657)

Unified Diff: ash/wm/cursor_manager.h

Issue 11412315: Make the cursor have separate mode for disabled mouse events and invisible. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix win_aura Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/tooltips/tooltip_controller_unittest.cc ('k') | ash/wm/cursor_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/cursor_manager.h
diff --git a/ash/wm/cursor_manager.h b/ash/wm/cursor_manager.h
index 2eb2c68e3347294ef1107c4de1a65cdc05a6b16d..774e4505082a66cde4a07f648688303a4ff82f65 100644
--- a/ash/wm/cursor_manager.h
+++ b/ash/wm/cursor_manager.h
@@ -11,9 +11,14 @@
#include "base/memory/scoped_ptr.h"
#include "ui/aura/client/cursor_client.h"
#include "ui/gfx/native_widget_types.h"
+#include "ui/gfx/point.h"
namespace ash {
+namespace internal {
+class CursorState;
+}
+
namespace test {
class CursorManagerTestApi;
}
@@ -32,8 +37,12 @@ class ASH_EXPORT CursorManager : public aura::client::CursorClient {
// Overridden from aura::client::CursorClient:
virtual void SetCursor(gfx::NativeCursor) OVERRIDE;
- virtual void ShowCursor(bool show) OVERRIDE;
+ virtual void ShowCursor() OVERRIDE;
+ virtual void HideCursor() OVERRIDE;
virtual bool IsCursorVisible() const OVERRIDE;
+ virtual void EnableMouseEvents() OVERRIDE;
+ virtual void DisableMouseEvents() OVERRIDE;
+ virtual bool IsMouseEventsEnabled() const OVERRIDE;
virtual void SetDeviceScaleFactor(float device_scale_factor) OVERRIDE;
virtual void LockCursor() OVERRIDE;
virtual void UnlockCursor() OVERRIDE;
@@ -42,31 +51,24 @@ class ASH_EXPORT CursorManager : public aura::client::CursorClient {
friend class test::CursorManagerTestApi;
void SetCursorInternal(gfx::NativeCursor cursor);
- void ShowCursorInternal(bool show);
+ void SetCursorVisibility(bool visible);
+ void SetMouseEventsEnabled(bool enabled);
+
+ // Returns the current cursor.
+ gfx::NativeCursor GetCurrentCursor() const;
// Number of times LockCursor() has been invoked without a corresponding
// UnlockCursor().
int cursor_lock_count_;
- // Set to true if SetCursor() is invoked while |cursor_lock_count_| == 0.
- bool did_cursor_change_;
-
- // Cursor to set once |cursor_lock_count_| is set to 0. Only valid if
- // |did_cursor_change_| is true.
- gfx::NativeCursor cursor_to_set_on_unlock_;
-
- // Set to true if ShowCursor() is invoked while |cursor_lock_count_| == 0.
- bool did_visibility_change_;
-
- // The visibility to set once |cursor_lock_count_| is set to 0. Only valid if
- // |did_visibility_change_| is true.
- bool show_on_unlock_;
+ // The cursor location where the cursor was disabled.
+ gfx::Point disabled_cursor_location_;
- // Is cursor visible?
- bool cursor_visible_;
+ // The current state of the cursor.
+ scoped_ptr<internal::CursorState> current_state_;
- // The cursor currently set.
- gfx::NativeCursor current_cursor_;
+ // The cursor state to restore when the cursor is unlocked.
+ scoped_ptr<internal::CursorState> state_on_unlock_;
scoped_ptr<ImageCursors> image_cursors_;
« no previous file with comments | « ash/tooltips/tooltip_controller_unittest.cc ('k') | ash/wm/cursor_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698