From 348b3d92cce75a5a419b762ba2574eda4a796f34 Mon Sep 17 00:00:00 2001 From: Wang XY <1178791914@qq.com> Date: Mon, 11 Jul 2022 08:50:22 +0800 Subject: [PATCH] Fix #20 --- Ink Canvas/MainWindow.xaml | 1 + Ink Canvas/MainWindow.xaml.cs | 25 ++++++++++++++++++++++--- Ink Canvas/Properties/AssemblyInfo.cs | 6 +++--- Ink Canvas/Settings.cs | 2 ++ 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index f300ad7..f00cfe2 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -357,6 +357,7 @@ + diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs index a7b6b25..445ecff 100644 --- a/Ink Canvas/MainWindow.xaml.cs +++ b/Ink Canvas/MainWindow.xaml.cs @@ -546,6 +546,14 @@ namespace Ink_Canvas { Settings.Gesture = new Gesture(); } + if (Settings.Gesture.IsEnableTwoFingerZoom) + { + ToggleSwitchEnableTwoFingerZoom.IsOn = true; + } + else + { + ToggleSwitchEnableTwoFingerZoom.IsOn = false; + } if (Settings.Gesture.IsEnableTwoFingerRotation) { ToggleSwitchEnableTwoFingerRotation.IsOn = true; @@ -1540,6 +1548,8 @@ namespace Ink_Canvas InkCanvasEditingMode lastInkCanvasEditingMode = InkCanvasEditingMode.Ink; bool isSingleFingerDragMode = false; + //防止衣服误触造成的墨迹消失 + private void inkCanvas_PreviewTouchDown(object sender, TouchEventArgs e) { dec.Add(e.TouchDevice.Id); @@ -1553,9 +1563,9 @@ namespace Ink_Canvas lastTouchDownStrokeCollection = inkCanvas.Strokes.Clone(); } //设备两个及两个以上,将画笔功能关闭 - if (dec.Count > 1 || isSingleFingerDragMode) + if (dec.Count > 1 || isSingleFingerDragMode || !Settings.Gesture.IsEnableTwoFingerZoom) { - if (isInMultiTouchMode) return; + if (isInMultiTouchMode || !Settings.Gesture.IsEnableTwoFingerZoom) return; if (inkCanvas.EditingMode != InkCanvasEditingMode.None && inkCanvas.EditingMode != InkCanvasEditingMode.Select) { lastInkCanvasEditingMode = inkCanvas.EditingMode; @@ -1618,7 +1628,7 @@ namespace Ink_Canvas private void Main_Grid_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) { - if (isInMultiTouchMode) return; + if (isInMultiTouchMode || !Settings.Gesture.IsEnableTwoFingerZoom) return; if ((dec.Count >= 2 && (Settings.Gesture.IsEnableTwoFingerGestureInPresentationMode || StackPanelPPTControls.Visibility != Visibility.Visible || StackPanelPPTButtons.Visibility == Visibility.Collapsed)) || isSingleFingerDragMode) { ManipulationDelta md = e.DeltaManipulation; @@ -2556,6 +2566,15 @@ namespace Ink_Canvas SaveSettingsToFile(); } + private void ToggleSwitchEnableTwoFingerZoom_Toggled(object sender, RoutedEventArgs e) + { + if (!isLoaded) return; + + Settings.Gesture.IsEnableTwoFingerZoom = ToggleSwitchEnableTwoFingerZoom.IsOn; + + SaveSettingsToFile(); + } + private void ToggleSwitchEnableTwoFingerRotation_Toggled(object sender, RoutedEventArgs e) { if (!isLoaded) return; diff --git a/Ink Canvas/Properties/AssemblyInfo.cs b/Ink Canvas/Properties/AssemblyInfo.cs index 12b06fa..220572a 100644 --- a/Ink Canvas/Properties/AssemblyInfo.cs +++ b/Ink Canvas/Properties/AssemblyInfo.cs @@ -12,7 +12,7 @@ using System.Windows; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("WXRIW")] [assembly: AssemblyProduct("Ink Canvas")] -[assembly: AssemblyCopyright("Copyright © XY Wang 2021")] +[assembly: AssemblyCopyright("Copyright © XY Wang 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -51,5 +51,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("3.2.3.0")] -[assembly: AssemblyFileVersion("3.2.3.0")] +[assembly: AssemblyVersion("3.2.4.0")] +[assembly: AssemblyFileVersion("3.2.4.0")] diff --git a/Ink Canvas/Settings.cs b/Ink Canvas/Settings.cs index 468148f..0b4787c 100644 --- a/Ink Canvas/Settings.cs +++ b/Ink Canvas/Settings.cs @@ -49,6 +49,8 @@ namespace Ink_Canvas public class Gesture { + [JsonProperty("isEnableTwoFingerZoom")] + public bool IsEnableTwoFingerZoom { get; set; } = true; [JsonProperty("isEnableTwoFingerRotation")] public bool IsEnableTwoFingerRotation { get; set; } = false; [JsonProperty("isEnableTwoFingerRotationOnSelection")]