diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml
index bb8031a..b21950f 100644
--- a/Ink Canvas/MainWindow.xaml
+++ b/Ink Canvas/MainWindow.xaml
@@ -4469,6 +4469,8 @@
@@ -4489,6 +4491,8 @@
Margin="0,1,0,0" TextAlignment="Center" />
@@ -4509,6 +4513,8 @@
Margin="0,1,0,0" TextAlignment="Center" />
@@ -5310,6 +5316,8 @@
@@ -5331,6 +5339,8 @@
FontSize="8" Margin="0,1,0,0" TextAlignment="Center" />
@@ -5352,6 +5362,8 @@
FontSize="8" Margin="0,1,0,0" TextAlignment="Center" />
@@ -5372,7 +5384,9 @@
FontSize="8" Margin="0,1,0,0" TextAlignment="Center" />
@@ -5634,7 +5648,10 @@
@@ -5791,7 +5813,9 @@
Orientation="{Binding ElementName=StackPanelFloatingBar, Path=Orientation}">
@@ -5802,7 +5826,9 @@
FontSize="8" Margin="0,1,0,0" TextAlignment="Center" />
@@ -5815,6 +5841,8 @@
diff --git a/Ink Canvas/MainWindow_cs/MW_AutoFold.cs b/Ink Canvas/MainWindow_cs/MW_AutoFold.cs
index 385ef36..4ea3e18 100644
--- a/Ink Canvas/MainWindow_cs/MW_AutoFold.cs
+++ b/Ink Canvas/MainWindow_cs/MW_AutoFold.cs
@@ -36,6 +36,11 @@ namespace Ink_Canvas {
}
private async void FoldFloatingBar_MouseUp(object sender, MouseButtonEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == Fold_Icon && lastBorderMouseDownObject != Fold_Icon) return;
+
// FloatingBarIcons_MouseUp_New(sender);
if (sender == null)
foldFloatingBarByUser = false;
diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs
index e0349e6..08ded5f 100644
--- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs
+++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs
@@ -433,6 +433,10 @@ namespace Ink_Canvas {
private void SymbolIconUndo_MouseUp(object sender, MouseButtonEventArgs e) {
//if (lastBorderMouseDownObject != sender) return;
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == SymbolIconUndo && lastBorderMouseDownObject != SymbolIconUndo) return;
+
if (!BtnUndo.IsEnabled) return;
BtnUndo_Click(BtnUndo, null);
HideSubPanels();
@@ -441,6 +445,10 @@ namespace Ink_Canvas {
private void SymbolIconRedo_MouseUp(object sender, MouseButtonEventArgs e) {
//if (lastBorderMouseDownObject != sender) return;
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == SymbolIconRedo && lastBorderMouseDownObject != SymbolIconRedo) return;
+
if (!BtnRedo.IsEnabled) return;
BtnRedo_Click(BtnRedo, null);
HideSubPanels();
@@ -455,6 +463,11 @@ namespace Ink_Canvas {
private void ImageBlackboard_MouseUp(object sender, MouseButtonEventArgs e)
{
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == WhiteboardFloatingBarBtn && lastBorderMouseDownObject != WhiteboardFloatingBarBtn) return;
+
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
RightUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
if (isDisplayingOrHidingBlackboard) return;
@@ -622,6 +635,11 @@ namespace Ink_Canvas {
#region 清空畫布按鈕
private void SymbolIconDelete_MouseUp(object sender, MouseButtonEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == SymbolIconDelete && lastBorderMouseDownObject != SymbolIconDelete) return;
+
if (inkCanvas.GetSelectedStrokes().Count > 0) {
inkCanvas.Strokes.Remove(inkCanvas.GetSelectedStrokes());
GridInkCanvasSelectionCover.Visibility = Visibility.Collapsed;
@@ -650,6 +668,11 @@ namespace Ink_Canvas {
/// MouseButtonEventArgs
private void SymbolIconSelect_MouseUp(object sender, MouseButtonEventArgs e)
{
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == SymbolIconSelect && lastBorderMouseDownObject != SymbolIconSelect) return;
+
FloatingbarSelectionBG.Visibility = Visibility.Visible;
System.Windows.Controls.Canvas.SetLeft(FloatingbarSelectionBG, 140);
BtnSelect_Click(null, null);
@@ -657,7 +680,19 @@ namespace Ink_Canvas {
}
#endregion
-
+
+ private void FloatingBarToolBtnMouseDownFeedback_Panel(object sender, MouseButtonEventArgs e) {
+ var s = (Panel)sender;
+ lastBorderMouseDownObject = sender;
+ if (s == SymbolIconDelete) s.Background = new SolidColorBrush(Color.FromArgb(28, 127, 29, 29));
+ else s.Background = new SolidColorBrush(Color.FromArgb(28, 24, 24, 27));
+ }
+
+ private void FloatingBarToolBtnMouseLeaveFeedback_Panel(object sender, MouseEventArgs e) {
+ var s = (Panel)sender;
+ lastBorderMouseDownObject = null;
+ s.Background = new SolidColorBrush(Colors.Transparent);
+ }
private void SymbolIconSettings_Click(object sender, RoutedEventArgs e) {
if (isOpeningOrHidingSettingsPane != false) return;
@@ -665,8 +700,6 @@ namespace Ink_Canvas {
BtnSettings_Click(null, null);
}
-
-
private async void SymbolIconScreenshot_MouseUp(object sender, MouseButtonEventArgs e) {
HideSubPanelsImmediately();
await Task.Delay(50);
@@ -969,6 +1002,11 @@ namespace Ink_Canvas {
}
private void SymbolIconTools_MouseUp(object sender, MouseButtonEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == ToolsFloatingBarBtn && lastBorderMouseDownObject != ToolsFloatingBarBtn) return;
+
if (BorderTools.Visibility == Visibility.Visible) {
AnimationsHelper.HideWithSlideAndFade(EraserSizePanel);
AnimationsHelper.HideWithSlideAndFade(BorderTools);
@@ -1068,6 +1106,9 @@ namespace Ink_Canvas {
}
private async void CursorIcon_Click(object sender, RoutedEventArgs e) {
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender==Cursor_Icon && lastBorderMouseDownObject != Cursor_Icon) return;
// 隱藏高亮
FloatingbarSelectionBG.Visibility = Visibility.Hidden;
System.Windows.Controls.Canvas.SetLeft(FloatingbarSelectionBG, 0);
@@ -1141,6 +1182,11 @@ namespace Ink_Canvas {
}
private void PenIcon_Click(object sender, RoutedEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == Pen_Icon && lastBorderMouseDownObject != Pen_Icon) return;
+
FloatingbarSelectionBG.Visibility = Visibility.Visible;
System.Windows.Controls.Canvas.SetLeft(FloatingbarSelectionBG, 28);
@@ -1226,6 +1272,11 @@ namespace Ink_Canvas {
}
private void EraserIcon_Click(object sender, RoutedEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == Eraser_Icon && lastBorderMouseDownObject != Eraser_Icon) return;
+
FloatingbarSelectionBG.Visibility = Visibility.Visible;
System.Windows.Controls.Canvas.SetLeft(FloatingbarSelectionBG, 84);
@@ -1309,6 +1360,11 @@ namespace Ink_Canvas {
}
private void EraserIconByStrokes_Click(object sender, RoutedEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == EraserByStrokes_Icon && lastBorderMouseDownObject != EraserByStrokes_Icon) return;
+
FloatingbarSelectionBG.Visibility = Visibility.Visible;
System.Windows.Controls.Canvas.SetLeft(FloatingbarSelectionBG, 112);
@@ -1326,6 +1382,11 @@ namespace Ink_Canvas {
}
private void CursorWithDelIcon_Click(object sender, RoutedEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == CursorWithDelFloatingBarBtn && lastBorderMouseDownObject != CursorWithDelFloatingBarBtn) return;
+
SymbolIconDelete_MouseUp(sender, null);
CursorIcon_Click(null, null);
}
diff --git a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs
index aed3035..f964ed5 100644
--- a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs
+++ b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs
@@ -17,6 +17,11 @@ namespace Ink_Canvas {
#region Floating Bar Control
private void ImageDrawShape_MouseUp(object sender, MouseButtonEventArgs e) {
+
+ if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel)
+ ((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent);
+ if (sender == ShapeDrawFloatingBarBtn && lastBorderMouseDownObject != ShapeDrawFloatingBarBtn) return;
+
// FloatingBarIcons_MouseUp_New(sender);
if (BorderDrawShape.Visibility == Visibility.Visible) {
AnimationsHelper.HideWithSlideAndFade(EraserSizePanel);
diff --git a/Ink Canvas/Properties/AssemblyInfo.cs b/Ink Canvas/Properties/AssemblyInfo.cs
index bbbaba8..2785d53 100644
--- a/Ink Canvas/Properties/AssemblyInfo.cs
+++ b/Ink Canvas/Properties/AssemblyInfo.cs
@@ -49,5 +49,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("5.0.4.1")]
-[assembly: AssemblyFileVersion("5.0.4.1")]
\ No newline at end of file
+[assembly: AssemblyVersion("5.0.5.0")]
+[assembly: AssemblyFileVersion("5.0.5.0")]
\ No newline at end of file