void XamlCanvas_TouchMove(object sender, TouchEventArgs e) { var id = new IntPtr(e.TouchDevice.Id); CanvasTouch t; if (!_activeTouches.TryGetValue(id, out t)) { return; } t.SuperCanvasPreviousLocation = t.SuperCanvasLocation; t.CanvasPreviousLocation = t.CanvasLocation; t.PreviousTime = t.Time; var spt = e.GetTouchPoint((FrameworkElement)Parent); var pt = e.GetTouchPoint(this); t.CanvasLocation = new PointF((float)pt.Position.X, (float)pt.Position.Y); t.SuperCanvasLocation = new PointF((float)spt.Position.X, (float)spt.Position.Y); t.Time = DateTime.UtcNow; if (Content != null) { Content.TouchesMoved(new[] { t }); } }
private void EnlargeImage_DownTouch(object sender, TouchEventArgs e) { lastDownPosX = e.GetTouchPoint(this).Position.X; lastDownPosY = e.GetTouchPoint(this).Position.Y; ResetCollapseTimer(collapseDelay); }
/// <summary> /// Registers the touchpoints and stores them in the key fields. /// </summary> /// <param name="e">Returns value for the handled parameter of the event arguments.</param> /// <returns>Event handled sate.</returns> private bool RegisterTouchPoints(TouchEventArgs e) { // Register second finger down and save it. if (_firstPoint.Key != null && e.TouchDevice.Id != (int)_firstPoint.Key && _secondPoint.Key == null && !_isDragAndDropAction) { //Disable Scrolling DisableTasboardScrolling(); _secondPoint = new DictionaryEntry(e.TouchDevice.Id, e.GetTouchPoint(_owner)); AddPositionToQueue(_fingerTwoPositions, ((TouchPoint)_secondPoint.Value).Position.X); // Two finger operations are always zoom operations. IsZooming = true; // This event cannot be a click and therefor is considered handled. return(true); } // Register first finger down an save it. if (_firstPoint.Key == null) { //Enable Scrolling EnableTasboardScrolling(); _firstPoint = new DictionaryEntry(e.TouchDevice.Id, e.GetTouchPoint(_owner)); AddPositionToQueue(_fingerOnePositions, ((TouchPoint)_firstPoint.Value).Position.X); // This event cannot be a click and therefor is considered handled. return(true); } return(false); }
protected override void OnPreviewTouchDown(TouchEventArgs e) { currentTouchPoint = e.GetTouchPoint(this); tile = null; // Save starting point, used later when determining how much to scroll. scrollTouchStartPoint = e.GetTouchPoint(this); scrollStartOffset.X = sv.HorizontalOffset; scrollStartOffset.Y = sv.VerticalOffset; scrollStartPoint.X = scrollTouchStartPoint.Position.X; scrollStartPoint.Y = scrollTouchStartPoint.Position.Y; //store Control if one was found, so we can call its command later var x = TreeHelper.TryFindFromPoint <ListBoxItem>(this, scrollStartPoint); if (x != null) { x.IsSelected = true; ItemsControl tiles = ItemsControl.ItemsControlFromItemContainer(x); var data = tiles.ItemContainerGenerator.ItemFromContainer(x); if (data != null && data is IPanoramaTile) { tile = (IPanoramaTile)data; // JH Start - See IPanoramaTile for justification tile.IsPressed = true; // JH End - See IPanoramaTile for justification } } //this.CaptureTouch(TouchesCaptured.First<TouchDevice>()); base.OnPreviewTouchDown(e); }
private void _handleTouchMove(TouchEventArgs e) { if (this.InkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint) { this._removeStroke(e.Device, e.GetTouchPoint(this).Position); e.Handled = true; return; } if (this._strokes.ContainsKey(e.Device) && this._currentStroke.ContainsKey(e.Device)) { Stroke stroke = this._currentStroke[e.Device]; StylusPointCollection sps = stroke.StylusPoints; if (sps != null) { TouchPoint tp = e.GetTouchPoint(this); Point p = tp.Position; this._addPointToStroke(e.Device, p); } } else { TouchPoint tp = e.GetTouchPoint(this); this._startStroke(e.Device, tp.Position); } e.Handled = true; }
private async void LessonContainer_TouchDown(object sender, TouchEventArgs e) { // Forward touch events to container //FrameworkElement control = sender as FrameworkElement; //control.CaptureTouch(e.TouchDevice); if (LayerStackDC.CurrentState.FingerInkingEnabled) { LessonContainer.IsContentManipulationEnabled = false; return; } // Saves current touch information //touchDevices.Add(e.TouchDevice); touchOrigin = e.GetTouchPoint(LessonContainer).Position; // Disable manipulation/drawing //LessonContainer.IsContentManipulationEnabled = false; LayerStackDC.ContainerTouchDown(); // If touch-and-hold (within 10px radius circle, over 500ms) if (await TouchHelper.TouchHold(e, LessonContainer, 500, 10)) { // Opens RadialMenu LessonContainer.IsContentManipulationEnabled = false; LayerStackDC.OpenRadialMenu(LayerStackDC.Viewport.GetViewport(), e.GetTouchPoint(LessonContainer).Position, RadialMenuState.Levels.Main); // Un-forward touch events to container //control.ReleaseAllTouchCaptures(); } }
private void UpdatePointerForEvent(ReactPointer pointer, TouchEventArgs e) { var rootPoint = e.GetTouchPoint(_view); var viewPoint = e.GetTouchPoint(pointer.ReactView); UpdatePointerForEvent(pointer, rootPoint.Position, viewPoint.Position); }
private void Can_PreviewTouchMove(object sender, TouchEventArgs e) { if (e.OriginalSource is TextBlock) { Canvas.SetLeft(grid, e.GetTouchPoint(this).Position.X - point.X); Canvas.SetTop(grid, e.GetTouchPoint(this).Position.Y - point.Y); } }
private void menuItemListView_TouchDrag(object sender, TouchEventArgs t) { if (prevTouchPoint == 0) { prevTouchPoint = t.GetTouchPoint(this).Position.Y; } menuItemScrollViewer.ScrollToVerticalOffset(menuItemScrollViewer.VerticalOffset - (t.GetTouchPoint(this).Position.Y - prevTouchPoint)); prevTouchPoint = t.GetTouchPoint(this).Position.Y; }
private void SurfaceWindow_TouchDown(object sender, TouchEventArgs e) { //test Ellipse handRange = new Ellipse(); handRange.Fill = System.Windows.Media.Brushes.DeepPink; handRange.Width = 100; handRange.Height = 100; TranslateTransform Pos = new TranslateTransform(); Pos.X = (int)e.GetTouchPoint(this).Position.X; //-this.Width/2; Pos.Y = (int)e.GetTouchPoint(this).Position.Y; //-this.Height/2; handRange.RenderTransform = null; handRange.RenderTransform = Pos; // HandRange. DrawingCanvas.Children.Add(handRange); //testover int X = (int)e.GetTouchPoint(this).Position.X; int Y = (int)e.GetTouchPoint(this).Position.Y; watchingWindow.getHands((int)this.Width, (int)this.Height); Console.Out.WriteLine(watchingWindow.GetUser(X, Y, (int)this.Width, (int)this.Height)); Dictionary <String, System.Drawing.Point> Hands = watchingWindow.getHands(WindowsWidth, WindowsHeight); foreach (KeyValuePair <String, System.Drawing.Point> pair in Hands) { System.Drawing.Point HandPoint = pair.Value; String HandString = pair.Key; //Console.Out.WriteLine("Hand in " + HandPoint.X + " , " + HandPoint.Y); if (HandPoint.X != 0 && HandPoint.Y != 0) { if (HandPoint.X < (int)this.Width && HandPoint.Y < (int)this.Height) { Ellipse HandRange = new Ellipse(); HandRange.Fill = System.Windows.Media.Brushes.DarkBlue; HandRange.Width = 100; HandRange.Height = 100; TranslateTransform pos = new TranslateTransform(); pos.X = HandPoint.X; //-this.Width/2; pos.Y = HandPoint.Y; // -this.Height / 2; HandRange.RenderTransform = null; HandRange.RenderTransform = pos; // HandRange. DrawingCanvas.Children.Add(HandRange); Console.Out.WriteLine(HandString + " in " + HandPoint.X + " , " + HandPoint.Y); } } } }
private void touchMove(object sender, TouchEventArgs e) { float touchX = (float)e.GetTouchPoint(planet).Position.X; float touchY = (float)e.GetTouchPoint(planet).Position.Y; float dX = touchX - lastX; float dY = touchY - lastY; foreach (Ball b in ballList) { b.push(dX, dY, touchX, touchY); } lastX = touchX; lastY = touchY; }
private void EnlargeImage_UpTouch(object sender, TouchEventArgs e) { double currentUpPosX = e.GetTouchPoint(this).Position.X; double currentUpPosY = e.GetTouchPoint(this).Position.Y; if (Math.Abs(currentUpPosX - lastDownPosX) + Math.Abs(currentUpPosY - lastDownPosY) < 20) { EnlargeImage(((Image)sender).Source); lastDownPosX = Double.NegativeInfinity; lastDownPosY = Double.NegativeInfinity; } ResetCollapseTimer(collapseDelay); }
private void m_touchmove(object sender, TouchEventArgs e) { if (m_textbox != null) { m_textbox.Text += "m_touchmove" + e.GetTouchPoint(this.m_canvas).Position.ToString() + "\n"; } var deviceid = e.TouchDevice.Id; var line = getLine(deviceid); if (line != null) { line.Points.Add(e.GetTouchPoint(this.m_canvas).Position); } }
private void LowerGrid_PreviewTouchMove(object sender, TouchEventArgs e) { if (HandleDrag(elem => e.GetTouchPoint(elem).Position)) { e.Handled = true; } }
private void SprintMenu_PreviewTouchMove(object sender, TouchEventArgs e) { //Update position of point if (currentPoint.ContainsKey(e.Device)) { currentPoint[e.Device] = e.GetTouchPoint(null).Position; } //Set border thickness to default foreach (GroupBox col in columns) { col.BorderThickness = new Thickness(1); } //Verify each points to change border thickness if in bounds foreach (KeyValuePair <InputDevice, Point> keyValuePair in currentPoint) { Point p = keyValuePair.Value; foreach (GroupBox col in columns) { double leftBound = Canvas.GetLeft(col); double rightBound = leftBound + col.Width; double topBound = Canvas.GetTop(col); double bottomBound = topBound + col.Height; if (p.X > leftBound && p.X < rightBound && p.Y > topBound && p.Y < bottomBound) { col.BorderThickness = new Thickness(3); } } } }
private void SprintMenu_PreviewTouchUp(object sender, TouchEventArgs e) { if (currentPoint.ContainsKey(e.Device)) { //Search the contained groupbox Point p = e.GetTouchPoint(null).Position; GroupBox gbxState = null; foreach (GroupBox col in columns) { double leftBound = Canvas.GetLeft(col); double rightBound = leftBound + col.Width; double topBound = Canvas.GetTop(col); double bottomBound = topBound + col.Height; if (p.X > leftBound && p.X < rightBound && p.Y > topBound && p.Y < bottomBound) { gbxState = col; break; } } //if release in a groupbox, change state if (gbxState != null) { gbxState.BorderThickness = new Thickness(1); State state = gbxState.Tag as State; UserStory userStory = (infos[e.Device] as UserControl).Tag as UserStory; controller.UserStorySwitchState(userStory, state); } currentPoint.Remove(e.Device); infos.Remove(e.Device); Refresh(); } }
private void Canvas_PreviewTouchMove(object sender, TouchEventArgs e) { if (currentPoint.ContainsKey(e.Device)) { currentPoint[e.Device] = e.GetTouchPoint(null).Position; } }
/// <summary> /// Actions when touch enters. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">Arguments.</param> protected void OnTouchEnter(object sender, TouchEventArgs e) { if (InputService == null) { return; } var element = sender as FrameworkElement; if (element == null) { return; } var position = e.GetTouchPoint(element).Position; var args = new PointerEventArgs( Waves.Core.Base.Enums.MouseButton.None, PointerEventType.Enter, 0, new Waves.Core.Base.Point(), new Waves.Core.Base.Point((int)position.X, (int)position.Y)); InputService.SetPointer(args); }
private void MoverScrollByTouch(TouchEventArgs e) { var actualPosition = e.GetTouchPoint(this.TextBlockTitulo).Position; var diffPosition = actualPosition.Y - LastPosition.Y; if ((diffPosition > -10) & (diffPosition < 10)) { TouchMoved = false; return; } ; double offset = this.ScrollViewerCategorias.VerticalOffset - (diffPosition / 10); if (actualPosition.Y > LastPosition.Y) { this.ScrollViewerCategorias.ScrollToVerticalOffset(offset); TouchMoved = true; e.Handled = true; } else { this.ScrollViewerCategorias.ScrollToVerticalOffset(offset); TouchMoved = true; e.Handled = true; } }
protected override void OnTouchUp(TouchEventArgs e) { if (!this.IsManipulationEnabled) { return; } Point currentTapPosition = e.GetTouchPoint(this).Position; var difference = currentTapPosition - lastTapLocation; bool tapsAreCloseInDistance = Math.Abs(difference.X) < 20 && Math.Abs(difference.Y) < 20; TimeSpan elapsed = touchDownStopwatch.Elapsed; bool tapsAreCloseInTime = (elapsed != TimeSpan.Zero && elapsed < TimeSpan.FromSeconds(0.7)); if (tapsAreCloseInDistance) { if (tapsAreCloseInTime) { TouchTap?.Invoke(this, e); } else { OpenRightClick_Menu?.Invoke(this, new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left)); } } else { currentTapPosition.X = -9999999999; // Ensures that no double taps get registered. } base.OnTouchUp(e); ReleaseMouseCapture(); }
private void scrollDishes_PreviewTouchMove(object sender, TouchEventArgs e) { if (lastDragPoint.HasValue) { doMove(e.GetTouchPoint((sender as IInputElement)).Position); } }
private void DragDropContainer_TouchMove(object sender, TouchEventArgs e, GalaxyAdorner adorner) { var touchPosition = e.GetTouchPoint(DragOverlay); var adornerLocation = new Point(touchPosition.Position.X, touchPosition.Position.Y); adorner.UpdatePosition(adornerLocation); }
private void MainWindow_TouchMove(object sender, TouchEventArgs e) { int n = 2; var base64FormattingOptions = Base64FormattingOptions.InsertLineBreaks; for (int i = 0; i < 100; i++) { var f1 = n; } if (true) { var f2 = base64FormattingOptions; } var touchPoint = e.GetTouchPoint(this); var point = touchPoint.Position; EraserView.X = point.X - EraserView.Width / 2; EraserView.Y = point.Y - EraserView.Height / 2; EraserInkView.Count++; Debug.WriteLine($"TTTTTTTTTTTT {EraserInkView.Count:D5} " + Environment.TickCount); TouchTickCount = Environment.TickCount; }
private void OnTouchPressed(object sender, TouchEventArgs e) { var originalSource = e.OriginalSource as DependencyObject; var rootPoint = e.GetTouchPoint(_view); var reactView = GetReactViewTarget(originalSource, rootPoint.Position); if (reactView != null && _view.CaptureTouch(e.TouchDevice)) { var viewPoint = rootPoint.Position; var reactTag = reactView.GetReactCompoundView().GetReactTagAtPoint(reactView, viewPoint); var pointer = new ReactPointer(); pointer.Target = reactTag; pointer.PointerId = (uint)rootPoint.TouchDevice.Id; pointer.Identifier = ++_pointerIDs; pointer.PointerType = "touch"; pointer.IsLeftButton = false; pointer.IsRightButton = false; pointer.IsMiddleButton = false; pointer.IsHorizontalMouseWheel = false; pointer.IsEraser = false; pointer.ReactView = reactView; UpdatePointerForEvent(pointer, rootPoint.Position, viewPoint); var pointerIndex = _pointers.Count; _pointers.Add(pointer); DispatchTouchEvent(TouchEventType.Start, _pointers, pointerIndex); } }
private void LayoutRoot_TouchMove(object sender, TouchEventArgs e) { if (_touchDevicesPoints.Count != 2) { return; } else { Point newPoint = e.GetTouchPoint(LayoutRoot).Position; Point previousPoint = _touchDevicesPoints[e.TouchDevice]; if (!newPoint.Equals(previousPoint)) { _touchDevicesPoints[e.TouchDevice] = newPoint; List <Point> points = new List <Point>(_touchDevicesPoints.Values); double newTouchZoomDistance = Point.Subtract(points[0], points[1]).Length; double diff = newTouchZoomDistance - _touchZoomDistance; if (Math.Abs(diff) > 5) { TrackballTransform = _trackBall.Zoom(newTouchZoomDistance, _touchZoomDistance); _touchZoomDistance = newTouchZoomDistance; } } e.Handled = true; } }
private void canvas_TouchDown(object sender, TouchEventArgs e) { // Get a number between 1 and 10 to select colour counter = (counter + 1) % 10; // Add new object for this id userLines[e.TouchDevice.Id] = new UserLine(colours[counter], e.GetTouchPoint(canvas)); }
private void ReferPanel_TouchMove(object sender, TouchEventArgs e) { if (_calculator is null) { return; } var touchPoint = e.GetTouchPoint(RootPanel); var delta = _calculator.Move(e.TouchDevice.Id, touchPoint.Position); var scale = delta.Scale; var expansion = delta.Expansion; var rotation = delta.Rotation; var translation = delta.Translation; SelfScaleRun.Text = $"{scale.X:0.0000} × {scale.Y:0.0000}"; SelfExpansionRun.Text = $"{expansion.X:0.0000} × {expansion.Y:0.0000}"; SelfRotationRun.Text = $"{rotation:0.0000}"; SelfTranslationRun.Text = $"{translation.X:0.0000} × {translation.Y:0.0000}"; SelfScaleTransform.ScaleX *= scale.X; SelfScaleTransform.ScaleY *= scale.Y; SelfRotateTransform.Angle += rotation; SelfTranslateTransform.X += translation.X; SelfTranslateTransform.Y += translation.Y; SelfAccumulatedScaleRun.Text = $"{SelfScaleTransform.ScaleX:0.0000} × {SelfScaleTransform.ScaleY:0.0000}"; SelfAccumulatedExpansionRun.Text = $"未计算"; SelfAccumulatedRotationRun.Text = $"{SelfRotateTransform.Angle:0.0000}"; SelfAccumulatedTranslationRun.Text = $"{SelfTranslateTransform.X:0.0000} × {SelfTranslateTransform.Y:0.0000}"; }
private void Sprint_PreviewTouchUp(object sender, TouchEventArgs e) { if (currentPoint.ContainsKey(e.Device)) { currentPoint[e.Device] = e.GetTouchPoint(null).Position; UserControl sprintControl = sender as UserControl; sprintControl.BorderThickness = new Thickness(1); double leftBound = Canvas.GetLeft(sprintControl) + Canvas.GetLeft(gbxSprints); double rightBound = leftBound + sprintControl.Width; double topBound = Canvas.GetTop(sprintControl) + Canvas.GetTop(cnvsSprints); double bottomBound = topBound + sprintControl.Height; Sprint sprint = sprintControl.Tag as Sprint; UserStory userStory = (infos[e.Device] as UserControl).Tag as UserStory; if (controller.AddUserStoryToSprint(userStory, sprint)) { Task.Factory.StartNew(() => MessageBox.Show("Enregistrement rajouté", "Confirmation", MessageBoxButton.OK, MessageBoxImage.Information)); } else { Task.Factory.StartNew(() => MessageBox.Show("Enregistrement déjà existant", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error)); } currentPoint.Remove(e.Device); infos.Remove(e.Device); } }
public void TouchMoveCard(Canvas element, TouchEventArgs e) { TouchPoint point = e.GetTouchPoint(control.MainWindow.CardLayer); control.TouchControler.TouchMove(this, this.GetType(), e.TouchDevice, point); control.MainWindow.ControlWindow.UpdateTextInfo(control.TouchControler.ToString(), 1); }
private void GestureButton_TouchDown(object sender, TouchEventArgs e) { // 找到目标窗口 _hwnd = WindowsHandler.FindTopmostWindow(); // 初始化起始点 int id = e.TouchDevice.Id; Point start = this.PointToScreen(new Point(e.GetTouchPoint(this).Position.X, e.GetTouchPoint(this).Position.Y)); if (finger1.Count == 0) { finger1.Add(id, new List <YTPoint>() { new YTPoint(start.X, start.Y) }); _watch1 = Stopwatch.StartNew(); } else { finger2.Add(id, new List <YTPoint>() { new YTPoint(start.X, start.Y) }); _watch2 = Stopwatch.StartNew(); } // 初始化点击时间 _watch1 = Stopwatch.StartNew(); _watch2 = Stopwatch.StartNew(); }
private void CanvasGallery_SwipeStarted(object sender, TouchEventArgs args) { args.Handled = true; this.swipePivotPosition = args.GetTouchPoint(this.canvasGallery).Position; this.swipePivotOffset = this.Offset; this.RaiseGestureChanged("Swipe"); }