diff options
author | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-09 19:05:24 +0000 |
---|---|---|
committer | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-09 19:05:24 +0000 |
commit | 912be0e2d1c0d8e77a0af3c60ea856ba05503194 (patch) | |
tree | 0e70a34810f807fd9ee8402f9046361f866045c4 /views | |
parent | fa219e8b7bac7585e62698241d99464c23af0f66 (diff) | |
download | chromium_src-912be0e2d1c0d8e77a0af3c60ea856ba05503194.zip chromium_src-912be0e2d1c0d8e77a0af3c60ea856ba05503194.tar.gz chromium_src-912be0e2d1c0d8e77a0af3c60ea856ba05503194.tar.bz2 |
Aura: Resize cursors show properly when hovering over window frame
+ Set the cursor in the desktop's event filter.
+ Add the ui::EF_IS_NON_CLIENT flag to mouse events when needed, so views doesn't override the cursor.
+ Move views/window/hit_test.h to ui/base/hit_test.h and remove the extra copy in ui/aura.
BUG=103298
TEST=move cursor over desktop, window edges, window client area
Review URL: http://codereview.chromium.org/8501018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109278 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/aura_desktop/aura_desktop_main.cc | 5 | ||||
-rw-r--r-- | views/bubble/bubble_frame_view_unittest.cc | 4 | ||||
-rw-r--r-- | views/desktop/desktop_window_manager.cc | 5 | ||||
-rw-r--r-- | views/widget/native_widget_delegate.h | 2 | ||||
-rw-r--r-- | views/widget/native_widget_gtk.cc | 2 | ||||
-rw-r--r-- | views/widget/native_widget_views.cc | 5 | ||||
-rw-r--r-- | views/widget/widget.cc | 5 | ||||
-rw-r--r-- | views/widget/window_manager.h | 2 | ||||
-rw-r--r-- | views/window/client_view.cc | 7 | ||||
-rw-r--r-- | views/window/custom_frame_view.cc | 5 | ||||
-rw-r--r-- | views/window/dialog_client_view.cc | 2 | ||||
-rw-r--r-- | views/window/hit_test.h | 42 | ||||
-rw-r--r-- | views/window/non_client_view.cc | 5 |
13 files changed, 17 insertions, 74 deletions
diff --git a/views/aura_desktop/aura_desktop_main.cc b/views/aura_desktop/aura_desktop_main.cc index cb59e0b..6442156 100644 --- a/views/aura_desktop/aura_desktop_main.cc +++ b/views/aura_desktop/aura_desktop_main.cc @@ -13,6 +13,7 @@ #include "ui/aura/desktop_host.h" #include "ui/aura/window.h" #include "ui/aura/window_delegate.h" +#include "ui/base/hit_test.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/ui_base_paths.h" #include "ui/gfx/canvas.h" @@ -21,10 +22,6 @@ #include "views/widget/widget.h" #include "views/widget/widget_delegate.h" -#if !defined(OS_WIN) -#include "ui/aura/hit_test.h" -#endif - namespace { // Trivial WindowDelegate implementation that draws a colored background. diff --git a/views/bubble/bubble_frame_view_unittest.cc b/views/bubble/bubble_frame_view_unittest.cc index 3981e32..3377e0b 100644 --- a/views/bubble/bubble_frame_view_unittest.cc +++ b/views/bubble/bubble_frame_view_unittest.cc @@ -2,15 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "ui/base/hit_test.h" #include "views/bubble/bubble_border.h" #include "views/bubble/border_contents_view.h" #include "views/bubble/bubble_delegate.h" #include "views/bubble/bubble_frame_view.h" #include "views/test/views_test_base.h" #include "views/widget/widget.h" -#if !defined(OS_WIN) -#include "views/window/hit_test.h" -#endif namespace views { diff --git a/views/desktop/desktop_window_manager.cc b/views/desktop/desktop_window_manager.cc index a6b4115..7fac948 100644 --- a/views/desktop/desktop_window_manager.cc +++ b/views/desktop/desktop_window_manager.cc @@ -4,6 +4,7 @@ #include "views/desktop/desktop_window_manager.h" +#include "ui/base/hit_test.h" #include "ui/gfx/point.h" #include "ui/gfx/rect.h" #include "views/events/event.h" @@ -11,10 +12,6 @@ #include "views/widget/native_widget_view.h" #include "views/widget/native_widget_views.h" #include "views/widget/widget_delegate.h" - -#if defined(OS_LINUX) -#include "views/window/hit_test.h" -#endif #include "views/window/non_client_view.h" namespace { diff --git a/views/widget/native_widget_delegate.h b/views/widget/native_widget_delegate.h index 95d2aa1..b02cf52 100644 --- a/views/widget/native_widget_delegate.h +++ b/views/widget/native_widget_delegate.h @@ -88,7 +88,7 @@ class VIEWS_EXPORT NativeWidgetDelegate { // tree if necessary when accelerated painting is enabled. virtual void OnNativeWidgetPaint(gfx::Canvas* canvas) = 0; - // Returns the non-client component (see views/window/hit_test.h) containing + // Returns the non-client component (see ui/base/hit_test.h) containing // |point|, in client coordinates. virtual int GetNonClientComponent(const gfx::Point& point) = 0; diff --git a/views/widget/native_widget_gtk.cc b/views/widget/native_widget_gtk.cc index 7131ec1..face60c 100644 --- a/views/widget/native_widget_gtk.cc +++ b/views/widget/native_widget_gtk.cc @@ -25,6 +25,7 @@ #include "ui/base/gtk/gtk_windowing.h" #include "ui/base/gtk/gtk_signal_registrar.h" #include "ui/base/gtk/scoped_handle_gtk.h" +#include "ui/base/hit_test.h" #include "ui/base/x/x11_util.h" #include "ui/gfx/canvas_skia_paint.h" #include "ui/gfx/compositor/compositor.h" @@ -42,7 +43,6 @@ #include "views/widget/native_widget_views.h" #include "views/widget/root_view.h" #include "views/widget/widget_delegate.h" -#include "views/window/hit_test.h" #if defined(TOUCH_UI) #include "ui/base/touch/touch_factory.h" diff --git a/views/widget/native_widget_views.cc b/views/widget/native_widget_views.cc index a7ab988..dfeda46 100644 --- a/views/widget/native_widget_views.cc +++ b/views/widget/native_widget_views.cc @@ -5,6 +5,7 @@ #include "views/widget/native_widget_views.h" #include "base/bind.h" +#include "ui/base/hit_test.h" #include "ui/gfx/compositor/compositor.h" #include "ui/gfx/compositor/layer.h" #include "ui/gfx/compositor/layer_animator.h" @@ -21,10 +22,6 @@ #include "views/ime/mock_input_method.h" #endif -#if defined(OS_LINUX) -#include "views/window/hit_test.h" -#endif - namespace { gfx::Rect AdjustRectOriginForParentWidget(const gfx::Rect& rect, diff --git a/views/widget/widget.cc b/views/widget/widget.cc index c7fb360..6e4c096 100644 --- a/views/widget/widget.cc +++ b/views/widget/widget.cc @@ -7,6 +7,7 @@ #include "base/logging.h" #include "base/message_loop.h" #include "base/utf_string_conversions.h" +#include "ui/base/hit_test.h" #include "ui/base/l10n/l10n_font_util.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/compositor/compositor.h" @@ -981,7 +982,9 @@ void Widget::OnNativeWidgetPaint(gfx::Canvas* canvas) { } int Widget::GetNonClientComponent(const gfx::Point& point) { - return non_client_view_ ? non_client_view_->NonClientHitTest(point) : 0; + return non_client_view_ ? + non_client_view_->NonClientHitTest(point) : + HTNOWHERE; } bool Widget::OnKeyEvent(const KeyEvent& event) { diff --git a/views/widget/window_manager.h b/views/widget/window_manager.h index ff1e319..f634bf0 100644 --- a/views/widget/window_manager.h +++ b/views/widget/window_manager.h @@ -33,7 +33,7 @@ class VIEWS_EXPORT WindowManager { // Starts resizing window give by |widget|. |point| represents the // initial location of the mouse pointer and |hittest_code| represents // the edge of the window a user selected to resize the window. See - // views/window/hit_test.h for the hittest_code definition. + // ui/base/hit_test.h for the hittest_code definition. virtual void StartResizeDrag( Widget* widget, const gfx::Point& point, int hittest_code) = 0; diff --git a/views/window/client_view.cc b/views/window/client_view.cc index f0dc66a..560983b 100644 --- a/views/window/client_view.cc +++ b/views/window/client_view.cc @@ -2,12 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "views/window/client_view.h" + #include "base/logging.h" #include "ui/base/accessibility/accessible_view_state.h" -#include "views/window/client_view.h" -#if defined(OS_LINUX) -#include "views/window/hit_test.h" -#endif +#include "ui/base/hit_test.h" #include "views/widget/widget.h" #include "views/widget/widget_delegate.h" diff --git a/views/window/custom_frame_view.cc b/views/window/custom_frame_view.cc index 1b23eed..989f3c55 100644 --- a/views/window/custom_frame_view.cc +++ b/views/window/custom_frame_view.cc @@ -9,6 +9,7 @@ #include "base/utf_string_conversions.h" #include "grit/ui_resources.h" #include "grit/ui_strings.h" +#include "ui/base/hit_test.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/canvas.h" @@ -19,10 +20,6 @@ #include "views/window/window_resources.h" #include "views/window/window_shape.h" -#if defined(OS_LINUX) -#include "views/window/hit_test.h" -#endif - #if defined(USE_AURA) #include "views/widget/native_widget_aura.h" #elif defined(OS_WIN) diff --git a/views/window/dialog_client_view.cc b/views/window/dialog_client_view.cc index 4040085..3dbea55 100644 --- a/views/window/dialog_client_view.cc +++ b/views/window/dialog_client_view.cc @@ -18,6 +18,7 @@ #include "base/utf_string_conversions.h" #include "grit/ui_strings.h" +#include "ui/base/hit_test.h" #include "ui/base/keycodes/keyboard_codes.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" @@ -33,7 +34,6 @@ #include "ui/gfx/native_theme.h" #else #include "ui/gfx/skia_utils_gtk.h" -#include "views/window/hit_test.h" #endif namespace views { diff --git a/views/window/hit_test.h b/views/window/hit_test.h deleted file mode 100644 index 657d88e..0000000 --- a/views/window/hit_test.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2009 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 VIEWS_WINDOW_HIT_TEST_H_ -#define VIEWS_WINDOW_HIT_TEST_H_ -#pragma once - -// Defines the same symbolic names used by the WM_NCHITTEST Notification under -// win32 (the integer values are not guaranteed to be equivalent). We do this -// because we have a whole bunch of code that deals with window resizing and -// such that requires these values. -enum HitTestCompat { - HTBORDER = 1, - HTBOTTOM, - HTBOTTOMLEFT, - HTBOTTOMRIGHT, - HTCAPTION, - HTCLIENT, - HTCLOSE, - HTERROR, - HTGROWBOX, - HTHELP, - HTHSCROLL, - HTLEFT, - HTMENU, - HTMAXBUTTON, - HTMINBUTTON, - HTNOWHERE, - HTREDUCE, - HTRIGHT, - HTSIZE, - HTSYSMENU, - HTTOP, - HTTOPLEFT, - HTTOPRIGHT, - HTTRANSPARENT, - HTVSCROLL, - HTZOOM -}; - -#endif // VIEWS_WINDOW_HIT_TEST_H_ diff --git a/views/window/non_client_view.cc b/views/window/non_client_view.cc index 92c7bc7..be1cdac 100644 --- a/views/window/non_client_view.cc +++ b/views/window/non_client_view.cc @@ -5,14 +5,11 @@ #include "views/window/non_client_view.h" #include "ui/base/accessibility/accessible_view_state.h" +#include "ui/base/hit_test.h" #include "views/widget/root_view.h" #include "views/widget/widget.h" #include "views/window/client_view.h" -#if !defined(OS_WIN) -#include "views/window/hit_test.h" -#endif - namespace views { // static |