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

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

Issue 1609193002: [UseZoomForDSF] Alwatys use DIP coordinates in pepper plugin (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 10 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
« no previous file with comments | « ui/events/blink/blink_event_util.h ('k') | ui/events/blink/blink_event_util_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 return gesture; 359 return gesture;
360 } 360 }
361 361
362 WebGestureEvent CreateWebGestureEventFromGestureEventData( 362 WebGestureEvent CreateWebGestureEventFromGestureEventData(
363 const GestureEventData& data) { 363 const GestureEventData& data) {
364 return CreateWebGestureEvent(data.details, data.time - base::TimeTicks(), 364 return CreateWebGestureEvent(data.details, data.time - base::TimeTicks(),
365 gfx::PointF(data.x, data.y), 365 gfx::PointF(data.x, data.y),
366 gfx::PointF(data.raw_x, data.raw_y), data.flags); 366 gfx::PointF(data.raw_x, data.raw_y), data.flags);
367 } 367 }
368 368
369 scoped_ptr<blink::WebInputEvent> ScaleWebInputEvent(
370 const blink::WebInputEvent& event,
371 float scale) {
372 scoped_ptr<blink::WebInputEvent> scaled_event;
373 if (scale == 1.f)
374 return scaled_event;
375 if (event.type == blink::WebMouseEvent::MouseWheel) {
376 blink::WebMouseWheelEvent* wheel_event = new blink::WebMouseWheelEvent;
377 scaled_event.reset(wheel_event);
378 *wheel_event = static_cast<const blink::WebMouseWheelEvent&>(event);
379 wheel_event->x *= scale;
380 wheel_event->y *= scale;
381 wheel_event->deltaX *= scale;
382 wheel_event->deltaY *= scale;
383 wheel_event->wheelTicksX *= scale;
384 wheel_event->wheelTicksY *= scale;
385 } else if (blink::WebInputEvent::isMouseEventType(event.type)) {
386 blink::WebMouseEvent* mouse_event = new blink::WebMouseEvent;
387 scaled_event.reset(mouse_event);
388 *mouse_event = static_cast<const blink::WebMouseEvent&>(event);
389 mouse_event->x *= scale;
390 mouse_event->y *= scale;
391 mouse_event->windowX = mouse_event->x;
392 mouse_event->windowY = mouse_event->y;
393 mouse_event->movementX *= scale;
394 mouse_event->movementY *= scale;
395 } else if (blink::WebInputEvent::isTouchEventType(event.type)) {
396 blink::WebTouchEvent* touch_event = new blink::WebTouchEvent;
397 scaled_event.reset(touch_event);
398 *touch_event = static_cast<const blink::WebTouchEvent&>(event);
399 for (unsigned i = 0; i < touch_event->touchesLength; i++) {
400 touch_event->touches[i].position.x *= scale;
401 touch_event->touches[i].position.y *= scale;
402 touch_event->touches[i].radiusX *= scale;
403 touch_event->touches[i].radiusY *= scale;
404 }
405 } else if (blink::WebInputEvent::isGestureEventType(event.type)) {
406 blink::WebGestureEvent* gesture_event = new blink::WebGestureEvent;
407 scaled_event.reset(gesture_event);
408 *gesture_event = static_cast<const blink::WebGestureEvent&>(event);
409 gesture_event->x *= scale;
410 gesture_event->y *= scale;
411 switch (gesture_event->type) {
412 case blink::WebInputEvent::GestureScrollUpdate:
413 gesture_event->data.scrollUpdate.deltaX *= scale;
414 gesture_event->data.scrollUpdate.deltaY *= scale;
415 break;
416 case blink::WebInputEvent::GestureScrollBegin:
417 gesture_event->data.scrollBegin.deltaXHint *= scale;
418 gesture_event->data.scrollBegin.deltaYHint *= scale;
419 break;
420
421 case blink::WebInputEvent::GesturePinchUpdate:
422 // Scale in pinch gesture is DSF agnostic.
423 break;
424
425 case blink::WebInputEvent::GestureDoubleTap:
426 case blink::WebInputEvent::GestureTap:
427 case blink::WebInputEvent::GestureTapUnconfirmed:
428 gesture_event->data.tap.width *= scale;
429 gesture_event->data.tap.height *= scale;
430 break;
431
432 case blink::WebInputEvent::GestureTapDown:
433 gesture_event->data.tapDown.width *= scale;
434 gesture_event->data.tapDown.height *= scale;
435 break;
436
437 case blink::WebInputEvent::GestureShowPress:
438 gesture_event->data.showPress.width *= scale;
439 gesture_event->data.showPress.height *= scale;
440 break;
441
442 case blink::WebInputEvent::GestureLongPress:
443 case blink::WebInputEvent::GestureLongTap:
444 gesture_event->data.longPress.width *= scale;
445 gesture_event->data.longPress.height *= scale;
446 break;
447
448 case blink::WebInputEvent::GestureTwoFingerTap:
449 gesture_event->data.twoFingerTap.firstFingerWidth *= scale;
450 gesture_event->data.twoFingerTap.firstFingerHeight *= scale;
451 break;
452
453 case blink::WebInputEvent::GestureFlingStart:
454 gesture_event->data.flingStart.velocityX *= scale;
455 gesture_event->data.flingStart.velocityY *= scale;
456 break;
457
458 // These event does not have location data.
459 case blink::WebInputEvent::GesturePinchBegin:
460 case blink::WebInputEvent::GesturePinchEnd:
461 case blink::WebInputEvent::GestureTapCancel:
462 case blink::WebInputEvent::GestureFlingCancel:
463 case blink::WebInputEvent::GestureScrollEnd:
464 break;
465
466 // TODO(oshima): Find out if ContextMenu needs to be scaled.
467 default:
468 break;
469 }
470 }
471 return scaled_event;
472 }
473
369 } // namespace ui 474 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/blink/blink_event_util.h ('k') | ui/events/blink/blink_event_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698