| // Copyright 2016 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 FLUTTER_LIB_UI_WINDOW_POINTER_DATA_H_ |
| #define FLUTTER_LIB_UI_WINDOW_POINTER_DATA_H_ |
| |
| #include <stdint.h> |
| |
| namespace blink { |
| |
| // This structure is unpacked by hooks.dart. |
| struct alignas(8) PointerData { |
| // Must match the PointerChange enum in pointer.dart. |
| enum class Change : int64_t { |
| kCancel, |
| kAdd, |
| kRemove, |
| kHover, |
| kDown, |
| kMove, |
| kUp, |
| }; |
| |
| // Must match the PointerDeviceKind enum in pointer.dart. |
| enum class DeviceKind : int64_t { |
| kTouch, |
| kMouse, |
| kStylus, |
| kInvertedStylus, |
| }; |
| |
| int64_t time_stamp; |
| Change change; |
| DeviceKind kind; |
| int64_t device; |
| double physical_x; |
| double physical_y; |
| int64_t buttons; |
| int64_t obscured; |
| double pressure; |
| double pressure_min; |
| double pressure_max; |
| double distance; |
| double distance_max; |
| double radius_major; |
| double radius_minor; |
| double radius_min; |
| double radius_max; |
| double orientation; |
| double tilt; |
| |
| void Clear(); |
| }; |
| |
| } // namespace blink |
| |
| #endif // FLUTTER_LIB_UI_WINDOW_POINTER_DATA_H_ |