private void ZoomIn(object sender, PinchGestureEventArgs e) { if (e.DistanceRatio > 1.5 && orderAccepted) { NavigationService.Navigate(new Uri(string.Format("/Order.xaml"), UriKind.Relative)); } }
/// <summary> /// Computes the scaling and translation to correctly zoom around your fingers. /// </summary> private void OnPinchDelta(object sender, PinchGestureEventArgs e) { var scaleFactor = e.DistanceRatio / _oldScaleFactor; if (!IsScaleValid(scaleFactor)) { return; } var currentFinger1 = e.GetPosition(CameraImage, 0); var currentFinger2 = e.GetPosition(CameraImage, 1); var translationDelta = GetTranslationDelta( currentFinger1, currentFinger2, _oldFinger1, _oldFinger2, ImagePosition, scaleFactor); _oldFinger1 = currentFinger1; _oldFinger2 = currentFinger2; _oldScaleFactor = e.DistanceRatio; UpdateImageScale(scaleFactor); UpdateImagePosition(translationDelta); }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { double distanceRatio = e.DistanceRatio; var image = sender as System.Windows.Controls.Image; if (image == null) { return; } var transform = image.RenderTransform as CompositeTransform; if (transform == null) { return; } if (initialScale * e.DistanceRatio * image.ActualHeight > 8 * image.ActualHeight) { distanceRatio = 8.0; } if (initialScale * e.DistanceRatio * image.ActualHeight < image.ActualHeight / 2) { distanceRatio = 1.0; } transform.ScaleX = initialScale * distanceRatio; transform.ScaleY = initialScale * distanceRatio; if (e.DistanceRatio > 1.0 || e.DistanceRatio < 1.0) { isOrizinal = false; } }
/// <summary> /// Computes the scaling and translation to correctly zoom around your fingers. /// </summary> private void OnPinchDelta(object sender, PinchGestureEventArgs e) { var scaleFactor = e.DistanceRatio / _oldScaleFactor; if (totalImageScale * scaleFactor < 1) { isRestore = true; } else { isRestore = false; if (totalImageScale * scaleFactor > MAX_IMAGE_ZOOM) { return; } } var currentFinger1 = e.GetPosition(FileImage, 0); var currentFinger2 = e.GetPosition(FileImage, 1); var translationDelta = GetTranslationDelta(currentFinger1, currentFinger2, _oldFinger1, _oldFinger2, imagePosition, scaleFactor); _oldFinger1 = currentFinger1; _oldFinger2 = currentFinger2; _oldScaleFactor = e.DistanceRatio; UpdateImageScale(scaleFactor); if (isRestore) //image's total reduction is < 1 { imagePosition.X = (FileImage.ActualWidth * (1 - scaleFactor * totalImageScale)) / 2; imagePosition.Y = (FileImage.ActualHeight * (1 - scaleFactor * totalImageScale)) / 2; ApplyPosition(); } else { UpdateImagePosition(translationDelta); } }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { if (isAnimating) { return; } var scaleFactor = e.DistanceRatio / oldScaleFactor; if (!IsScaleValid(scaleFactor)) { return; } var currentFinger1 = e.GetPosition(_content, 0); var currentFinger2 = e.GetPosition(_content, 1); var translationDelta = GetTranslationDelta(currentFinger1, currentFinger2, scaleFactor); oldFinger1 = currentFinger1; oldFinger2 = currentFinger2; oldScaleFactor = e.DistanceRatio; UpdateScale(scaleFactor); UpdatePosition(translationDelta); e.Handled = true; }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { // If its less that the original size or more than 4x then don’t apply if (InitialScale * e.DistanceRatio > 4 || (InitialScale != 1 && e.DistanceRatio == 1) || InitialScale * e.DistanceRatio < 1) { return; } // If its original size then center it back if (e.DistanceRatio <= 1.08) { ImageTransformation.CenterY = 0; ImageTransformation.CenterY = 0; ImageTransformation.TranslateX = 0; ImageTransformation.TranslateY = 0; } ImageTransformation.CenterX = Center.X; ImageTransformation.CenterY = Center.Y; // Update the rotation and scaling if (this.Orientation == PageOrientation.Landscape) { // When in landscape we need to zoom faster, if not it looks choppy ImageTransformation.ScaleX = InitialScale * (1 + (e.DistanceRatio - 1) * 2); } else { ImageTransformation.ScaleX = InitialScale * e.DistanceRatio; } ImageTransformation.ScaleY = ImageTransformation.ScaleX; }
private void OnPinchCompleted(object sender, PinchGestureEventArgs e) { //flickData.Text = string.Format(" OnPinchCompleted: Angle = {0}, Distance = {1}", // e.DistanceRatio, e.TotalAngleDelta); // Collapse PageTitle PageTitleCollapse(); }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { transform.Rotation = initialAngle + e.TotalAngleDelta; transform.ScaleX = transform.ScaleY = initialScale * e.DistanceRatio; //flickData.Text = string.Format(" OnPinchDelta: Angle = {0}, Distance = {1}", // e.DistanceRatio, e.TotalAngleDelta); }
private void gesture_PinchCompleted(object sender, PinchGestureEventArgs e) { var point = e.GetPosition(ContentPanel, 0); var point2 = e.GetPosition(ContentPanel, 1); message.Text = string.Format("pinch completed at ({0},{1}) and ({1},{2}) with angle delta {3} and distance ratio {4}", point.X, point.Y, point2.X, point2.Y, e.TotalAngleDelta, e.DistanceRatio); }
private void OnGestureListenerPinchCompleted(object sender, PinchGestureEventArgs args) { if (this.transform.ScaleX < 1.0) { this.transform.ScaleX = this.transform.ScaleY = 1.0; this.transform.TranslateX = this.transform.TranslateY = 0.0; } }
void gl_PinchDelta(object sender, PinchGestureEventArgs e) { scale.ScaleX = _initialScale * e.DistanceRatio; scale.ScaleY = scale.ScaleX; //ContentPanel.Width = 800 * scale.ScaleX; //ContentPanel.Height = 480 * scale.ScaleX; //UpdateLayout(); }
private void OnPinchCompleted(object sender, PinchGestureEventArgs e) { if (isRestore) { ResetImagePosition(); } isRestore = false; }
void OnGestureListenerPinchCompleted(object sender, PinchGestureEventArgs args) { if (isPinching) { TransferTransforms(); isPinching = false; } }
private void GestureListener_OnPinchCompleted(object sender, PinchGestureEventArgs e) { if (UseAccelerometer || LoadPopup.IsOpen || SavePopup.IsOpen || HelpPopup.IsOpen || MusicPopup.IsOpen || ChatPopup.IsOpen) { return; } PlayChatSound("random"); }
private void ListPinch_PinchCompleted_1(object sender, PinchGestureEventArgs e) { //MessageBox.Show("Pinch COMPLETED"); ContactList.LayoutMode = LongListSelectorLayoutMode.Grid; ContactList.GridCellSize = new Size(150, 150); ContactList.ItemTemplate = ContactListGrid; // Uses Headers or not }
private void OnGestureListenerPinchDelta(object sender, PinchGestureEventArgs args) { this.transform.ScaleY = this.transform.ScaleX = this.initialScale * args.DistanceRatio; if (this.transform.ScaleX > 1.0) { this.transform.TranslateX = this.ComputeTranslateX(this.transform.TranslateX, this.transform.ScaleX); this.transform.TranslateY = this.ComputeTranslateY(this.transform.TranslateY, this.transform.ScaleY); } }
private void ZoomOut(object sender, PinchGestureEventArgs e) { if (e.DistanceRatio < 0.5) { if (NavigationService.CanGoBack) { NavigationService.GoBack(); } } }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { // if its less that the original size or more than 4x then does not apply if (initialScale * e.DistanceRatio > 4 || (Math.Abs(initialScale - 1) > 0.01 && Math.Abs(e.DistanceRatio - 1) < 0.01) || initialScale * e.DistanceRatio < 1) { return; } // if its original size then center it back if (e.DistanceRatio <= 1.08) { ImageTransformation.CenterY = 0; ImageTransformation.CenterY = 0; ImageTransformation.TranslateX = 0; ImageTransformation.TranslateY = 0; } var scaleFactor = e.DistanceRatio / _oldScaleFactor; var currentFinger1 = e.GetPosition(DetailImage, 0); var currentFinger2 = e.GetPosition(DetailImage, 1); var translationDelta = GetTranslationDelta( currentFinger1, currentFinger2, _oldFinger1, _oldFinger2, ImagePosition, scaleFactor); _oldFinger1 = currentFinger1; _oldFinger2 = currentFinger2; _oldScaleFactor = e.DistanceRatio; UpdateImage(scaleFactor, translationDelta); ImageTransformation.CenterX = center.X; ImageTransformation.CenterY = center.Y; //// update the rotation and scaling //if (Orientation == PageOrientation.Landscape) //{ // // when in landscape we need to zoom faster, if not it looks choppy // ImageTransformation.ScaleX = initialScale * (1 + (e.DistanceRatio - 1) * 2); //} //else //{ // ImageTransformation.ScaleX = initialScale * e.DistanceRatio; //} //ImageTransformation.ScaleY = ImageTransformation.ScaleX; }
private void OnPinchDelta(object s, PinchGestureEventArgs e) { var newScale = e.DistanceRatio / _previousScale; var currentFingerOne = e.GetPosition(MyImage, 0); var currentFingerTwo = e.GetPosition(MyImage, 1); var translationDelta = GetTranslationOffset(currentFingerOne, currentFingerTwo, _fingerOne, _fingerTwo, _imageTranslation, newScale); _fingerOne = currentFingerOne; _fingerTwo = currentFingerTwo; _previousScale = e.DistanceRatio; UpdatePicture(newScale, translationDelta); }
void OnLayoutPinchDelta(object sender, PinchGestureEventArgs e) { if (_measurePinch) { double scale = Math.Min(1.0, e.DistanceRatio); scale = Math.Max(0.5, scale); var transform = PageViewPanel.RenderTransform as CompositeTransform; transform.ScaleX = scale; transform.ScaleY = scale; } }
private void EditorImage_PinchDelta(object sender, PinchGestureEventArgs e) { if (this.selectedMode == MODE_SCROLL) { e.Handled = true; double scale = this.initialScale * e.DistanceRatio; double width = this.editedBitmap.PixelWidth * scale; double height = this.editedBitmap.PixelHeight * scale; if ((width >= this.EditorGrid.ActualWidth || height >= this.EditorGrid.ActualHeight) && (width <= MAX_IMAGE_WIDTH && height <= MAX_IMAGE_HEIGHT)) { this.currentScale = scale; double x = this.EditorImageTransform.TranslateX; double y = this.EditorImageTransform.TranslateY; if (x < this.EditorGrid.ActualWidth - this.EditorImage.ActualWidth * this.currentScale) { x = this.EditorGrid.ActualWidth - this.EditorImage.ActualWidth * this.currentScale; } if (x > 0.0) { x = 0.0; } if (y < this.EditorGrid.ActualHeight - this.EditorImage.ActualHeight * this.currentScale) { y = this.EditorGrid.ActualHeight - this.EditorImage.ActualHeight * this.currentScale; } if (y > 0.0) { y = 0.0; } this.EditorImageTransform.TranslateX = x; this.EditorImageTransform.TranslateY = y; this.EditorImageTransform.ScaleX = this.currentScale; this.EditorImageTransform.ScaleY = this.currentScale; int brush_width = Math.Max(1, Math.Min(Math.Min((int)(this.brushRadius / this.currentScale) * 2, this.editedBitmap.PixelWidth), this.editedBitmap.PixelHeight)); this.brushBitmap = this.brushTemplateBitmap.Resize(brush_width, brush_width, WriteableBitmapExtensions.Interpolation.NearestNeighbor); UpdateSamplingPointImage(); } } }
private void OnGestureListenerPinchDelta(object sender, PinchGestureEventArgs args) { if (_isPinching) { // Set scaling scaleTransform.ScaleX = args.DistanceRatio; scaleTransform.ScaleY = args.DistanceRatio; rotateTransform.Angle = args.TotalAngleDelta; // Set translation Point ptPinchPosition = args.GetPosition(this); translateTransform.X = ptPinchPosition.X - _ptPinchPositionStart.X; translateTransform.Y = ptPinchPosition.Y - _ptPinchPositionStart.Y; } }
private void ZoomText(object sender, PinchGestureEventArgs e) { if (!_allowZoom) { return; } // ratio = start / finish var ratio = e.DistanceRatio; // if pinching in if (ratio > 1) { PageManager.ZoomIn(); } else { PageManager.ZoomOut(); } }
private void OnPinchDelta(object s, PinchGestureEventArgs e) { var scaleFactor = e.DistanceRatio / _oldScaleFactor; var currentFinger1 = e.GetPosition(MainImage, 0); var currentFinger2 = e.GetPosition(MainImage, 1); var translationDelta = GetTranslationDelta( currentFinger1, currentFinger2, _oldFinger1, _oldFinger2, ImagePosition, scaleFactor); _oldFinger1 = currentFinger1; _oldFinger2 = currentFinger2; _oldScaleFactor = e.DistanceRatio; UpdateImage(scaleFactor, translationDelta); }
void OnGestureListenerPinchDelta(object sender, PinchGestureEventArgs args) { if (!isPinching) { return; } //if (args.DistanceRatio < 0.7) return; // Set scaling scaleTransform.ScaleX = args.DistanceRatio; scaleTransform.ScaleY = args.DistanceRatio; // Optionally set rotation //if (allowRotateCheckBox.IsChecked.Value) // rotateTransform.Angle = args.TotalAngleDelta; // Set translation Point ptPinchPosition = args.GetPosition(this); translateTransform.X = ptPinchPosition.X - ptPinchPositionStart.X; translateTransform.Y = ptPinchPosition.Y - ptPinchPositionStart.Y; }
void OnLayoutPinchCompleted(object sender, PinchGestureEventArgs e) { if (this._measurePinch) { this._measurePinch = false; PageManager.IgnoreInteractions = false; if (e.DistanceRatio < 0.5) { ShowPostJumpList(this, null); } else { var transform = PageViewPanel.RenderTransform as CompositeTransform; double startX = transform.ScaleX; double startY = transform.ScaleY; double endX = 1.0; double endY = 1.0; DoubleAnimation scaleX = new DoubleAnimation() { From = startX, To = endX, Duration = TimeSpan.FromMilliseconds(250), FillBehavior = FillBehavior.HoldEnd }; DoubleAnimation scaleY = new DoubleAnimation() { From = startY, To = endY, Duration = TimeSpan.FromMilliseconds(250), FillBehavior = FillBehavior.HoldEnd }; Storyboard scale = new Storyboard(); Storyboard.SetTarget(scaleX, transform); Storyboard.SetTargetProperty(scaleX, new PropertyPath("ScaleX")); Storyboard.SetTarget(scaleY, transform); Storyboard.SetTargetProperty(scaleY, new PropertyPath("ScaleY")); scale.Children.Add(scaleX); scale.Children.Add(scaleY); scale.Begin(); } } }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { if (!CanZoom) { return; } var frameworkElement = sender as FrameworkElement; var transform = frameworkElement.RenderTransform as CompositeTransform; var a = transform.Transform(e.GetPosition(frameworkElement, 0)); // we need the points to be relative to the current transform var b = transform.Transform(e.GetPosition(frameworkElement, 1)); var scale = new CompositeTransform { CenterX = (a.X + b.X) / 2, CenterY = (a.Y + b.Y) / 2, ScaleX = Clamp(e.DistanceRatio * _initialScale / _old.ScaleX, MinZoom / _old.ScaleX, MaxZoom / _old.ScaleX), ScaleY = Clamp(e.DistanceRatio * _initialScale / _old.ScaleY, MinZoom / _old.ScaleY, MaxZoom / _old.ScaleY) }; ConstrainToParentBounds(frameworkElement, scale); transform = ComposeScaleTranslate(transform, scale); frameworkElement.RenderTransform = transform; _old.CenterX = transform.CenterX; _old.CenterY = transform.CenterY; _old.TranslateX = transform.TranslateX; _old.TranslateY = transform.TranslateY; _old.ScaleX = transform.ScaleX; _old.ScaleY = transform.ScaleY; CurrentScaleX = _old.ScaleX; CurrentScaleY = _old.ScaleY; }
private void OnPinchCompleted(object sender, PinchGestureEventArgs e) { border.Background = normalBrush; }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { transform.Rotation = initialAngle + e.TotalAngleDelta; transform.ScaleX = transform.ScaleY = initialScale * e.DistanceRatio; }
private void OnPinchDelta(object sender, PinchGestureEventArgs e) { MyMustacheTransformation.Rotation = _initialAngle + e.TotalAngleDelta; MyMustacheTransformation.ScaleX = _initialScale * e.DistanceRatio; MyMustacheTransformation.ScaleY = _initialScale * e.DistanceRatio; }