| import 'dart:sky' as sky; |
| |
| export 'dart:sky' show Point; |
| |
| class TestPointerEvent extends sky.PointerEvent { |
| TestPointerEvent({ |
| this.type, |
| this.pointer, |
| this.kind, |
| this.x, |
| this.y, |
| this.dx, |
| this.dy, |
| this.velocityX, |
| this.velocityY, |
| this.buttons, |
| this.down, |
| this.primary, |
| this.obscured, |
| this.pressure, |
| this.pressureMin, |
| this.pressureMax, |
| this.distance, |
| this.distanceMin, |
| this.distanceMax, |
| this.radiusMajor, |
| this.radiusMinor, |
| this.radiusMin, |
| this.radiusMax, |
| this.orientation, |
| this.tilt |
| }); |
| |
| // These are all of the PointerEvent members, but not all of Event. |
| String type; |
| int pointer; |
| String kind; |
| double x; |
| double y; |
| double dx; |
| double dy; |
| double velocityX; |
| double velocityY; |
| int buttons; |
| bool down; |
| bool primary; |
| bool obscured; |
| double pressure; |
| double pressureMin; |
| double pressureMax; |
| double distance; |
| double distanceMin; |
| double distanceMax; |
| double radiusMajor; |
| double radiusMinor; |
| double radiusMin; |
| double radiusMax; |
| double orientation; |
| double tilt; |
| } |
| |
| class TestGestureEvent extends sky.GestureEvent { |
| TestGestureEvent({ |
| this.type, |
| this.primaryPointer, |
| this.x, |
| this.y, |
| this.dx, |
| this.dy, |
| this.velocityX, |
| this.velocityY |
| }); |
| |
| // These are all of the GestureEvent members, but not all of Event. |
| String type; |
| int primaryPointer; |
| double x; |
| double y; |
| double dx; |
| double dy; |
| double velocityX; |
| double velocityY; |
| } |
| |
| class TestPointer { |
| TestPointer([ this.pointer = 1 ]); |
| |
| int pointer; |
| bool isDown = false; |
| sky.Point location; |
| |
| sky.PointerEvent down([sky.Point newLocation = sky.Point.origin ]) { |
| assert(!isDown); |
| isDown = true; |
| location = newLocation; |
| return new TestPointerEvent( |
| type: 'pointerdown', |
| pointer: pointer, |
| x: location.x, |
| y: location.y |
| ); |
| } |
| |
| sky.PointerEvent move([sky.Point newLocation = sky.Point.origin ]) { |
| assert(isDown); |
| sky.Offset delta = newLocation - location; |
| location = newLocation; |
| return new TestPointerEvent( |
| type: 'pointermove', |
| pointer: pointer, |
| x: newLocation.x, |
| y: newLocation.y, |
| dx: delta.dx, |
| dy: delta.dy |
| ); |
| } |
| |
| sky.PointerEvent up() { |
| assert(isDown); |
| isDown = false; |
| return new TestPointerEvent( |
| type: 'pointerup', |
| pointer: pointer, |
| x: location.x, |
| y: location.y |
| ); |
| } |
| |
| sky.PointerEvent cancel() { |
| assert(isDown); |
| isDown = false; |
| return new TestPointerEvent( |
| type: 'pointercancel', |
| pointer: pointer, |
| x: location.x, |
| y: location.y |
| ); |
| } |
| |
| } |