| OLD | NEW |
| 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/aura/root_window.h" | 5 #include "ui/aura/root_window.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 816 ui::Transform transform = layer()->transform(); | 816 ui::Transform transform = layer()->transform(); |
| 817 transform.ConcatScale(scale, scale); | 817 transform.ConcatScale(scale, scale); |
| 818 event->UpdateForRootTransform(transform); | 818 event->UpdateForRootTransform(transform); |
| 819 | 819 |
| 820 SetLastMouseLocation(this, event->location()); | 820 SetLastMouseLocation(this, event->location()); |
| 821 synthesize_mouse_move_ = false; | 821 synthesize_mouse_move_ = false; |
| 822 | 822 |
| 823 Window* target = mouse_pressed_handler_ ? | 823 Window* target = mouse_pressed_handler_ ? |
| 824 mouse_pressed_handler_ : client::GetCaptureWindow(this); | 824 mouse_pressed_handler_ : client::GetCaptureWindow(this); |
| 825 if (!target) | 825 if (!target) |
| 826 target = GetEventHandlerForPoint(event->location()); | 826 target = GetEventHandlerForPoint(event->location(), event->type()); |
| 827 | 827 |
| 828 if (target && target->delegate()) { | 828 if (target && target->delegate()) { |
| 829 int flags = event->flags(); | 829 int flags = event->flags(); |
| 830 gfx::Point location_in_window = event->location(); | 830 gfx::Point location_in_window = event->location(); |
| 831 Window::ConvertPointToTarget(this, target, &location_in_window); | 831 Window::ConvertPointToTarget(this, target, &location_in_window); |
| 832 if (IsNonClientLocation(target, location_in_window)) | 832 if (IsNonClientLocation(target, location_in_window)) |
| 833 flags |= ui::EF_IS_NON_CLIENT; | 833 flags |= ui::EF_IS_NON_CLIENT; |
| 834 ui::ScrollEvent translated_event( | 834 ui::ScrollEvent translated_event( |
| 835 *event, static_cast<Window*>(this), target, event->type(), flags); | 835 *event, static_cast<Window*>(this), target, event->type(), flags); |
| 836 return ProcessMouseEvent(target, &translated_event); | 836 return ProcessMouseEvent(target, &translated_event); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 873 } | 873 } |
| 874 | 874 |
| 875 if (!target && !bounds().Contains(event->location())) { | 875 if (!target && !bounds().Contains(event->location())) { |
| 876 // If the initial touch is outside the root window, target the root. | 876 // If the initial touch is outside the root window, target the root. |
| 877 target = this; | 877 target = this; |
| 878 status = ProcessTouchEvent(target, event); | 878 status = ProcessTouchEvent(target, event); |
| 879 CHECK_EQ(ui::TOUCH_STATUS_UNKNOWN, status); | 879 CHECK_EQ(ui::TOUCH_STATUS_UNKNOWN, status); |
| 880 } else { | 880 } else { |
| 881 // We only come here when the first contact was within the root window. | 881 // We only come here when the first contact was within the root window. |
| 882 if (!target) { | 882 if (!target) { |
| 883 target = GetEventHandlerForPoint(event->location()); | 883 target = GetEventHandlerForPoint(event->location(), event->type()); |
| 884 if (!target) | 884 if (!target) |
| 885 return false; | 885 return false; |
| 886 } | 886 } |
| 887 | 887 |
| 888 ui::TouchEvent translated_event( | 888 ui::TouchEvent translated_event( |
| 889 *event, static_cast<Window*>(this), target); | 889 *event, static_cast<Window*>(this), target); |
| 890 status = ProcessTouchEvent(target, &translated_event); | 890 status = ProcessTouchEvent(target, &translated_event); |
| 891 handled = status != ui::TOUCH_STATUS_UNKNOWN; | 891 handled = status != ui::TOUCH_STATUS_UNKNOWN; |
| 892 | 892 |
| 893 if (status == ui::TOUCH_STATUS_QUEUED || | 893 if (status == ui::TOUCH_STATUS_QUEUED || |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 943 // RootWindow, private: | 943 // RootWindow, private: |
| 944 | 944 |
| 945 bool RootWindow::DispatchMouseEventImpl(ui::MouseEvent* event) { | 945 bool RootWindow::DispatchMouseEventImpl(ui::MouseEvent* event) { |
| 946 float scale = ui::GetDeviceScaleFactor(layer()); | 946 float scale = ui::GetDeviceScaleFactor(layer()); |
| 947 ui::Transform transform = layer()->transform(); | 947 ui::Transform transform = layer()->transform(); |
| 948 transform.ConcatScale(scale, scale); | 948 transform.ConcatScale(scale, scale); |
| 949 event->UpdateForRootTransform(transform); | 949 event->UpdateForRootTransform(transform); |
| 950 Window* target = mouse_pressed_handler_ ? | 950 Window* target = mouse_pressed_handler_ ? |
| 951 mouse_pressed_handler_ : client::GetCaptureWindow(this); | 951 mouse_pressed_handler_ : client::GetCaptureWindow(this); |
| 952 if (!target) | 952 if (!target) |
| 953 target = GetEventHandlerForPoint(event->location()); | 953 target = GetEventHandlerForPoint(event->location(), event->type()); |
| 954 return DispatchMouseEventToTarget(event, target); | 954 return DispatchMouseEventToTarget(event, target); |
| 955 } | 955 } |
| 956 | 956 |
| 957 bool RootWindow::DispatchMouseEventToTarget(ui::MouseEvent* event, | 957 bool RootWindow::DispatchMouseEventToTarget(ui::MouseEvent* event, |
| 958 Window* target) { | 958 Window* target) { |
| 959 static const int kMouseButtonFlagMask = | 959 static const int kMouseButtonFlagMask = |
| 960 ui::EF_LEFT_MOUSE_BUTTON | | 960 ui::EF_LEFT_MOUSE_BUTTON | |
| 961 ui::EF_MIDDLE_MOUSE_BUTTON | | 961 ui::EF_MIDDLE_MOUSE_BUTTON | |
| 962 ui::EF_RIGHT_MOUSE_BUTTON; | 962 ui::EF_RIGHT_MOUSE_BUTTON; |
| 963 SetLastMouseLocation(this, event->location()); | 963 SetLastMouseLocation(this, event->location()); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1040 void RootWindow::UnlockCompositor() { | 1040 void RootWindow::UnlockCompositor() { |
| 1041 DCHECK(compositor_lock_); | 1041 DCHECK(compositor_lock_); |
| 1042 compositor_lock_ = NULL; | 1042 compositor_lock_ = NULL; |
| 1043 if (draw_on_compositor_unlock_) { | 1043 if (draw_on_compositor_unlock_) { |
| 1044 draw_on_compositor_unlock_ = false; | 1044 draw_on_compositor_unlock_ = false; |
| 1045 ScheduleDraw(); | 1045 ScheduleDraw(); |
| 1046 } | 1046 } |
| 1047 } | 1047 } |
| 1048 | 1048 |
| 1049 } // namespace aura | 1049 } // namespace aura |
| OLD | NEW |