protected override void OnCompleted(View sender, object data) { if (Recognizer is SwipeGestureRecognizer swipeGesture) { var lineData = (GestureLayer.LineData)data; (swipeGesture as ISwipeGestureController)?.SendSwipe(sender, DPExtensions.ConvertToScaledDP(lineData.X2 - lineData.X1), DPExtensions.ConvertToScaledDP(lineData.Y2 - lineData.Y1)); (swipeGesture as ISwipeGestureController)?.DetectSwipe(sender, swipeGesture.Direction); } }
public virtual bool Initialize() { if (IsPlatformViewInitialized) { return(true); } if (Window == null) { return(false); } var platformWindow = Window.Content?.ToPlatform() as Window; if (platformWindow == null) { return(false); } var handler = Window.Handler as WindowHandler; if (handler?.MauiContext == null) { return(false); } _graphicsView = new SkiaGraphicsView(platformWindow); _graphicsView.Drawable = this; _graphicsView.RepeatEvents = !DisableUITouchEventPassthrough; _touchLayer = new GestureLayer(platformWindow); _touchLayer.Attach(_graphicsView); _touchLayer.SetTapCallback(GestureLayer.GestureType.Tap, GestureLayer.GestureState.Start, (data) => { var x = _touchLayer.EvasCanvas.Pointer.X; var y = _touchLayer.EvasCanvas.Pointer.Y; OnTappedInternal(new Point(DPExtensions.ConvertToScaledDP(x), DPExtensions.ConvertToScaledDP(y))); }); platformWindow.SetOverlay(_graphicsView); IsPlatformViewInitialized = true; return(IsPlatformViewInitialized); }
protected override void OnMoved(View sender, object data) { var lineData = (GestureLayer.MomentumData)data; (Recognizer as IPanGestureController)?.SendPan(sender, DPExtensions.ConvertToScaledDP(lineData.X2 - lineData.X1), DPExtensions.ConvertToScaledDP(lineData.Y2 - lineData.Y1), _currentPanGestureId); }