private void PanGesture_PanUpdated(object sender, PanUpdatedEventArgs e) { if (e.StatusType == GestureStatus.Started) { lastTranslateTransformation = translateTransformation; gestureActivated = true; } else if (e.StatusType == GestureStatus.Canceled) { translateTransformation = lastTranslateTransformation; gestureActivated = false; } else if (e.StatusType == GestureStatus.Completed) { lastTranslateTransformation = translateTransformation; gestureActivated = false; } else { translateTransformation = lastTranslateTransformation.Translate((float)e.TotalX, (float)e.TotalY); gestureActivated = true; } surface.Transformation = translateTransformation.Concat(scaleTransformation); }
public override bool IsPointInside(SKPoint point, SKMatrix transfromStack) { return(base.IsPointInside(point, transfromStack.Translate(-this.Parent.Padding.Left, -this.Parent.Padding.Top))); }