[update] 跟随ICA上游代码merge MultiTouchMode fix,并更改了白板右上角文字。
This commit is contained in:
parent
351bd87791
commit
67fe09c7fd
@ -34,187 +34,207 @@ namespace Ink_Canvas.Helpers
|
||||
|
||||
public static void ShowWithSlideFromBottomAndFade(UIElement element, double duration = 0.15)
|
||||
{
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
var sb = new Storyboard();
|
||||
|
||||
// 渐变动画
|
||||
var fadeInAnimation = new DoubleAnimation
|
||||
try
|
||||
{
|
||||
From = 0.5,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(fadeInAnimation, new PropertyPath(UIElement.OpacityProperty));
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
// 滑动动画
|
||||
var slideAnimation = new DoubleAnimation
|
||||
{
|
||||
From = element.RenderTransform.Value.OffsetY + 10, // 滑动距离
|
||||
To = 0,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(slideAnimation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.Y)"));
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
sb.Children.Add(fadeInAnimation);
|
||||
sb.Children.Add(slideAnimation);
|
||||
var sb = new Storyboard();
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransform = new TranslateTransform();
|
||||
// 渐变动画
|
||||
var fadeInAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0.5,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(fadeInAnimation, new PropertyPath(UIElement.OpacityProperty));
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
// 滑动动画
|
||||
var slideAnimation = new DoubleAnimation
|
||||
{
|
||||
From = element.RenderTransform.Value.OffsetY + 10, // 滑动距离
|
||||
To = 0,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(slideAnimation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.Y)"));
|
||||
|
||||
sb.Children.Add(fadeInAnimation);
|
||||
sb.Children.Add(slideAnimation);
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransform = new TranslateTransform();
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public static void ShowWithSlideFromLeftAndFade(UIElement element, double duration = 0.25)
|
||||
{
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
var sb = new Storyboard();
|
||||
|
||||
// 渐变动画
|
||||
var fadeInAnimation = new DoubleAnimation
|
||||
try
|
||||
{
|
||||
From = 0.5,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(fadeInAnimation, new PropertyPath(UIElement.OpacityProperty));
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
// 滑动动画
|
||||
var slideAnimation = new DoubleAnimation
|
||||
{
|
||||
From = element.RenderTransform.Value.OffsetX - 20, // 滑动距离
|
||||
To = 0,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(slideAnimation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
sb.Children.Add(fadeInAnimation);
|
||||
sb.Children.Add(slideAnimation);
|
||||
var sb = new Storyboard();
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransform = new TranslateTransform();
|
||||
// 渐变动画
|
||||
var fadeInAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0.5,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(fadeInAnimation, new PropertyPath(UIElement.OpacityProperty));
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
// 滑动动画
|
||||
var slideAnimation = new DoubleAnimation
|
||||
{
|
||||
From = element.RenderTransform.Value.OffsetX - 20, // 滑动距离
|
||||
To = 0,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(slideAnimation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
|
||||
|
||||
sb.Children.Add(fadeInAnimation);
|
||||
sb.Children.Add(slideAnimation);
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransform = new TranslateTransform();
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public static void ShowWithScaleFromLeft(UIElement element, double duration = 0.5)
|
||||
{
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
var sb = new Storyboard();
|
||||
|
||||
// 水平方向的缩放动画
|
||||
var scaleXAnimation = new DoubleAnimation
|
||||
try
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleXAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleX)"));
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
// 垂直方向的缩放动画
|
||||
var scaleYAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleYAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleY)"));
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
sb.Children.Add(scaleXAnimation);
|
||||
sb.Children.Add(scaleYAnimation);
|
||||
var sb = new Storyboard();
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransformOrigin = new Point(0, 0.5); // 左侧中心点为基准
|
||||
element.RenderTransform = new ScaleTransform(0, 0);
|
||||
// 水平方向的缩放动画
|
||||
var scaleXAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleXAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleX)"));
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
// 垂直方向的缩放动画
|
||||
var scaleYAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleYAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleY)"));
|
||||
|
||||
sb.Children.Add(scaleXAnimation);
|
||||
sb.Children.Add(scaleYAnimation);
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransformOrigin = new Point(0, 0.5); // 左侧中心点为基准
|
||||
element.RenderTransform = new ScaleTransform(0, 0);
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public static void ShowWithScaleFromRight(UIElement element, double duration = 0.5)
|
||||
{
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
var sb = new Storyboard();
|
||||
|
||||
// 水平方向的缩放动画
|
||||
var scaleXAnimation = new DoubleAnimation
|
||||
try
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleXAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleX)"));
|
||||
if (element.Visibility == Visibility.Visible) return;
|
||||
|
||||
// 垂直方向的缩放动画
|
||||
var scaleYAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleYAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleY)"));
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
sb.Children.Add(scaleXAnimation);
|
||||
sb.Children.Add(scaleYAnimation);
|
||||
var sb = new Storyboard();
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransformOrigin = new Point(1, 0.5); // 右侧中心点为基准
|
||||
element.RenderTransform = new ScaleTransform(0, 0);
|
||||
// 水平方向的缩放动画
|
||||
var scaleXAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleXAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleX)"));
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
// 垂直方向的缩放动画
|
||||
var scaleYAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = 1,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(scaleYAnimation, new PropertyPath("(UIElement.RenderTransform).(ScaleTransform.ScaleY)"));
|
||||
|
||||
sb.Children.Add(scaleXAnimation);
|
||||
sb.Children.Add(scaleYAnimation);
|
||||
|
||||
element.Visibility = Visibility.Visible;
|
||||
element.RenderTransformOrigin = new Point(1, 0.5); // 右侧中心点为基准
|
||||
element.RenderTransform = new ScaleTransform(0, 0);
|
||||
|
||||
sb.Begin((FrameworkElement)element);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public static void HideWithSlideAndFade(UIElement element, double duration = 0.15)
|
||||
{
|
||||
if (element.Visibility == Visibility.Collapsed) return;
|
||||
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
var sb = new Storyboard();
|
||||
|
||||
// 渐变动画
|
||||
var fadeOutAnimation = new DoubleAnimation
|
||||
try
|
||||
{
|
||||
From = 1,
|
||||
To = 0,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(fadeOutAnimation, new PropertyPath(UIElement.OpacityProperty));
|
||||
if (element.Visibility == Visibility.Collapsed) return;
|
||||
|
||||
// 滑动动画
|
||||
var slideAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = element.RenderTransform.Value.OffsetY + 10, // 滑动距离
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(slideAnimation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.Y)"));
|
||||
if (element == null)
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
|
||||
sb.Children.Add(fadeOutAnimation);
|
||||
sb.Children.Add(slideAnimation);
|
||||
var sb = new Storyboard();
|
||||
|
||||
sb.Completed += (s, e) =>
|
||||
{
|
||||
element.Visibility = Visibility.Collapsed;
|
||||
};
|
||||
// 渐变动画
|
||||
var fadeOutAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 1,
|
||||
To = 0,
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(fadeOutAnimation, new PropertyPath(UIElement.OpacityProperty));
|
||||
|
||||
element.RenderTransform = new TranslateTransform();
|
||||
sb.Begin((FrameworkElement)element);
|
||||
// 滑动动画
|
||||
var slideAnimation = new DoubleAnimation
|
||||
{
|
||||
From = 0,
|
||||
To = element.RenderTransform.Value.OffsetY + 10, // 滑动距离
|
||||
Duration = TimeSpan.FromSeconds(duration)
|
||||
};
|
||||
Storyboard.SetTargetProperty(slideAnimation, new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.Y)"));
|
||||
|
||||
sb.Children.Add(fadeOutAnimation);
|
||||
sb.Children.Add(slideAnimation);
|
||||
|
||||
sb.Completed += (s, e) =>
|
||||
{
|
||||
element.Visibility = Visibility.Collapsed;
|
||||
};
|
||||
|
||||
element.RenderTransform = new TranslateTransform();
|
||||
sb.Begin((FrameworkElement)element);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public static void HideWithFadeOut(UIElement element, double duration = 0.15)
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Windows;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
@ -88,5 +89,10 @@ namespace Ink_Canvas.Helpers
|
||||
}
|
||||
|
||||
private readonly DrawingAttributes _drawingAttributes;
|
||||
|
||||
public static implicit operator Stroke(StrokeVisual v)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -94,7 +94,7 @@
|
||||
<TextBlock Text="{Binding nowTime}" Name="WaterMarkTime" Visibility="Collapsed" FontSize="30" FontWeight="Bold" Foreground="White" Opacity="0.6"/>
|
||||
<TextBlock Text="{Binding nowDate}" Name="WaterMarkDate" Visibility="Collapsed" Margin="2,0,0,0" FontSize="16" Foreground="White" Opacity="0.45"/>
|
||||
</ui:SimpleStackPanel>
|
||||
<TextBlock Canvas.Right="25" Canvas.Top="15" Text="InkCanvasForClass测试版" Name="BlackBoardWaterMark" Visibility="Collapsed" FontSize="30" FontWeight="Bold" Foreground="White" Opacity="0.5"/>
|
||||
<TextBlock Canvas.Right="25" Canvas.Top="15" Text="多一份理解,少一份抱怨" Name="BlackBoardWaterMark" Visibility="Collapsed" FontSize="30" FontWeight="Bold" Foreground="White" Opacity="0.5"/>
|
||||
</Canvas>
|
||||
<Canvas Name="Canvas"/>
|
||||
<Label Name="Label" Visibility="Collapsed" Foreground="Gray" Content="0"/>
|
||||
|
@ -1190,7 +1190,7 @@ namespace Ink_Canvas {
|
||||
}
|
||||
|
||||
bool lastIsInMultiTouchMode = false;
|
||||
private void CancelSingleFingerDragMode(bool isDrawingShapes = false)
|
||||
private void CancelSingleFingerDragMode()
|
||||
{
|
||||
if (ToggleSwitchDrawShapeBorderAutoHide.IsOn) {
|
||||
CollapseBorderDrawShape();
|
||||
@ -1202,12 +1202,6 @@ namespace Ink_Canvas {
|
||||
BtnFingerDragMode_Click(BtnFingerDragMode, null);
|
||||
}
|
||||
isLongPressSelected = false;
|
||||
|
||||
if (isDrawingShapes && isInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = false;
|
||||
lastIsInMultiTouchMode = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnHideControl_Click(object sender, RoutedEventArgs e) {
|
||||
|
@ -14,19 +14,24 @@ namespace Ink_Canvas {
|
||||
}
|
||||
|
||||
public void ShowNotification(string notice, bool isShowImmediately = true) {
|
||||
lastNotificationShowTime = Environment.TickCount;
|
||||
try
|
||||
{
|
||||
lastNotificationShowTime = Environment.TickCount;
|
||||
|
||||
TextBlockNotice.Text = notice;
|
||||
AnimationsHelper.ShowWithFadeIn(GridNotifications);
|
||||
TextBlockNotice.Text = notice;
|
||||
AnimationsHelper.ShowWithSlideFromBottomAndFade(GridNotifications);
|
||||
|
||||
new Thread(new ThreadStart(() => {
|
||||
Thread.Sleep(notificationShowTime + 300);
|
||||
if (Environment.TickCount - lastNotificationShowTime >= notificationShowTime) {
|
||||
Application.Current.Dispatcher.Invoke(() => {
|
||||
AnimationsHelper.HideWithFadeOut(GridNotifications);
|
||||
});
|
||||
}
|
||||
})).Start();
|
||||
new Thread(new ThreadStart(() => {
|
||||
Thread.Sleep(notificationShowTime + 300);
|
||||
if (Environment.TickCount - lastNotificationShowTime >= notificationShowTime)
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() => {
|
||||
AnimationsHelper.HideWithSlideAndFade(GridNotifications);
|
||||
});
|
||||
}
|
||||
})).Start();
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -89,20 +89,25 @@ namespace Ink_Canvas {
|
||||
isLongPressSelected = false;
|
||||
}
|
||||
|
||||
private void BtnDrawLine_Click(object sender, MouseButtonEventArgs e) {
|
||||
private Task<bool> CheckIsDrawingShapesInMultiTouchMode()
|
||||
{
|
||||
if (isInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = false;
|
||||
lastIsInMultiTouchMode = true;
|
||||
}
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
private async void BtnDrawLine_Click(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
if (lastMouseDownSender == sender) {
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 1;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e == null || e.StylusDevice == null)
|
||||
{ // e == null: 快捷键 alt + L
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
lastMouseDownSender = null;
|
||||
if (isLongPressSelected) {
|
||||
@ -115,20 +120,15 @@ namespace Ink_Canvas {
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawDashedLine_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawDashedLine_Click(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
if (lastMouseDownSender == sender) {
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 8;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
lastMouseDownSender = null;
|
||||
if (isLongPressSelected) {
|
||||
@ -141,20 +141,14 @@ namespace Ink_Canvas {
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawDotLine_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawDotLine_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
if (lastMouseDownSender == sender) {
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 18;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
lastMouseDownSender = null;
|
||||
if (isLongPressSelected) {
|
||||
@ -167,20 +161,14 @@ namespace Ink_Canvas {
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawArrow_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawArrow_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
if (lastMouseDownSender == sender) {
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 2;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
lastMouseDownSender = null;
|
||||
if (isLongPressSelected) {
|
||||
@ -193,20 +181,14 @@ namespace Ink_Canvas {
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawParallelLine_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawParallelLine_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
if (lastMouseDownSender == sender) {
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 15;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
lastMouseDownSender = null;
|
||||
if (isLongPressSelected) {
|
||||
@ -219,313 +201,200 @@ namespace Ink_Canvas {
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCoordinate1_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCoordinate1_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 11;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCoordinate2_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCoordinate2_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 12;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCoordinate3_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCoordinate3_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 13;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCoordinate4_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCoordinate4_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 14;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCoordinate5_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCoordinate5_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 17;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawRectangle_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawRectangle_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 3;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawRectangleCenter_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawRectangleCenter_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 19;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawEllipse_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawEllipse_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 4;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCircle_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCircle_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 5;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCenterEllipse_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCenterEllipse_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 16;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCenterEllipseWithFocalPoint_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCenterEllipseWithFocalPoint_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 23;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawDashedCircle_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawDashedCircle_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 10;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawHyperbola_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawHyperbola_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 24;
|
||||
drawMultiStepShapeCurrentStep = 0;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawHyperbolaWithFocalPoint_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawHyperbolaWithFocalPoint_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 25;
|
||||
drawMultiStepShapeCurrentStep = 0;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawParabola1_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawParabola1_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 20;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawParabolaWithFocalPoint_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawParabolaWithFocalPoint_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 22;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawParabola2_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawParabola2_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 21;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCylinder_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCylinder_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 6;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCone_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCone_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 7;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
private void BtnDrawCuboid_Click(object sender, MouseButtonEventArgs e) {
|
||||
private async void BtnDrawCuboid_Click(object sender, MouseButtonEventArgs e) {
|
||||
await CheckIsDrawingShapesInMultiTouchMode();
|
||||
forceEraser = true;
|
||||
drawingShapeMode = 9;
|
||||
isFirstTouchCuboid = true;
|
||||
@ -533,14 +402,7 @@ namespace Ink_Canvas {
|
||||
CuboidFrontRectEndP = new Point();
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.IsManipulationEnabled = true;
|
||||
if (e.StylusDevice == null)
|
||||
{
|
||||
CancelSingleFingerDragMode();
|
||||
}
|
||||
else
|
||||
{
|
||||
CancelSingleFingerDragMode(true);
|
||||
}
|
||||
CancelSingleFingerDragMode();
|
||||
DrawShapePromptToPen();
|
||||
}
|
||||
|
||||
@ -613,11 +475,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStroke = stroke;
|
||||
inkCanvas.Strokes.Add(stroke);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -629,11 +486,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 18:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -645,11 +497,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -675,11 +522,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStroke = stroke;
|
||||
inkCanvas.Strokes.Add(stroke);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 15:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -731,11 +573,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -748,11 +585,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -766,11 +598,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -784,11 +611,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -802,11 +624,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -821,11 +638,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -845,11 +657,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStroke = stroke;
|
||||
inkCanvas.Strokes.Add(stroke);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 19:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -871,11 +678,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStroke = stroke;
|
||||
inkCanvas.Strokes.Add(stroke);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -889,11 +691,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStroke = stroke;
|
||||
inkCanvas.Strokes.Add(stroke);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -908,11 +705,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStroke = stroke;
|
||||
inkCanvas.Strokes.Add(stroke);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -928,11 +720,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStroke = stroke;
|
||||
inkCanvas.Strokes.Add(stroke);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 23:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -982,11 +769,6 @@ namespace Ink_Canvas {
|
||||
} catch { }
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -999,11 +781,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 24:
|
||||
case 25:
|
||||
@ -1085,11 +862,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 20:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -1119,11 +891,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -1153,11 +920,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 22:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -1195,11 +957,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -1252,11 +1009,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
_currentCommitType = CommitReason.ShapeDrawing;
|
||||
@ -1301,11 +1053,6 @@ namespace Ink_Canvas {
|
||||
}
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
// 画长方体
|
||||
@ -1387,11 +1134,6 @@ namespace Ink_Canvas {
|
||||
lastTempStrokeCollection = strokes;
|
||||
inkCanvas.Strokes.Add(strokes);
|
||||
}
|
||||
if (lastIsInMultiTouchMode)
|
||||
{
|
||||
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||
lastIsInMultiTouchMode = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ namespace Ink_Canvas {
|
||||
inkCanvas.StylusUp += MainWindow_StylusUp;
|
||||
inkCanvas.TouchDown += MainWindow_TouchDown;
|
||||
inkCanvas.TouchDown -= Main_Grid_TouchDown;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
inkCanvas.Children.Clear();
|
||||
isInMultiTouchMode = true;
|
||||
//SymbolIconMultiTouchMode.Symbol = iNKORE.UI.WPF.Modern.Controls.Symbol.Contact;
|
||||
@ -54,8 +54,8 @@ namespace Ink_Canvas {
|
||||
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.EraseByPoint;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
|
||||
} else {
|
||||
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.Ink;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
||||
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.None;
|
||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ namespace Ink_Canvas {
|
||||
if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint
|
||||
|| inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke
|
||||
|| inkCanvas.EditingMode == InkCanvasEditingMode.Select) return;
|
||||
TouchDownPointsList[e.StylusDevice.Id] = InkCanvasEditingMode.Ink;
|
||||
TouchDownPointsList[e.StylusDevice.Id] = InkCanvasEditingMode.None;
|
||||
}
|
||||
|
||||
private void MainWindow_StylusUp(object sender, StylusEventArgs e) {
|
||||
@ -90,7 +90,7 @@ namespace Ink_Canvas {
|
||||
|
||||
private void MainWindow_StylusMove(object sender, StylusEventArgs e) {
|
||||
try {
|
||||
if (GetTouchDownPointsList(e.StylusDevice.Id) != InkCanvasEditingMode.Ink) return;
|
||||
if (GetTouchDownPointsList(e.StylusDevice.Id) != InkCanvasEditingMode.None) return;
|
||||
try {
|
||||
if (e.StylusDevice.StylusButtons[1].StylusButtonState == StylusButtonState.Down) return;
|
||||
} catch { }
|
||||
|
@ -49,5 +49,5 @@ using System.Windows;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("5.0.1.0")]
|
||||
[assembly: AssemblyFileVersion("5.0.1.0")]
|
||||
[assembly: AssemblyVersion("5.0.2.0")]
|
||||
[assembly: AssemblyFileVersion("5.0.2.0")]
|
||||
|
@ -60,8 +60,8 @@ namespace Ink_Canvas {
|
||||
}
|
||||
}
|
||||
|
||||
public int RandWaitingTimes = 20;
|
||||
public int RandWaitingThreadSleepTime = 50;
|
||||
public int RandWaitingTimes = 100;
|
||||
public int RandWaitingThreadSleepTime = 5;
|
||||
public int RandMaxPeopleOneTime = 10;
|
||||
public int RandDoneAutoCloseWaitTime = 2500;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user