/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CanvasControl_PointerReleased(object sender, PointerRoutedEventArgs e) { var p = e.GetCurrentPoint(sender as CanvasControl); var pos = p.Position; var type = p.PointerDevice.PointerDeviceType; switch (type) { case PointerDeviceType.Mouse: { switch (_pressed) { case PointerPressType.None: break; case PointerPressType.Left: { if (_context.Editor.IsLeftUpAvailable()) { _state.LeftUp(pos.X, pos.Y); } } break; case PointerPressType.Middle: break; case PointerPressType.Right: { if (_context.Editor.IsRightUpAvailable()) { _state.RightUp(pos.X, pos.Y); } } break; case PointerPressType.Pen: case PointerPressType.Touch: break; } } break; case PointerDeviceType.Pen: { switch (_pressed) { case PointerPressType.None: case PointerPressType.Left: case PointerPressType.Middle: case PointerPressType.Right: break; case PointerPressType.Pen: { // TODO: Add pen support. } break; case PointerPressType.Touch: break; } } break; case PointerDeviceType.Touch: { switch (_pressed) { case PointerPressType.None: case PointerPressType.Left: case PointerPressType.Middle: case PointerPressType.Right: case PointerPressType.Pen: case PointerPressType.Touch: { // TODO: Add touch support. } break; } } break; } _pressed = PointerPressType.None; }
private void CanvasControl_PointerReleased(object sender, PointerRoutedEventArgs e) { var p = e.GetCurrentPoint(sender as CanvasControl); var pos = p.Position; var type = p.PointerDevice.PointerDeviceType; switch (type) { case PointerDeviceType.Mouse: { switch (_pressed) { case PointerPressType.None: break; case PointerPressType.Left: { if (_context.Editor.IsLeftUpAvailable()) { _context.Editor.LeftUp(pos.X, pos.Y); } } break; case PointerPressType.Middle: break; case PointerPressType.Right: { if (_context.Editor.IsRightUpAvailable()) { _context.Editor.RightUp(pos.X, pos.Y); } } break; case PointerPressType.Pen: case PointerPressType.Touch: break; } } break; case PointerDeviceType.Pen: { switch (_pressed) { case PointerPressType.None: case PointerPressType.Left: case PointerPressType.Middle: case PointerPressType.Right: break; case PointerPressType.Pen: { // TODO: Add pen support. } break; case PointerPressType.Touch: break; } } break; case PointerDeviceType.Touch: { switch (_pressed) { case PointerPressType.None: case PointerPressType.Left: case PointerPressType.Middle: case PointerPressType.Right: case PointerPressType.Pen: case PointerPressType.Touch: { // TODO: Add touch support. } break; } } break; } _pressed = PointerPressType.None; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void CanvasControl_PointerPressed(object sender, PointerRoutedEventArgs e) { var p = e.GetCurrentPoint(sender as CanvasControl); var pos = p.Position; var type = p.PointerDevice.PointerDeviceType; switch (type) { case PointerDeviceType.Mouse: { if (p.Properties.IsLeftButtonPressed) { if (_context.Editor.IsLeftDownAvailable()) { if (_context.Editor.CurrentTool == Core2D.Tool.Image && _imagePath == null) { var file = await GetImageKeyAsync(); if (file == null) return; string key = await GetImageKey(file); await CacheImage(key); _imagePath = key; } else { _imagePath = null; } _state.LeftDown(pos.X, pos.Y); _pressed = PointerPressType.Left; } } //else if (p.Properties.IsMiddleButtonPressed) //{ // _pressed = PointerPressType.Middle; //} else if (p.Properties.IsRightButtonPressed) { if (_context.Editor.IsRightDownAvailable()) { _state.RightDown(pos.X, pos.Y); _pressed = PointerPressType.Right; } } else { _pressed = PointerPressType.None; } } break; case PointerDeviceType.Pen: { // TODO: Add pen support. //_pressed = PointerPressType.Pen; } break; case PointerDeviceType.Touch: { // TODO: Add touch support. //_pressed = PointerPressType.Touch; } break; } }
private async void CanvasControl_PointerPressed(object sender, PointerRoutedEventArgs e) { var p = e.GetCurrentPoint(sender as CanvasControl); var pos = p.Position; var type = p.PointerDevice.PointerDeviceType; switch (type) { case PointerDeviceType.Mouse: { if (p.Properties.IsLeftButtonPressed) { if (_context.Editor.IsLeftDownAvailable()) { if (_context.Editor.CurrentTool == T2d.Tool.Image && _imagePath == null) { var file = await GetImageKeyAsync(); if (file == null) { return; } string key = await GetImageKey(file); await CacheImage(key); _imagePath = key; } else { _imagePath = null; } _context.Editor.LeftDown(pos.X, pos.Y); _pressed = PointerPressType.Left; } } //else if (p.Properties.IsMiddleButtonPressed) //{ // _pressed = PointerPressType.Middle; //} else if (p.Properties.IsRightButtonPressed) { if (_context.Editor.IsRightDownAvailable()) { _context.Editor.RightDown(pos.X, pos.Y); _pressed = PointerPressType.Right; } } else { _pressed = PointerPressType.None; } } break; case PointerDeviceType.Pen: { // TODO: Add pen support. //_pressed = PointerPressType.Pen; } break; case PointerDeviceType.Touch: { // TODO: Add touch support. //_pressed = PointerPressType.Touch; } break; } }