From d525dfd45eeb3f6e5172f7d0d194a4cac43204d2 Mon Sep 17 00:00:00 2001 From: "ben@chromium.org" Date: Wed, 26 Mar 2014 18:12:06 +0000 Subject: 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 --- ui/wm/public/cursor_delegate.cc | 24 ++++++++++++++++++++++++ ui/wm/public/cursor_delegate.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 ui/wm/public/cursor_delegate.cc create mode 100644 ui/wm/public/cursor_delegate.h (limited to 'ui/wm/public') 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_ -- cgit v1.1