add:issue #115
This commit is contained in:
@@ -916,6 +916,7 @@ namespace Ink_Canvas
|
||||
Settings.Canvas.AutoStraightenLine = true;
|
||||
Settings.Canvas.AutoStraightenLineThreshold = 80;
|
||||
Settings.Canvas.PauseStraightenLine = false;
|
||||
Settings.Canvas.PauseStraightenDelay = 300;
|
||||
Settings.Canvas.LineEndpointSnapping = true;
|
||||
Settings.Canvas.LineEndpointSnappingThreshold = 15;
|
||||
Settings.Canvas.UsingWhiteboard = false;
|
||||
|
||||
@@ -1014,10 +1014,11 @@ namespace Ink_Canvas
|
||||
if (_pauseStraightenTimers.TryGetValue(stylusId, out var existing))
|
||||
{
|
||||
existing.Stop();
|
||||
existing.Interval = TimeSpan.FromMilliseconds(Settings.Canvas.PauseStraightenDelay);
|
||||
existing.Start();
|
||||
return;
|
||||
}
|
||||
var timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(PauseStraightenDelayMs) };
|
||||
var timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(Settings.Canvas.PauseStraightenDelay) };
|
||||
var capturedId = stylusId;
|
||||
timer.Tick += (s, e) =>
|
||||
{
|
||||
@@ -1038,10 +1039,11 @@ namespace Ink_Canvas
|
||||
if (_pauseStraightenTimers.TryGetValue(inkModeId, out var existing))
|
||||
{
|
||||
existing.Stop();
|
||||
existing.Interval = TimeSpan.FromMilliseconds(Settings.Canvas.PauseStraightenDelay);
|
||||
existing.Start();
|
||||
return;
|
||||
}
|
||||
var timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(PauseStraightenDelayMs) };
|
||||
var timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(Settings.Canvas.PauseStraightenDelay) };
|
||||
timer.Tick += (s, e) =>
|
||||
{
|
||||
timer.Stop();
|
||||
|
||||
@@ -636,6 +636,9 @@
|
||||
<data name="InkRecog_PauseStraightenHint" xml:space="preserve">
|
||||
<value>书写中停顿时,自动将当前笔画拉直为直线(需同时开启直线自动拉直)。</value>
|
||||
</data>
|
||||
<data name="InkRecog_PauseStraightenDelay" xml:space="preserve">
|
||||
<value>停顿触发延迟</value>
|
||||
</data>
|
||||
<data name="InkRecog_LineEndpointSnapping" xml:space="preserve">
|
||||
<value>直线端点吸附</value>
|
||||
</data>
|
||||
|
||||
@@ -110,6 +110,8 @@ namespace Ink_Canvas
|
||||
public bool HighPrecisionLineStraighten { get; set; } = true; // 是否启用高精度直线拉直
|
||||
[JsonProperty("pauseStraightenLine")]
|
||||
public bool PauseStraightenLine { get; set; } = false; // 是否启用停顿拉直(书写中停顿时自动拉直笔画)
|
||||
[JsonProperty("pauseStraightenDelay")]
|
||||
public int PauseStraightenDelay { get; set; } = 300; // 停顿拉直触发延迟(毫秒)
|
||||
[JsonProperty("lineEndpointSnapping")]
|
||||
public bool LineEndpointSnapping { get; set; } = true; // 是否启用直线端点吸附
|
||||
[JsonProperty("lineEndpointSnappingThreshold")]
|
||||
|
||||
@@ -164,6 +164,15 @@
|
||||
OffContent="{DynamicResource Common_Off}"
|
||||
Toggled="ToggleSwitchPauseStraightenLine_Toggled" />
|
||||
</ui:SettingsCard>
|
||||
<ui:SettingsCard Header="{i18n:I18n Key=InkRecog_PauseStraightenDelay}">
|
||||
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="8">
|
||||
<TextBlock Text="{Binding Value, ElementName=PauseStraightenDelaySlider, StringFormat={}{0:0} ms}"
|
||||
VerticalAlignment="Center" FontFamily="Consolas"/>
|
||||
<Slider x:Name="PauseStraightenDelaySlider" Width="200" Minimum="100" Maximum="1000"
|
||||
Value="300" TickFrequency="50" IsSnapToTickEnabled="True"
|
||||
ValueChanged="PauseStraightenDelaySlider_ValueChanged" />
|
||||
</ikw:SimpleStackPanel>
|
||||
</ui:SettingsCard>
|
||||
</ui:SettingsExpander.Items>
|
||||
</ui:SettingsExpander>
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
|
||||
AutoStraightenLineThresholdSlider.Value = settings.Canvas.AutoStraightenLineThreshold;
|
||||
ToggleSwitchHighPrecisionLineStraighten.IsOn = settings.Canvas.HighPrecisionLineStraighten;
|
||||
ToggleSwitchPauseStraightenLine.IsOn = settings.Canvas.PauseStraightenLine;
|
||||
PauseStraightenDelaySlider.Value = settings.Canvas.PauseStraightenDelay;
|
||||
ToggleSwitchLineEndpointSnapping.IsOn = settings.Canvas.LineEndpointSnapping;
|
||||
}
|
||||
}
|
||||
@@ -200,6 +201,13 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
|
||||
SettingsManager.SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void PauseStraightenDelaySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
|
||||
{
|
||||
if (!_isLoaded) return;
|
||||
SettingsManager.Settings.Canvas.PauseStraightenDelay = (int)PauseStraightenDelaySlider.Value;
|
||||
SettingsManager.SaveSettingsToFile();
|
||||
}
|
||||
|
||||
private void ToggleSwitchLineEndpointSnapping_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!_isLoaded) return;
|
||||
|
||||
Reference in New Issue
Block a user