[update] 跟随ica更新旧版手势橡皮

This commit is contained in:
Dubi906w 2024-08-15 20:03:07 +08:00
parent 22efc05e86
commit 54a5c5de72
5 changed files with 1246 additions and 1150 deletions

View File

@ -41,8 +41,8 @@
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MainWindow_cs/MW_ContextMenus.xaml"/>
<ResourceDictionary Source="MainWindow_cs/MW_Eraser.xaml"/>
<ResourceDictionary Source="MainWindow_cs/MW_ContextMenus.xaml" />
<ResourceDictionary Source="MainWindow_cs/MW_Eraser.xaml" />
</ResourceDictionary.MergedDictionaries>
<c:IsEnabledToOpacityConverter x:Key="IsEnabledToOpacityConverter" />
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
@ -131,7 +131,7 @@
</Popup>
<!--// 黑/白 板幕布 //-->
<Image Name="FreezeFrameBackgroundImage" Visibility="Collapsed"/>
<Image Name="FreezeFrameBackgroundImage" Visibility="Collapsed" />
<Grid Name="GridBackgroundCoverHolder">
<Grid Name="GridBackgroundCover" Visibility="Collapsed" Background="#1F1F1F" />
</Grid>
@ -189,7 +189,7 @@
<Border.RenderTransform>
<TransformGroup>
<RotateTransform x:Name="StrokeSelectionBorderRotateTransform" CenterX="0" CenterY="0" />
<TranslateTransform x:Name="StrokeSelectionBorderTranslateTransform" X="0" Y="0"/>
<TranslateTransform x:Name="StrokeSelectionBorderTranslateTransform" X="0" Y="0" />
</TransformGroup>
</Border.RenderTransform>
<Grid Margin="-9" Name="StrokeSelectionBorderGrid">
@ -300,7 +300,7 @@
</ui:SimpleStackPanel>
</Border>
</Border>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa"/>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa" />
<Border Name="BorderImageRotateClockwise" Background="Transparent" RenderTransformOrigin="0.5,0.5"
MouseDown="BorderStrokeSelectionToolButton_MouseDown" MouseLeave="BorderStrokeSelectionToolButton_MouseLeave" MouseUp="ImageRotateClockwise_MouseUp">
<Border Padding="7,0" Margin="3" CornerRadius="4">
@ -362,7 +362,7 @@
</ui:SimpleStackPanel>
</Border>
</Border>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa"/>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa" />
<Border Name="BorderImageFlipHorizontal" Background="Transparent"
MouseDown="BorderStrokeSelectionToolButton_MouseDown" MouseLeave="BorderStrokeSelectionToolButton_MouseLeave" MouseUp="ImageFlip_MouseUp">
<Border Padding="7,0" Margin="3" CornerRadius="4">
@ -399,10 +399,10 @@
</ui:SimpleStackPanel>
</Border>
</Border>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa"/>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa" />
<Border Name="BorderStrokeSelectionLock" Background="Transparent"
MouseDown="BorderStrokeSelectionToolButton_MouseDown" MouseLeave="BorderStrokeSelectionToolButton_MouseLeave" MouseUp="BorderStrokeSelectionLock_MouseUp">
<Border Padding="7,0" Margin="3" CornerRadius="4" >
<Border Padding="7,0" Margin="3" CornerRadius="4">
<ui:SimpleStackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="4" Orientation="Horizontal">
<Image Width="24" Height="24" Name="BorderStrokeSelectionLock_LockClose" Visibility="Collapsed">
<Image.Source>
@ -465,7 +465,7 @@
</ui:SimpleStackPanel>
</Border>
</Border>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa"/>
<Line X1="0" X2="0" Y1="0" Y2="47" Height="47" Margin="2,-2" StrokeThickness="1" Stroke="#66a1a1aa" />
<Border Name="BorderStrokeMoreMenuButton" Background="Transparent"
MouseDown="BorderStrokeSelectionToolButton_MouseDown" MouseLeave="BorderStrokeSelectionToolButton_MouseLeave"
MouseUp="BorderStrokeMoreMenuButton_MouseUp">
@ -490,11 +490,11 @@
</Border>
</Grid>
<Grid Background="Transparent" Name="GridEraserOverlay" Visibility="Collapsed" IsHitTestVisible="True">
<Border Loaded="EraserOverlay_Loaded" Background="Transparent" ForceCursor="True" Cursor="Arrow"/>
<helpers:DrawingVisualCanvas IsHitTestVisible="False" x:Name="EraserOverlay_DrawingVisual"/>
<Border Loaded="EraserOverlay_Loaded" Background="Transparent" ForceCursor="True" Cursor="Arrow" />
<helpers:DrawingVisualCanvas IsHitTestVisible="False" x:Name="EraserOverlay_DrawingVisual" />
</Grid>
<Grid Name="ShapeDrawingOverlay">
<inkCanvas:ShapeDrawingLayer x:Name="ShapeDrawingV2Layer"/>
<inkCanvas:ShapeDrawingLayer x:Name="ShapeDrawingV2Layer" />
</Grid>
<!--// BlackBoard 界面 //-->
@ -644,7 +644,7 @@
</Image.Source>
</Image>
<TextBlock Text="新页面" Foreground="#18181b" VerticalAlignment="Bottom"
HorizontalAlignment="Center" FontSize="12" Name="BtnWhiteboardAddTextBlockLeft"/>
HorizontalAlignment="Center" FontSize="12" Name="BtnWhiteboardAddTextBlockLeft" />
</Grid>
</Border>
</ui:SimpleStackPanel>
@ -1086,7 +1086,7 @@
</Grid>
</ui:SimpleStackPanel>
<Border Name="BoardSideBtnMouseFeedbakBorder" Visibility="Collapsed" IsHitTestVisible="False" Width="60" HorizontalAlignment="Left" Height="50" Padding="1">
<Border CornerRadius="4.5,0,0,0" Background="#2509090b"/>
<Border CornerRadius="4.5,0,0,0" Background="#2509090b" />
</Border>
</Grid>
</Border>
@ -2469,7 +2469,7 @@
</Border>
</ui:SimpleStackPanel>
<Border Name="BoardMouseFeedbakBorder" Visibility="Collapsed" IsHitTestVisible="False" Width="60" HorizontalAlignment="Left" Height="50" Padding="1">
<Border CornerRadius="4.5,0,0,0" Background="#2509090b"/>
<Border CornerRadius="4.5,0,0,0" Background="#2509090b" />
</Border>
</Grid>
</Border>
@ -2936,7 +2936,7 @@
<!-- 通知弹窗 -->
<Grid Name="GridNotifications" Margin="0,110" Visibility="Visible" HorizontalAlignment="Center"
VerticalAlignment="Bottom"/>
VerticalAlignment="Bottom" />
<!--// Old UI //-->
<!--<Viewbox Name="ViewBoxStackPanelMain" Visibility="Collapsed" Margin="10,10,10,55" HorizontalAlignment="Right"
VerticalAlignment="Bottom" Width="46">
@ -3399,11 +3399,11 @@
<Grid>
<Canvas Name="FloatingbarSelectionBGCanvas" Margin="2,0,2,0">
<Border Name="FloatingbarSelectionBG" Visibility="Hidden" Width="{Binding ElementName=Cursor_Icon, Path=Width}" Height="34"
Canvas.Left="28" Margin="0,-2,0,-2" Background="#2563eb"/>
Canvas.Left="28" Margin="0,-2,0,-2" Background="#2563eb" />
</Canvas>
<Canvas Name="FloatingbarFreezeBtnBGCanvas" Margin="2,0,2,0" Visibility="Collapsed">
<Border Name="FloatingbarFreezeBtnBG" Visibility="Hidden" Width="{Binding ElementName=Cursor_Icon, Path=Width}" Height="34"
Canvas.Left="196" Margin="0,-2,0,-2" Background="#2563eb"/>
Canvas.Left="196" Margin="0,-2,0,-2" Background="#2563eb" />
</Canvas>
<ui:SimpleStackPanel Margin="2,0" Name="StackPanelFloatingBar" Orientation="Horizontal">
<!--<ui:SimpleStackPanel Name="Cursor_Icon" MouseDown="Border_MouseDown" MouseUp="CursorIcon_Click"-->
@ -6357,7 +6357,7 @@
TextWrapping="Wrap"
Foreground="#a1a1aa" />
<Grid>
<Image Source="Resources/Icons-png/windows-ink.png" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image Source="Resources/Icons-png/windows-ink.png" RenderOptions.BitmapScalingMode="HighQuality" />
<Canvas>
<Border Canvas.Top="7" Canvas.Left="95" CornerRadius="6.25" Background="#5522c55e" Height="12.5" Width="25.75"></Border>
<Border Canvas.Top="7" Canvas.Left="124.5" CornerRadius="6.25" Background="#553b82f6" Height="12.5" Width="25.75"></Border>
@ -6729,7 +6729,7 @@
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchOnlyDisplayEraserBtn"
IsOn="True" FontFamily="Microsoft YaHei UI"
FontWeight="Bold" Toggled="ToggleSwitchOnlyDisplayEraserBtn_OnToggled"/>
FontWeight="Bold" Toggled="ToggleSwitchOnlyDisplayEraserBtn_OnToggled" />
</ui:SimpleStackPanel>
<TextBlock
Text="# 当橡皮按钮只显示线擦或板擦时,开启该选项可以让该按钮直接显示为“橡皮”按钮,而不显示是板擦按钮还是线擦按钮。"
@ -7443,18 +7443,6 @@
TouchDown="BorderCalculateMultiplier_TouchDown" />
<TextBlock Name="TextBlockShowCalculatedMultiplier" FontSize="14" />
</ui:SimpleStackPanel>
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
Stroke="#3f3f46"
StrokeThickness="1" Margin="0,4,0,4" />
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="橡皮擦绑定触摸大小倍数"
VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchEraserBindTouchMultiplier" IsOn="True"
FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchEraserBindTouchMultiplier_Toggled" />
</ui:SimpleStackPanel>
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
Stroke="#3f3f46"
StrokeThickness="1" Margin="0,4,0,4" />
@ -7487,6 +7475,101 @@
Text="{Binding Value, ElementName=FingerModeBoundsWidthSlider, Mode=OneWay}"
VerticalAlignment="Bottom" Margin="10,0,0,8" FontSize="14" Width="30" />
</StackPanel>
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
Stroke="#3f3f46"
StrokeThickness="1" Margin="0,4,0,4" />
<TextBlock Text="# ThresholdValue 参数用来区分 墨迹擦、面积擦。触控面积达到 BoundsWidth 的界限后,触控面积小于等于 BoundsWidth * ThresholdValue 则为墨迹擦,大于则为面积擦。默认值均为 2.5"
TextWrapping="Wrap" Foreground="#a1a1aa" />
<StackPanel Orientation="Horizontal">
<Slider
x:Name="NibModeBoundsWidthThresholdValueSlider"
Width="340"
ui:ControlHelper.Header="笔尖模式 ThresholdValue"
FontSize="15"
IsSnapToTickEnabled="True"
Maximum="10"
Minimum="0"
TickFrequency="0.01"
TickPlacement="None"
ValueChanged="NibModeBoundsWidthThresholdValueSlider_ValueChanged"
Value="2.5" />
<TextBlock
Width="30"
Margin="10,0,0,8"
VerticalAlignment="Bottom"
FontSize="14"
Text="{Binding Value, ElementName=NibModeBoundsWidthThresholdValueSlider, Mode=OneWay}" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Slider
x:Name="FingerModeBoundsWidthThresholdValueSlider"
Width="340"
ui:ControlHelper.Header="手指模式 ThresholdValue"
FontSize="15"
IsSnapToTickEnabled="True"
Maximum="10"
Minimum="0"
TickFrequency="0.01"
TickPlacement="None"
ValueChanged="FingerModeBoundsWidthThresholdValueSlider_ValueChanged"
Value="2.5" />
<TextBlock
Width="30"
Margin="10,0,0,8"
VerticalAlignment="Bottom"
FontSize="14"
Text="{Binding Value, ElementName=FingerModeBoundsWidthThresholdValueSlider, Mode=OneWay}" />
</StackPanel>
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
Stroke="#3f3f46"
StrokeThickness="1" Margin="0,4,0,4" />
<TextBlock Text="# EraserSize 参数用来调节触控的面积擦大小。默认值均为 0.8"
TextWrapping="Wrap" Foreground="#a1a1aa" />
<StackPanel Orientation="Horizontal">
<Slider
x:Name="NibModeBoundsWidthEraserSizeSlider"
Width="340"
ui:ControlHelper.Header="笔尖模式 EraserSize"
FontSize="15"
IsSnapToTickEnabled="True"
Maximum="10"
Minimum="0.01"
TickFrequency="0.01"
TickPlacement="None"
ValueChanged="NibModeBoundsWidthEraserSizeSlider_ValueChanged"
Value="0.8" />
<TextBlock
Width="30"
Margin="10,0,0,8"
VerticalAlignment="Bottom"
FontSize="14"
Text="{Binding Value, ElementName=NibModeBoundsWidthEraserSizeSlider, Mode=OneWay}" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Slider
x:Name="FingerModeBoundsWidthEraserSizeSlider"
Width="340"
ui:ControlHelper.Header="手指模式 EraserSize"
FontSize="15"
IsSnapToTickEnabled="True"
Maximum="10"
Minimum="0.01"
TickFrequency="0.01"
TickPlacement="None"
ValueChanged="FingerModeBoundsWidthEraserSizeSlider_ValueChanged"
Value="0.8" />
<TextBlock
Width="30"
Margin="10,0,0,8"
VerticalAlignment="Bottom"
FontSize="14"
Text="{Binding Value, ElementName=FingerModeBoundsWidthEraserSizeSlider, Mode=OneWay}" />
</StackPanel>
<Line HorizontalAlignment="Center" X1="0" Y1="0" X2="400" Y2="0"
Stroke="#3f3f46"
StrokeThickness="1" Margin="0,4,0,4" />
<TextBlock Text="# 四边红外触控屏启用 四边红外模式 有利于触控面积的确定"
TextWrapping="Wrap" Foreground="#a1a1aa" />
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="四边红外模式" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
@ -8195,7 +8278,7 @@
SelectedIndex="1" HorizontalAlignment="Center">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem" BasedOn="{StaticResource {x:Type ComboBoxItem}}">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="HorizontalAlignment" Value="Left" />
</Style>
</ComboBox.ItemContainerStyle>
<ComboBox.ItemTemplate>
@ -8215,7 +8298,7 @@
FontSize="14" Margin="0,0,16,0" />
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="10">
<TextBox ui:TextBoxHelper.IsDeleteButtonVisible="False" Width="320" x:Name="CustomStorageLocation" Text=""
TextWrapping="NoWrap" AcceptsTab="False" AcceptsReturn="False" IsReadOnly="True" IsReadOnlyCaretVisible="True"/>
TextWrapping="NoWrap" AcceptsTab="False" AcceptsReturn="False" IsReadOnly="True" IsReadOnlyCaretVisible="True" />
<Button Name="CustomStorageLocationButton" Content="浏览"
Click="CustomStorageLocationButton_Click" />
</ui:SimpleStackPanel>
@ -8244,12 +8327,12 @@
</DrawingImage>
</WrapPanel.Resources>
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="4" Margin="0,0,16,0" Name="CustomStorageNonRemovableDriveTip">
<Image Width="18" Height="18" Source="{StaticResource SuccessIcon}"/>
<TextBlock FontSize="13" VerticalAlignment="Center" Text="非可移动存储介质"/>
<Image Width="18" Height="18" Source="{StaticResource SuccessIcon}" />
<TextBlock FontSize="13" VerticalAlignment="Center" Text="非可移动存储介质" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="4" Margin="0,0,13,0" Name="CustomStorageWritableTip">
<Image Width="18" Height="18" Source="{StaticResource FailedIcon}"/>
<TextBlock FontSize="13" VerticalAlignment="Center" Text="目录似乎没有写入权限"/>
<Image Width="18" Height="18" Source="{StaticResource FailedIcon}" />
<TextBlock FontSize="13" VerticalAlignment="Center" Text="目录似乎没有写入权限" />
</ui:SimpleStackPanel>
</WrapPanel>
<TextBlock Text="# 请注意检查存储文件夹是否有写入权限" TextWrapping="Wrap" Foreground="#a1a1aa" />
@ -8269,21 +8352,21 @@
FontSize="20" />
<Border Height="24" Background="#27272a" Width="388">
<StackPanel Orientation="Horizontal">
<Border Background="#0ea5e9" Name="DiskUsageUsedSpaceBorder" Width="123"/>
<Border Background="#ef4444" Name="DiskUsageICCSpaceBorder" Width="3"/>
<Border Background="#0ea5e9" Name="DiskUsageUsedSpaceBorder" Width="123" />
<Border Background="#ef4444" Name="DiskUsageICCSpaceBorder" Width="3" />
</StackPanel>
</Border>
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="16">
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#0ea5e9"/>
<Border Width="12" Height="12" Background="#0ea5e9" />
<TextBlock Text="硬盘其他占用" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#ef4444"/>
<Border Width="12" Height="12" Background="#ef4444" />
<TextBlock Text="ICC数据占用" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#27272a"/>
<Border Width="12" Height="12" Background="#27272a" />
<TextBlock Text="空闲空间" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
</ui:SimpleStackPanel>
@ -8297,34 +8380,34 @@
Stroke="#3f3f46" StrokeThickness="1" Margin="0,4,0,4" />
<Border Height="24" Background="#27272a" Width="388">
<StackPanel Orientation="Horizontal">
<Border Name="StorageDirectoryAutoSavedInkUsageBorder" Background="#f97316" Width="48"/>
<Border Name="StorageDirectoryQuotedPhotoUsageBorder" Background="#eab308" Width="12"/>
<Border Name="StorageDirectoryExportedInkUsageBorder" Background="#22c55e" Width="67"/>
<Border Name="StorageDirectoryCachesUsageBorder" Background="#0ea5e9" Width="193"/>
<Border Name="StorageDirectoryAutoSavedSnapshotUsageBorder" Background="#a855f7" Width="68"/>
<Border Name="StorageDirectoryAutoSavedInkUsageBorder" Background="#f97316" Width="48" />
<Border Name="StorageDirectoryQuotedPhotoUsageBorder" Background="#eab308" Width="12" />
<Border Name="StorageDirectoryExportedInkUsageBorder" Background="#22c55e" Width="67" />
<Border Name="StorageDirectoryCachesUsageBorder" Background="#0ea5e9" Width="193" />
<Border Name="StorageDirectoryAutoSavedSnapshotUsageBorder" Background="#a855f7" Width="68" />
</StackPanel>
</Border>
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="16">
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#f97316"/>
<Border Width="12" Height="12" Background="#f97316" />
<TextBlock Text="自动保存的墨迹" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#eab308"/>
<Border Width="12" Height="12" Background="#eab308" />
<TextBlock Text="板书的图片引用" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#22c55e"/>
<Border Width="12" Height="12" Background="#22c55e" />
<TextBlock Text="导出的板书文件" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="16">
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#0ea5e9"/>
<Border Width="12" Height="12" Background="#0ea5e9" />
<TextBlock Text="缓存文件" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Border Width="12" Height="12" Background="#a855f7"/>
<Border Width="12" Height="12" Background="#a855f7" />
<TextBlock Text="自动保存的截图文件" Margin="3,0,0,0" VerticalAlignment="Center" Foreground="#f4f4f5" />
</StackPanel>
</ui:SimpleStackPanel>
@ -8602,7 +8685,7 @@
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchScreenshotUsingMagnificationAPI"
IsOn="True" FontFamily="Microsoft YaHei UI"
FontWeight="Bold" Toggled="ToggleSwitchScreenshotUsingMagnificationAPI_OnToggled"/>
FontWeight="Bold" Toggled="ToggleSwitchScreenshotUsingMagnificationAPI_OnToggled" />
</ui:SimpleStackPanel>
<TextBlock Text="# 使用 Magnification API 和弃用的函数 MagSetImageScalingCallback 实现过滤ICC窗口截图。"
TextWrapping="Wrap" Foreground="#a1a1aa" />
@ -8620,7 +8703,7 @@
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchCopyScreenshotToClipboard"
IsOn="True" FontFamily="Microsoft YaHei UI"
FontWeight="Bold" Toggled="ToggleSwitchCopyScreenshotToClipboard_OnToggled"/>
FontWeight="Bold" Toggled="ToggleSwitchCopyScreenshotToClipboard_OnToggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="截图时隐藏ICC主窗口"
@ -8628,7 +8711,7 @@
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchHideMainWinWhenScreenshot"
IsOn="True" FontFamily="Microsoft YaHei UI"
FontWeight="Bold" Toggled="ToggleSwitchHideMainWinWhenScreenshot_OnToggled"/>
FontWeight="Bold" Toggled="ToggleSwitchHideMainWinWhenScreenshot_OnToggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="截图时附加墨迹到截图文件上"
@ -8636,7 +8719,7 @@
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchAttachInkWhenScreenshot"
IsOn="True" FontFamily="Microsoft YaHei UI"
FontWeight="Bold" Toggled="ToggleSwitchAttachInkWhenScreenshot_OnToggled"/>
FontWeight="Bold" Toggled="ToggleSwitchAttachInkWhenScreenshot_OnToggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="窗口截图只截取最大化窗口"
@ -8644,7 +8727,7 @@
<ui:ToggleSwitch OnContent="" OffContent=""
Name="ToggleSwitchOnlySnapshotMaximizeWindow"
IsOn="True" FontFamily="Microsoft YaHei UI"
FontWeight="Bold" Toggled="ToggleSwitchOnlySnapshotMaximizeWindow_OnToggled"/>
FontWeight="Bold" Toggled="ToggleSwitchOnlySnapshotMaximizeWindow_OnToggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Vertical" HorizontalAlignment="Left" Spacing="8">
<TextBlock Foreground="#fafafa" Text="截图文件文件名" VerticalAlignment="Center"
@ -8653,29 +8736,29 @@
<TextBox ui:TextBoxHelper.IsDeleteButtonVisible="False" Width="320" x:Name="ScreenshotFileName" Text='Screenshot-[YYYY]-[MM]-[DD]-[HH]-[mm]-[ss].png'
TextWrapping="NoWrap" AcceptsTab="False" AcceptsReturn="False"
TextChanged="ScreenshotFileName_TextChanged" />
<Button Name="ScreenshotFileNameResetButton" Content="重置"/>
<Button Name="ScreenshotFileNameResetButton" Content="重置" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Vertical" Spacing="2">
<TextBlock Text="# 模板语法请参考下面可用的语法:" TextWrapping="Wrap" Foreground="#a1a1aa" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[YYYY] - 日期年份"/>
<TextBlock Grid.Column="1" Grid.Row="0" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[MM] - 日期月份"/>
<TextBlock Grid.Column="2" Grid.Row="0" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[DD] - 日期号数"/>
<TextBlock Grid.Column="0" Grid.Row="1" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[HH] - 日期小时数"/>
<TextBlock Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[mm] - 日期分钟数"/>
<TextBlock Grid.Column="2" Grid.Row="1" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[ss] - 日期秒数"/>
<TextBlock Grid.Column="0" Grid.Row="2" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[width] - 图片宽度"/>
<TextBlock Grid.Column="1" Grid.Row="2" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[height] - 图片高度"/>
<TextBlock Grid.Column="0" Grid.Row="0" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[YYYY] - 日期年份" />
<TextBlock Grid.Column="1" Grid.Row="0" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[MM] - 日期月份" />
<TextBlock Grid.Column="2" Grid.Row="0" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[DD] - 日期号数" />
<TextBlock Grid.Column="0" Grid.Row="1" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[HH] - 日期小时数" />
<TextBlock Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[mm] - 日期分钟数" />
<TextBlock Grid.Column="2" Grid.Row="1" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[ss] - 日期秒数" />
<TextBlock Grid.Column="0" Grid.Row="2" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[width] - 图片宽度" />
<TextBlock Grid.Column="1" Grid.Row="2" TextWrapping="Wrap" Foreground="#a1a1aa" Text="[height] - 图片高度" />
</Grid>
</ui:SimpleStackPanel>
</ui:SimpleStackPanel>
@ -8745,7 +8828,7 @@
<TextBlock
Text="# InkCanvasForClass 项目非常需要您的帮助,您的捐款是我们继续开发的动力,同时您也可以成为 Golden Sponsor。"
TextWrapping="Wrap" Foreground="#a1a1aa" />
<Image Margin="-12,-4,-12,00" Source="./Resources/qrcodes.png"/>
<Image Margin="-12,-4,-12,00" Source="./Resources/qrcodes.png" />
</ui:SimpleStackPanel>
</GroupBox>
<GroupBox Name="SettingsAboutGroupBox" Margin="0,0,0,100">
@ -8768,7 +8851,7 @@
<TextBlock x:Name="AppVersionTextBlock" FontSize="18" FontWeight="Bold"
Text="5.X.X.X" />
</ui:SimpleStackPanel>
<Image Name="CustomCopyrightBanner"/>
<Image Name="CustomCopyrightBanner" />
<TextBlock
Text="# 使用和分发本软件前,请您应当且务必知晓相关开源协议,且您应当知晓本软件基于 https://github.com/WXRIW/Ink-Canvas 修改而成。"
TextWrapping="Wrap" Foreground="#a1a1aa" />
@ -8904,7 +8987,7 @@
<TextBlock
Text="# 排名不分先后"
TextWrapping="Wrap" Foreground="#a1a1aa" />
<Image Source="Resources/contributors.png"/>
<Image Source="Resources/contributors.png" />
<ui:SimpleStackPanel Spacing="3" Orientation="Vertical">
<TextBlock
Text="© 2024 Dubi906w(Kriastans) 版权所有" FontWeight="Bold"
@ -9117,7 +9200,7 @@
<Grid>
<Image Height="28" Width="28">
<Image.Source>
<DrawingImage >
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="#FFFFFFFF" Geometry="F0 M24,24z M0,0z M6.0798,3.17643C7.68668,2.57385 9.81582,2.25 12,2.25 14.1842,2.25 16.3133,2.57385 17.9202,3.17643 18.7225,3.47728 19.4021,3.85027 19.8944,4.29596 20.3864,4.7414 20.75,5.31783 20.75,6L20.75,12 20.75,18C20.75,18.6822 20.3864,19.2586 19.8944,19.704 19.4021,20.1497 18.7225,20.5227 17.9202,20.8236 16.3133,21.4261 14.1842,21.75 12,21.75 9.81582,21.75 7.68668,21.4261 6.0798,20.8236 5.27753,20.5227 4.5979,20.1497 4.10561,19.704 3.61358,19.2586 3.25,18.6822 3.25,18L3.25,12 3.25,6C3.25,5.31783 3.61358,4.7414 4.10561,4.29596 4.5979,3.85027 5.27753,3.47728 6.0798,3.17643z M4.75,14.1841L4.75,18C4.75,18.1135 4.80785,18.3164 5.11232,18.5921 5.41653,18.8675 5.90847,19.1573 6.60649,19.4191 8.00019,19.9417 9.94071,20.25 12,20.25 14.0593,20.25 15.9998,19.9417 17.3935,19.4191 18.0915,19.1573 18.5835,18.8675 18.8877,18.5921 19.1922,18.3164 19.25,18.1135 19.25,18L19.25,14.1841C18.8636,14.4248 18.4152,14.6379 17.9202,14.8236 16.3133,15.4261 14.1842,15.75 12,15.75 9.81582,15.75 7.68668,15.4261 6.0798,14.8236 5.58478,14.6379 5.13644,14.4248 4.75,14.1841z M19.25,12L19.25,8.18414C18.8636,8.42484 18.4152,8.63793 17.9202,8.82357 16.3133,9.42615 14.1842,9.75 12,9.75 9.81582,9.75 7.68668,9.42615 6.0798,8.82357 5.58478,8.63793 5.13644,8.42484 4.75,8.18414L4.75,12C4.75,12.1135 4.80785,12.3164 5.11232,12.5921 5.41653,12.8675 5.90847,13.1573 6.60649,13.4191 8.00019,13.9417 9.94071,14.25 12,14.25 14.0593,14.25 15.9998,13.9417 17.3935,13.4191 18.0915,13.1573 18.5835,12.8675 18.8877,12.5921 19.1922,12.3164 19.25,12.1135 19.25,12z M5.11232,6.59206C4.80785,6.3164 4.75,6.11348 4.75,6 4.75,5.88652 4.80784,5.6836 5.11232,5.40794 5.41653,5.13253 5.90847,4.84268 6.60649,4.58093 8.00019,4.05829 9.94071,3.75 12,3.75 14.0593,3.75 15.9998,4.05829 17.3935,4.58093 18.0915,4.84268 18.5835,5.13253 18.8877,5.40794 19.1922,5.6836 19.25,5.88652 19.25,6 19.25,6.11348 19.1922,6.3164 18.8877,6.59206 18.5835,6.86747 18.0915,7.15732 17.3935,7.41907 15.9998,7.94171 14.0593,8.25 12,8.25 9.94071,8.25 8.00019,7.94171 6.60649,7.41907 5.90847,7.15732 5.41653,6.86747 5.11232,6.59206z" />

