diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-26 18:12:06 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-26 18:12:06 +0000 |
commit | d525dfd45eeb3f6e5172f7d0d194a4cac43204d2 (patch) | |
tree | d5726beb313bac9f70568e7b4b470dc5a873151c /ui/wm/public | |
parent | 00dde4c3d606d2d989df81d73b996ce0a1fe1f73 (diff) | |
download | chromium_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.cc | 24 | ||||
-rw-r--r-- | ui/wm/public/cursor_delegate.h | 35 |
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_ |