| // 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. |
| |
| [DartPackage="sky_services"] |
| module pointer; |
| |
| // See https://github.com/flutter/engine/blob/master/sky/specs/pointer.md |
| |
| enum PointerType { |
| DOWN, |
| UP, |
| MOVE, |
| CANCEL, |
| }; |
| |
| enum PointerKind { |
| TOUCH, |
| MOUSE, |
| STYLUS, |
| INVERTED_STYLUS, |
| }; |
| |
| struct Pointer { |
| int64 time_stamp; |
| int32 pointer; |
| PointerType type; |
| PointerKind kind; |
| float x; |
| float y; |
| int32 buttons; |
| bool down; |
| bool primary; |
| bool obscured; |
| float pressure; |
| float pressure_min; |
| float pressure_max; |
| float distance; |
| float distance_min; |
| float distance_max; |
| float radius_major; |
| float radius_minor; |
| float radius_min; |
| float radius_max; |
| float orientation; |
| float tilt; |
| }; |
| |
| struct PointerPacket { |
| array<Pointer> pointers; |
| }; |
| |
| [ServiceName="pointer::PointerListener"] |
| interface PointerListener { |
| OnPointerPacket(PointerPacket packet); |
| }; |