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 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 DCHECK(IsContinuousGestureEvent(new_event.GetType())); | 511 DCHECK(IsContinuousGestureEvent(new_event.GetType())); |
492 DCHECK(IsCompatibleScrollorPinch(new_event, last_event)); | 512 DCHECK(IsCompatibleScrollorPinch(new_event, last_event)); |
493 DCHECK(!second_last_event || | 513 DCHECK(!second_last_event || |
494 IsCompatibleScrollorPinch(new_event, *second_last_event)); | 514 IsCompatibleScrollorPinch(new_event, *second_last_event)); |
495 | 515 |
496 WebGestureEvent scroll_event(WebInputEvent::kGestureScrollUpdate, | 516 WebGestureEvent scroll_event(WebInputEvent::kGestureScrollUpdate, |
497 new_event.GetModifiers(), | 517 new_event.GetModifiers(), |
498 new_event.TimeStampSeconds()); | 518 new_event.TimeStampSeconds()); |
499 WebGestureEvent pinch_event; | 519 WebGestureEvent pinch_event; |
500 scroll_event.source_device = new_event.source_device; | 520 scroll_event.source_device = new_event.source_device; |
| 521 scroll_event.primary_pointer_type = new_event.primary_pointer_type; |
501 pinch_event = scroll_event; | 522 pinch_event = scroll_event; |
502 pinch_event.SetType(WebInputEvent::kGesturePinchUpdate); | 523 pinch_event.SetType(WebInputEvent::kGesturePinchUpdate); |
503 pinch_event.x = new_event.GetType() == WebInputEvent::kGesturePinchUpdate | 524 pinch_event.x = new_event.GetType() == WebInputEvent::kGesturePinchUpdate |
504 ? new_event.x | 525 ? new_event.x |
505 : last_event.x; | 526 : last_event.x; |
506 pinch_event.y = new_event.GetType() == WebInputEvent::kGesturePinchUpdate | 527 pinch_event.y = new_event.GetType() == WebInputEvent::kGesturePinchUpdate |
507 ? new_event.y | 528 ? new_event.y |
508 : last_event.y; | 529 : last_event.y; |
509 | 530 |
510 gfx::Transform combined_scroll_pinch = GetTransformForEvent(last_event); | 531 gfx::Transform combined_scroll_pinch = GetTransformForEvent(last_event); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
620 break; | 641 break; |
621 case GestureDeviceType::DEVICE_TOUCHPAD: | 642 case GestureDeviceType::DEVICE_TOUCHPAD: |
622 gesture.source_device = blink::kWebGestureDeviceTouchpad; | 643 gesture.source_device = blink::kWebGestureDeviceTouchpad; |
623 break; | 644 break; |
624 case GestureDeviceType::DEVICE_UNKNOWN: | 645 case GestureDeviceType::DEVICE_UNKNOWN: |
625 NOTREACHED() << "Unknown device type is not allowed"; | 646 NOTREACHED() << "Unknown device type is not allowed"; |
626 gesture.source_device = blink::kWebGestureDeviceUninitialized; | 647 gesture.source_device = blink::kWebGestureDeviceUninitialized; |
627 break; | 648 break; |
628 } | 649 } |
629 | 650 |
| 651 gesture.primary_pointer_type = |
| 652 ToWebPointerType(details.primary_pointer_type()); |
630 gesture.unique_touch_event_id = unique_touch_event_id; | 653 gesture.unique_touch_event_id = unique_touch_event_id; |
631 | 654 |
632 switch (details.type()) { | 655 switch (details.type()) { |
633 case ET_GESTURE_SHOW_PRESS: | 656 case ET_GESTURE_SHOW_PRESS: |
634 gesture.SetType(WebInputEvent::kGestureShowPress); | 657 gesture.SetType(WebInputEvent::kGestureShowPress); |
635 gesture.data.show_press.width = details.bounding_box_f().width(); | 658 gesture.data.show_press.width = details.bounding_box_f().width(); |
636 gesture.data.show_press.height = details.bounding_box_f().height(); | 659 gesture.data.show_press.height = details.bounding_box_f().height(); |
637 break; | 660 break; |
638 case ET_GESTURE_DOUBLE_TAP: | 661 case ET_GESTURE_DOUBLE_TAP: |
639 gesture.SetType(WebInputEvent::kGestureDoubleTap); | 662 gesture.SetType(WebInputEvent::kGestureDoubleTap); |
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
983 switch (type) { | 1006 switch (type) { |
984 case blink::WebGestureEvent::kGestureScrollUpdate: | 1007 case blink::WebGestureEvent::kGestureScrollUpdate: |
985 case blink::WebGestureEvent::kGesturePinchUpdate: | 1008 case blink::WebGestureEvent::kGesturePinchUpdate: |
986 return true; | 1009 return true; |
987 default: | 1010 default: |
988 return false; | 1011 return false; |
989 } | 1012 } |
990 } | 1013 } |
991 | 1014 |
992 } // namespace ui | 1015 } // namespace ui |
OLD | NEW |