public void UpdateGestureRecognizers(List<IGestureRecognizer> gestureRecognizers) { this.tapGestureRecognizer = (TapGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is TapGestureRecognizer); this.longPressGestureRecognizer = (LongPressGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is LongPressGestureRecognizer); this.panGestureRecognizer = (PanGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is PanGestureRecognizer); this.pinchGestureRecognizer = (PinchGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is PinchGestureRecognizer); this.rotationGestureRecognizer = (RotationGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is RotationGestureRecognizer); this.swipeGestureRecognizer = (SwipeGestureRecognizer)gestureRecognizers.FirstOrDefault(s => s is SwipeGestureRecognizer); }
public PinchGestureRecognizerHandler(NativeComponentRenderer renderer, XF.PinchGestureRecognizer pinchGestureRecognizerControl) : base(renderer, pinchGestureRecognizerControl) { PinchGestureRecognizerControl = pinchGestureRecognizerControl ?? throw new ArgumentNullException(nameof(pinchGestureRecognizerControl)); ConfigureEvent( eventName: "onpinchupdated", setId: id => PinchUpdatedEventHandlerId = id, clearId: id => { if (PinchUpdatedEventHandlerId == id) { PinchUpdatedEventHandlerId = 0; } }); PinchGestureRecognizerControl.PinchUpdated += (s, e) => { if (PinchUpdatedEventHandlerId != default) { renderer.Dispatcher.InvokeAsync(() => renderer.DispatchEventAsync(PinchUpdatedEventHandlerId, null, e)); } }; }
public PinchToZoomContainer () { var pinchGesture = new PinchGestureRecognizer (); pinchGesture.PinchUpdated += OnPinchUpdated; GestureRecognizers.Add (pinchGesture); }
public PinchGestureRecognizerEvents(PinchGestureRecognizer This) : base(This) { this.This = This; }
public static PinchGestureRecognizerEvents Events(this PinchGestureRecognizer This) { return(new PinchGestureRecognizerEvents(This)); }
public MapTest () { InitializeComponent (); marketX = 540 / 100 * 10; marketY = 303 / 100 * 30; coffeeX = 540 / 100 * 30; coffeeY = 303 / 100 * 10; currentScale = Donus.Scale; //marketX = 100; //marketY = 0; startMarket (); updateMarket (); searchList.IsVisible = false; searchList.HeightRequest=0; searchBar.TextChanged += (sender, e) => { if(searchBar.Text == "" || searchBar.Text == null) { searchList.HeightRequest=0; searchList.IsVisible = false; } else { updateAutocompleteList(); searchList.HeightRequest=300; searchList.IsVisible = true; } }; if (searchBar.Text == "" || searchBar.Text == null) { searchList.HeightRequest=0; searchList.IsVisible = false; } searchList.ItemSelected += OnItemSelected; var tapGestureRecognizer = new TapGestureRecognizer (); tapGestureRecognizer.Tapped += async (object sender, EventArgs e) => { var panStartPositionX = ((relativeLayoutTest.TranslationX*(-1) + (App.coreView.Width / 2)) / currentScale); var panStartPositionY = ((relativeLayoutTest.TranslationY*(-1) + (App.coreView.Height / 2)) / currentScale); var panDistanceX = (coffeeX - panStartPositionX); var panDistanceY = (coffeeY - panStartPositionY); int steps = 200; var scaleStep = 4 - (currentScale); for (int i = 0; i < steps; i++) { if (i == 0) { CenterOnCamp (false, 1.0, panStartPositionX + ((panDistanceX / steps) * (i + 1)), panStartPositionY + ((panDistanceY / steps) * (i + 1))); } else { CenterOnCamp (true, 1 + (scaleStep / steps), panStartPositionX + ((panDistanceX / steps) * (i + 1)), panStartPositionY + ((panDistanceY / steps) * (i + 1))); } await Task.Delay(4); } }; Market.GestureRecognizers.Add (tapGestureRecognizer); Coffee.GestureRecognizers.Add (tapGestureRecognizer); var pinchGestureRecognizer = new PinchGestureRecognizer(); pinchGestureRecognizer.PinchUpdated += OnPinchUpdated; this.GestureRecognizers.Add(pinchGestureRecognizer); var panGestureRecognizer = new PanGestureRecognizer(); panGestureRecognizer.PanUpdated += OnPanUpdated; this.GestureRecognizers.Add(panGestureRecognizer); }