[SpecialScreen] 恢复Special Screen功能
This commit is contained in:
parent
ebd8e860f6
commit
ae49bb3df9
@ -476,20 +476,23 @@
|
||||
<GroupBox Header="高级">
|
||||
<ui:SimpleStackPanel Spacing="12">
|
||||
<TextBlock Text="可在手指触摸画板时显示圆形橡皮或手掌触摸画板时显示的橡皮比
手掌大很多时调整" Foreground="#666666"/>
|
||||
<ui:ToggleSwitch Name="ToggleSwitchIsSpecialScreen" Header="特殊屏幕模式" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchIsSpecialScreen_OnToggled"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Slider x:Name="TouchMultiplierSlider"
|
||||
HorizontalAlignment="Left"
|
||||
Minimum="0" Maximum="1"
|
||||
Width="300" FontFamily="Microsoft YaHei UI"
|
||||
ui:ControlHelper.Header="触摸大小倍数"
|
||||
IsSnapToTickEnabled="True"
|
||||
TickFrequency="0.1" TickPlacement="Both"
|
||||
ValueChanged="TouchMultiplierSlider_ValueChanged"/>
|
||||
HorizontalAlignment="Left"
|
||||
Minimum="0" Maximum="1"
|
||||
Width="300" FontFamily="Microsoft YaHei UI"
|
||||
ui:ControlHelper.Header="触摸大小倍数"
|
||||
IsSnapToTickEnabled="True"
|
||||
TickFrequency="0.05" TickPlacement="Both"
|
||||
ValueChanged="TouchMultiplierSlider_ValueChanged"
|
||||
Visibility="Collapsed"/>
|
||||
<TextBlock Text="{Binding Value, ElementName=TouchMultiplierSlider, Mode=OneWay}"
|
||||
VerticalAlignment="Bottom" Margin="10,0,0,8"
|
||||
FontSize="14" Width="25" HorizontalAlignment="Center"/>
|
||||
FontSize="14" Width="30" HorizontalAlignment="Center"
|
||||
Visibility="{Binding Path=Visibility, ElementName=TouchMultiplierSlider, Mode=OneWay}"/>
|
||||
</StackPanel>
|
||||
<ui:ToggleSwitch Name="ToggleSwitchEraserBindTouchMultiplier" Header="橡皮擦绑定触摸大小倍数" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" IsOn="False" Toggled="ToggleSwitchEraserBindTouchMultiplier_Toggled"/>
|
||||
<ui:ToggleSwitch Name="ToggleSwitchEraserBindTouchMultiplier" Header="橡皮擦绑定触摸大小倍数" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" IsOn="False" Toggled="ToggleSwitchEraserBindTouchMultiplier_Toggled" Visibility="{Binding Path=Visibility, ElementName=TouchMultiplierSlider, Mode=OneWay}"/>
|
||||
<ui:ToggleSwitch Name="ToggleSwitchIsLogEnabled" Header="记录日志" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" IsOn="True" Toggled="ToggleSwitchIsLogEnabled_Toggled"/>
|
||||
</ui:SimpleStackPanel>
|
||||
</GroupBox>
|
||||
@ -548,7 +551,7 @@
|
||||
<Bold>开发者:</Bold> XY Wang (WXRIW)
|
||||
</TextBlock>
|
||||
<TextBlock FontSize="14">
|
||||
<Bold>贡献者:</Bold> Kengwang, jiajiaxd, CN-Ironegg
|
||||
<Bold>贡献者:</Bold> Kengwang, jiajiaxd, CN-Ironegg, Raspberry Kan
|
||||
</TextBlock>
|
||||
<TextBlock FontSize="14">
|
||||
<Bold>开源地址:</Bold>
|
||||
|
@ -830,6 +830,16 @@ namespace Ink_Canvas
|
||||
{
|
||||
ToggleSwitchEraserBindTouchMultiplier.IsOn = false;
|
||||
}
|
||||
|
||||
if (Settings.Advanced.IsSpecialScreen)
|
||||
{
|
||||
ToggleSwitchIsSpecialScreen.IsOn = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ToggleSwitchIsSpecialScreen.IsOn = false;
|
||||
}
|
||||
TouchMultiplierSlider.Visibility = ToggleSwitchIsSpecialScreen.IsOn ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1671,7 +1681,7 @@ namespace Ink_Canvas
|
||||
inkCanvas.Opacity = 1;
|
||||
double boundsWidth = GetTouchBoundWidth(e);
|
||||
var eraserMultiplier = 1d;
|
||||
if (!Settings.Advanced.EraserBindTouchMultiplier) eraserMultiplier = 1 / Settings.Advanced.TouchMultiplier;
|
||||
if (!Settings.Advanced.EraserBindTouchMultiplier && Settings.Advanced.IsSpecialScreen) eraserMultiplier = 1 / Settings.Advanced.TouchMultiplier;
|
||||
if (boundsWidth > BoundsWidth)
|
||||
{
|
||||
isLastTouchEraser = true;
|
||||
@ -1727,7 +1737,7 @@ namespace Ink_Canvas
|
||||
{
|
||||
var args = e.GetTouchPoint(null).Bounds;
|
||||
double value = args.Width;
|
||||
value *= Settings.Advanced.TouchMultiplier;
|
||||
if (Settings.Advanced.IsSpecialScreen) value *= Settings.Advanced.TouchMultiplier;
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -2982,7 +2992,15 @@ namespace Ink_Canvas
|
||||
#endregion
|
||||
|
||||
#region Advanced
|
||||
|
||||
|
||||
private void ToggleSwitchIsSpecialScreen_OnToggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
Settings.Advanced.IsSpecialScreen = ToggleSwitchIsSpecialScreen.IsOn;
|
||||
TouchMultiplierSlider.Visibility = ToggleSwitchIsSpecialScreen.IsOn ? Visibility.Visible : Visibility.Collapsed;
|
||||
SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void TouchMultiplierSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
@ -6427,7 +6445,6 @@ namespace Ink_Canvas
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
#region Test for pen
|
||||
|
@ -112,8 +112,10 @@ namespace Ink_Canvas
|
||||
|
||||
public class Advanced
|
||||
{
|
||||
[JsonProperty("isSpecialScreen")]
|
||||
public bool IsSpecialScreen { get; set; } = false;
|
||||
[JsonProperty("touchMultiplier")]
|
||||
public double TouchMultiplier { get; set; } = 1d;
|
||||
public double TouchMultiplier { get; set; } = 0.25;
|
||||
[JsonProperty("eraserBindTouchMultiplier")]
|
||||
public bool EraserBindTouchMultiplier { get; set; } = false;
|
||||
[JsonProperty("isLogEnabled")]
|
||||
|
Loading…
Reference in New Issue
Block a user