| // 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. |
| |
| #ifndef SKY_ENGINE_CORE_EVENTS_POINTEREVENT_H_ |
| #define SKY_ENGINE_CORE_EVENTS_POINTEREVENT_H_ |
| |
| #include "sky/engine/core/events/Event.h" |
| #include "sky/engine/public/platform/WebInputEvent.h" |
| |
| namespace blink { |
| |
| struct PointerEventInit : public EventInit { |
| int pointer = 0; |
| String kind; |
| double x = 0; |
| double y = 0; |
| double dx = 0; |
| double dy = 0; |
| int buttons = 0; |
| bool down = false; |
| bool primary = false; |
| bool obscured = false; |
| double pressure = 0; |
| double pressureMin = 0; |
| double pressureMax = 0; |
| double distance = 0; |
| double distanceMin = 0; |
| double distanceMax = 0; |
| double radiusMajor = 0; |
| double radiusMinor = 0; |
| double radiusMin = 0; |
| double radiusMax = 0; |
| double orientation = 0; |
| double tilt = 0; |
| }; |
| |
| class PointerEvent : public Event { |
| DEFINE_WRAPPERTYPEINFO(); |
| public: |
| static PassRefPtr<PointerEvent> create() |
| { |
| return adoptRef(new PointerEvent); |
| } |
| static PassRefPtr<PointerEvent> create(const WebPointerEvent& event) |
| { |
| return adoptRef(new PointerEvent(event)); |
| } |
| static PassRefPtr<PointerEvent> create(const AtomicString& type, const PointerEventInit& initializer) |
| { |
| return adoptRef(new PointerEvent(type, initializer)); |
| } |
| |
| ~PointerEvent() override; |
| const AtomicString& interfaceName() const override; |
| |
| int pointer() const { return m_pointer; } |
| const String& kind() const { return m_kind; } |
| double x() const { return m_x; } |
| double y() const { return m_y; } |
| double dx() const { return m_dx; } |
| double dy() const { return m_dy; } |
| int buttons() const { return m_buttons; } |
| bool down() const { return m_down; } |
| bool primary() const { return m_primary; } |
| bool obscured() const { return m_obscured; } |
| double pressure() const { return m_pressure; } |
| double pressureMin() const { return m_pressureMin; } |
| double pressureMax() const { return m_pressureMax; } |
| double distance() const { return m_distance; } |
| double distanceMin() const { return m_distanceMin; } |
| double distanceMax() const { return m_distanceMax; } |
| double radiusMajor() const { return m_radiusMajor; } |
| double radiusMinor() const { return m_radiusMinor; } |
| double radiusMin() const { return m_radiusMin; } |
| double radiusMax() const { return m_radiusMax; } |
| double orientation() const { return m_orientation; } |
| double tilt() const { return m_tilt; } |
| |
| void setDx(double dx) { m_dx = dx; } |
| void setDy(double dy) { m_dy = dy; } |
| |
| private: |
| PointerEvent(); |
| explicit PointerEvent(const WebPointerEvent& event); |
| PointerEvent(const AtomicString&, const PointerEventInit&); |
| |
| int m_pointer; |
| String m_kind; |
| double m_x; |
| double m_y; |
| double m_dx; |
| double m_dy; |
| int m_buttons; |
| bool m_down; |
| bool m_primary; |
| bool m_obscured; |
| double m_pressure; |
| double m_pressureMin; |
| double m_pressureMax; |
| double m_distance; |
| double m_distanceMin; |
| double m_distanceMax; |
| double m_radiusMajor; |
| double m_radiusMinor; |
| double m_radiusMin; |
| double m_radiusMax; |
| double m_orientation; |
| double m_tilt; |
| }; |
| |
| } // namespace blink |
| |
| #endif // SKY_ENGINE_CORE_EVENTS_POINTEREVENT_H_ |