diff --git a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs index 1e26a1e4..9a862342 100644 --- a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs +++ b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs @@ -96,6 +96,9 @@ namespace Ink_Canvas var dA = new DoubleAnimation(1, 0.3, new Duration(TimeSpan.FromMilliseconds(100))); ((UIElement)sender).BeginAnimation(OpacityProperty, dA); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; inkCanvas.EditingMode = InkCanvasEditingMode.None; inkCanvas.IsManipulationEnabled = true; @@ -143,6 +146,9 @@ namespace Ink_Canvas await CheckIsDrawingShapesInMultiTouchMode(); if (lastMouseDownSender == sender) { + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 1; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -169,6 +175,9 @@ namespace Ink_Canvas await CheckIsDrawingShapesInMultiTouchMode(); if (lastMouseDownSender == sender) { + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 8; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -195,6 +204,9 @@ namespace Ink_Canvas await CheckIsDrawingShapesInMultiTouchMode(); if (lastMouseDownSender == sender) { + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 18; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -221,6 +233,9 @@ namespace Ink_Canvas await CheckIsDrawingShapesInMultiTouchMode(); if (lastMouseDownSender == sender) { + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 2; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -247,6 +262,9 @@ namespace Ink_Canvas await CheckIsDrawingShapesInMultiTouchMode(); if (lastMouseDownSender == sender) { + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 15; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -271,6 +289,9 @@ namespace Ink_Canvas private async void BtnDrawCoordinate1_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 11; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -282,6 +303,9 @@ namespace Ink_Canvas private async void BtnDrawCoordinate2_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 12; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -293,6 +317,9 @@ namespace Ink_Canvas private async void BtnDrawCoordinate3_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 13; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -304,6 +331,9 @@ namespace Ink_Canvas private async void BtnDrawCoordinate4_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 14; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -315,6 +345,9 @@ namespace Ink_Canvas private async void BtnDrawCoordinate5_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 17; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -326,6 +359,9 @@ namespace Ink_Canvas private async void BtnDrawRectangle_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 3; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -337,6 +373,9 @@ namespace Ink_Canvas private async void BtnDrawRectangleCenter_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 19; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -348,6 +387,9 @@ namespace Ink_Canvas private async void BtnDrawEllipse_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 4; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -359,6 +401,9 @@ namespace Ink_Canvas private async void BtnDrawCircle_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 5; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -370,6 +415,9 @@ namespace Ink_Canvas private async void BtnDrawCenterEllipse_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 16; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -381,6 +429,9 @@ namespace Ink_Canvas private async void BtnDrawCenterEllipseWithFocalPoint_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 23; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -392,6 +443,9 @@ namespace Ink_Canvas private async void BtnDrawDashedCircle_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 10; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -403,6 +457,9 @@ namespace Ink_Canvas private async void BtnDrawHyperbola_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 24; drawMultiStepShapeCurrentStep = 0; @@ -415,6 +472,9 @@ namespace Ink_Canvas private async void BtnDrawHyperbolaWithFocalPoint_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 25; drawMultiStepShapeCurrentStep = 0; @@ -427,6 +487,9 @@ namespace Ink_Canvas private async void BtnDrawParabola1_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 20; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -438,6 +501,9 @@ namespace Ink_Canvas private async void BtnDrawParabolaWithFocalPoint_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 22; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -449,6 +515,9 @@ namespace Ink_Canvas private async void BtnDrawParabola2_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 21; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -460,6 +529,9 @@ namespace Ink_Canvas private async void BtnDrawCylinder_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 6; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -471,6 +543,9 @@ namespace Ink_Canvas private async void BtnDrawCone_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 7; inkCanvas.EditingMode = InkCanvasEditingMode.None; @@ -482,6 +557,9 @@ namespace Ink_Canvas private async void BtnDrawCuboid_Click(object sender, MouseButtonEventArgs e) { await CheckIsDrawingShapesInMultiTouchMode(); + forcePointEraser = false; + DisableEraserOverlay(); + forceEraser = true; drawingShapeMode = 9; isFirstTouchCuboid = true;