summaryrefslogtreecommitdiffstats
path: root/ui/wm/public
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-26 18:12:06 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-26 18:12:06 +0000
commitd525dfd45eeb3f6e5172f7d0d194a4cac43204d2 (patch)
treed5726beb313bac9f70568e7b4b470dc5a873151c /ui/wm/public
parent00dde4c3d606d2d989df81d73b996ce0a1fe1f73 (diff)
downloadchromium_src-d525dfd45eeb3f6e5172f7d0d194a4cac43204d2.zip
chromium_src-d525dfd45eeb3f6e5172f7d0d194a4cac43204d2.tar.gz
chromium_src-d525dfd45eeb3f6e5172f7d0d194a4cac43204d2.tar.bz2
Move GetCursor() method from WindowDelegate to its own delegate interface CursorDelegate.
R=sky@chromium.org http://crbug.com/308845 Review URL: https://codereview.chromium.org/211733003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259631 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/wm/public')
-rw-r--r--ui/wm/public/cursor_delegate.cc24
-rw-r--r--ui/wm/public/cursor_delegate.h35
2 files changed, 59 insertions, 0 deletions
diff --git a/ui/wm/public/cursor_delegate.cc b/ui/wm/public/cursor_delegate.cc
new file mode 100644
index 0000000..bea259d
--- /dev/null
+++ b/ui/wm/public/cursor_delegate.cc
@@ -0,0 +1,24 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ui/wm/public/cursor_delegate.h"
+
+#include "ui/aura/window.h"
+#include "ui/aura/window_property.h"
+
+DECLARE_WINDOW_PROPERTY_TYPE(wm::CursorDelegate*);
+
+namespace wm {
+
+DEFINE_LOCAL_WINDOW_PROPERTY_KEY(CursorDelegate*, kCursorDelegateKey, NULL);
+
+void SetCursorDelegate(aura::Window* window, CursorDelegate* delegate) {
+ window->SetProperty(kCursorDelegateKey, delegate);
+}
+
+CursorDelegate* GetCursorDelegate(aura::Window* window) {
+ return window ? window->GetProperty(kCursorDelegateKey) : NULL;
+}
+
+} // namespace wm
diff --git a/ui/wm/public/cursor_delegate.h b/ui/wm/public/cursor_delegate.h
new file mode 100644
index 0000000..1acf4d7
--- /dev/null
+++ b/ui/wm/public/cursor_delegate.h
@@ -0,0 +1,35 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_WM_PUBLIC_CURSOR_DELEGATE_H_
+#define UI_WM_PUBLIC_CURSOR_DELEGATE_H_
+
+#include "ui/gfx/native_widget_types.h"
+#include "ui/wm/core/wm_core_export.h"
+
+namespace aura {
+class Window;
+}
+
+namespace gfx {
+class Point;
+}
+
+namespace wm {
+
+class WM_CORE_EXPORT CursorDelegate {
+ public:
+ virtual gfx::NativeCursor GetCursorForPoint(const gfx::Point& point) = 0;
+
+ protected:
+ virtual ~CursorDelegate() {}
+};
+
+WM_CORE_EXPORT void SetCursorDelegate(aura::Window* window,
+ CursorDelegate* delegate);
+WM_CORE_EXPORT CursorDelegate* GetCursorDelegate(aura::Window* window);
+
+} // namespace wm
+
+#endif // UI_WM_PUBLIC_CURSOR_DELEGATE_H_