[update] 白板模式工具栏反馈效果,TimeMachine做部分修复
This commit is contained in:
parent
fec0f55deb
commit
d83a81074a
File diff suppressed because one or more lines are too long
@ -4,10 +4,86 @@ using System.Windows;
|
|||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Ink;
|
using System.Windows.Ink;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
|
||||||
namespace Ink_Canvas {
|
namespace Ink_Canvas {
|
||||||
public partial class MainWindow : Window {
|
public partial class MainWindow : Window {
|
||||||
|
|
||||||
|
private Border lastBoardToolBtnDownBorder = null;
|
||||||
|
private Border lastBoardSideBtnDownBorder = null;
|
||||||
|
|
||||||
|
private void BoardToolBtnMouseDown(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder != null) return;
|
||||||
|
lastBoardToolBtnDownBorder = (Border)sender;
|
||||||
|
if (lastBoardToolBtnDownBorder.Name == "BoardPen") {
|
||||||
|
BoardMouseFeedbakBorder.Margin = new Thickness(60, 0, 0, 0);
|
||||||
|
((Border)BoardMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(0);
|
||||||
|
} else if (lastBoardToolBtnDownBorder.Name == "BoardSelect") {
|
||||||
|
BoardMouseFeedbakBorder.Margin = new Thickness(0);
|
||||||
|
((Border)BoardMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(4.5,0,0,4.5);
|
||||||
|
} else if (lastBoardToolBtnDownBorder.Name == "BoardEraser") {
|
||||||
|
BoardMouseFeedbakBorder.Margin = new Thickness(120, 0, 0, 0);
|
||||||
|
((Border)BoardMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(0);
|
||||||
|
} else if (lastBoardToolBtnDownBorder.Name == "BoardGeometry") {
|
||||||
|
BoardMouseFeedbakBorder.Margin = new Thickness(180, 0, 0, 0);
|
||||||
|
((Border)BoardMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(0);
|
||||||
|
} else if (lastBoardToolBtnDownBorder.Name == "BoardUndo") {
|
||||||
|
BoardMouseFeedbakBorder.Margin = new Thickness(240, 0, 0, 0);
|
||||||
|
((Border)BoardMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(0);
|
||||||
|
} else if (lastBoardToolBtnDownBorder.Name == "BoardRedo") {
|
||||||
|
BoardMouseFeedbakBorder.Margin = new Thickness(300, 0, 0, 0);
|
||||||
|
((Border)BoardMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(0,4.5,4.5,0);
|
||||||
|
}
|
||||||
|
BoardMouseFeedbakBorder.Visibility = Visibility.Visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardSideBtnMouseDown(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardSideBtnDownBorder != null) return;
|
||||||
|
lastBoardSideBtnDownBorder = (Border)sender;
|
||||||
|
if (lastBoardSideBtnDownBorder.Name == "BoardBackground") {
|
||||||
|
BoardSideBtnMouseFeedbakBorder.Margin = new Thickness(60, 0, 0, 0);
|
||||||
|
((Border)BoardSideBtnMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(0,4.5,4.5,0);
|
||||||
|
BoardSideBtnMouseFeedbakBorder.Visibility = Visibility.Visible;
|
||||||
|
} else if (lastBoardSideBtnDownBorder.Name == "BoardGesture") {
|
||||||
|
BoardSideBtnMouseFeedbakBorder.Margin = new Thickness(0);
|
||||||
|
((Border)BoardSideBtnMouseFeedbakBorder.Child).CornerRadius = new CornerRadius(4.5,0,0,4.5);
|
||||||
|
BoardSideBtnMouseFeedbakBorder.Visibility = Visibility.Visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardToolBtnMouseLeave(object sender, MouseEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder == null) return;
|
||||||
|
lastBoardToolBtnDownBorder = null;
|
||||||
|
BoardMouseFeedbakBorder.Visibility = Visibility.Collapsed;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardSideBtnMouseLeave(object sender, MouseEventArgs e) {
|
||||||
|
if (lastBoardSideBtnDownBorder == null) return;
|
||||||
|
lastBoardSideBtnDownBorder = null;
|
||||||
|
BoardSideBtnMouseFeedbakBorder.Visibility = Visibility.Collapsed;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardPenMouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder == null) return;
|
||||||
|
BoardToolBtnMouseLeave(sender, null);
|
||||||
|
PenIcon_Click(null,null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardSelectMouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder == null) return;
|
||||||
|
BoardToolBtnMouseLeave(sender, null);
|
||||||
|
SymbolIconSelect_MouseUp(null,null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardGestureMouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardSideBtnDownBorder == null) return;
|
||||||
|
BoardSideBtnMouseLeave(sender, null);
|
||||||
|
TwoFingerGestureBorder_MouseUp(null, null);
|
||||||
|
}
|
||||||
|
|
||||||
private void BoardChangeBackgroundColorBtn_MouseUp(object sender, RoutedEventArgs e) {
|
private void BoardChangeBackgroundColorBtn_MouseUp(object sender, RoutedEventArgs e) {
|
||||||
|
if (lastBoardSideBtnDownBorder == null) return;
|
||||||
|
BoardSideBtnMouseLeave(sender, null);
|
||||||
UpdateBoardBackgroundPanelDisplayStatus();
|
UpdateBoardBackgroundPanelDisplayStatus();
|
||||||
if (BoardBackgroundPopup.Visibility == Visibility.Visible) {
|
if (BoardBackgroundPopup.Visibility == Visibility.Visible) {
|
||||||
AnimationsHelper.HideWithSlideAndFade(BoardBackgroundPopup);
|
AnimationsHelper.HideWithSlideAndFade(BoardBackgroundPopup);
|
||||||
@ -16,7 +92,9 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BoardEraserIcon_Click(object sender, RoutedEventArgs e) {
|
private void BoardEraserMouseUp(object sender, RoutedEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder == null) return;
|
||||||
|
BoardToolBtnMouseLeave(sender, null);
|
||||||
if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint ||
|
if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint ||
|
||||||
inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke) {
|
inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke) {
|
||||||
if (BoardEraserSizePanel.Visibility == Visibility.Collapsed) {
|
if (BoardEraserSizePanel.Visibility == Visibility.Collapsed) {
|
||||||
@ -25,59 +103,28 @@ namespace Ink_Canvas {
|
|||||||
AnimationsHelper.HideWithSlideAndFade(BoardEraserSizePanel);
|
AnimationsHelper.HideWithSlideAndFade(BoardEraserSizePanel);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
forceEraser = true;
|
EraserIcon_Click(null,null);
|
||||||
forcePointEraser = true;
|
|
||||||
double k = 1;
|
|
||||||
if (Settings.Canvas.EraserShapeType == 0) {
|
|
||||||
switch (BoardComboBoxEraserSize.SelectedIndex)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
k = 0.5;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
k = 0.8;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
k = 1.25;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
k = 1.8;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
inkCanvas.EraserShape = new EllipseStylusShape(k * 90, k * 90);
|
|
||||||
} else if (Settings.Canvas.EraserShapeType == 1) {
|
|
||||||
switch (BoardComboBoxEraserSize.SelectedIndex)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
k = 0.7;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
k = 0.9;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
k = 1.2;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
k = 1.6;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
inkCanvas.EraserShape = new RectangleStylusShape(k * 90 * 0.6, k * 90);
|
|
||||||
}
|
|
||||||
|
|
||||||
// update tool selection
|
|
||||||
SelectedMode = ICCToolsEnum.EraseByGeometryMode;
|
|
||||||
ForceUpdateToolSelection(null);
|
|
||||||
|
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
|
|
||||||
drawingShapeMode = 0;
|
|
||||||
|
|
||||||
inkCanvas_EditingModeChanged(inkCanvas, null);
|
|
||||||
CancelSingleFingerDragMode();
|
|
||||||
|
|
||||||
HideSubPanels("eraser");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void BoardGeometryMouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder == null) return;
|
||||||
|
BoardToolBtnMouseLeave(sender, null);
|
||||||
|
ImageDrawShape_MouseUp(null,null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardUndoMouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder == null) return;
|
||||||
|
BoardToolBtnMouseLeave(sender, null);
|
||||||
|
SymbolIconUndo_MouseUp(null,null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BoardRedoMouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
|
if (lastBoardToolBtnDownBorder == null) return;
|
||||||
|
BoardToolBtnMouseLeave(sender, null);
|
||||||
|
SymbolIconRedo_MouseUp(null,null);
|
||||||
|
}
|
||||||
|
|
||||||
private void BoardEraserIconByStrokes_Click(object sender, RoutedEventArgs e) {
|
private void BoardEraserIconByStrokes_Click(object sender, RoutedEventArgs e) {
|
||||||
//if (BoardEraserByStrokes.Background.ToString() == "#FF679CF4") {
|
//if (BoardEraserByStrokes.Background.ToString() == "#FF679CF4") {
|
||||||
// AnimationsHelper.ShowWithSlideFromBottomAndFade(BoardDeleteIcon);
|
// AnimationsHelper.ShowWithSlideFromBottomAndFade(BoardDeleteIcon);
|
||||||
|
@ -387,7 +387,7 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
UnFoldFloatingBar_MouseUp(null, null);
|
UnFoldFloatingBar_MouseUp(null, null);
|
||||||
|
|
||||||
if (inkCanvas.EditingMode == InkCanvasEditingMode.Select) PenIcon_Click(null, null);
|
if (SelectedMode == ICCToolsEnum.CursorMode) PenIcon_Click(null, null);
|
||||||
|
|
||||||
if (currentMode == 0) {
|
if (currentMode == 0) {
|
||||||
LeftBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed;
|
LeftBottomPanelForPPTNavigation.Visibility = Visibility.Collapsed;
|
||||||
@ -746,8 +746,7 @@ namespace Ink_Canvas {
|
|||||||
RectangleSelectionHitTestBorder.Visibility = Visibility.Collapsed;
|
RectangleSelectionHitTestBorder.Visibility = Visibility.Collapsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PenIcon_Click(object sender, RoutedEventArgs e)
|
private void PenIcon_Click(object sender, RoutedEventArgs e) {
|
||||||
{
|
|
||||||
|
|
||||||
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
|
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
|
||||||
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
|
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
|
||||||
@ -842,12 +841,11 @@ namespace Ink_Canvas {
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">sender</param>
|
/// <param name="sender">sender</param>
|
||||||
/// <param name="e">MouseButtonEventArgs</param>
|
/// <param name="e">MouseButtonEventArgs</param>
|
||||||
private void SymbolIconSelect_MouseUp(object sender, MouseButtonEventArgs e)
|
private void SymbolIconSelect_MouseUp(object sender, MouseButtonEventArgs e) {
|
||||||
{
|
|
||||||
|
|
||||||
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
|
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
|
||||||
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
|
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
|
||||||
if (sender == SymbolIconSelect && lastBorderMouseDownObject != SymbolIconSelect) return;
|
if (sender == SymbolIconSelect && lastBorderMouseDownObject != SymbolIconSelect) return;
|
||||||
|
|
||||||
|
|
||||||
BtnSelect_Click(null, null);
|
BtnSelect_Click(null, null);
|
||||||
HideSubPanels("select");
|
HideSubPanels("select");
|
||||||
|
@ -21,7 +21,7 @@ namespace Ink_Canvas {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private CommitReason _currentCommitType = CommitReason.UserInput;
|
private CommitReason _currentCommitType = CommitReason.UserInput;
|
||||||
private bool IsEraseByPoint => inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint;
|
private bool IsEraseByPoint => SelectedMode == ICCToolsEnum.EraseByGeometryMode;
|
||||||
private StrokeCollection ReplacedStroke;
|
private StrokeCollection ReplacedStroke;
|
||||||
private StrokeCollection AddedStroke;
|
private StrokeCollection AddedStroke;
|
||||||
private StrokeCollection CuboidStrokeCollection;
|
private StrokeCollection CuboidStrokeCollection;
|
||||||
|
Loading…
Reference in New Issue
Block a user