[fix] Merge the ChangSakura/Ink-Canvas MultiTouchMode fixes
This commit is contained in:
parent
596a78d654
commit
ac5f4b3a00
@ -26,7 +26,7 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
|
private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
|
||||||
{
|
{
|
||||||
Ink_Canvas.MainWindow.ShowNewMessage("抱歉,出现未预期的异常,可能导致 Ink Canvas 画板运行不稳定。\n建议保存墨迹后重启应用。", true);
|
Ink_Canvas.MainWindow.ShowNewMessage("抱歉,出现未预期的异常,可能导致 InkCanvasForClass 运行不稳定。\n建议保存墨迹后重启应用。", true);
|
||||||
LogHelper.NewLog(e.Exception.ToString());
|
LogHelper.NewLog(e.Exception.ToString());
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
}
|
}
|
||||||
|
@ -167,7 +167,7 @@ namespace Ink_Canvas {
|
|||||||
loadPenCanvas();
|
loadPenCanvas();
|
||||||
//加载设置
|
//加载设置
|
||||||
LoadSettings(true);
|
LoadSettings(true);
|
||||||
HasNewUpdateWindow hasNewUpdateWindow = new HasNewUpdateWindow();
|
// HasNewUpdateWindow hasNewUpdateWindow = new HasNewUpdateWindow();
|
||||||
if (Environment.Is64BitProcess) {
|
if (Environment.Is64BitProcess) {
|
||||||
GroupBoxInkRecognition.Visibility = Visibility.Collapsed;
|
GroupBoxInkRecognition.Visibility = Visibility.Collapsed;
|
||||||
}
|
}
|
||||||
|
@ -1186,8 +1186,10 @@ namespace Ink_Canvas {
|
|||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CancelSingleFingerDragMode() {
|
bool lastIsInMultiTouchMode = false;
|
||||||
if (ToggleSwitchDrawShapeBorderAutoHide.IsOn) {
|
private void CancelSingleFingerDragMode(bool isDrawingShapes = false)
|
||||||
|
{
|
||||||
|
if (ToggleSwitchDrawShapeBorderAutoHide.IsOn) {
|
||||||
CollapseBorderDrawShape();
|
CollapseBorderDrawShape();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1197,7 +1199,13 @@ namespace Ink_Canvas {
|
|||||||
BtnFingerDragMode_Click(BtnFingerDragMode, null);
|
BtnFingerDragMode_Click(BtnFingerDragMode, null);
|
||||||
}
|
}
|
||||||
isLongPressSelected = false;
|
isLongPressSelected = false;
|
||||||
}
|
|
||||||
|
if (isDrawingShapes && isInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = false;
|
||||||
|
lastIsInMultiTouchMode = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void BtnHideControl_Click(object sender, RoutedEventArgs e) {
|
private void BtnHideControl_Click(object sender, RoutedEventArgs e) {
|
||||||
if (StackPanelControl.Visibility == Visibility.Visible) {
|
if (StackPanelControl.Visibility == Visibility.Visible) {
|
||||||
|
@ -95,7 +95,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 1;
|
drawingShapeMode = 1;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
}
|
}
|
||||||
lastMouseDownSender = null;
|
lastMouseDownSender = null;
|
||||||
if (isLongPressSelected) {
|
if (isLongPressSelected) {
|
||||||
@ -114,7 +114,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 8;
|
drawingShapeMode = 8;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
}
|
}
|
||||||
lastMouseDownSender = null;
|
lastMouseDownSender = null;
|
||||||
if (isLongPressSelected) {
|
if (isLongPressSelected) {
|
||||||
@ -133,7 +133,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 18;
|
drawingShapeMode = 18;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
}
|
}
|
||||||
lastMouseDownSender = null;
|
lastMouseDownSender = null;
|
||||||
if (isLongPressSelected) {
|
if (isLongPressSelected) {
|
||||||
@ -152,7 +152,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 2;
|
drawingShapeMode = 2;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
}
|
}
|
||||||
lastMouseDownSender = null;
|
lastMouseDownSender = null;
|
||||||
if (isLongPressSelected) {
|
if (isLongPressSelected) {
|
||||||
@ -171,7 +171,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 15;
|
drawingShapeMode = 15;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
}
|
}
|
||||||
lastMouseDownSender = null;
|
lastMouseDownSender = null;
|
||||||
if (isLongPressSelected) {
|
if (isLongPressSelected) {
|
||||||
@ -189,7 +189,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 11;
|
drawingShapeMode = 11;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,7 +198,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 12;
|
drawingShapeMode = 12;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +207,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 13;
|
drawingShapeMode = 13;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,7 +216,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 14;
|
drawingShapeMode = 14;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 17;
|
drawingShapeMode = 17;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,7 +234,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 3;
|
drawingShapeMode = 3;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 19;
|
drawingShapeMode = 19;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,7 +270,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 16;
|
drawingShapeMode = 16;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,7 +279,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 23;
|
drawingShapeMode = 23;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,7 +288,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 10;
|
drawingShapeMode = 10;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,7 +298,7 @@ namespace Ink_Canvas {
|
|||||||
drawMultiStepShapeCurrentStep = 0;
|
drawMultiStepShapeCurrentStep = 0;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -308,7 +308,7 @@ namespace Ink_Canvas {
|
|||||||
drawMultiStepShapeCurrentStep = 0;
|
drawMultiStepShapeCurrentStep = 0;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -317,7 +317,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 20;
|
drawingShapeMode = 20;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -326,7 +326,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 22;
|
drawingShapeMode = 22;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,7 +335,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 21;
|
drawingShapeMode = 21;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -344,7 +344,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 6;
|
drawingShapeMode = 6;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -353,7 +353,7 @@ namespace Ink_Canvas {
|
|||||||
drawingShapeMode = 7;
|
drawingShapeMode = 7;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +365,7 @@ namespace Ink_Canvas {
|
|||||||
CuboidFrontRectEndP = new Point();
|
CuboidFrontRectEndP = new Point();
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
||||||
inkCanvas.IsManipulationEnabled = true;
|
inkCanvas.IsManipulationEnabled = true;
|
||||||
CancelSingleFingerDragMode();
|
CancelSingleFingerDragMode(true);
|
||||||
DrawShapePromptToPen();
|
DrawShapePromptToPen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -438,6 +438,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -449,6 +454,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 18:
|
case 18:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -460,6 +470,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -485,6 +500,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -536,6 +556,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -548,6 +573,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -561,6 +591,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -574,6 +609,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -587,6 +627,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -601,6 +646,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -620,6 +670,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 19:
|
case 19:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -641,6 +696,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -654,6 +714,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -668,6 +733,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -683,6 +753,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStroke = stroke;
|
lastTempStroke = stroke;
|
||||||
inkCanvas.Strokes.Add(stroke);
|
inkCanvas.Strokes.Add(stroke);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 23:
|
case 23:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -732,6 +807,11 @@ namespace Ink_Canvas {
|
|||||||
} catch { }
|
} catch { }
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -744,6 +824,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 24:
|
case 24:
|
||||||
case 25:
|
case 25:
|
||||||
@ -825,6 +910,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 20:
|
case 20:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -854,6 +944,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -883,6 +978,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 22:
|
case 22:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -920,6 +1020,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -972,6 +1077,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
_currentCommitType = CommitReason.ShapeDrawing;
|
_currentCommitType = CommitReason.ShapeDrawing;
|
||||||
@ -1016,6 +1126,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
// 画长方体
|
// 画长方体
|
||||||
@ -1095,7 +1210,12 @@ namespace Ink_Canvas {
|
|||||||
Trace.WriteLine("lastTempStrokeCollection failed.");
|
Trace.WriteLine("lastTempStrokeCollection failed.");
|
||||||
}
|
}
|
||||||
lastTempStrokeCollection = strokes;
|
lastTempStrokeCollection = strokes;
|
||||||
inkCanvas.Strokes.Add(strokes);
|
inkCanvas.Strokes.Add(strokes);
|
||||||
|
}
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1287,12 +1407,22 @@ namespace Ink_Canvas {
|
|||||||
(circle.Stroke.StylusPoints[0].Y + circle.Stroke.StylusPoints[circle.Stroke.StylusPoints.Count / 2].Y) / 2);
|
(circle.Stroke.StylusPoints[0].Y + circle.Stroke.StylusPoints[circle.Stroke.StylusPoints.Count / 2].Y) / 2);
|
||||||
circles.Add(circle);
|
circles.Add(circle);
|
||||||
}
|
}
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (drawingShapeMode != 9 && drawingShapeMode != 0 && drawingShapeMode != 24 && drawingShapeMode != 25) {
|
if (drawingShapeMode != 9 && drawingShapeMode != 0 && drawingShapeMode != 24 && drawingShapeMode != 25) {
|
||||||
if (isLongPressSelected) {
|
if (isLongPressSelected) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
BtnPen_Click(null, null); //画完一次还原到笔模式
|
BtnPen_Click(null, null); //画完一次还原到笔模式
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (drawingShapeMode == 9) {
|
if (drawingShapeMode == 9) {
|
||||||
@ -1313,6 +1443,11 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
BtnPen_Click(null, null); //画完还原到笔模式
|
BtnPen_Click(null, null); //画完还原到笔模式
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
if (_currentCommitType == CommitReason.ShapeDrawing) {
|
if (_currentCommitType == CommitReason.ShapeDrawing) {
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -1351,6 +1486,11 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BtnPen_Click(null, null); //画完还原到笔模式
|
BtnPen_Click(null, null); //画完还原到笔模式
|
||||||
|
if (lastIsInMultiTouchMode)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableMultiTouchMode.IsOn = true;
|
||||||
|
lastIsInMultiTouchMode = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
isMouseDown = false;
|
isMouseDown = false;
|
||||||
|
@ -31,7 +31,7 @@ namespace Ink_Canvas {
|
|||||||
inkCanvas.StylusUp += MainWindow_StylusUp;
|
inkCanvas.StylusUp += MainWindow_StylusUp;
|
||||||
inkCanvas.TouchDown += MainWindow_TouchDown;
|
inkCanvas.TouchDown += MainWindow_TouchDown;
|
||||||
inkCanvas.TouchDown -= Main_Grid_TouchDown;
|
inkCanvas.TouchDown -= Main_Grid_TouchDown;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
||||||
inkCanvas.Children.Clear();
|
inkCanvas.Children.Clear();
|
||||||
isInMultiTouchMode = true;
|
isInMultiTouchMode = true;
|
||||||
//SymbolIconMultiTouchMode.Symbol = iNKORE.UI.WPF.Modern.Controls.Symbol.Contact;
|
//SymbolIconMultiTouchMode.Symbol = iNKORE.UI.WPF.Modern.Controls.Symbol.Contact;
|
||||||
@ -54,8 +54,8 @@ namespace Ink_Canvas {
|
|||||||
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.EraseByPoint;
|
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.EraseByPoint;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
|
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
|
||||||
} else {
|
} else {
|
||||||
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.None;
|
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.Ink;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.None;
|
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ namespace Ink_Canvas {
|
|||||||
if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint
|
if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint
|
||||||
|| inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke
|
|| inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke
|
||||||
|| inkCanvas.EditingMode == InkCanvasEditingMode.Select) return;
|
|| inkCanvas.EditingMode == InkCanvasEditingMode.Select) return;
|
||||||
TouchDownPointsList[e.StylusDevice.Id] = InkCanvasEditingMode.None;
|
TouchDownPointsList[e.StylusDevice.Id] = InkCanvasEditingMode.Ink;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainWindow_StylusUp(object sender, StylusEventArgs e) {
|
private void MainWindow_StylusUp(object sender, StylusEventArgs e) {
|
||||||
@ -90,7 +90,7 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
private void MainWindow_StylusMove(object sender, StylusEventArgs e) {
|
private void MainWindow_StylusMove(object sender, StylusEventArgs e) {
|
||||||
try {
|
try {
|
||||||
if (GetTouchDownPointsList(e.StylusDevice.Id) != InkCanvasEditingMode.None) return;
|
if (GetTouchDownPointsList(e.StylusDevice.Id) != InkCanvasEditingMode.Ink) return;
|
||||||
try {
|
try {
|
||||||
if (e.StylusDevice.StylusButtons[1].StylusButtonState == StylusButtonState.Down) return;
|
if (e.StylusDevice.StylusButtons[1].StylusButtonState == StylusButtonState.Down) return;
|
||||||
} catch { }
|
} catch { }
|
||||||
@ -99,7 +99,6 @@ namespace Ink_Canvas {
|
|||||||
foreach (var stylusPoint in stylusPointCollection) {
|
foreach (var stylusPoint in stylusPointCollection) {
|
||||||
strokeVisual.Add(new StylusPoint(stylusPoint.X, stylusPoint.Y, stylusPoint.PressureFactor));
|
strokeVisual.Add(new StylusPoint(stylusPoint.X, stylusPoint.Y, stylusPoint.PressureFactor));
|
||||||
}
|
}
|
||||||
|
|
||||||
strokeVisual.Redraw();
|
strokeVisual.Redraw();
|
||||||
} catch { }
|
} catch { }
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user