View File

@ -1864,12 +1864,6 @@ namespace Ink_Canvas {
SaveSettingsToFile();
}
private void ToggleSwitchEraserBindTouchMultiplier_Toggled(object sender, RoutedEventArgs e) {
if (!isLoaded) return;
Settings.Advanced.EraserBindTouchMultiplier = ToggleSwitchEraserBindTouchMultiplier.IsOn;
SaveSettingsToFile();
}
private void NibModeBoundsWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
if (!isLoaded) return;
Settings.Advanced.NibModeBoundsWidth = (int)e.NewValue;
@ -1894,6 +1888,34 @@ namespace Ink_Canvas {
SaveSettingsToFile();
}
private void NibModeBoundsWidthThresholdValueSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (!isLoaded) return;
Settings.Advanced.NibModeBoundsWidthThresholdValue = (double)e.NewValue;
SaveSettingsToFile();
}
private void FingerModeBoundsWidthThresholdValueSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (!isLoaded) return;
Settings.Advanced.FingerModeBoundsWidthThresholdValue = (double)e.NewValue;
SaveSettingsToFile();
}
private void NibModeBoundsWidthEraserSizeSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (!isLoaded) return;
Settings.Advanced.NibModeBoundsWidthEraserSize = (double)e.NewValue;
SaveSettingsToFile();
}
private void FingerModeBoundsWidthEraserSizeSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (!isLoaded) return;
Settings.Advanced.FingerModeBoundsWidthEraserSize = (double)e.NewValue;
SaveSettingsToFile();
}
private void ToggleSwitchIsQuadIR_Toggled(object sender, RoutedEventArgs e) {
if (!isLoaded) return;
Settings.Advanced.IsQuadIR = ToggleSwitchIsQuadIR.IsOn;

View File

@ -680,9 +680,12 @@ namespace Ink_Canvas {
TouchMultiplierSlider.Value = Settings.Advanced.TouchMultiplier;
FingerModeBoundsWidthSlider.Value = Settings.Advanced.FingerModeBoundsWidth;
NibModeBoundsWidthSlider.Value = Settings.Advanced.NibModeBoundsWidth;
ToggleSwitchIsLogEnabled.IsOn = Settings.Advanced.IsLogEnabled;
FingerModeBoundsWidthThresholdValueSlider.Value = Settings.Advanced.FingerModeBoundsWidthThresholdValue;
NibModeBoundsWidthThresholdValueSlider.Value = Settings.Advanced.NibModeBoundsWidthThresholdValue;
FingerModeBoundsWidthEraserSizeSlider.Value = Settings.Advanced.FingerModeBoundsWidthEraserSize;
NibModeBoundsWidthEraserSizeSlider.Value = Settings.Advanced.NibModeBoundsWidthEraserSize;
ToggleSwitchEraserBindTouchMultiplier.IsOn = Settings.Advanced.EraserBindTouchMultiplier;
ToggleSwitchIsLogEnabled.IsOn = Settings.Advanced.IsLogEnabled;
ToggleSwitchIsSpecialScreen.IsOn = Settings.Advanced.IsSpecialScreen;

View File

@ -27,8 +27,7 @@ namespace Ink_Canvas {
inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
inkCanvas.Children.Clear();
isInMultiTouchMode = false;
}
else {
} else {
inkCanvas.StylusDown += MainWindow_StylusDown;
inkCanvas.StylusMove += MainWindow_StylusMove;
inkCanvas.StylusUp += MainWindow_StylusUp;
@ -41,7 +40,6 @@ namespace Ink_Canvas {
}
private void MainWindow_TouchDown(object sender, TouchEventArgs e) {
if (!isCursorHidden && Settings.Gesture.HideCursorWhenUsingTouchDevice) {
System.Windows.Forms.Cursor.Hide();
isCursorHidden = true;
@ -58,45 +56,39 @@ namespace Ink_Canvas {
// 不禁用手势橡皮
if (!Settings.Gesture.DisableGestureEraser) {
double boundWidth = e.GetTouchPoint(null).Bounds.Width, eraserMultiplier = 1.0;
if (!Settings.Advanced.EraserBindTouchMultiplier && Settings.Advanced.IsSpecialScreen)
eraserMultiplier = 1 / Settings.Advanced.TouchMultiplier;
if ((Settings.Advanced.TouchMultiplier != 0 || !Settings.Advanced.IsSpecialScreen) //启用特殊屏幕且触摸倍数为 0 时禁用橡皮
&& boundWidth > BoundsWidth * 2.5) {
double boundWidth = e.GetTouchPoint(null).Bounds.Width;
if ((Settings.Advanced.TouchMultiplier != 0 ||
!Settings.Advanced.IsSpecialScreen) //启用特殊屏幕且触摸倍数为 0 时禁用橡皮
&& (boundWidth > BoundsWidth)) {
if (drawingShapeMode == 0 && forceEraser) return;
double k = 1;
switch (Settings.Canvas.EraserSize) {
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(boundWidth * k * eraserMultiplier * 0.25,
boundWidth * k * eraserMultiplier * 0.25);
double EraserThresholdValue = Settings.Startup.IsEnableNibMode
? Settings.Advanced.NibModeBoundsWidthThresholdValue
: Settings.Advanced.FingerModeBoundsWidthThresholdValue;
if (boundWidth > BoundsWidth * EraserThresholdValue) {
boundWidth *= (Settings.Startup.IsEnableNibMode
? Settings.Advanced.NibModeBoundsWidthEraserSize
: Settings.Advanced.FingerModeBoundsWidthEraserSize);
if (Settings.Advanced.IsSpecialScreen) boundWidth *= Settings.Advanced.TouchMultiplier;
inkCanvas.EraserShape = new EllipseStylusShape(boundWidth, boundWidth);
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.EraseByPoint;
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
} else {
inkCanvas.EraserShape = new EllipseStylusShape(5, 5);
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;
}
else {
} else {
inkCanvas.EraserShape =
forcePointEraser ? new EllipseStylusShape(50, 50) : new EllipseStylusShape(5, 5);
TouchDownPointsList[e.TouchDevice.Id] = InkCanvasEditingMode.None;
inkCanvas.EditingMode = InkCanvasEditingMode.None;
}
}
}
private void MainWindow_StylusDown(object sender, StylusDownEventArgs e) {
if (e.StylusDevice.TabletDevice.Type == TabletDeviceType.Touch) {
if (!isCursorHidden && Settings.Gesture.HideCursorWhenUsingTouchDevice && e.StylusDevice.TabletDevice.Type == TabletDeviceType.Touch) {
if (!isCursorHidden && Settings.Gesture.HideCursorWhenUsingTouchDevice &&
e.StylusDevice.TabletDevice.Type == TabletDeviceType.Touch) {
System.Windows.Forms.Cursor.Hide();
isCursorHidden = true;
}
@ -118,8 +110,10 @@ namespace Ink_Canvas {
inkCanvas.Strokes.Add(GetStrokeVisual(e.StylusDevice.Id).Stroke);
await Task.Delay(5); // 避免渲染墨迹完成前预览墨迹被删除导致墨迹闪烁
inkCanvas.Children.Remove(GetVisualCanvas(e.StylusDevice.Id));
inkCanvas_StrokeCollected(inkCanvas, new InkCanvasStrokeCollectedEventArgs(GetStrokeVisual(e.StylusDevice.Id).Stroke));
} catch (Exception ex) {
inkCanvas_StrokeCollected(inkCanvas,
new InkCanvasStrokeCollectedEventArgs(GetStrokeVisual(e.StylusDevice.Id).Stroke));
}
catch (Exception ex) {
Label.Content = ex.ToString();
}
@ -142,9 +136,8 @@ namespace Ink_Canvas {
}
private void MainWindow_StylusMove(object sender, StylusEventArgs e) {
if (!isCursorHidden && Settings.Gesture.HideCursorWhenUsingTouchDevice && e.StylusDevice.TabletDevice.Type == TabletDeviceType.Touch)
{
if (!isCursorHidden && Settings.Gesture.HideCursorWhenUsingTouchDevice &&
e.StylusDevice.TabletDevice.Type == TabletDeviceType.Touch) {
System.Windows.Forms.Cursor.Hide();
isCursorHidden = true;
}
@ -162,7 +155,8 @@ namespace Ink_Canvas {
foreach (var stylusPoint in stylusPointCollection)
strokeVisual.Add(new StylusPoint(stylusPoint.X, stylusPoint.Y, stylusPoint.PressureFactor));
strokeVisual.Redraw();
} catch { }
}
catch { }
}
}
@ -184,7 +178,9 @@ namespace Ink_Canvas {
}
private InkCanvasEditingMode GetTouchDownPointsList(int id) {
return TouchDownPointsList.TryGetValue(id, out var inkCanvasEditingMode) ? inkCanvasEditingMode : inkCanvas.EditingMode;
return TouchDownPointsList.TryGetValue(id, out var inkCanvasEditingMode)
? inkCanvasEditingMode
: inkCanvas.EditingMode;
}
private Dictionary<int, InkCanvasEditingMode> TouchDownPointsList { get; } =
@ -222,9 +218,7 @@ namespace Ink_Canvas {
private bool forcePointEraser = true;
private void Main_Grid_TouchDown(object sender, TouchEventArgs e) {
if (!isCursorHidden && Settings.Gesture.HideCursorWhenUsingTouchDevice)
{
if (!isCursorHidden && Settings.Gesture.HideCursorWhenUsingTouchDevice) {
System.Windows.Forms.Cursor.Hide();
isCursorHidden = true;
}
@ -243,39 +237,27 @@ namespace Ink_Canvas {
inkCanvas.Opacity = 1;
if (!Settings.Gesture.DisableGestureEraser) {
double boundsWidth = GetTouchBoundWidth(e), eraserMultiplier = 1.0;
if (!Settings.Advanced.EraserBindTouchMultiplier && Settings.Advanced.IsSpecialScreen)
eraserMultiplier = 1 / Settings.Advanced.TouchMultiplier;
if (boundsWidth > BoundsWidth) {
double boundsWidth = GetTouchBoundWidth(e);
if ((Settings.Advanced.TouchMultiplier != 0 ||
!Settings.Advanced.IsSpecialScreen) //启用特殊屏幕且触摸倍数为 0 时禁用橡皮
&& (boundsWidth > BoundsWidth)) {
isLastTouchEraser = true;
if (drawingShapeMode == 0 && forceEraser) return;
if (boundsWidth > BoundsWidth * 2.5) {
double k = 1;
switch (Settings.Canvas.EraserSize) {
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(boundsWidth * k * eraserMultiplier,
boundsWidth * k * eraserMultiplier);
double EraserThresholdValue = Settings.Startup.IsEnableNibMode
? Settings.Advanced.NibModeBoundsWidthThresholdValue
: Settings.Advanced.FingerModeBoundsWidthThresholdValue;
if (boundsWidth > BoundsWidth * EraserThresholdValue) {
boundsWidth *= (Settings.Startup.IsEnableNibMode
? Settings.Advanced.NibModeBoundsWidthEraserSize
: Settings.Advanced.FingerModeBoundsWidthEraserSize);
if (Settings.Advanced.IsSpecialScreen) boundsWidth *= Settings.Advanced.TouchMultiplier;
inkCanvas.EraserShape = new EllipseStylusShape(boundsWidth, boundsWidth);
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;
}
else {
} else {
inkCanvas.EraserShape = new EllipseStylusShape(5, 5);
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;
}
}
else {
} else {
isLastTouchEraser = false;
inkCanvas.EraserShape =
forcePointEraser ? new EllipseStylusShape(50, 50) : new EllipseStylusShape(5, 5);
@ -285,13 +267,10 @@ namespace Ink_Canvas {
}
}
private double GetTouchBoundWidth(TouchEventArgs e) {
public double GetTouchBoundWidth(TouchEventArgs e) {
var args = e.GetTouchPoint(null).Bounds;
double value;
if (!Settings.Advanced.IsQuadIR) value = args.Width;
else value = Math.Sqrt(args.Width * args.Height); //四边红外
if (Settings.Advanced.IsSpecialScreen) value *= Settings.Advanced.TouchMultiplier;
return value;
if (!Settings.Advanced.IsQuadIR) return args.Width;
else return Math.Sqrt(args.Width * args.Height); //四边红外
}
//记录触摸设备ID
@ -303,7 +282,6 @@ namespace Ink_Canvas {
private bool isSingleFingerDragMode = false;
private void inkCanvas_PreviewTouchDown(object sender, TouchEventArgs e) {
inkCanvas.CaptureTouch(e.TouchDevice);
ViewboxFloatingBar.IsHitTestVisible = false;
BlackboardUIGridForInkReplay.IsHitTestVisible = false;
@ -317,6 +295,7 @@ namespace Ink_Canvas {
//记录第一根手指点击时的 StrokeCollection
lastTouchDownStrokeCollection = inkCanvas.Strokes.Clone();
}
//设备两个及两个以上,将画笔功能关闭
if (dec.Count > 1 || isSingleFingerDragMode || !Settings.Gesture.IsEnableTwoFingerGesture) {
if (isInMultiTouchMode || !Settings.Gesture.IsEnableTwoFingerGesture) return;
@ -328,7 +307,6 @@ namespace Ink_Canvas {
}
private void inkCanvas_PreviewTouchUp(object sender, TouchEventArgs e) {
inkCanvas.ReleaseAllTouchCaptures();
ViewboxFloatingBar.IsHitTestVisible = true;
BlackboardUIGridForInkReplay.IsHitTestVisible = true;
@ -431,8 +409,7 @@ namespace Ink_Canvas {
}
catch { }
}
}
else {
} else {
if (Settings.Gesture.IsEnableTwoFingerZoom) {
foreach (var stroke in inkCanvas.Strokes) {
stroke.Transform(m, false);
@ -444,8 +421,7 @@ namespace Ink_Canvas {
}
;
}
else {
} else {
foreach (var stroke in inkCanvas.Strokes) stroke.Transform(m, false);
;
}

View File

@ -454,6 +454,18 @@ namespace Ink_Canvas
[JsonProperty("eraserBindTouchMultiplier")]
public bool EraserBindTouchMultiplier { get; set; } = false;
[JsonProperty("nibModeBoundsWidthThresholdValue")]
public double NibModeBoundsWidthThresholdValue { get; set; } = 2.5;
[JsonProperty("fingerModeBoundsWidthThresholdValue")]
public double FingerModeBoundsWidthThresholdValue { get; set; } = 2.5;
[JsonProperty("nibModeBoundsWidthEraserSize")]
public double NibModeBoundsWidthEraserSize { get; set; } = 0.8;
[JsonProperty("fingerModeBoundsWidthEraserSize")]
public double FingerModeBoundsWidthEraserSize { get; set; } = 0.8;
[JsonProperty("isLogEnabled")]
public bool IsLogEnabled { get; set; } = true;