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

Side by Side Diff: ui/views/controls/menu/menu_host_root_view.cc

Issue 139983009: ui::LocatedEvent location() returns gfx::PointF (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Undo accidental change. Created 6 years, 7 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/controls/menu/menu_host_root_view.h" 5 #include "ui/views/controls/menu/menu_host_root_view.h"
6 6
7 #include "ui/views/controls/menu/menu_controller.h" 7 #include "ui/views/controls/menu/menu_controller.h"
8 #include "ui/views/controls/menu/menu_item_view.h" 8 #include "ui/views/controls/menu/menu_item_view.h"
9 #include "ui/views/controls/menu/submenu_view.h" 9 #include "ui/views/controls/menu/submenu_view.h"
10 10
11 namespace views { 11 namespace views {
12 12
13 MenuHostRootView::MenuHostRootView(Widget* widget, 13 MenuHostRootView::MenuHostRootView(Widget* widget,
14 SubmenuView* submenu) 14 SubmenuView* submenu)
15 : internal::RootView(widget), 15 : internal::RootView(widget),
16 submenu_(submenu), 16 submenu_(submenu),
17 forward_drag_to_menu_controller_(true) { 17 forward_drag_to_menu_controller_(true) {
18 } 18 }
19 19
20 bool MenuHostRootView::OnMousePressed(const ui::MouseEvent& event) { 20 bool MenuHostRootView::OnMousePressed(const ui::MouseEvent& event) {
21 forward_drag_to_menu_controller_ = 21 forward_drag_to_menu_controller_ =
22 !GetLocalBounds().Contains(event.location()) || 22 !GetLocalBounds().Contains(gfx::ToFlooredPoint(event.location())) ||
23 !RootView::OnMousePressed(event) || 23 !RootView::OnMousePressed(event) || DoesEventTargetEmptyMenuItem(event);
24 DoesEventTargetEmptyMenuItem(event);
25 24
26 if (forward_drag_to_menu_controller_ && GetMenuController()) 25 if (forward_drag_to_menu_controller_ && GetMenuController())
27 GetMenuController()->OnMousePressed(submenu_, event); 26 GetMenuController()->OnMousePressed(submenu_, event);
28 return true; 27 return true;
29 } 28 }
30 29
31 bool MenuHostRootView::OnMouseDragged(const ui::MouseEvent& event) { 30 bool MenuHostRootView::OnMouseDragged(const ui::MouseEvent& event) {
32 if (forward_drag_to_menu_controller_ && GetMenuController()) { 31 if (forward_drag_to_menu_controller_ && GetMenuController()) {
33 GetMenuController()->OnMouseDragged(submenu_, event); 32 GetMenuController()->OnMouseDragged(submenu_, event);
34 return true; 33 return true;
(...skipping 30 matching lines...) Expand all
65 return; 64 return;
66 GetMenuController()->OnGestureEvent(submenu_, event); 65 GetMenuController()->OnGestureEvent(submenu_, event);
67 } 66 }
68 67
69 MenuController* MenuHostRootView::GetMenuController() { 68 MenuController* MenuHostRootView::GetMenuController() {
70 return submenu_ ? submenu_->GetMenuItem()->GetMenuController() : NULL; 69 return submenu_ ? submenu_->GetMenuItem()->GetMenuController() : NULL;
71 } 70 }
72 71
73 bool MenuHostRootView::DoesEventTargetEmptyMenuItem( 72 bool MenuHostRootView::DoesEventTargetEmptyMenuItem(
74 const ui::MouseEvent& event) { 73 const ui::MouseEvent& event) {
75 View* view = GetEventHandlerForPoint(event.location()); 74 View* view = GetEventHandlerForPoint(gfx::ToFlooredPoint(event.location()));
76 return view && view->id() == MenuItemView::kEmptyMenuItemViewID; 75 return view && view->id() == MenuItemView::kEmptyMenuItemViewID;
77 } 76 }
78 77
79 } // namespace views 78 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698