// 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 pointers; }; [ServiceName="pointer::PointerListener"] interface PointerListener { OnPointerPacket(PointerPacket packet); };