[feature]一个简陋的橡皮大小菜单

This commit is contained in:
Dubi906w 2024-05-04 01:25:30 +08:00
parent 3873932d9d
commit fdddf09e69
3 changed files with 55 additions and 2 deletions

View File

@ -1756,6 +1756,22 @@
<TextBlock x:Name="ClearAndMouseToolbarTextBlock" Text="清并鼠" Foreground="Black" FontSize="8" Margin="0,1,0,0" TextAlignment="Center"/>
</ui:SimpleStackPanel>
</ui:SimpleStackPanel>
<Grid Width="0">
<Border ClipToBounds="True" Name="EraserSizePanel" Margin="-202,-87,92,37" CornerRadius="5" Background="#fafafa" Opacity="1" BorderBrush="{DynamicResource FloatBarBorderBrush}" BorderThickness="1">
<ui:SimpleStackPanel Margin="0">
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1" CornerRadius="6,6,0,0" Background="#2563eb" Margin="-1,-1,-1,1">
<TextBlock Text="橡皮大小" Foreground="White" Padding="0,5" FontSize="11" FontWeight="Bold" TextAlignment="Center"/>
</Border>
<ComboBox Name="ComboBoxEraserSizeFloatingBar" FontFamily="Microsoft YaHei UI" SelectedIndex="2" SelectionChanged="ComboBoxEraserSizeFloatingBar_SelectionChanged">
<ComboBoxItem Content="小" FontFamily="Microsoft YaHei UI"/>
<ComboBoxItem Content="较小" FontFamily="Microsoft YaHei UI"/>
<ComboBoxItem Content="中(默认)" FontFamily="Microsoft YaHei UI"/>
<ComboBoxItem Content="较大" FontFamily="Microsoft YaHei UI"/>
<ComboBoxItem Content="大" FontFamily="Microsoft YaHei UI"/>
</ComboBox>
</ui:SimpleStackPanel>
</Border>
</Grid>
<ui:SimpleStackPanel Orientation="{Binding ElementName=StackPanelFloatingBar, Path=Orientation}">
<Border Margin="2,0,2,0" BorderBrush="#71717a" BorderThickness="1,0,0,0" >

View File

@ -139,6 +139,7 @@ namespace Ink_Canvas {
AnimationsHelper.HideWithSlideAndFade(BoardDeleteIcon);
AnimationsHelper.HideWithSlideAndFade(BorderSettings, 0.5);
AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder);
AnimationsHelper.HideWithSlideAndFade(EraserSizePanel);
AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder);
if (ToggleSwitchDrawShapeBorderAutoHide.IsOn) {
AnimationsHelper.HideWithSlideAndFade(BorderDrawShape);
@ -822,13 +823,22 @@ namespace Ink_Canvas {
break;
}
inkCanvas.EraserShape = new EllipseStylusShape(k * 90, k * 90);
if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint)
{
HideSubPanels();
HideSubPanelsImmediately();
AnimationsHelper.ShowWithSlideFromBottomAndFade(EraserSizePanel);
} else
{
HideSubPanels("eraser");
}
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
drawingShapeMode = 0;
inkCanvas_EditingModeChanged(inkCanvas, null);
CancelSingleFingerDragMode();
HideSubPanels("eraser");
}
private void EraserIconByStrokes_Click(object sender, RoutedEventArgs e) {

View File

@ -9,6 +9,7 @@ using System.Windows.Input;
using System.Diagnostics;
using File = System.IO.File;
using System.Windows.Media;
using System.Windows.Ink;
namespace Ink_Canvas {
public partial class MainWindow : Window {
@ -207,6 +208,32 @@ namespace Ink_Canvas {
SaveSettingsToFile();
}
private void ComboBoxEraserSizeFloatingBar_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (!isLoaded) return;
Settings.Canvas.EraserSize = ComboBoxEraserSizeFloatingBar.SelectedIndex;
double k = 1;
switch (ComboBoxEraserSizeFloatingBar.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);
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
SaveSettingsToFile();
}
private void InkWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
if (!isLoaded) return;