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 652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
663 gesture.setType(blink::WebInputEvent::GestureTwoFingerTap); | 663 gesture.setType(blink::WebInputEvent::GestureTwoFingerTap); |
664 gesture.data.twoFingerTap.firstFingerWidth = details.first_finger_width(); | 664 gesture.data.twoFingerTap.firstFingerWidth = details.first_finger_width(); |
665 gesture.data.twoFingerTap.firstFingerHeight = | 665 gesture.data.twoFingerTap.firstFingerHeight = |
666 details.first_finger_height(); | 666 details.first_finger_height(); |
667 break; | 667 break; |
668 case ET_GESTURE_SCROLL_BEGIN: | 668 case ET_GESTURE_SCROLL_BEGIN: |
669 gesture.setType(WebInputEvent::GestureScrollBegin); | 669 gesture.setType(WebInputEvent::GestureScrollBegin); |
670 gesture.data.scrollBegin.pointerCount = details.touch_points(); | 670 gesture.data.scrollBegin.pointerCount = details.touch_points(); |
671 gesture.data.scrollBegin.deltaXHint = details.scroll_x_hint(); | 671 gesture.data.scrollBegin.deltaXHint = details.scroll_x_hint(); |
672 gesture.data.scrollBegin.deltaYHint = details.scroll_y_hint(); | 672 gesture.data.scrollBegin.deltaYHint = details.scroll_y_hint(); |
673 gesture.data.scrollBegin.deltaHintUnits = | |
674 static_cast<blink::WebGestureEvent::ScrollUnits>( | |
675 details.scroll_begin_units()); | |
673 break; | 676 break; |
674 case ET_GESTURE_SCROLL_UPDATE: | 677 case ET_GESTURE_SCROLL_UPDATE: |
675 gesture.setType(WebInputEvent::GestureScrollUpdate); | 678 gesture.setType(WebInputEvent::GestureScrollUpdate); |
676 gesture.data.scrollUpdate.deltaX = details.scroll_x(); | 679 gesture.data.scrollUpdate.deltaX = details.scroll_x(); |
677 gesture.data.scrollUpdate.deltaY = details.scroll_y(); | 680 gesture.data.scrollUpdate.deltaY = details.scroll_y(); |
681 gesture.data.scrollUpdate.deltaUnits = | |
682 static_cast<blink::WebGestureEvent::ScrollUnits>( | |
683 details.scroll_update_units()); | |
678 gesture.data.scrollUpdate.previousUpdateInSequencePrevented = | 684 gesture.data.scrollUpdate.previousUpdateInSequencePrevented = |
679 details.previous_scroll_update_in_sequence_prevented(); | 685 details.previous_scroll_update_in_sequence_prevented(); |
680 break; | 686 break; |
681 case ET_GESTURE_SCROLL_END: | 687 case ET_GESTURE_SCROLL_END: |
682 gesture.setType(WebInputEvent::GestureScrollEnd); | 688 gesture.setType(WebInputEvent::GestureScrollEnd); |
683 break; | 689 break; |
684 case ET_SCROLL_FLING_START: | 690 case ET_SCROLL_FLING_START: |
685 gesture.setType(WebInputEvent::GestureFlingStart); | 691 gesture.setType(WebInputEvent::GestureFlingStart); |
686 gesture.data.flingStart.velocityX = details.velocity_x(); | 692 gesture.data.flingStart.velocityX = details.velocity_x(); |
687 gesture.data.flingStart.velocityY = details.velocity_y(); | 693 gesture.data.flingStart.velocityY = details.velocity_y(); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
743 if (scale == 1.f && delta.IsZero()) | 749 if (scale == 1.f && delta.IsZero()) |
744 return scaled_event; | 750 return scaled_event; |
745 if (event.type() == blink::WebMouseEvent::MouseWheel) { | 751 if (event.type() == blink::WebMouseEvent::MouseWheel) { |
746 blink::WebMouseWheelEvent* wheel_event = new blink::WebMouseWheelEvent; | 752 blink::WebMouseWheelEvent* wheel_event = new blink::WebMouseWheelEvent; |
747 scaled_event.reset(wheel_event); | 753 scaled_event.reset(wheel_event); |
748 *wheel_event = static_cast<const blink::WebMouseWheelEvent&>(event); | 754 *wheel_event = static_cast<const blink::WebMouseWheelEvent&>(event); |
749 wheel_event->x += delta.x(); | 755 wheel_event->x += delta.x(); |
750 wheel_event->y += delta.y(); | 756 wheel_event->y += delta.y(); |
751 wheel_event->x *= scale; | 757 wheel_event->x *= scale; |
752 wheel_event->y *= scale; | 758 wheel_event->y *= scale; |
753 wheel_event->deltaX *= scale; | 759 if (!wheel_event->scrollByPage) { |
Bret
2017/02/17 21:06:03
Test for this too?
chengx
2017/02/17 21:57:44
Yep, added.
| |
754 wheel_event->deltaY *= scale; | 760 wheel_event->deltaX *= scale; |
755 wheel_event->wheelTicksX *= scale; | 761 wheel_event->deltaY *= scale; |
756 wheel_event->wheelTicksY *= scale; | 762 wheel_event->wheelTicksX *= scale; |
763 wheel_event->wheelTicksY *= scale; | |
764 } | |
757 } else if (blink::WebInputEvent::isMouseEventType(event.type())) { | 765 } else if (blink::WebInputEvent::isMouseEventType(event.type())) { |
758 blink::WebMouseEvent* mouse_event = new blink::WebMouseEvent; | 766 blink::WebMouseEvent* mouse_event = new blink::WebMouseEvent; |
759 scaled_event.reset(mouse_event); | 767 scaled_event.reset(mouse_event); |
760 *mouse_event = static_cast<const blink::WebMouseEvent&>(event); | 768 *mouse_event = static_cast<const blink::WebMouseEvent&>(event); |
761 mouse_event->x += delta.x(); | 769 mouse_event->x += delta.x(); |
762 mouse_event->y += delta.y(); | 770 mouse_event->y += delta.y(); |
763 mouse_event->x *= scale; | 771 mouse_event->x *= scale; |
764 mouse_event->y *= scale; | 772 mouse_event->y *= scale; |
765 mouse_event->windowX = mouse_event->x; | 773 mouse_event->windowX = mouse_event->x; |
766 mouse_event->windowY = mouse_event->y; | 774 mouse_event->windowY = mouse_event->y; |
(...skipping 14 matching lines...) Expand all Loading... | |
781 } else if (blink::WebInputEvent::isGestureEventType(event.type())) { | 789 } else if (blink::WebInputEvent::isGestureEventType(event.type())) { |
782 blink::WebGestureEvent* gesture_event = new blink::WebGestureEvent; | 790 blink::WebGestureEvent* gesture_event = new blink::WebGestureEvent; |
783 scaled_event.reset(gesture_event); | 791 scaled_event.reset(gesture_event); |
784 *gesture_event = static_cast<const blink::WebGestureEvent&>(event); | 792 *gesture_event = static_cast<const blink::WebGestureEvent&>(event); |
785 gesture_event->x += delta.x(); | 793 gesture_event->x += delta.x(); |
786 gesture_event->y += delta.y(); | 794 gesture_event->y += delta.y(); |
787 gesture_event->x *= scale; | 795 gesture_event->x *= scale; |
788 gesture_event->y *= scale; | 796 gesture_event->y *= scale; |
789 switch (gesture_event->type()) { | 797 switch (gesture_event->type()) { |
790 case blink::WebInputEvent::GestureScrollUpdate: | 798 case blink::WebInputEvent::GestureScrollUpdate: |
791 gesture_event->data.scrollUpdate.deltaX *= scale; | 799 if (gesture_event->data.scrollUpdate.deltaUnits != |
792 gesture_event->data.scrollUpdate.deltaY *= scale; | 800 blink::WebGestureEvent::ScrollUnits::Page) { |
801 gesture_event->data.scrollUpdate.deltaX *= scale; | |
802 gesture_event->data.scrollUpdate.deltaY *= scale; | |
803 } | |
793 break; | 804 break; |
794 case blink::WebInputEvent::GestureScrollBegin: | 805 case blink::WebInputEvent::GestureScrollBegin: |
795 gesture_event->data.scrollBegin.deltaXHint *= scale; | 806 if (gesture_event->data.scrollBegin.deltaHintUnits != |
796 gesture_event->data.scrollBegin.deltaYHint *= scale; | 807 blink::WebGestureEvent::ScrollUnits::Page) { |
808 gesture_event->data.scrollBegin.deltaXHint *= scale; | |
809 gesture_event->data.scrollBegin.deltaYHint *= scale; | |
810 } | |
797 break; | 811 break; |
798 | 812 |
799 case blink::WebInputEvent::GesturePinchUpdate: | 813 case blink::WebInputEvent::GesturePinchUpdate: |
800 // Scale in pinch gesture is DSF agnostic. | 814 // Scale in pinch gesture is DSF agnostic. |
801 break; | 815 break; |
802 | 816 |
803 case blink::WebInputEvent::GestureDoubleTap: | 817 case blink::WebInputEvent::GestureDoubleTap: |
804 case blink::WebInputEvent::GestureTap: | 818 case blink::WebInputEvent::GestureTap: |
805 case blink::WebInputEvent::GestureTapUnconfirmed: | 819 case blink::WebInputEvent::GestureTapUnconfirmed: |
806 gesture_event->data.tap.width *= scale; | 820 gesture_event->data.tap.width *= scale; |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
964 switch (type) { | 978 switch (type) { |
965 case blink::WebGestureEvent::GestureScrollUpdate: | 979 case blink::WebGestureEvent::GestureScrollUpdate: |
966 case blink::WebGestureEvent::GesturePinchUpdate: | 980 case blink::WebGestureEvent::GesturePinchUpdate: |
967 return true; | 981 return true; |
968 default: | 982 default: |
969 return false; | 983 return false; |
970 } | 984 } |
971 } | 985 } |
972 | 986 |
973 } // namespace ui | 987 } // namespace ui |
OLD | NEW |