OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // MSVC++ requires this to be set before any other includes to get M_PI. | 5 // MSVC++ requires this to be set before any other includes to get M_PI. |
6 #define _USE_MATH_DEFINES | 6 #define _USE_MATH_DEFINES |
7 | 7 |
8 #include "ui/events/blink/blink_event_util.h" | 8 #include "ui/events/blink/blink_event_util.h" |
9 | 9 |
10 #include <stddef.h> | 10 #include <stddef.h> |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 return WebPointerProperties::PointerType::kPen; | 112 return WebPointerProperties::PointerType::kPen; |
113 case MotionEvent::TOOL_TYPE_MOUSE: | 113 case MotionEvent::TOOL_TYPE_MOUSE: |
114 return WebPointerProperties::PointerType::kMouse; | 114 return WebPointerProperties::PointerType::kMouse; |
115 case MotionEvent::TOOL_TYPE_ERASER: | 115 case MotionEvent::TOOL_TYPE_ERASER: |
116 return WebPointerProperties::PointerType::kEraser; | 116 return WebPointerProperties::PointerType::kEraser; |
117 } | 117 } |
118 NOTREACHED() << "Invalid MotionEvent::ToolType = " << tool_type; | 118 NOTREACHED() << "Invalid MotionEvent::ToolType = " << tool_type; |
119 return WebPointerProperties::PointerType::kUnknown; | 119 return WebPointerProperties::PointerType::kUnknown; |
120 } | 120 } |
121 | 121 |
| 122 WebPointerProperties::PointerType ToWebPointerType( |
| 123 EventPointerType event_pointer_type) { |
| 124 switch (event_pointer_type) { |
| 125 case EventPointerType::POINTER_TYPE_UNKNOWN: |
| 126 return WebPointerProperties::PointerType::kUnknown; |
| 127 case EventPointerType::POINTER_TYPE_MOUSE: |
| 128 return WebPointerProperties::PointerType::kMouse; |
| 129 case EventPointerType::POINTER_TYPE_PEN: |
| 130 return WebPointerProperties::PointerType::kPen; |
| 131 case EventPointerType::POINTER_TYPE_TOUCH: |
| 132 return WebPointerProperties::PointerType::kTouch; |
| 133 case EventPointerType::POINTER_TYPE_ERASER: |
| 134 return WebPointerProperties::PointerType::kEraser; |
| 135 default: |
| 136 NOTREACHED() << "Invalid EventPointerType = " |
| 137 << static_cast<int>(event_pointer_type); |
| 138 return WebPointerProperties::PointerType::kUnknown; |
| 139 } |
| 140 } |
| 141 |
122 WebPointerProperties::Button ToWebPointerButton(int android_button_state) { | 142 WebPointerProperties::Button ToWebPointerButton(int android_button_state) { |
123 if (android_button_state & MotionEvent::BUTTON_PRIMARY) | 143 if (android_button_state & MotionEvent::BUTTON_PRIMARY) |
124 return WebPointerProperties::Button::kLeft; | 144 return WebPointerProperties::Button::kLeft; |
125 else if (android_button_state & MotionEvent::BUTTON_SECONDARY) | 145 else if (android_button_state & MotionEvent::BUTTON_SECONDARY) |
126 return WebPointerProperties::Button::kRight; | 146 return WebPointerProperties::Button::kRight; |
127 else if (android_button_state & MotionEvent::BUTTON_TERTIARY) | 147 else if (android_button_state & MotionEvent::BUTTON_TERTIARY) |
128 return WebPointerProperties::Button::kMiddle; | 148 return WebPointerProperties::Button::kMiddle; |
129 else if (android_button_state & MotionEvent::BUTTON_BACK) | 149 else if (android_button_state & MotionEvent::BUTTON_BACK) |
130 return WebPointerProperties::Button::kBack; | 150 return WebPointerProperties::Button::kBack; |
131 else if (android_button_state & MotionEvent::BUTTON_FORWARD) | 151 else if (android_button_state & MotionEvent::BUTTON_FORWARD) |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 DCHECK(IsContinuousGestureEvent(new_event.GetType())); | 514 DCHECK(IsContinuousGestureEvent(new_event.GetType())); |
495 DCHECK(IsCompatibleScrollorPinch(new_event, last_event)); | 515 DCHECK(IsCompatibleScrollorPinch(new_event, last_event)); |
496 DCHECK(!second_last_event || | 516 DCHECK(!second_last_event || |
497 IsCompatibleScrollorPinch(new_event, *second_last_event)); | 517 IsCompatibleScrollorPinch(new_event, *second_last_event)); |
498 | 518 |
499 WebGestureEvent scroll_event(WebInputEvent::kGestureScrollUpdate, | 519 WebGestureEvent scroll_event(WebInputEvent::kGestureScrollUpdate, |
500 new_event.GetModifiers(), | 520 new_event.GetModifiers(), |
501 new_event.TimeStampSeconds()); | 521 new_event.TimeStampSeconds()); |
502 WebGestureEvent pinch_event; | 522 WebGestureEvent pinch_event; |
503 scroll_event.source_device = new_event.source_device; | 523 scroll_event.source_device = new_event.source_device; |
| 524 scroll_event.primary_pointer_type = new_event.primary_pointer_type; |
504 pinch_event = scroll_event; | 525 pinch_event = scroll_event; |
505 pinch_event.SetType(WebInputEvent::kGesturePinchUpdate); | 526 pinch_event.SetType(WebInputEvent::kGesturePinchUpdate); |
506 pinch_event.x = new_event.GetType() == WebInputEvent::kGesturePinchUpdate | 527 pinch_event.x = new_event.GetType() == WebInputEvent::kGesturePinchUpdate |
507 ? new_event.x | 528 ? new_event.x |
508 : last_event.x; | 529 : last_event.x; |
509 pinch_event.y = new_event.GetType() == WebInputEvent::kGesturePinchUpdate | 530 pinch_event.y = new_event.GetType() == WebInputEvent::kGesturePinchUpdate |
510 ? new_event.y | 531 ? new_event.y |
511 : last_event.y; | 532 : last_event.y; |
512 | 533 |
513 gfx::Transform combined_scroll_pinch = GetTransformForEvent(last_event); | 534 gfx::Transform combined_scroll_pinch = GetTransformForEvent(last_event); |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 gesture.source_device = blink::kWebGestureDeviceTouchpad; | 646 gesture.source_device = blink::kWebGestureDeviceTouchpad; |
626 break; | 647 break; |
627 case GestureDeviceType::DEVICE_UNKNOWN: | 648 case GestureDeviceType::DEVICE_UNKNOWN: |
628 NOTREACHED() << "Unknown device type is not allowed"; | 649 NOTREACHED() << "Unknown device type is not allowed"; |
629 gesture.source_device = blink::kWebGestureDeviceUninitialized; | 650 gesture.source_device = blink::kWebGestureDeviceUninitialized; |
630 break; | 651 break; |
631 } | 652 } |
632 | 653 |
633 gesture.is_source_touch_event_set_non_blocking = | 654 gesture.is_source_touch_event_set_non_blocking = |
634 details.is_source_touch_event_set_non_blocking(); | 655 details.is_source_touch_event_set_non_blocking(); |
635 | 656 gesture.primary_pointer_type = |
| 657 ToWebPointerType(details.primary_pointer_type()); |
636 gesture.unique_touch_event_id = unique_touch_event_id; | 658 gesture.unique_touch_event_id = unique_touch_event_id; |
637 | 659 |
638 switch (details.type()) { | 660 switch (details.type()) { |
639 case ET_GESTURE_SHOW_PRESS: | 661 case ET_GESTURE_SHOW_PRESS: |
640 gesture.SetType(WebInputEvent::kGestureShowPress); | 662 gesture.SetType(WebInputEvent::kGestureShowPress); |
641 gesture.data.show_press.width = details.bounding_box_f().width(); | 663 gesture.data.show_press.width = details.bounding_box_f().width(); |
642 gesture.data.show_press.height = details.bounding_box_f().height(); | 664 gesture.data.show_press.height = details.bounding_box_f().height(); |
643 break; | 665 break; |
644 case ET_GESTURE_DOUBLE_TAP: | 666 case ET_GESTURE_DOUBLE_TAP: |
645 gesture.SetType(WebInputEvent::kGestureDoubleTap); | 667 gesture.SetType(WebInputEvent::kGestureDoubleTap); |
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
989 switch (type) { | 1011 switch (type) { |
990 case blink::WebGestureEvent::kGestureScrollUpdate: | 1012 case blink::WebGestureEvent::kGestureScrollUpdate: |
991 case blink::WebGestureEvent::kGesturePinchUpdate: | 1013 case blink::WebGestureEvent::kGesturePinchUpdate: |
992 return true; | 1014 return true; |
993 default: | 1015 default: |
994 return false; | 1016 return false; |
995 } | 1017 } |
996 } | 1018 } |
997 | 1019 |
998 } // namespace ui | 1020 } // namespace ui |
OLD | NEW |