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

Side by Side Diff: ui/events/blink/blink_event_util.cc

Issue 2782893002: WebMouseEvent coordinates are now fractional & private (Closed)
Patch Set: Fixed a compile failure Created 3 years, 8 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
OLDNEW
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 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 const blink::WebInputEvent& event, 747 const blink::WebInputEvent& event,
748 const gfx::Vector2d& delta, 748 const gfx::Vector2d& delta,
749 float scale) { 749 float scale) {
750 std::unique_ptr<blink::WebInputEvent> scaled_event; 750 std::unique_ptr<blink::WebInputEvent> scaled_event;
751 if (scale == 1.f && delta.IsZero()) 751 if (scale == 1.f && delta.IsZero())
752 return scaled_event; 752 return scaled_event;
753 if (event.type() == blink::WebMouseEvent::MouseWheel) { 753 if (event.type() == blink::WebMouseEvent::MouseWheel) {
754 blink::WebMouseWheelEvent* wheel_event = new blink::WebMouseWheelEvent; 754 blink::WebMouseWheelEvent* wheel_event = new blink::WebMouseWheelEvent;
755 scaled_event.reset(wheel_event); 755 scaled_event.reset(wheel_event);
756 *wheel_event = static_cast<const blink::WebMouseWheelEvent&>(event); 756 *wheel_event = static_cast<const blink::WebMouseWheelEvent&>(event);
757 wheel_event->x += delta.x(); 757 float x = (wheel_event->positionInWidget().x + delta.x()) * scale;
758 wheel_event->y += delta.y(); 758 float y = (wheel_event->positionInWidget().y + delta.y()) * scale;
759 wheel_event->x *= scale; 759 wheel_event->setPositionInWidget(x, y);
760 wheel_event->y *= scale;
761 if (!wheel_event->scrollByPage) { 760 if (!wheel_event->scrollByPage) {
762 wheel_event->deltaX *= scale; 761 wheel_event->deltaX *= scale;
763 wheel_event->deltaY *= scale; 762 wheel_event->deltaY *= scale;
764 wheel_event->wheelTicksX *= scale; 763 wheel_event->wheelTicksX *= scale;
765 wheel_event->wheelTicksY *= scale; 764 wheel_event->wheelTicksY *= scale;
766 } 765 }
767 } else if (blink::WebInputEvent::isMouseEventType(event.type())) { 766 } else if (blink::WebInputEvent::isMouseEventType(event.type())) {
768 blink::WebMouseEvent* mouse_event = new blink::WebMouseEvent; 767 blink::WebMouseEvent* mouse_event = new blink::WebMouseEvent;
769 scaled_event.reset(mouse_event); 768 scaled_event.reset(mouse_event);
770 *mouse_event = static_cast<const blink::WebMouseEvent&>(event); 769 *mouse_event = static_cast<const blink::WebMouseEvent&>(event);
771 mouse_event->x += delta.x(); 770 float x = (mouse_event->positionInWidget().x + delta.x()) * scale;
772 mouse_event->y += delta.y(); 771 float y = (mouse_event->positionInWidget().y + delta.y()) * scale;
773 mouse_event->x *= scale; 772 mouse_event->setPositionInWidget(x, y);
774 mouse_event->y *= scale;
775 mouse_event->movementX *= scale; 773 mouse_event->movementX *= scale;
776 mouse_event->movementY *= scale; 774 mouse_event->movementY *= scale;
777 } else if (blink::WebInputEvent::isTouchEventType(event.type())) { 775 } else if (blink::WebInputEvent::isTouchEventType(event.type())) {
778 blink::WebTouchEvent* touch_event = new blink::WebTouchEvent; 776 blink::WebTouchEvent* touch_event = new blink::WebTouchEvent;
779 scaled_event.reset(touch_event); 777 scaled_event.reset(touch_event);
780 *touch_event = static_cast<const blink::WebTouchEvent&>(event); 778 *touch_event = static_cast<const blink::WebTouchEvent&>(event);
781 for (unsigned i = 0; i < touch_event->touchesLength; i++) { 779 for (unsigned i = 0; i < touch_event->touchesLength; i++) {
782 touch_event->touches[i].position.x += delta.x(); 780 touch_event->touches[i].position.x += delta.x();
783 touch_event->touches[i].position.y += delta.y(); 781 touch_event->touches[i].position.y += delta.y();
784 touch_event->touches[i].position.x *= scale; 782 touch_event->touches[i].position.x *= scale;
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 switch (type) { 978 switch (type) {
981 case blink::WebGestureEvent::GestureScrollUpdate: 979 case blink::WebGestureEvent::GestureScrollUpdate:
982 case blink::WebGestureEvent::GesturePinchUpdate: 980 case blink::WebGestureEvent::GesturePinchUpdate:
983 return true; 981 return true;
984 default: 982 default:
985 return false; 983 return false;
986 } 984 }
987 } 985 }
988 986
989 } // namespace ui 987 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698