Add finger optimization for PowerPoint mode
This commit is contained in:
parent
9ed5eb203e
commit
973323fde3
@ -6,7 +6,7 @@
|
|||||||
xmlns:local="clr-namespace:Ink_Canvas" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" ShowInTaskbar="False"
|
xmlns:local="clr-namespace:Ink_Canvas" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" ShowInTaskbar="False"
|
||||||
xmlns:ui="http://schemas.modernwpf.com/2019" FontFamily="Microsoft YaHei UI" Topmost="True"
|
xmlns:ui="http://schemas.modernwpf.com/2019" FontFamily="Microsoft YaHei UI" Topmost="True"
|
||||||
mc:Ignorable="d" ui:WindowHelper.UseModernWindowStyle="True" Loaded="Window_Loaded" Closed="Window_Closed"
|
mc:Ignorable="d" ui:WindowHelper.UseModernWindowStyle="True" Loaded="Window_Loaded" Closed="Window_Closed"
|
||||||
Title="" Height="400" Width="600">
|
Title="" Height="430" Width="600">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="50"/>
|
<RowDefinition Height="50"/>
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
<ui:SimpleStackPanel VerticalAlignment="Bottom" Grid.Row="2" Margin="50,0">
|
<ui:SimpleStackPanel VerticalAlignment="Bottom" Grid.Row="2" Margin="50,0">
|
||||||
<TextBlock Text="更新日志" FontSize="18" FontWeight="Bold" Margin="0,10,0,0"/>
|
<TextBlock Text="更新日志" FontSize="18" FontWeight="Bold" Margin="0,10,0,0"/>
|
||||||
<TextBlock Text="黑板模式支持多指书写(进入黑板后点击左下角“多人书写”图标)" TextWrapping="Wrap" FontSize="14" Margin="25,5,0,0"/>
|
<TextBlock Text="添加并默认启用“开启画板时使用手指手势进行幻灯片翻页”(启用后,在幻灯片放映模式下,当画板无墨迹时,使用手指(笔尖或手掌无法识别)左右滑动即可控制幻灯片翻页。)" TextWrapping="Wrap" FontSize="14" Margin="25,5,0,0"/>
|
||||||
<TextBlock Text="建议" FontSize="18" FontWeight="Bold" Margin="0,10,0,0"/>
|
<TextBlock Text="建议" FontSize="18" FontWeight="Bold" Margin="0,10,0,0"/>
|
||||||
<TextBlock Text="建议配置屏幕为:3840×2160 (缩放: 250%),或1920×1080 (缩放: 125%),以获得最佳体验。" TextWrapping="Wrap" FontSize="14" Margin="25,5,-10,0"/>
|
<TextBlock Text="建议配置屏幕为:3840×2160 (缩放: 250%),或1920×1080 (缩放: 125%),以获得最佳体验。" TextWrapping="Wrap" FontSize="14" Margin="25,5,-10,0"/>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
xmlns:local="clr-namespace:Ink_Canvas" xmlns:ui="http://schemas.modernwpf.com/2019"
|
xmlns:local="clr-namespace:Ink_Canvas" xmlns:ui="http://schemas.modernwpf.com/2019"
|
||||||
AllowsTransparency="True" WindowStyle="None" ResizeMode="NoResize"
|
AllowsTransparency="True" WindowStyle="None" ResizeMode="NoResize"
|
||||||
mc:Ignorable="d" WindowState="Maximized" Loaded="Window_Loaded" Background="Transparent" ShowInTaskbar="False"
|
mc:Ignorable="d" WindowState="Maximized" Loaded="Window_Loaded" Background="Transparent" ShowInTaskbar="False"
|
||||||
Title="Ink Canvas 画板" Height="1000" Width="1000" FontFamily="Microsoft YaHei UI"
|
Title="Ink Canvas 画板" Height="10000" Width="1000" FontFamily="Microsoft YaHei UI"
|
||||||
Foreground="Black" Stylus.IsPressAndHoldEnabled="False">
|
Foreground="Black" Stylus.IsPressAndHoldEnabled="False">
|
||||||
<!--资源中添加命令-->
|
<!--资源中添加命令-->
|
||||||
<Window.Resources>
|
<Window.Resources>
|
||||||
@ -267,6 +267,8 @@
|
|||||||
<ui:SimpleStackPanel Spacing="12">
|
<ui:SimpleStackPanel Spacing="12">
|
||||||
<ui:ToggleSwitch Name="ToggleSwitchEnableTwoFingerRotation" Header="允许双指旋转" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchEnableTwoFingerRotation_Toggled"/>
|
<ui:ToggleSwitch Name="ToggleSwitchEnableTwoFingerRotation" Header="允许双指旋转" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchEnableTwoFingerRotation_Toggled"/>
|
||||||
<ui:ToggleSwitch Name="ToggleSwitchEnableTwoFingerGestureInPresentationMode" Header="允许幻灯片模式下的双指手势" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchEnableTwoFingerGestureInPresentationMode_Toggled"/>
|
<ui:ToggleSwitch Name="ToggleSwitchEnableTwoFingerGestureInPresentationMode" Header="允许幻灯片模式下的双指手势" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchEnableTwoFingerGestureInPresentationMode_Toggled"/>
|
||||||
|
<TextBlock Text="允许开启画板时使用手指手势进行幻灯片翻页(启用后,在幻灯片放映模式下,当画板无墨迹时,使用手指(笔尖或手掌无法识别)左右滑动即可控制幻灯片翻页。)" TextWrapping="Wrap" Foreground="#666666"/>
|
||||||
|
<ui:ToggleSwitch Name="ToggleSwitchEnableFingerGestureSlideShowControl" Header="允许使用手指手势进行幻灯片翻页" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" IsOn="True" Toggled="ToggleSwitchEnableFingerGestureSlideShowControl_Toggled"/>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
<GroupBox Header="墨迹识别 (Beta)">
|
<GroupBox Header="墨迹识别 (Beta)">
|
||||||
|
@ -164,29 +164,25 @@ namespace Ink_Canvas
|
|||||||
private void InkCanvas_Gesture(object sender, InkCanvasGestureEventArgs e)
|
private void InkCanvas_Gesture(object sender, InkCanvasGestureEventArgs e)
|
||||||
{
|
{
|
||||||
ReadOnlyCollection<GestureRecognitionResult> gestures = e.GetGestureRecognitionResults();
|
ReadOnlyCollection<GestureRecognitionResult> gestures = e.GetGestureRecognitionResults();
|
||||||
|
try
|
||||||
foreach (GestureRecognitionResult gest in gestures)
|
|
||||||
{
|
{
|
||||||
//Trace.WriteLine(string.Format("Gesture: {0}, Confidence: {1}", gest.ApplicationGesture, gest.RecognitionConfidence));
|
foreach (GestureRecognitionResult gest in gestures)
|
||||||
if ((DateTime.Now - lastGestureTime).TotalMilliseconds <= 1500 &&
|
|
||||||
StackPanelPPTControls.Visibility == Visibility.Visible &&
|
|
||||||
lastApplicationGesture == gest.ApplicationGesture)
|
|
||||||
{
|
{
|
||||||
if (gest.ApplicationGesture == ApplicationGesture.Left)
|
//Trace.WriteLine(string.Format("Gesture: {0}, Confidence: {1}", gest.ApplicationGesture, gest.RecognitionConfidence));
|
||||||
|
if (StackPanelPPTControls.Visibility == Visibility.Visible)
|
||||||
{
|
{
|
||||||
BtnPPTSlidesDown_Click(BtnPPTSlidesDown, null);
|
if (gest.ApplicationGesture == ApplicationGesture.Left)
|
||||||
}
|
{
|
||||||
if (gest.ApplicationGesture == ApplicationGesture.Right)
|
BtnPPTSlidesDown_Click(BtnPPTSlidesDown, null);
|
||||||
{
|
}
|
||||||
BtnPPTSlidesDown_Click(BtnPPTSlidesDown, null);
|
if (gest.ApplicationGesture == ApplicationGesture.Right)
|
||||||
|
{
|
||||||
|
BtnPPTSlidesUp_Click(BtnPPTSlidesUp, null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lastApplicationGesture = gest.ApplicationGesture;
|
|
||||||
lastGestureTime = DateTime.Now;
|
|
||||||
}
|
}
|
||||||
|
catch { }
|
||||||
inkCanvas.Strokes.Add(e.Strokes);
|
|
||||||
}
|
}
|
||||||
private void inkCanvas_EditingModeChanged(object sender, RoutedEventArgs e)
|
private void inkCanvas_EditingModeChanged(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
@ -524,6 +520,14 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
ToggleSwitchEnableTwoFingerGestureInPresentationMode.IsOn = false;
|
ToggleSwitchEnableTwoFingerGestureInPresentationMode.IsOn = false;
|
||||||
}
|
}
|
||||||
|
if (Settings.Gesture.IsEnableFingerGestureSlideShowControl)
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableFingerGestureSlideShowControl.IsOn = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ToggleSwitchEnableFingerGestureSlideShowControl.IsOn = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\InkCanvas" + ".lnk"))
|
if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\InkCanvas" + ".lnk"))
|
||||||
{
|
{
|
||||||
@ -1358,6 +1362,7 @@ namespace Ink_Canvas
|
|||||||
BorderClearInDelete.Visibility = Visibility.Collapsed;
|
BorderClearInDelete.Visibility = Visibility.Collapsed;
|
||||||
|
|
||||||
iniP = e.GetTouchPoint(inkCanvas).Position;
|
iniP = e.GetTouchPoint(inkCanvas).Position;
|
||||||
|
inkCanvas.Opacity = 1;
|
||||||
|
|
||||||
double boundsWidth = GetTouchBoundWidth(e);
|
double boundsWidth = GetTouchBoundWidth(e);
|
||||||
if (boundsWidth > BoundsWidth)
|
if (boundsWidth > BoundsWidth)
|
||||||
@ -1371,10 +1376,19 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
inkCanvas.EraserShape = new EllipseStylusShape(5, 5);
|
if (StackPanelPPTControls.Visibility == Visibility.Visible && inkCanvas.Strokes.Count == 0 && Settings.Gesture.IsEnableFingerGestureSlideShowControl)
|
||||||
//inkCanvas.EraserShape = new RectangleStylusShape(8, 8);
|
{
|
||||||
//inkCanvas.EraserShape = new EllipseStylusShape(boundsWidth * 1.5, boundsWidth * 1.5);
|
isLastTouchEraser = false;
|
||||||
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;
|
inkCanvas.EditingMode = InkCanvasEditingMode.GestureOnly;
|
||||||
|
inkCanvas.Opacity = 0.1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
inkCanvas.EraserShape = new EllipseStylusShape(5, 5);
|
||||||
|
//inkCanvas.EraserShape = new RectangleStylusShape(8, 8);
|
||||||
|
//inkCanvas.EraserShape = new EllipseStylusShape(boundsWidth * 1.5, boundsWidth * 1.5);
|
||||||
|
inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2267,6 +2281,16 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
#region Gesture
|
#region Gesture
|
||||||
|
|
||||||
|
|
||||||
|
private void ToggleSwitchEnableFingerGestureSlideShowControl_Toggled(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (!isLoaded) return;
|
||||||
|
|
||||||
|
Settings.Gesture.IsEnableFingerGestureSlideShowControl = ToggleSwitchEnableFingerGestureSlideShowControl.IsOn;
|
||||||
|
|
||||||
|
SaveSettingsToFile();
|
||||||
|
}
|
||||||
|
|
||||||
private void ToggleSwitchEnableTwoFingerRotation_Toggled(object sender, RoutedEventArgs e)
|
private void ToggleSwitchEnableTwoFingerRotation_Toggled(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (!isLoaded) return;
|
if (!isLoaded) return;
|
||||||
@ -3055,6 +3079,7 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
inkCanvas.Opacity = 1;
|
||||||
if (Settings.InkToShape.IsInkToShapeEnabled)
|
if (Settings.InkToShape.IsInkToShapeEnabled)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -51,5 +51,5 @@ using System.Windows;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("3.0.1.0")]
|
[assembly: AssemblyVersion("3.0.2.0")]
|
||||||
[assembly: AssemblyFileVersion("3.0.1.0")]
|
[assembly: AssemblyFileVersion("3.0.2.0")]
|
||||||
|
@ -51,6 +51,8 @@ namespace Ink_Canvas
|
|||||||
public bool IsEnableTwoFingerRotation { get; set; } = false;
|
public bool IsEnableTwoFingerRotation { get; set; } = false;
|
||||||
[JsonProperty("isEnableTwoFingerGestureInPresentationMode")]
|
[JsonProperty("isEnableTwoFingerGestureInPresentationMode")]
|
||||||
public bool IsEnableTwoFingerGestureInPresentationMode { get; set; } = false;
|
public bool IsEnableTwoFingerGestureInPresentationMode { get; set; } = false;
|
||||||
|
[JsonProperty("isEnableFingerGestureSlideShowControl")]
|
||||||
|
public bool IsEnableFingerGestureSlideShowControl { get; set; } = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Startup
|
public class Startup
|
||||||
|
Loading…
Reference in New Issue
Block a user