void container_TouchUp(object sender, TouchEventArgs e) { ZoomCanvasItem selectedChild = GetZoomCanvasItem(sender); if (selectedChild == null) { return; } ShowView view = selectedChild.View; if (view == null) { return; } if (firstTapItem == selectedChild && doubleTapSequence == DoubleTapSequence.FirstTouchDown) { doubleTapSequence = DoubleTapSequence.FirstTouchUp; } else { doubleTapSequence = DoubleTapSequence.None; } }
void doubleTapTimer_Tick(object sender, EventArgs e) { firstTapItem = null; doubleTapTimer.Stop(); doubleTapSequence = DoubleTapSequence.None; }
void child_TouchDown(object sender, TouchEventArgs e) { ZoomCanvasItem selectedChild = GetZoomCanvasItem(sender); if (selectedChild == null) { return; } ShowView view = selectedChild.View; if (view == null) { return; } if (firstTapItem == null) { firstTapItem = selectedChild; doubleTapTimer.Start(); doubleTapSequence = DoubleTapSequence.FirstTouchDown; } else if (firstTapItem == selectedChild && doubleTapSequence == DoubleTapSequence.FirstTouchUp) { OnObjectDoubleTap(selectedChild.View); doubleTapSequence = DoubleTapSequence.SecondTouchDown; } OnObjectSelected(view); //TODO: double tap gesture, boundstomatrix, zoom in currentview }