// Copyright 2015 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/engine/core/events/PointerEvent.h" #include "gen/sky/core/EventNames.h" #include "gen/sky/core/EventTypeNames.h" namespace blink { static AtomicString stringForType(WebInputEvent::Type type) { if (type == WebInputEvent::PointerDown) return EventTypeNames::pointerdown; if (type == WebInputEvent::PointerUp) return EventTypeNames::pointerup; if (type == WebInputEvent::PointerMove) return EventTypeNames::pointermove; if (type == WebInputEvent::PointerCancel) return EventTypeNames::pointercancel; ASSERT_NOT_REACHED(); return AtomicString(); } static String stringForKind(WebPointerEvent::Kind kind) { switch (kind) { case WebPointerEvent::Touch: return "touch"; case WebPointerEvent::Mouse: return "mouse"; case WebPointerEvent::Stylus: return "stylus"; } ASSERT_NOT_REACHED(); return String(); } PointerEvent::~PointerEvent() { } const AtomicString& PointerEvent::interfaceName() const { return EventNames::PointerEvent; } PointerEvent::PointerEvent() : PointerEvent(AtomicString(), PointerEventInit()) { } PointerEvent::PointerEvent(const WebPointerEvent& event) : Event(stringForType(event.type), true, true) , m_pointer(event.pointer) , m_kind(stringForKind(event.kind)) , m_x(event.x) , m_y(event.y) , m_dx(0) , m_dy(0) , m_buttons(event.buttons) , m_down(false) , m_primary(false) , m_obscured(false) , m_pressure(event.pressure) , m_pressureMin(event.pressureMin) , m_pressureMax(event.pressureMax) , m_distance(event.distance) , m_distanceMin(event.distanceMin) , m_distanceMax(event.distanceMax) , m_radiusMajor(event.radiusMajor) , m_radiusMinor(event.radiusMinor) , m_radiusMin(event.radiusMin) , m_radiusMax(event.radiusMax) , m_orientation(event.orientation) , m_tilt(event.tilt) { m_timeStamp = event.timeStampMS; } PointerEvent::PointerEvent(const AtomicString& type, const PointerEventInit& initializer) : Event(type, initializer) , m_pointer(initializer.pointer) , m_kind(initializer.kind) , m_x(initializer.x) , m_y(initializer.y) , m_dx(initializer.dx) , m_dy(initializer.dy) , m_buttons(initializer.buttons) , m_down(initializer.down) , m_primary(initializer.primary) , m_obscured(initializer.obscured) , m_pressure(initializer.pressure) , m_pressureMin(initializer.pressureMin) , m_pressureMax(initializer.pressureMax) , m_distance(initializer.distance) , m_distanceMin(initializer.distanceMin) , m_distanceMax(initializer.distanceMax) , m_radiusMajor(initializer.radiusMajor) , m_radiusMinor(initializer.radiusMinor) , m_radiusMin(initializer.radiusMin) , m_radiusMax(initializer.radiusMax) , m_orientation(initializer.orientation) , m_tilt(initializer.tilt) { } } // namespace blink