Commit 7eb387b1 authored by Ian Hickson's avatar Ian Hickson

Merge pull request #760 from Hixie/move-pointer-fixes

Cleanup for the Pointer changes.
parents e0107b05 2965dcb6
......@@ -25,8 +25,7 @@ typedef void GesturePanEndCallback(Offset velocity);
typedef void _GesturePolymorphicUpdateCallback<T>(T delta);
bool _isFlingGesture(Offset velocity) {
if (velocity == null)
return false;
assert(velocity != null);
double velocitySquared = velocity.dx * velocity.dx + velocity.dy * velocity.dy;
return velocitySquared > kMinFlingVelocity * kMinFlingVelocity
&& velocitySquared < kMaxFlingVelocity * kMaxFlingVelocity;
......
......@@ -193,8 +193,8 @@ class PointerAddedEvent extends PointerEvent {
PointerDeviceKind kind: PointerDeviceKind.touch,
Point position: Point.origin,
bool obscured: false,
double pressureMin: 0.0,
double pressureMax: 0.0,
double pressureMin: 1.0,
double pressureMax: 1.0,
double distance: 0.0,
double distanceMax: 0.0,
double radiusMin: 0.0,
......@@ -224,8 +224,8 @@ class PointerRemovedEvent extends PointerEvent {
int pointer: 0,
PointerDeviceKind kind: PointerDeviceKind.touch,
bool obscured: false,
double pressureMin: 0.0,
double pressureMax: 0.0,
double pressureMin: 1.0,
double pressureMax: 1.0,
double distanceMax: 0.0,
double radiusMin: 0.0,
double radiusMax: 0.0
......@@ -251,9 +251,9 @@ class PointerDownEvent extends PointerEvent {
Point position: Point.origin,
int buttons: 0,
bool obscured: false,
double pressure: 0.0,
double pressureMin: 0.0,
double pressureMax: 0.0,
double pressure: 1.0,
double pressureMin: 1.0,
double pressureMax: 1.0,
double distanceMax: 0.0,
double radiusMajor: 0.0,
double radiusMinor: 0.0,
......@@ -293,9 +293,9 @@ class PointerMoveEvent extends PointerEvent {
int buttons: 0,
bool down: false,
bool obscured: false,
double pressure: 0.0,
double pressureMin: 0.0,
double pressureMax: 0.0,
double pressure: 1.0,
double pressureMin: 1.0,
double pressureMax: 1.0,
double distance: 0.0,
double distanceMax: 0.0,
double radiusMajor: 0.0,
......@@ -335,8 +335,8 @@ class PointerUpEvent extends PointerEvent {
Point position: Point.origin,
int buttons: 0,
bool obscured: false,
double pressureMin: 0.0,
double pressureMax: 0.0,
double pressureMin: 1.0,
double pressureMax: 1.0,
double distance: 0.0,
double distanceMax: 0.0,
double radiusMin: 0.0,
......@@ -369,8 +369,8 @@ class PointerCancelEvent extends PointerEvent {
Point position: Point.origin,
int buttons: 0,
bool obscured: false,
double pressureMin: 0.0,
double pressureMax: 0.0,
double pressureMin: 1.0,
double pressureMax: 1.0,
double distance: 0.0,
double distanceMax: 0.0,
double radiusMin: 0.0,
......
......@@ -769,10 +769,10 @@ class Node {
/// }
///
/// bool handleEvent(SpriteBoxEvent event) {
/// if (event.type == 'pointerdown) {
/// if (event.type == PointerDownEvent) {
/// opacity = 0.5;
/// }
/// else if (event.type == 'pointerup') {
/// else if (event.type == PointerUpEvent) {
/// opacity = 1.0;
/// }
/// return true;
......
......@@ -187,13 +187,11 @@ class SpriteBox extends RenderBox {
}
}
void handleEvent(InputEvent event, _SpriteBoxHitTestEntry entry) {
void handleEvent(PointerEvent event, _SpriteBoxHitTestEntry entry) {
if (!attached)
return;
if (event is PointerInputEvent) {
if (event.type == 'pointerdown') {
if (event is PointerDownEvent) {
// Build list of event targets
if (_eventTargets == null) {
_eventTargets = <Node>[];
......@@ -225,7 +223,7 @@ class SpriteBox extends RenderBox {
// Check if this event should be dispatched
if (node.handleMultiplePointers || event.pointer == node._handlingPointer) {
// Dispatch event
bool consumedEvent = node.handleEvent(new SpriteBoxEvent(new Point(event.x, event.y), event.type, event.pointer));
bool consumedEvent = node.handleEvent(new SpriteBoxEvent(new Point(event.x, event.y), event.runtimeType, event.pointer));
if (consumedEvent == null || consumedEvent)
break;
}
......@@ -233,12 +231,10 @@ class SpriteBox extends RenderBox {
// De-register pointer for nodes that doesn't handle multiple pointers
for (Node node in targets) {
if (event.type == 'pointerup' || event.type == 'pointercancel') {
if (event is PointerUpEvent || event is PointerCancelEvent)
node._handlingPointer = null;
}
}
}
}
bool hitTest(HitTestResult result, { Point position }) {
result.add(new _SpriteBoxHitTestEntry(this, position));
......@@ -531,13 +527,13 @@ class SpriteBoxEvent {
/// }
final Point boxPosition;
/// The type of event, there are currently four valid types, 'pointerdown', 'pointermoved', 'pointerup', and
/// 'pointercancel'.
/// The type of event, there are currently four valid types, PointerDownEvent, PointerMoveEvent, PointerUpEvent, and
/// PointerCancelEvent.
///
/// if (event.type == 'pointerdown') {
/// if (event.type == PointerDownEvent) {
/// // Do something!
/// }
final String type;
final Type type;
/// The id of the pointer. Each pointer on the screen will have a unique pointer id.
///
......
......@@ -31,18 +31,18 @@ class VirtualJoystick extends NodeWithSize {
Paint _paintControl;
bool handleEvent(SpriteBoxEvent event) {
if (event.type == "pointerdown") {
if (event.type == PointerDownEvent) {
_pointerDownAt = event.boxPosition;
actions.stopAll();
_isDown = true;
}
else if (event.type == "pointerup" || event.type == "pointercancel") {
else if (event.type == PointerUpEvent || event.type == PointerCancelEvent) {
_pointerDownAt = null;
_value = Point.origin;
ActionTween moveToCenter = new ActionTween((a) => _handlePos = a, _handlePos, _center, 0.4, Curves.elasticOut);
actions.run(moveToCenter);
_isDown = false;
} else if (event.type == "pointermove") {
} else if (event.type == PointerMoveEvent) {
Offset movedDist = event.boxPosition - _pointerDownAt;
_value = new Point(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment