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);
		}
Example #4
0
 public PinchGestureRecognizerEvents(PinchGestureRecognizer This)
     : base(This)
 {
     this.This = This;
 }
Example #5
0
 public static PinchGestureRecognizerEvents Events(this PinchGestureRecognizer This)
 {
     return(new PinchGestureRecognizerEvents(This));
 }
Example #6
0
		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);
		}