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); }
public Point LocationOfTouch(int touchIndex, VisualElement view) { return(NativeGestureRecognizer.LocationOfTouch(touchIndex, view)); }
public Point LocationInView(VisualElement view) { return(NativeGestureRecognizer.LocationInView(view)); }
static void RemoveGestureRecognizer(Ooui.Html.Element element, NativeGestureRecognizer recognizer) { element.RemoveEventListener(recognizer.EventType, recognizer.Handler); }
static void AddGestureRecognizer(Goui.Html.Element element, NativeGestureRecognizer recognizer) { element.AddEventListener(recognizer.EventType, recognizer.Handler); }