Пример #1
0
 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);
     }
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }