[fix] 合併ICA的變更:將項目格式修改為SDK格式,添加ICC圖標

This commit is contained in:
Dubi906w 2024-05-11 01:35:32 +08:00
parent c229e2503d
commit d033ebda58
21 changed files with 162 additions and 312 deletions

View File

@ -0,0 +1,53 @@
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("InkCanvasForClass")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Dubi906w")]
[assembly: AssemblyProduct("InkCanvasForClass")]
[assembly: AssemblyCopyright("Copyright © HARKOTEK Studio 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
//In order to begin building localizable applications, set
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>. For example, if you are using US english
//in your source files, set the <UICulture> to en-US. Then uncomment
//the NeutralResourceLanguage attribute below. Update the "en-US" in
//the line below to match the UICulture setting in the project file.
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("5.0.2.0")]
[assembly: AssemblyFileVersion("5.0.2.0")]

View File

@ -42,14 +42,14 @@ namespace Ink_Canvas.Helpers
NotifyUndoRedoState();
}
public void CommitStrokeRotateHistory(StrokeCollection strokeToBeReplaced, StrokeCollection generatedStroke)
public void CommitStrokeManipulationHistory(StrokeCollection strokeToBeReplaced, StrokeCollection generatedStroke)
{
if (_currentIndex + 1 < _currentStrokeHistory.Count)
{
_currentStrokeHistory.RemoveRange(_currentIndex + 1, (_currentStrokeHistory.Count - 1) - _currentIndex);
}
_currentStrokeHistory.Add(new TimeMachineHistory(generatedStroke,
TimeMachineHistoryType.Rotate,
TimeMachineHistoryType.Manipulation,
false,
strokeToBeReplaced));
_currentIndex = _currentStrokeHistory.Count - 1;
@ -143,6 +143,6 @@ namespace Ink_Canvas.Helpers
UserInput,
ShapeRecognition,
Clear,
Rotate
Manipulation
}
}

View File

@ -1,23 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<RuntimeIdentifiers>win;win-x86;win-x64;win-arm64</RuntimeIdentifiers>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{8D0EDFC7-F974-4571-BC49-6F3A6653FE81}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Ink_Canvas</RootNamespace>
<AssemblyName>Ink Canvas Annotation</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AssemblyName>InkCanvasForClass</AssemblyName>
<TargetFramework>net472</TargetFramework>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
@ -33,90 +22,65 @@
<ApplicationVersion>2.0.2.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>false</BootstrapperEnabled>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<UseWPF>true</UseWPF>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<OutputPath>bin\$(Configuration)\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<OutputPath>bin\$(Configuration)\</OutputPath>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Resources\Ink Canvas Annotation.ico</ApplicationIcon>
<ApplicationIcon>icc.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Title>InkCanvasForClass</Title>
<Version>5.0.3</Version>
<Authors>Dubi906w</Authors>
<Product>InkCanvasForClass</Product>
<Copyright>© Copyright HARKOTEK Studio 2024-now</Copyright>
<PackageProjectUrl>https://icc.bliemhax.com</PackageProjectUrl>
<FileVersion>bundled</FileVersion>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\ARM64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<DebugType>full</DebugType>
<PlatformTarget>ARM64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM64'">
<OutputPath>bin\ARM64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<DebugType>pdbonly</DebugType>
<PlatformTarget>ARM64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
@ -131,19 +95,11 @@
</Reference>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="netstandard" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xaml" />
<Reference Include="UIAutomationClient" />
<Reference Include="UIAutomationTypes" />
<Reference Include="WindowsBase" />
@ -152,191 +108,16 @@
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="Helpers\AutoUpdateHelper.cs" />
<Compile Include="Helpers\DelAutoSavedFiles.cs" />
<Compile Include="Helpers\ForegroundWindowInfo.cs" />
<Compile Include="MainWindow_cs\MW_AutoFold.cs" />
<Compile Include="MainWindow_cs\MW_BoardIcons.cs" />
<Compile Include="MainWindow_cs\MW_FloatingBarIcons.cs" />
<Compile Include="MainWindow_cs\MW_AutoTheme.cs" />
<Compile Include="MainWindow_cs\MW_SelectionGestures.cs" />
<Compile Include="MainWindow_cs\MW_Hotkeys.cs" />
<Compile Include="MainWindow_cs\MW_Notification.cs" />
<Compile Include="MainWindow_cs\MW_BoardControls.cs" />
<Compile Include="MainWindow_cs\MW_AutoStart.cs" />
<Compile Include="MainWindow_cs\MW_TouchEvents.cs" />
<Compile Include="MainWindow_cs\MW_SettingsToLoad.cs" />
<Compile Include="MainWindow_cs\MW_SimulatePressure&amp;InkToShape.cs" />
<Compile Include="MainWindow_cs\MW_Screenshot.cs" />
<Compile Include="MainWindow_cs\MW_Save&amp;OpenStrokes.cs" />
<Compile Include="MainWindow_cs\MW_Settings.cs" />
<Compile Include="MainWindow_cs\MW_PPT.cs" />
<Compile Include="MainWindow_cs\MW_Timer.cs" />
<Compile Include="MainWindow_cs\MW_TimeMachine.cs" />
<Compile Include="MainWindow_cs\MW_ShapeDrawing.cs" />
<Compile Include="Windows\HasNewUpdateWindow.xaml.cs">
<DependentUpon>HasNewUpdateWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Windows\OperatingGuideWindow.xaml.cs">
<DependentUpon>OperatingGuideWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Windows\CycleProcessBar.xaml.cs">
<DependentUpon>CycleProcessBar.xaml</DependentUpon>
</Compile>
<Compile Include="Helpers\AnimationsHelper.cs" />
<Compile Include="Helpers\InkRecognizeHelper.cs" />
<Compile Include="Helpers\LogHelper.cs" />
<Compile Include="Helpers\MultiTouchInput.cs" />
<Compile Include="Helpers\SoftwareLauncher.cs" />
<Compile Include="Helpers\TimeMachine.cs" />
<Compile Include="Helpers\Converters.cs" />
<Compile Include="Helpers\WinTabWindowsChecker.cs" />
<Compile Include="Windows\NamesInputWindow.xaml.cs">
<DependentUpon>NamesInputWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Windows\RandWindow.xaml.cs">
<DependentUpon>RandWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Windows\YesOrNoNotificationWindow.xaml.cs">
<DependentUpon>YesOrNoNotificationWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Resources\Settings.cs" />
<Compile Include="Windows\CountdownTimerWindow.xaml.cs">
<DependentUpon>CountdownTimerWindow.xaml</DependentUpon>
</Compile>
<Page Include="Windows\HasNewUpdateWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Windows\OperatingGuideWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Windows\CycleProcessBar.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Helpers\Hotkey.cs" />
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Page Include="Windows\NamesInputWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Windows\RandWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Resources\IconImageDictionary.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Resources\DrawShapeImageDictionary.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Resources\SeewoImageDictionary.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Resources\Styles\Dark.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Resources\Styles\Light.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Windows\YesOrNoNotificationWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Windows\CountdownTimerWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="app.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<PackageReference Include="iNKORE.UI.WPF.Modern" Version="0.9.26.3" />
<PackageReference Include="MdXaml" Version="1.27.0" />
<PackageReference Include="Microsoft.Office.Interop.PowerPoint" Version="15.0.4420.1018" />
<PackageReference Include="MicrosoftOfficeCore" Version="15.0.0" />
</ItemGroup>
<!-- When Office is not installed -->
<ItemGroup>
<PackageReference Include="iNKORE.UI.WPF.Modern">
<Version>0.9.26.3</Version>
</PackageReference>
<PackageReference Include="MdXaml">
<Version>1.27.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.Office.Interop.PowerPoint">
<Version>15.0.4420.1018</Version>
</PackageReference>
<PackageReference Include="MicrosoftOfficeCore">
<Version>15.0.0</Version>
</PackageReference>
</ItemGroup>
<!-- Ignore COM Reference of Office, use nuget instead -->
<!--<ItemGroup Condition="false">
<COMReference Include="Microsoft.Office.Interop.PowerPoint">
<Guid>{91493440-5A91-11CF-8700-00AA0060263B}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>12</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Core">
<Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>8</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>-->
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>13.0.3</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<COMReference Include="IWshRuntimeLibrary">
@ -367,21 +148,6 @@
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 和 x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="Resources\TimerDownNotice.wav" />
</ItemGroup>
@ -403,9 +169,6 @@
<ItemGroup>
<Resource Include="Resources\Icons-png\close-circle.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\Ink Canvas Annotation.ico" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DeveloperAvatars\ChangSakura.png" />
<Resource Include="Resources\DeveloperAvatars\clover-yan.png" />
@ -636,5 +399,26 @@
<Resource Include="Resources\new-icons\redo.png" />
<Resource Include="Resources\new-icons\undo.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Resource Include="Resources\icc.ico" />
</ItemGroup>
<ItemGroup>
<Resource Include="icc.ico" />
</ItemGroup>
<ItemGroup>
<Compile Remove="AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>zh-CN</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>

View File

@ -112,6 +112,7 @@
MouseMove="inkCanvas_MouseMove"
MouseUp="inkCanvas_MouseUp"
ManipulationStarting="inkCanvas_ManipulationStarting"
ManipulationStarted="inkCanvas_ManipulationStarted"
SelectionChanged="inkCanvas_SelectionChanged"
StrokeCollected="inkCanvas_StrokeCollected"/>
<Grid Visibility="{Binding ElementName=inkCanvas, Path=Visibility}">

View File

@ -75,7 +75,7 @@ namespace Ink_Canvas {
inkCanvas.Strokes.Remove(strokes);
}
}
} else if (item.CommitType == TimeMachineHistoryType.Rotate) {
} else if (item.CommitType == TimeMachineHistoryType.Manipulation) {
if (item.StrokeHasBeenCleared) {
foreach (var strokes in item.CurrentStroke) {
@ -162,7 +162,7 @@ namespace Ink_Canvas {
inkCanvas.Strokes.Remove(strokes);
}
}
} else if (item.CommitType == TimeMachineHistoryType.Rotate) {
} else if (item.CommitType == TimeMachineHistoryType.Manipulation) {
if (item.StrokeHasBeenCleared) {
foreach (var strokes in item.CurrentStroke) {

View File

@ -974,7 +974,7 @@ namespace Ink_Canvas {
inkCanvas.Strokes.Remove(strokes);
}
}
} else if (item.CommitType == TimeMachineHistoryType.Rotate) {
} else if (item.CommitType == TimeMachineHistoryType.Manipulation) {
if (item.StrokeHasBeenCleared) {
foreach (var strokes in item.CurrentStroke) {
@ -1066,7 +1066,7 @@ namespace Ink_Canvas {
inkCanvas.Strokes.Remove(strokes);
}
}
} else if (item.CommitType == TimeMachineHistoryType.Rotate) {
} else if (item.CommitType == TimeMachineHistoryType.Manipulation) {
if (item.StrokeHasBeenCleared) {
foreach (var strokes in item.CurrentStroke) {

View File

@ -1,6 +1,6 @@
using Ink_Canvas.Helpers;
using Microsoft.Office.Interop.PowerPoint;
using iNKORE.UI.WPF.Modern;
using iNKORE.UI.WPF.Helpers;
using System;
using System.Diagnostics;
using System.IO;
@ -16,7 +16,7 @@ using System.Windows.Threading;
using Application = System.Windows.Application;
using File = System.IO.File;
using MessageBox = System.Windows.MessageBox;
using iNKORE.UI.WPF.Helpers;
using iNKORE.UI.WPF.Modern;
namespace Ink_Canvas {
public partial class MainWindow : Window {

View File

@ -121,7 +121,7 @@ namespace Ink_Canvas {
foreach (Stroke stroke in resultStrokes) {
stroke.Transform(m, false);
}
_currentCommitType = CommitReason.Rotate;
_currentCommitType = CommitReason.Manipulation;
inkCanvas.Strokes.Replace(targetStrokes, resultStrokes);
_currentCommitType = CommitReason.UserInput;
isProgramChangeStrokeSelection = true;
@ -151,7 +151,7 @@ namespace Ink_Canvas {
foreach (Stroke stroke in resultStrokes) {
stroke.Transform(m, false);
}
_currentCommitType = CommitReason.Rotate;
_currentCommitType = CommitReason.Manipulation;
inkCanvas.Strokes.Replace(targetStrokes, resultStrokes);
_currentCommitType = CommitReason.UserInput;
isProgramChangeStrokeSelection = true;
@ -179,7 +179,7 @@ namespace Ink_Canvas {
foreach (Stroke stroke in resultStrokes) {
stroke.Transform(m, false);
}
_currentCommitType = CommitReason.Rotate;
_currentCommitType = CommitReason.Manipulation;
inkCanvas.Strokes.Replace(targetStrokes, resultStrokes);
_currentCommitType = CommitReason.UserInput;
isProgramChangeStrokeSelection = true;
@ -207,7 +207,7 @@ namespace Ink_Canvas {
foreach (Stroke stroke in resultStrokes) {
stroke.Transform(m, false);
}
_currentCommitType = CommitReason.Rotate;
_currentCommitType = CommitReason.Manipulation;
inkCanvas.Strokes.Replace(targetStrokes, resultStrokes);
_currentCommitType = CommitReason.UserInput;
isProgramChangeStrokeSelection = true;

View File

@ -151,6 +151,7 @@ namespace Ink_Canvas {
{
ToggleSwitchEnableTimeDisplayInWhiteboardMode.IsOn = false;
}
SystemEvents_UserPreferenceChanged(null, null);
} else {
Settings.Appearance = new Appearance();
}

View File

@ -1418,13 +1418,17 @@ namespace Ink_Canvas {
}
if (_currentCommitType == CommitReason.ShapeDrawing && drawingShapeMode != 9) {
_currentCommitType = CommitReason.UserInput;
StrokeCollection collection;
StrokeCollection collection = null;
if (lastTempStrokeCollection != null && lastTempStrokeCollection.Count > 0) {
collection = lastTempStrokeCollection;
} else {
} else if (lastTempStroke != null)
{
collection = new StrokeCollection() { lastTempStroke };
}
timeMachine.CommitStrokeUserInputHistory(collection);
if (collection != null)
{
timeMachine.CommitStrokeUserInputHistory(collection);
}
}
lastTempStroke = null;
lastTempStrokeCollection = null;

View File

@ -11,7 +11,7 @@ namespace Ink_Canvas {
ShapeDrawing,
ShapeRecognition,
ClearingCanvas,
Rotate
Manipulation
}
private CommitReason _currentCommitType = CommitReason.UserInput;
@ -40,8 +40,9 @@ namespace Ink_Canvas {
}
if (_currentCommitType == CommitReason.CodeInput || _currentCommitType == CommitReason.ShapeDrawing) return;
if (_currentCommitType == CommitReason.Rotate) {
timeMachine.CommitStrokeRotateHistory(e.Removed, e.Added);
if (_currentCommitType == CommitReason.Manipulation)
{
timeMachine.CommitStrokeManipulationHistory(e.Removed, e.Added);
return;
}
if ((e.Added.Count != 0 || e.Removed.Count != 0) && IsEraseByPoint) {

View File

@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Ink;
@ -66,9 +67,10 @@ namespace Ink_Canvas {
TouchDownPointsList[e.StylusDevice.Id] = InkCanvasEditingMode.None;
}
private void MainWindow_StylusUp(object sender, StylusEventArgs e) {
private async void MainWindow_StylusUp(object sender, StylusEventArgs e) {
try {
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));
@ -273,6 +275,24 @@ namespace Ink_Canvas {
}
}
private void inkCanvas_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{
if (isInMultiTouchMode || !Settings.Gesture.IsEnableTwoFingerGesture || inkCanvas.Strokes.Count == 0 || dec.Count() < 2) return;
_currentCommitType = CommitReason.Manipulation;
StrokeCollection strokes = inkCanvas.GetSelectedStrokes();
if (strokes.Count != 0)
{
inkCanvas.Strokes.Replace(strokes, strokes.Clone());
}
else
{
var originalStrokes = inkCanvas.Strokes;
var targetStrokes = originalStrokes.Clone();
originalStrokes.Replace(originalStrokes, targetStrokes);
}
_currentCommitType = CommitReason.UserInput;
}
private void Main_Grid_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) {
if (isInMultiTouchMode || !Settings.Gesture.IsEnableTwoFingerGesture) return;
if ((dec.Count >= 2 && (Settings.PowerPointSettings.IsEnableTwoFingerGestureInPresentationMode || StackPanelPPTControls.Visibility != Visibility.Visible || StackPanelPPTButtons.Visibility == Visibility.Collapsed)) || isSingleFingerDragMode) {

View File

@ -5,12 +5,12 @@ using System.Windows;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Ink Canvas for Class")]
[assembly: AssemblyTitle("InkCanvasForClass")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Dubi906w")]
[assembly: AssemblyProduct("Ink Canvas for Class")]
[assembly: AssemblyCopyright("Copyright © HARKOTEK Studio 2024")]
[assembly: AssemblyCompany("HARKOTEK Studio")]
[assembly: AssemblyProduct("InkCanvasForClass")]
[assembly: AssemblyCopyright("© Copyright HARKOTEK Studio 2024-now")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@ -49,5 +49,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("5.0.2.0")]
[assembly: AssemblyFileVersion("5.0.2.0")]
[assembly: AssemblyVersion("5.0.3.0")]
[assembly: AssemblyFileVersion("5.0.3.0")]

View File

@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
@ -12,7 +12,7 @@ namespace Ink_Canvas.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.7.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -1,4 +1,4 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DrawingImage
x:Key="SeewoImageSource.PreviousSlideNormal">

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB

BIN
Ink Canvas/icc.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB