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

Unified Diff: sky/viewer/converters/input_event_types.cc

Issue 1235093002: Move sky_viewer into services/sky (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: again Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/viewer/converters/input_event_types.h ('k') | sky/viewer/dart_library_provider_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/viewer/converters/input_event_types.cc
diff --git a/sky/viewer/converters/input_event_types.cc b/sky/viewer/converters/input_event_types.cc
deleted file mode 100644
index 92869d2b0dcd10339d7b75dde12f2b6eed2b2c77..0000000000000000000000000000000000000000
--- a/sky/viewer/converters/input_event_types.cc
+++ /dev/null
@@ -1,254 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "sky/viewer/converters/input_event_types.h"
-
-#include "base/logging.h"
-#include "base/time/time.h"
-#include "mojo/services/input_events/public/interfaces/input_event_constants.mojom.h"
-#include "sky/engine/public/platform/WebInputEvent.h"
-#include "ui/events/event.h"
-
-namespace sky {
-namespace {
-
-int EventFlagsToWebInputEventModifiers(int flags) {
- return
- (flags & mojo::EVENT_FLAGS_SHIFT_DOWN ?
- blink::WebInputEvent::ShiftKey : 0) |
- (flags & mojo::EVENT_FLAGS_CONTROL_DOWN ?
- blink::WebInputEvent::ControlKey : 0) |
- (flags & mojo::EVENT_FLAGS_CAPS_LOCK_DOWN ?
- blink::WebInputEvent::CapsLockOn : 0) |
- (flags & mojo::EVENT_FLAGS_ALT_DOWN ?
- blink::WebInputEvent::AltKey : 0) |
- (flags & mojo::EVENT_FLAGS_LEFT_MOUSE_BUTTON ?
- blink::WebInputEvent::LeftButtonDown : 0) |
- (flags & mojo::EVENT_FLAGS_MIDDLE_MOUSE_BUTTON ?
- blink::WebInputEvent::MiddleButtonDown : 0) |
- (flags & mojo::EVENT_FLAGS_RIGHT_MOUSE_BUTTON ?
- blink::WebInputEvent::RightButtonDown : 0);
-}
-
-int UIEventFlagsToWebInputEventModifiers(int flags) {
- return (flags & ui::EF_SHIFT_DOWN ? blink::WebInputEvent::ShiftKey : 0) |
- (flags & ui::EF_CONTROL_DOWN ? blink::WebInputEvent::ControlKey : 0) |
- (flags & ui::EF_CAPS_LOCK_DOWN ? blink::WebInputEvent::CapsLockOn
- : 0) |
- (flags & ui::EF_ALT_DOWN ? blink::WebInputEvent::AltKey : 0);
-}
-
-scoped_ptr<blink::WebInputEvent> BuildWebPointerEvent(
- const mojo::EventPtr& event, float device_pixel_ratio) {
- scoped_ptr<blink::WebPointerEvent> web_event(new blink::WebPointerEvent);
-
- web_event->modifiers = EventFlagsToWebInputEventModifiers(event->flags);
- web_event->timeStampMS =
- base::TimeDelta::FromInternalValue(event->time_stamp).InMillisecondsF();
-
- switch (event->action) {
- case mojo::EVENT_TYPE_POINTER_DOWN:
- web_event->type = blink::WebInputEvent::PointerDown;
- break;
- case mojo::EVENT_TYPE_POINTER_MOVE:
- web_event->type = blink::WebInputEvent::PointerMove;
- break;
- case mojo::EVENT_TYPE_POINTER_UP:
- web_event->type = blink::WebInputEvent::PointerUp;
- break;
- case mojo::EVENT_TYPE_POINTER_CANCEL:
- // FIXME: What mouse event should we listen to in order to learn when the
- // mouse moves out of the mojo::View?
- web_event->type = blink::WebInputEvent::PointerCancel;
- break;
- default:
- NOTIMPLEMENTED() << "Received unexpected event: " << event->action;
- break;
- }
-
- if (event->pointer_data->kind == mojo::POINTER_KIND_TOUCH) {
- web_event->kind = blink::WebPointerEvent::Touch;
- web_event->pointer = event->pointer_data->pointer_id;
- } else {
- web_event->kind = blink::WebPointerEvent::Mouse;
- // Set the buttons according to http://www.w3.org/TR/pointerevents/
- int buttons = 0;
- int modifiers = web_event->modifiers;
- buttons |= modifiers & blink::WebInputEvent::LeftButtonDown ? 1 << 0 : 0;
- buttons |= modifiers & blink::WebInputEvent::RightButtonDown ? 1 << 1 : 0;
- buttons |= modifiers & blink::WebInputEvent::MiddleButtonDown ? 1 << 2 : 0;
- web_event->buttons = buttons;
- }
-
- web_event->x = event->pointer_data->x / device_pixel_ratio;
- web_event->y = event->pointer_data->y / device_pixel_ratio;
- web_event->pressure = event->pointer_data->pressure;
- web_event->radiusMajor = event->pointer_data->radius_major;
- web_event->radiusMinor = event->pointer_data->radius_minor;
- web_event->orientation = event->pointer_data->orientation;
-
- return web_event.Pass();
-}
-
-scoped_ptr<blink::WebInputEvent> BuildWebGestureEvent(
- const ui::GestureEvent& event,
- float device_pixel_ratio) {
- scoped_ptr<blink::WebGestureEvent> web_event(new blink::WebGestureEvent);
-
- web_event->modifiers = UIEventFlagsToWebInputEventModifiers(event.flags());
- web_event->timeStampMS = event.time_stamp().InMillisecondsF();
-
- switch (event.type()) {
- case ui::ET_GESTURE_SCROLL_BEGIN:
- web_event->type = blink::WebInputEvent::GestureScrollBegin;
- break;
- case ui::ET_GESTURE_SCROLL_END:
- web_event->type = blink::WebInputEvent::GestureScrollEnd;
- break;
- case ui::ET_GESTURE_SCROLL_UPDATE:
- web_event->type = blink::WebInputEvent::GestureScrollUpdate;
- web_event->data.scrollUpdate.deltaX =
- event.details().scroll_x() / device_pixel_ratio;
- web_event->data.scrollUpdate.deltaY =
- event.details().scroll_y() / device_pixel_ratio;
- break;
- case ui::ET_SCROLL_FLING_START:
- web_event->type = blink::WebInputEvent::GestureFlingStart;
- web_event->data.flingStart.velocityX =
- event.details().velocity_x() / device_pixel_ratio;
- web_event->data.flingStart.velocityY =
- event.details().velocity_y() / device_pixel_ratio;
- break;
- case ui::ET_SCROLL_FLING_CANCEL:
- web_event->type = blink::WebInputEvent::GestureFlingCancel;
- break;
- case ui::ET_GESTURE_SHOW_PRESS:
- web_event->type = blink::WebInputEvent::GestureShowPress;
- break;
- case ui::ET_GESTURE_TAP:
- web_event->type = blink::WebInputEvent::GestureTap;
- web_event->data.tap.tapCount = event.details().tap_count();
- break;
- case ui::ET_GESTURE_TAP_UNCONFIRMED:
- web_event->type = blink::WebInputEvent::GestureTapUnconfirmed;
- web_event->data.tap.tapCount = event.details().tap_count();
- break;
- case ui::ET_GESTURE_TAP_DOWN:
- web_event->type = blink::WebInputEvent::GestureTapDown;
- break;
- case ui::ET_GESTURE_TAP_CANCEL:
- web_event->type = blink::WebInputEvent::GestureTapCancel;
- break;
- case ui::ET_GESTURE_DOUBLE_TAP:
- web_event->type = blink::WebInputEvent::GestureDoubleTap;
- web_event->data.tap.tapCount = event.details().tap_count();
- break;
- case ui::ET_GESTURE_TWO_FINGER_TAP:
- web_event->type = blink::WebInputEvent::GestureTwoFingerTap;
- break;
- case ui::ET_GESTURE_LONG_PRESS:
- web_event->type = blink::WebInputEvent::GestureLongPress;
- break;
- case ui::ET_GESTURE_LONG_TAP:
- web_event->type = blink::WebInputEvent::GestureLongTap;
- break;
- case ui::ET_GESTURE_PINCH_BEGIN:
- web_event->type = blink::WebInputEvent::GesturePinchBegin;
- break;
- case ui::ET_GESTURE_PINCH_END:
- web_event->type = blink::WebInputEvent::GesturePinchEnd;
- break;
- case ui::ET_GESTURE_PINCH_UPDATE:
- web_event->type = blink::WebInputEvent::GesturePinchUpdate;
- web_event->data.pinchUpdate.scale =
- event.details().scale() / device_pixel_ratio;
- break;
- default:
- break;
- }
-
- web_event->x = event.location().x() / device_pixel_ratio;
- web_event->y = event.location().y() / device_pixel_ratio;
-
- return web_event.Pass();
-}
-
-scoped_ptr<blink::WebInputEvent> BuildWebKeyboardEvent(
- const mojo::EventPtr& event,
- float device_pixel_ratio) {
- scoped_ptr<blink::WebKeyboardEvent> web_event(new blink::WebKeyboardEvent);
-
- web_event->modifiers = EventFlagsToWebInputEventModifiers(event->flags);
- web_event->timeStampMS =
- base::TimeDelta::FromInternalValue(event->time_stamp).InMillisecondsF();
-
- switch (event->action) {
- case mojo::EVENT_TYPE_KEY_PRESSED:
- web_event->type = event->key_data->is_char ? blink::WebInputEvent::Char :
- blink::WebInputEvent::KeyDown;
- break;
- case mojo::EVENT_TYPE_KEY_RELEASED:
- web_event->type = blink::WebInputEvent::KeyUp;
- break;
- default:
- NOTREACHED();
- }
-
- web_event->key = event->key_data->windows_key_code;
- web_event->charCode = event->key_data->text;
- web_event->unmodifiedCharCode = event->key_data->unmodified_text;
-
- return web_event.Pass();
-}
-
-scoped_ptr<blink::WebInputEvent> BuildWebWheelEvent(
- const mojo::EventPtr& event, float device_pixel_ratio) {
- scoped_ptr<blink::WebWheelEvent> web_event(new blink::WebWheelEvent);
-
- web_event->modifiers = EventFlagsToWebInputEventModifiers(event->flags);
- web_event->timeStampMS =
- base::TimeDelta::FromInternalValue(event->time_stamp).InMillisecondsF();
-
- web_event->type = blink::WebInputEvent::WheelEvent;
-
- web_event->x = event->pointer_data->x / device_pixel_ratio;
- web_event->y = event->pointer_data->y / device_pixel_ratio;
-
- // The times 100 is arbitrary. Need a better way to deal.
- web_event->offsetX =
- event->pointer_data->horizontal_wheel * 100 / device_pixel_ratio;
- web_event->offsetY =
- event->pointer_data->vertical_wheel * 100 / device_pixel_ratio;
-
- return web_event.Pass();
-}
-
-} // namespace
-
-scoped_ptr<blink::WebInputEvent> ConvertEvent(const mojo::EventPtr& event,
- float device_pixel_ratio) {
- if (event->action == mojo::EVENT_TYPE_POINTER_DOWN ||
- event->action == mojo::EVENT_TYPE_POINTER_UP ||
- event->action == mojo::EVENT_TYPE_POINTER_CANCEL ||
- event->action == mojo::EVENT_TYPE_POINTER_MOVE) {
- if (event->pointer_data->horizontal_wheel != 0 ||
- event->pointer_data->vertical_wheel != 0) {
- return BuildWebWheelEvent(event, device_pixel_ratio);
- }
- return BuildWebPointerEvent(event, device_pixel_ratio);
- } else if ((event->action == mojo::EVENT_TYPE_KEY_PRESSED ||
- event->action == mojo::EVENT_TYPE_KEY_RELEASED) &&
- event->key_data) {
- return BuildWebKeyboardEvent(event, device_pixel_ratio);
- }
-
- return nullptr;
-}
-
-scoped_ptr<blink::WebInputEvent> ConvertEvent(const ui::GestureEvent& event,
- float device_pixel_ratio) {
- return BuildWebGestureEvent(event, device_pixel_ratio);
-}
-
-} // namespace mojo
« no previous file with comments | « sky/viewer/converters/input_event_types.h ('k') | sky/viewer/dart_library_provider_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698