mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
115 lines
3.3 KiB
C++
115 lines
3.3 KiB
C++
// 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_
|