From 7112d58e7cc146a1122491ec9fa4255402ceb5b6 Mon Sep 17 00:00:00 2001 From: CJK_mkp <113243675+CJKmkp@users.noreply.github.com> Date: Fri, 31 Oct 2025 14:44:59 +0800 Subject: [PATCH] Update MW_ShapeDrawing.cs --- Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs | 60 +++++++++++---------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs index c4e5e539..17d1511a 100644 --- a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs +++ b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs @@ -1,4 +1,4 @@ -using Ink_Canvas.Helpers; +using Ink_Canvas.Helpers; using iNKORE.UI.WPF.Modern.Controls; using System; using System.Collections.Generic; @@ -189,8 +189,11 @@ namespace Ink_Canvas EnterShapeDrawingMode(1); lastMouseDownSender = null; + // 先保存长按状态,避免被CancelSingleFingerDragMode重置 bool wasLongPressed = isLongPressSelected; + CancelSingleFingerDragMode(); + if (wasLongPressed) { if (ToggleSwitchDrawShapeBorderAutoHide.IsOn) CollapseBorderDrawShape(); @@ -208,8 +211,11 @@ namespace Ink_Canvas EnterShapeDrawingMode(8); lastMouseDownSender = null; + // 先保存长按状态,避免被CancelSingleFingerDragMode重置 bool wasLongPressed = isLongPressSelected; + CancelSingleFingerDragMode(); + if (wasLongPressed) { if (ToggleSwitchDrawShapeBorderAutoHide.IsOn) CollapseBorderDrawShape(); @@ -227,10 +233,10 @@ namespace Ink_Canvas EnterShapeDrawingMode(18); lastMouseDownSender = null; - + // 先保存长按状态,避免被CancelSingleFingerDragMode重置 bool wasLongPressed = isLongPressSelected; - + CancelSingleFingerDragMode(); if (wasLongPressed) { @@ -249,10 +255,10 @@ namespace Ink_Canvas EnterShapeDrawingMode(2); lastMouseDownSender = null; - + // 先保存长按状态,避免被CancelSingleFingerDragMode重置 bool wasLongPressed = isLongPressSelected; - + CancelSingleFingerDragMode(); if (wasLongPressed) { @@ -271,10 +277,10 @@ namespace Ink_Canvas EnterShapeDrawingMode(15); lastMouseDownSender = null; - + // 先保存长按状态,避免被CancelSingleFingerDragMode重置 bool wasLongPressed = isLongPressSelected; - + CancelSingleFingerDragMode(); if (wasLongPressed) { @@ -291,7 +297,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(11); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -300,7 +306,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(12); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -309,7 +315,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(13); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -318,7 +324,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(14); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -327,7 +333,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(17); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -336,7 +342,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(3); - + CancelSingleFingerDragMode(); isLongPressSelected = false; lastMouseDownSender = null; DrawShapePromptToPen(); @@ -346,7 +352,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(19); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -355,7 +361,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(4); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -364,7 +370,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(5); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -373,7 +379,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(16); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -382,7 +388,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(23); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -391,7 +397,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(10); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -401,7 +407,7 @@ namespace Ink_Canvas await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(24); drawMultiStepShapeCurrentStep = 0; - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -411,7 +417,7 @@ namespace Ink_Canvas await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(25); drawMultiStepShapeCurrentStep = 0; - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -420,7 +426,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(20); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -429,7 +435,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(22); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -438,7 +444,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(21); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -447,7 +453,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(6); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -456,7 +462,7 @@ namespace Ink_Canvas { await CheckIsDrawingShapesInMultiTouchMode(); EnterShapeDrawingMode(7); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); } @@ -468,7 +474,7 @@ namespace Ink_Canvas isFirstTouchCuboid = true; CuboidFrontRectIniP = new Point(); CuboidFrontRectEndP = new Point(); - + CancelSingleFingerDragMode(); lastMouseDownSender = null; DrawShapePromptToPen(); }