Esempio n. 1
0
        protected virtual NativeGestureRecognizer GetNativeRecognizer(IGestureRecognizer recognizer)
        {
            if (recognizer == null)
            {
                return(null);
            }

            var weakRecognizer   = new WeakReference(recognizer);
            var weakEventTracker = new WeakReference(this);

            var tapRecognizer = recognizer as TapGestureRecognizer;

            if (tapRecognizer != null && tapRecognizer.NumberOfTapsRequired == 1)
            {
                var returnAction = new TargetEventHandler((s, e) =>
                {
                    var tapGestureRecognizer = weakRecognizer.Target as TapGestureRecognizer;
                    var eventTracker         = weakEventTracker.Target as EventTracker;
                    var view = eventTracker?._renderer?.Element as View;

                    if (tapGestureRecognizer != null && view != null)
                    {
                        tapGestureRecognizer.SendTapped(view);
                    }
                });
                var uiRecognizer = new NativeGestureRecognizer
                {
                    EventType = "click",
                    Handler   = returnAction,
                };
                return(uiRecognizer);
            }
            if (tapRecognizer != null && tapRecognizer.NumberOfTapsRequired == 2)
            {
                var returnAction = new TargetEventHandler((s, e) =>
                {
                    var tapGestureRecognizer = weakRecognizer.Target as TapGestureRecognizer;
                    var eventTracker         = weakEventTracker.Target as EventTracker;
                    var view = eventTracker?._renderer?.Element as View;

                    if (tapGestureRecognizer != null && view != null)
                    {
                        tapGestureRecognizer.SendTapped(view);
                    }
                });
                var uiRecognizer = new NativeGestureRecognizer
                {
                    EventType = "dblclick",
                    Handler   = returnAction,
                };
                return(uiRecognizer);
            }

            return(null);
        }
Esempio n. 2
0
 public Point LocationOfTouch(int touchIndex, VisualElement view)
 {
     return(NativeGestureRecognizer.LocationOfTouch(touchIndex, view));
 }
Esempio n. 3
0
 public Point LocationInView(VisualElement view)
 {
     return(NativeGestureRecognizer.LocationInView(view));
 }
Esempio n. 4
0
 static void RemoveGestureRecognizer(Ooui.Html.Element element, NativeGestureRecognizer recognizer)
 {
     element.RemoveEventListener(recognizer.EventType, recognizer.Handler);
 }
Esempio n. 5
0
 static void AddGestureRecognizer(Goui.Html.Element element, NativeGestureRecognizer recognizer)
 {
     element.AddEventListener(recognizer.EventType, recognizer.Handler);
 }