From 02dfbb54b676f5eeb2cba4cccdfd3c19a1071ba4 Mon Sep 17 00:00:00 2001 From: unknown <2564608840@qq.com> Date: Thu, 19 Jun 2025 15:12:40 +0800 Subject: [PATCH 01/10] =?UTF-8?q?fix:=E7=81=B5=E6=95=8F=E5=BA=A6=E9=98=88?= =?UTF-8?q?=E5=80=BC=E8=8C=83=E5=9B=B4=E8=BF=87=E5=B0=8F=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84=E8=B0=83=E8=8A=82=E6=97=A0=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow.xaml | 6 +- Ink Canvas/MainWindow_cs/MW_Settings.cs | 9 + .../MW_SimulatePressure&InkToShape.cs | 170 +++++++++++++----- Ink Canvas/Resources/Settings.cs | 2 +- .../net472/InkCanvasForClass.g.resources | Bin 5180943 -> 5180941 bytes Ink Canvas/obj/Debug/net472/MainWindow.g.cs | 2 +- Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs | 2 +- 7 files changed, 141 insertions(+), 50 deletions(-) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index a4ffea28..1a4e1a2f 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -944,13 +944,13 @@ Visibility="{Binding ElementName=ToggleSwitchAutoStraightenLine, Path=IsOn, Converter={StaticResource BooleanToVisibilityConverter}}"> - - + diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index 9e5f0e9d..4d031d54 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -753,7 +753,16 @@ namespace Ink_Canvas { private void LineStraightenSensitivitySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!isLoaded) return; + // 记录旧值用于调试 + double oldValue = Settings.InkToShape.LineStraightenSensitivity; + + // 确保灵敏度值被正确保存到设置中 Settings.InkToShape.LineStraightenSensitivity = e.NewValue; + + // 输出调试信息,观察值变化 + System.Diagnostics.Debug.WriteLine($"LineStraightenSensitivity changed: {oldValue} -> {e.NewValue}"); + + // 立即保存设置到文件,确保设置不会丢失 SaveSettingsToFile(); } diff --git a/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs b/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs index 5116a1d3..e1a386ca 100644 --- a/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs +++ b/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs @@ -13,7 +13,7 @@ namespace Ink_Canvas { public partial class MainWindow : Window { private StrokeCollection newStrokes = new StrokeCollection(); private List circles = new List(); - private const double LINE_STRAIGHTEN_THRESHOLD = 0.10; // 降低阈值,让直线检测更严格 + private const double LINE_STRAIGHTEN_THRESHOLD = 0.20; // 默认灵敏度阈值,与UI默认值对应 private void inkCanvas_StrokeCollected(object sender, InkCanvasStrokeCollectedEventArgs e) { if (Settings.Canvas.FitToCurve == true) drawingAttributes.FitToCurve = false; @@ -125,10 +125,22 @@ namespace Ink_Canvas { Point startPoint = e.Stroke.StylusPoints[0].ToPoint(); Point endPoint = e.Stroke.StylusPoints[e.Stroke.StylusPoints.Count - 1].ToPoint(); - // 端点吸附和直线拉直完全分离处理 + // 记录是否需要拉直线条,默认不拉直 + bool shouldStraighten = false; bool snapped = false; - // 只有在启用端点吸附时才尝试吸附 + // 首先检查是否应该拉直线条(使用灵敏度设置),这是主要判断条件 + // 读取实际的灵敏度设置值 + double sensitivity = Settings.InkToShape.LineStraightenSensitivity; + System.Diagnostics.Debug.WriteLine($"当前灵敏度值: {sensitivity}"); + + // 将灵敏度值传递给判断函数 + shouldStraighten = ShouldStraightenLine(e.Stroke); + + // 输出一些调试信息,帮助理解灵敏度设置的效果 + System.Diagnostics.Debug.WriteLine($"LineStraightenSensitivity: {Settings.InkToShape.LineStraightenSensitivity}, ShouldStraighten: {shouldStraighten}"); + + // 再检查端点吸附功能,这是独立的可选功能 if (Settings.Canvas.LineEndpointSnapping) { // 只有在启用了形状识别(矩形或三角形)时才执行端点吸附 if (Settings.InkToShape.IsInkToShapeRectangle || Settings.InkToShape.IsInkToShapeTriangle) { @@ -141,12 +153,9 @@ namespace Ink_Canvas { } } - // 独立检查是否应该拉直线条,无论端点吸附是否启用或成功 - bool shouldStraighten = ShouldStraightenLine(e.Stroke); - - // 如果满足任一条件(吸附成功或应该拉直),则创建直线 - // 这里的条件是"或"关系,只要有一个条件满足就会创建直线 - if (snapped || shouldStraighten) { + // 如果满足任一条件(需要拉直或成功吸附),则创建直线 + // 这确保灵敏度设置独立于端点吸附功能发挥作用 + if (shouldStraighten || snapped) { StylusPointCollection straightLinePoints = CreateStraightLine(startPoint, endPoint); Stroke straightStroke = new Stroke(straightLinePoints) { DrawingAttributes = inkCanvas.DefaultDrawingAttributes.Clone() @@ -586,10 +595,25 @@ namespace Ink_Canvas { if (lineLength < Settings.Canvas.AutoStraightenLineThreshold) return false; - // 获取用户设置的灵敏度值 + // 获取用户设置的灵敏度值,确保使用正确的设置 double sensitivity = Settings.InkToShape.LineStraightenSensitivity; - // 快速检查使用略宽松的阈值 - double quickThreshold = Math.Min(sensitivity * 1.5, 0.20); + + // 输出当前灵敏度值(调试用) + System.Diagnostics.Debug.WriteLine($"IsPotentialStraightLine - sensitivity: {sensitivity}, length: {lineLength}"); + + // 根据灵敏度调整快速检查阈值 + double quickThreshold; + + // 如果灵敏度超过1.0,使用更宽松的快速检查标准 + if (sensitivity > 1.0) { + // 高灵敏度模式 - 使用更宽松的阈值 + quickThreshold = Math.Min(0.2 + (sensitivity - 1.0) * 0.3, 0.5); // 映射到0.2-0.5范围 + } else { + // 常规灵敏度模式 + quickThreshold = Math.Min(sensitivity * 1.5, 0.20); + } + + System.Diagnostics.Debug.WriteLine($"使用快速检查阈值: {quickThreshold}"); // 快速检查:计算几个关键点与直线的距离 if (stroke.StylusPoints.Count >= 10) { @@ -606,12 +630,27 @@ namespace Ink_Canvas { double midDeviation = DistanceFromLineToPoint(start, end, midPoint); double threeQuarterDeviation = DistanceFromLineToPoint(start, end, threeQuarterPoint); - // 如果任一点偏离太大,直接排除 + // 使用相对偏差:偏差与线长的比例,并使用灵敏度进行调整 double quickRelativeThreshold = lineLength * quickThreshold; - if (quarterDeviation > quickRelativeThreshold || - midDeviation > quickRelativeThreshold || - threeQuarterDeviation > quickRelativeThreshold) { - return false; + + // 记录检测到的偏差(调试用) + System.Diagnostics.Debug.WriteLine($"Deviations: q={quarterDeviation}, m={midDeviation}, tq={threeQuarterDeviation}, threshold={quickRelativeThreshold}"); + + // 如果灵敏度超过1.5,则即使有一个点满足条件也认为可能是直线 + if (sensitivity > 1.5) { + // 超高灵敏度模式:只要有一个关键点偏差小,就认为可能是直线 + if (quarterDeviation <= quickRelativeThreshold || + midDeviation <= quickRelativeThreshold || + threeQuarterDeviation <= quickRelativeThreshold) { + return true; + } + } else { + // 常规判断:如果任一点偏离太大,直接排除 + if (quarterDeviation > quickRelativeThreshold || + midDeviation > quickRelativeThreshold || + threeQuarterDeviation > quickRelativeThreshold) { + return false; + } } } @@ -630,12 +669,20 @@ namespace Ink_Canvas { // 如果线条太短,不进行拉直处理,使用设置中的阈值 if (lineLength < Settings.Canvas.AutoStraightenLineThreshold) { + // 显示调试信息 - 线条长度不足 + // MessageBox.Show($"线条太短: {lineLength} < {Settings.Canvas.AutoStraightenLineThreshold}", "调试信息"); return false; } - // 获取用户设置的灵敏度值 + // 获取用户设置的灵敏度值,确保使用正确的值进行后续判断 double sensitivity = Settings.InkToShape.LineStraightenSensitivity; + // 输出详细的调试信息 + System.Diagnostics.Debug.WriteLine($"ShouldStraightenLine - sensitivity: {sensitivity}, length: {lineLength}"); + + // 临时:显示调试消息框 + // MessageBox.Show($"灵敏度值: {sensitivity}", "调试信息"); + // 计算点与直线的偏差 double totalDeviation = 0; int pointCount = 0; @@ -652,38 +699,73 @@ namespace Ink_Canvas { // 计算平均偏差 double avgDeviation = totalDeviation / pointCount; - // 检查点分布的一致性 - 如果有些点偏离很大而其他点很接近直线,表明线条有明显弯曲 - double deviationVariance = 0; - foreach (StylusPoint sp in stroke.StylusPoints) { - Point p = sp.ToPoint(); - double deviation = DistanceFromLineToPoint(start, end, p); - deviationVariance += Math.Pow(deviation - avgDeviation, 2); - } - deviationVariance /= pointCount; + // 更详细的调试信息 + System.Diagnostics.Debug.WriteLine($"Max deviation: {maxDeviation}, Avg: {avgDeviation}, Threshold: {sensitivity * lineLength}"); - // 如果最大偏差超过线长的阈值比例,或者偏差方差较大(表示不均匀弯曲),则不拉直 - if ((maxDeviation / lineLength) > sensitivity) { - return false; - } + // 支持更广泛的灵敏度范围 (0.05-2.0) - // 如果偏差方差大,说明线条弯曲不均匀 - if (deviationVariance > (sensitivity * lineLength * 0.05)) { - return false; - } - - // 检查中点偏离情况 - 针对弧形线条特别有效 - if (stroke.StylusPoints.Count > 10) { - int midIndex = stroke.StylusPoints.Count / 2; - Point midPoint = stroke.StylusPoints[midIndex].ToPoint(); - double midDeviation = DistanceFromLineToPoint(start, end, midPoint); + // 如果灵敏度高于1.0,使用更宽松的判断标准 + if (sensitivity > 1.0) { + // 高灵敏度模式 - 允许更大的偏差 + double adjustedSensitivity = 0.5 + (sensitivity - 1.0) * 1.5; // 映射到0.5-2.0范围 - // 如果中点偏离过大,不拉直 - if (midDeviation > (lineLength * sensitivity * 0.8)) { + // 只判断平均偏差和相对偏差 + if (maxDeviation / lineLength < adjustedSensitivity && avgDeviation < lineLength * 0.1 * adjustedSensitivity) { + System.Diagnostics.Debug.WriteLine("接受拉直 (高灵敏度模式)"); + return true; + } + + System.Diagnostics.Debug.WriteLine("拒绝拉直 (高灵敏度模式)"); + return false; + } + // 否则使用常规判断标准 + else { + // 检查点分布的一致性 - 如果有些点偏离很大而其他点很接近直线,表明线条有明显弯曲 + double deviationVariance = 0; + foreach (StylusPoint sp in stroke.StylusPoints) { + Point p = sp.ToPoint(); + double deviation = DistanceFromLineToPoint(start, end, p); + deviationVariance += Math.Pow(deviation - avgDeviation, 2); + } + deviationVariance /= pointCount; + + // 输出更多调试信息 + System.Diagnostics.Debug.WriteLine($"Deviation variance: {deviationVariance}, Threshold: {sensitivity * lineLength * 0.05}"); + + // 如果最大偏差超过线长的阈值比例,或者偏差方差较大(表示不均匀弯曲),则不拉直 + // 灵敏度越大,容许的偏差越大,更容易将线条识别为直线 + if ((maxDeviation / lineLength) > sensitivity) { + System.Diagnostics.Debug.WriteLine("拒绝拉直:最大偏差过大"); return false; } + + // 如果偏差方差大,说明线条弯曲不均匀 + // 灵敏度越大,容许的偏差方差越大 + if (deviationVariance > (sensitivity * lineLength * 0.05)) { + System.Diagnostics.Debug.WriteLine("拒绝拉直:偏差方差过大"); + return false; + } + + // 检查中点偏离情况 - 针对弧形线条特别有效 + if (stroke.StylusPoints.Count > 10) { + int midIndex = stroke.StylusPoints.Count / 2; + Point midPoint = stroke.StylusPoints[midIndex].ToPoint(); + double midDeviation = DistanceFromLineToPoint(start, end, midPoint); + + // 输出中点偏差信息 + System.Diagnostics.Debug.WriteLine($"Mid deviation: {midDeviation}, Threshold: {lineLength * sensitivity * 0.8}"); + + // 如果中点偏离过大,不拉直 + // 使用灵敏度作为判断基准,灵敏度越大,容许的中点偏离越大 + if (midDeviation > (lineLength * sensitivity * 0.8)) { + System.Diagnostics.Debug.WriteLine("拒绝拉直:中点偏差过大"); + return false; + } + } + + System.Diagnostics.Debug.WriteLine("接受拉直"); + return true; } - - return true; } // New method: Creates a straight line stroke between two points diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index ea8b4c73..a6bb0a79 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -410,7 +410,7 @@ namespace Ink_Canvas [JsonProperty("isInkToShapeRounded")] public bool IsInkToShapeRounded { get; set; } = true; [JsonProperty("lineStraightenSensitivity")] - public double LineStraightenSensitivity { get; set; } = 0.10; // 直线检测灵敏度,值越小越严格(0.05-0.75) + public double LineStraightenSensitivity { get; set; } = 0.20; // 直线检测灵敏度,值越小越严格(0.05-2.0) } public class RandSettings { diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.g.resources b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.g.resources index 53276884e6d2d275b60306010ad90e05bd7c8d69..51b12520b83abe7aed284848560064ad55aeb3f7 100644 GIT binary patch delta 2873 zcmY+G4^&gv8Nlz&^@ac;gzyLvLWBSz1PC#Nkc0q9h$JB4Piy@{s|V|>T06nnQRf`! z=DJlooqVozQ=FdDZb#2H(VotF=IZQmbTa9~(cF+}W0Dpb;2NeT$aOd3YGK$ZSov!u9?5MO zrUegQ+V7FvhG9!iiPCh&6E_dT?HoVf!Mt+J^?D2c%Qekj`~S2k|2^0O^IIq$LA8i>s{@=f3)8zt?r*>3*% zhYzG#FgMT1dz$NI`@?xw-mt44^Ezk@Lw4sfGmcil~x!ibnqJs12}u4bg8hAhnED1Uy=%o1op+M z0AzXe@WUbltSr*;RRaOyk#=7y(z5-#128tn27P7~+$s|2Buo{BS>RXz)>nwDc`SG$ zp`ptVhc-U#m;M-Eoi-c!o(}`~PKeQ?#U}R7M*%oeX~Sm?94ywezu%J*AF>E=uUN-Z zR6#r*QF+LshggY|T477c6MS7xkSv?At_5$YR&m(`TT8lOU#URT;b>_W+gA~kyrXf} z*U97f1|~8x)C9#FVZ7K1U@`EweL>PA`xD?}i-|uQn7J~)%*6f?OgIzZaG91nn;+yL zz!zm^_NPb?F9jRsD!?+Uz?QehEheoh__@`{NGvEF)TA|!k=~$ml;U1fxxlK{$91=q zm$2!?@uebj__~MH{2ig&ddjG7{~-c`gy{-dru8x*jDivHLhA{mHZ5 z@o`ih)OAi1yLv}T{DjlM?#^nJ>X~vH*?-KfiIav%jfVfl-72@{dQBQUUt?jXqpf0V zuH&O>p=hXw18xDFE+btIovsc=$|~q`)x#B+4r};flGh1{hUaFY=phv^fk0pJoy&5>{G0^v6 z!V}^jz0r!T-0iVtehoibUr9RnDfD_<_~!9e9H>uSc>8#5bQq?*ixrU%VA?wmMtwSZ z0mgi7%rTiLS%9*7yJGuiu-sb#TE7am*X!8d{?(2zQoJ5q%h`abKJ}$oX?JF7^KpC2Q=_<0xLlO`+txKV&;qn7U}j*-V_tXk+E_+4WceHpTv zdb#uU7~W|Kn`2F8zUp*L`kx|tY2*ja#H2qH0)zuj?wg3=%!=B(0)=!Zj0Jo&7ycP& zL2u5WA4jP#7@}{(v0x+p1AH26p$71Tob)`b4Rz6P!O2i3Y>kw@;%FXf!D$+Mu1yrd z(ac{d+5Yk`^r;<$Iqi<_Y4-*~NJ&~JndPuMM<(3#zVap=p1w*)!VR==gn8)0qT)!8 zhkk>8f28Z13W4tX-YpMB6bM6RAskU6DToS5MbeOTM2%!18YC0ZB3XzI$wmYu2hk(B zhyj_6#F5*OL5EoL5 zxRE-rv?6WDe54(T9lz!2I9D!q;f2wT z+T-dK9U*6;C&xGbsAENnDE)f0L;TFiO4TPj?y8c~(C<5zi$89${dJB_#H)&^u F`u}q}$`}9u delta 2864 zcmY+G4^Wfm9mn4%4^Id&gb-dr2r+~ZLr5Tm5JD0lBq4?bO#rX8YHdZGRcj|W9d*49 zwRK%<{ZsilS*Li|>(;CLQ^4DCcCMY9YtQzaXs_q=PQ`Yv*UmcHJ6C(Fu;2S8L3X*% z-TQr>-@oViJ@4~o-_g^O1IWl9rQ|ZaBlXZ<)H1l})IeU232L%+^sz7-s7}e<*;<-a zC>`*pkTS6T0O(5`_-=3VOz+g)Vn0(LdxoJ3p=EqL|22_%!!4w~pJ$Ik;YKGq;}0=_}@9 z!VL7!Qyk#x+}v{n&BD-sd!mQ$OJ@<@gze43@OFydTo)Xm+m5sev=;59eReQdbC02U4XGL`?-_Nf8 z%EN6Cm0xWk3t_c-8ylM6koMkRpa5%uL3&|b1Gh7kdw)TIJPhXxwln@_$}9r=c`JL{ z>=naCV21ayRlQy@Yy@@|nx)3G-jsU;?i4n$ebkrExkY1P-!}QuE4{91VlQv=rPpy? zBZo~z4mNti$MuO7P8PXY_f;R)E2>Ae4)*H;e|lvTS}Qvj^{49|DON(FSkImXKet`9 z9x3*)?`}O%Sx~EUv6ZcjY5x;CD{DE>h;<#;N1&v{Ox}iINuQ)97mn%MV5Y>%URc{37_G8GpV7%aT^hu*C#a8%MiyNjAZ)P< zqdMApDr2F}6%K9cw150TYIMe=XNPYE@tqK|$I1=#$`?U+tICGYN;qDwp`YIq3*TYk z;a<6#<;X&~J%aHLiv|*A7qP)k^AoJMFvLARXIuro1uDs91MD()!O;ag$%WAco%EPJ zBt}Q){2y{_@D0pVq^k=FH^M}@6~Llp6aEmlA{~#1+ZF?RF*tW*QH6ni5y}MP;Y5Xs zxmzF9z{7tlO!RMUA-oi9SSt^YTY0)Rp7NNo%HR#Fo=OrSaigZJIx6W7iCZbmwN&!7 zW=qO;XQi2v9U%xQgeLHL!dt(3w(LrntlYp>9SNn|sjyjL$R?vNY={W`R@e+Mg);nP zBoiQC2=Jg2)0<{zpxdq_&q0qpO3z-24w!84iCs%=lTqlBi@Bkq%E4T$4e!d)Dktoz zGLd2UZB-{}gz2g!WEXT*KSb>#ZG!8iYAwC`hcJ{#3B z!Tf87mdW)oT*WSj4SY2Y_Gn!!eb5fos3b-8FyXYr#TqMpB$V>DIQ6upEtWo=JoGp< z^jb%1Zp^7Ct#HBl5H0A734O(#gU;G2TE0CdUdSn}%gwa^pXV~!?$xRoHyPvHLih2I z^v>?}zT2_%LEY>!(Cc@_!cV!h^j=n6T+g&iPw$%InVp8VIwkwNC!TK2jXF8(t+UX- z#NtA0Zs4PQso3x1Owp4tG+LvmQF#jd0bi#x;EDUQ91-jf*W9_Gn;3eH9J$ z&DA=%R<900Tz);oNTa2zWF)M z+Tl)v65eW1OL~u`rBUL29d3H<(C?KNRO8p?3H)XDZ26n1r3%&edzCbIY&NFCr-b*t zT5=60yE$RMT7kUW_kNYCSksxD`u%>i=>n?#{K) zu|wZ3#+rnzk2I+myT2IkJV705;@MG>NUM)gEze1CesNCItY!syiL~Ft%__-39?k@c z#QqI5o7s2T^km^PSU?Z={n@1^N)lW*e%^Wbvc(Fo26%`CRP1nhf?G3Z)Itu!p8}oa z4ajflX6|+z6wQ&4!mI(IS-q{on!}`4tEgG;OLrU*U86PmqhVE zjl9&J8mT;K-t)`f6v>lZmebKt-!;y`K;CsK>JkUGST)FU3G z0r4U}#E�O-M5mKw6L>5<M9a)4dMiS$nd6VZViDw*Ja>SKx x#CYG&l54Y5V)=O8P;%Ii5!I)Y|B+?HkN=unUXl`B // 此代码由工具生成。 diff --git a/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs index 3208f30f..aa9d4307 100644 --- a/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "C618DEE2BF2FDFC3FC9E2911171FB8CC42684DCF" +#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6FAFC4740CB9AF5163B29698B35D6A5538C791B5" //------------------------------------------------------------------------------ // // 此代码由工具生成。 From 867a74785365284a96ce492852f01ca523249ddd Mon Sep 17 00:00:00 2001 From: unknown <2564608840@qq.com> Date: Thu, 19 Jun 2025 22:49:11 +0800 Subject: [PATCH 02/10] =?UTF-8?q?improve:=E6=94=B9=E8=BF=9B=E5=A4=9A?= =?UTF-8?q?=E6=8C=87=E8=A7=A6=E6=91=B8=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs | 8 +++++++- Ink Canvas/MainWindow_cs/MW_TouchEvents.cs | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs b/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs index 7f973e76..3222a9cf 100644 --- a/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs +++ b/Ink Canvas/MainWindow_cs/MW_SelectionGestures.cs @@ -323,6 +323,11 @@ namespace Ink_Canvas { } private void GridInkCanvasSelectionCover_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) { + // 手掌擦时禁止移动/缩放 + if (isLastTouchEraser || inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint) + return; + // 三指及以上禁止缩放 + bool disableScale = dec.Count >= 3; try { if (dec.Count >= 1) { var md = e.DeltaManipulation; @@ -341,7 +346,8 @@ namespace Ink_Canvas { // Update matrix to reflect translation/rotation m.Translate(trans.X, trans.Y); // 移动 - m.ScaleAt(scale.X, scale.Y, center.X, center.Y); // 缩放 + if (!disableScale) + m.ScaleAt(scale.X, scale.Y, center.X, center.Y); // 缩放 var strokes = inkCanvas.GetSelectedStrokes(); if (StrokesSelectionClone.Count != 0) diff --git a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs index 776fcf2b..545c742d 100644 --- a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs +++ b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs @@ -391,6 +391,11 @@ namespace Ink_Canvas { //} private void Main_Grid_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) { + // 手掌擦时禁止移动/缩放 + if (isLastTouchEraser || inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint) + return; + // 三指及以上禁止缩放 + bool disableScale = dec.Count >= 3; if (isInMultiTouchMode || !Settings.Gesture.IsEnableTwoFingerGesture) return; if ((dec.Count >= 2 && (Settings.PowerPointSettings.IsEnableTwoFingerGestureInPresentationMode || StackPanelPPTControls.Visibility != Visibility.Visible || @@ -415,7 +420,7 @@ namespace Ink_Canvas { if (Settings.Gesture.IsEnableTwoFingerRotation) m.RotateAt(rotate, center.X, center.Y); // 旋转 - if (Settings.Gesture.IsEnableTwoFingerZoom) + if (Settings.Gesture.IsEnableTwoFingerZoom && !disableScale) m.ScaleAt(scale.X, scale.Y, center.X, center.Y); // 缩放 } From 15fcd501515ca5df3706b3357600ad7855e07879 Mon Sep 17 00:00:00 2001 From: unknown <2564608840@qq.com> Date: Fri, 20 Jun 2025 11:23:57 +0800 Subject: [PATCH 03/10] =?UTF-8?q?improve:=E6=94=B9=E8=BF=9B=E5=A4=9A?= =?UTF-8?q?=E6=8C=87=E8=A7=A6=E6=91=B8=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs | 7 +++ Ink Canvas/MainWindow_cs/MW_TouchEvents.cs | 44 ++++++++---------- ...sForClass.csproj.ResolveComReference.cache | Bin 798 -> 798 bytes .../InkCanvasForClass_MarkupCompile.cache | 2 +- 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs index 354a5ee2..84009390 100644 --- a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs +++ b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs @@ -454,6 +454,13 @@ namespace Ink_Canvas { #endregion private void inkCanvas_TouchMove(object sender, TouchEventArgs e) { + // 如果处于手掌擦状态,继续使用相同的橡皮形状 + if (isLastTouchEraser && currentPalmEraserShape != null) { + inkCanvas.EraserShape = currentPalmEraserShape; + inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint; + return; + } + if (isSingleFingerDragMode) return; // 处理形状绘制模式 diff --git a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs index 545c742d..0f302a29 100644 --- a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs +++ b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs @@ -206,6 +206,8 @@ namespace Ink_Canvas { private Point iniP = new Point(0, 0); private bool isLastTouchEraser = false; private bool forcePointEraser = true; + // 用于记录手掌擦的尺寸和形状 + private StylusShape currentPalmEraserShape = null; private void Main_Grid_TouchDown(object sender, TouchEventArgs e) { // 确保触摸时显示自定义光标 @@ -226,6 +228,14 @@ namespace Ink_Canvas { if (NeedUpdateIniP()) iniP = e.GetTouchPoint(inkCanvas).Position; if (drawingShapeMode == 9 && isFirstTouchCuboid == false) MouseTouchMove(iniP); inkCanvas.Opacity = 1; + + // 如果已经处于手掌擦状态,保持状态不变 + if (isLastTouchEraser && currentPalmEraserShape != null) { + inkCanvas.EraserShape = currentPalmEraserShape; + inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint; + return; + } + double boundsWidth = GetTouchBoundWidth(e), eraserMultiplier = 1.0; if (!Settings.Advanced.EraserBindTouchMultiplier && Settings.Advanced.IsSpecialScreen) eraserMultiplier = 1 / Settings.Advanced.TouchMultiplier; @@ -249,34 +259,38 @@ namespace Ink_Canvas { break; } - // 根据EraserShapeType设置合适的橡皮擦形状 + // 根据EraserShapeType设置合适的橡皮擦形状并保存 if (Settings.Canvas.EraserShapeType == 0) { // 圆形擦 - inkCanvas.EraserShape = new EllipseStylusShape(boundsWidth * k * eraserMultiplier, + currentPalmEraserShape = new EllipseStylusShape(boundsWidth * k * eraserMultiplier, boundsWidth * k * eraserMultiplier); } else if (Settings.Canvas.EraserShapeType == 1) { // 矩形黑板擦 - inkCanvas.EraserShape = new RectangleStylusShape(boundsWidth * k * eraserMultiplier * 0.6, + currentPalmEraserShape = new RectangleStylusShape(boundsWidth * k * eraserMultiplier * 0.6, boundsWidth * k * eraserMultiplier); } + inkCanvas.EraserShape = currentPalmEraserShape; inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint; } else { if (StackPanelPPTControls.Visibility == Visibility.Visible && inkCanvas.Strokes.Count == 0 && Settings.PowerPointSettings.IsEnableFingerGestureSlideShowControl) { isLastTouchEraser = false; + currentPalmEraserShape = null; inkCanvas.EditingMode = InkCanvasEditingMode.GestureOnly; inkCanvas.Opacity = 0.1; } else { - inkCanvas.EraserShape = new EllipseStylusShape(5, 5); + currentPalmEraserShape = new EllipseStylusShape(5, 5); + inkCanvas.EraserShape = currentPalmEraserShape; inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke; } } } else { isLastTouchEraser = false; + currentPalmEraserShape = null; // 修复面积擦时不显示橡皮形状:无论 forcePointEraser 状态,均显示 50x50 橡皮 inkCanvas.EraserShape = new EllipseStylusShape(50, 50); // 修复触屏状态下几何绘制功能不可用的问题:在几何绘制模式下不应该因为forceEraser而直接返回 @@ -328,7 +342,6 @@ namespace Ink_Canvas { } private void inkCanvas_PreviewTouchUp(object sender, TouchEventArgs e) { - inkCanvas.ReleaseAllTouchCaptures(); ViewboxFloatingBar.IsHitTestVisible = true; BlackboardUIGridForInkReplay.IsHitTestVisible = true; @@ -343,6 +356,7 @@ namespace Ink_Canvas { // 如果是手掌触发的面积擦抬起,需要确保橡皮擦形状被正确重置 if (isLastTouchEraser && dec.Count == 0) { isLastTouchEraser = false; + currentPalmEraserShape = null; // 清除保存的手掌擦形状 if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint && forcePointEraser) { // 重新应用当前设置的橡皮擦形状 ApplyCurrentEraserShape(); @@ -370,26 +384,6 @@ namespace Ink_Canvas { inkCanvas.EditingMode = InkCanvasEditingMode.Ink; } - // -- removed -- - // - //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 (isLastTouchEraser || inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint) diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.ResolveComReference.cache b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.ResolveComReference.cache index 152b862730bef2fdf7ba31315bb723a7bdf38a4a..5a7e2243de846989f71eb4a45e61e9692dab0e10 100644 GIT binary patch delta 20 ccmbQoHjiz?Ek^dlpANR$zTDpYkkOVA09|qk3IG5A delta 20 ccmbQoHjiz?Ek^d0%9H1Jb==+jkkOVA09ptLn*aa+ diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass_MarkupCompile.cache b/Ink Canvas/obj/Debug/net472/InkCanvasForClass_MarkupCompile.cache index c6334c11..0150e04c 100644 --- a/Ink Canvas/obj/Debug/net472/InkCanvasForClass_MarkupCompile.cache +++ b/Ink Canvas/obj/Debug/net472/InkCanvasForClass_MarkupCompile.cache @@ -13,7 +13,7 @@ E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\App.xaml 13173459795 56-1167124909 -46-47806484 +46-1910739249 MainWindow.xaml;Resources\DrawShapeImageDictionary.xaml;Resources\IconImageDictionary.xaml;Resources\SeewoImageDictionary.xaml;Resources\Styles\Dark.xaml;Resources\Styles\Light.xaml;Windows\CountdownTimerWindow.xaml;Windows\CycleProcessBar.xaml;Windows\HasNewUpdateWindow.xaml;Windows\NamesInputWindow.xaml;Windows\OperatingGuideWindow.xaml;Windows\RandWindow.xaml;Windows\YesOrNoNotificationWindow.xaml; False From 757c08cd024ec362029026cb505cf2f71e38ef8b Mon Sep 17 00:00:00 2001 From: unknown <2564608840@qq.com> Date: Fri, 20 Jun 2025 13:51:18 +0800 Subject: [PATCH 04/10] =?UTF-8?q?improve:UI=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow.xaml | 20 +++++++++--------- .../Icons-png/menu-back-highlighted.png | Bin 0 -> 18461 bytes Ink Canvas/Resources/Icons-png/menu-back.png | Bin 0 -> 18410 bytes .../net472/InkCanvasForClass.g.resources | Bin 5180941 -> 5188806 bytes Ink Canvas/obj/Debug/net472/MainWindow.g.cs | 2 +- Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) create mode 100644 Ink Canvas/Resources/Icons-png/menu-back-highlighted.png create mode 100644 Ink Canvas/Resources/Icons-png/menu-back.png diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index 1a4e1a2f..c9f60934 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -205,7 +205,7 @@ + Geometry="F0 M24,24z M0,0z M6.63415,3.34528C6.87134,3.21274,7.16167,3.21885,7.39307,3.36126L20.3931,11.3613C20.6149,11.4978 20.75,11.7396 20.75,12 20.75,12.2604 20.6149,12.5022 20.3931,12.6387L7.39307,20.6387C7.16167,20.7811 6.87134,20.7873 6.63415,20.6547 6.39696,20.5222 6.25,20.2717 6.25,20L6.25,4C6.25,3.72829,6.39696,3.47783,6.63415,3.34528z M7.75,5.34217L7.75,18.6578 18.569,12 7.75,5.34217z" /> @@ -220,7 +220,7 @@ + Geometry="F0 M24,24z M0,0z M4.11612,6.11612C4.35054,5.8817,4.66848,5.75,5,5.75L19,5.75C19.3315,5.75 19.6495,5.8817 19.8839,6.11612 20.1183,6.35054 20.25,6.66848 20.25,7L20.25,18C20.25,18.0663 20.2237,18.1299 20.1768,18.1768 20.1299,18.2237 20.0663,18.25 20,18.25 19.5858,18.25 19.25,18.5858 19.25,19 19.25,19.4142 19.5858,19.75 20,19.75 20.4641,19.75 20.9092,19.5656 21.2374,19.2374 21.5656,18.9092 21.75,18.4641 21.75,18L21.75,7C21.75,6.27065 21.4603,5.57118 20.9445,5.05546 20.4288,4.53973 19.7293,4.25 19,4.25L5,4.25C4.27065,4.25 3.57118,4.53973 3.05546,5.05546 2.53973,5.57118 2.25,6.27065 2.25,7L2.25,17C2.25,17.7293 2.53973,18.4288 3.05546,18.9445 3.57118,19.4603 4.27065,19.75 5,19.75L8,19.75C8.41421,19.75 8.75,19.4142 8.75,19 8.75,18.5858 8.41421,18.25 8,18.25L5,18.25C4.66848,18.25 4.35054,18.1183 4.11612,17.8839 3.8817,17.6495 3.75,17.3315 3.75,17L3.75,7C3.75,6.66848,3.8817,6.35054,4.11612,6.11612z M11.8232,16.8232C11.8701,16.7763,11.9337,16.75,12,16.75L16,16.75C16.0663,16.75 16.1299,16.7763 16.1768,16.8232 16.2237,16.8701 16.25,16.9337 16.25,17L16.25,18C16.25,18.0663 16.2237,18.1299 16.1768,18.1768 16.1299,18.2237 16.0663,18.25 16,18.25L12,18.25C11.9337,18.25 11.8701,18.2237 11.8232,18.1768 11.7763,18.1299 11.75,18.0663 11.75,18L11.75,17C11.75,16.9337,11.7763,16.8701,11.8232,16.8232z M12,15.25C11.5359,15.25 11.0908,15.4344 10.7626,15.7626 10.4344,16.0908 10.25,16.5359 10.25,17L10.25,18C10.25,18.4641 10.4344,18.9092 10.7626,19.2374 11.0908,19.5656 11.5359,19.75 12,19.75L16,19.75C16.4641,19.75 16.9092,19.5656 17.2374,19.2374 17.5656,18.9092 17.75,18.4641 17.75,18L17.75,17C17.75,16.5359 17.5656,16.0908 17.2374,15.7626 16.9092,15.4344 16.4641,15.25 16,15.25L12,15.25z" /> @@ -235,7 +235,7 @@ + Geometry="F0 M24,24z M0,0z M7.98145,10.6889L7.98145,3.97896C7.98145,3.37896 8.21145,2.80897 8.64145,2.38896 9.49145,1.53896 10.9714,1.53896 11.8214,2.38896 12.2414,2.80897 12.4814,3.37896 12.4814,3.97896L12.4814,6.87304C13.2752,6.60639 14.2109,6.77837 14.8214,7.38896 14.9934,7.56094 15.1352,7.75807 15.2427,7.97211 16.0798,7.5855 17.157,7.72439 17.8214,8.38879 17.9978,8.56516 18.1424,8.76797 18.2509,8.98835 19.0867,8.60643 20.1592,8.74658 20.8214,9.40881 21.2414,9.82881 21.4814,10.3988 21.4814,10.9988L21.4814,15.4988C21.4814,17.2788 20.7614,19.0188 19.5014,20.2688 18.2314,21.5488 16.5314,22.2488 14.7314,22.2488L14.7314,22.2288 12.7314,22.2288 12.6214,22.2288C11.6114,22.1788 10.6214,21.9088 9.73138,21.4288 8.75138,20.8988 7.91138,20.1288 7.29138,19.1988L7.09138,18.8988C6.76138,18.3988 5.68138,16.5088 3.78138,13.1288 3.49138,12.6188 3.41138,12.0188 3.57138,11.4488 3.72138,10.8788 4.08138,10.3988 4.59138,10.0988 5.09138,9.79881 5.68138,9.67881 6.26138,9.74881 6.84138,9.81881 7.38138,10.0888 7.79138,10.4988L7.98145,10.6889z M16.9814,11.0086L16.9814,11.4788C16.9814,11.8888 17.3214,12.2288 17.7314,12.2288 18.1414,12.2288 18.4814,11.8888 18.4814,11.4788L18.4814,10.9889C18.484,10.7926 18.5637,10.6065 18.7014,10.4688 18.9814,10.1888 19.4814,10.1888 19.7614,10.4688 19.9014,10.6088 19.9814,10.7988 19.9814,10.9988L19.9814,15.4988C19.9814,16.8788 19.4214,18.2288 18.4414,19.2088 17.4514,20.1988 16.1314,20.7488 14.7314,20.7488L12.9414,20.7488C12.0714,20.7488 11.2114,20.5288 10.4514,20.1188 9.69138,19.7088 9.04138,19.1088 8.56138,18.3888L8.36138,18.0888C8.06138,17.6188 6.96138,15.7088 5.10138,12.3988 5.00138,12.2288 4.98138,12.0288 5.03138,11.8388 5.08138,11.6488 5.20138,11.4888 5.37138,11.3888 5.58138,11.2588 5.83138,11.2088 6.08138,11.2388 6.32138,11.2688 6.55138,11.3888 6.73138,11.5588L8.20138,13.0288C8.49138,13.3188 8.97138,13.3188 9.26138,13.0288 9.38653,12.9037 9.45767,12.7431 9.4748,12.5778 9.47918,12.5454 9.48145,12.5124 9.48145,12.479L9.48145,3.97896C9.48145,3.77897 9.56145,3.58896 9.70145,3.44896 9.98145,3.16896 10.4814,3.16896 10.7614,3.44896 10.9014,3.58896 10.9814,3.77897 10.9814,3.97896L10.9814,8.97896 10.9814,10.979 10.9814,11.479C10.9814,11.889 11.3214,12.229 11.7314,12.229 12.1414,12.229 12.4814,11.889 12.4814,11.479L12.4814,10.979 12.4814,8.97896C12.4814,8.77897 12.5614,8.58897 12.7014,8.44897 12.9814,8.16897 13.4814,8.16897 13.7614,8.44897 13.9014,8.58897 13.9814,8.77897 13.9814,8.97896L13.9814,9.97879 13.9814,11.479C13.9814,11.889 14.3214,12.229 14.7314,12.229 15.1414,12.229 15.4814,11.889 15.4814,11.479L15.4814,9.97879C15.4814,9.77879 15.5614,9.58879 15.7014,9.44879 15.9814,9.16879 16.4814,9.16879 16.7614,9.44879 16.9014,9.58879 16.9814,9.77879 16.9814,9.97879L16.9814,10.9814 16.9814,10.9988 16.9814,11.0086z M3.27144,5.81876C3.04144,5.81876 2.81144,5.70876 2.66144,5.50876 2.42144,5.17876 2.49144,4.70876 2.82144,4.45876 3.63144,3.86876 4.50144,3.35876 5.42144,2.94876 5.80144,2.77876 6.24144,2.94876 6.41144,3.32875 6.58144,3.70876 6.41144,4.14876 6.03144,4.31876 5.21144,4.68876 4.43144,5.13875 3.71144,5.66876 3.58144,5.76876 3.42144,5.80875 3.27144,5.80875L3.27144,5.81876z M18.0113,5.17885C18.1413,5.25885,18.2713,5.29885,18.4113,5.29885L18.4113,5.28885C18.6613,5.28885 18.9113,5.16885 19.0513,4.93885 19.2713,4.58885 19.1613,4.12885 18.8113,3.90885 17.6013,3.14885 16.3013,2.57885 14.9213,2.20885 14.5113,2.09885 14.1113,2.33885 14.0013,2.73885 13.8913,3.13885 14.1313,3.54885 14.5313,3.65885 15.7613,3.98885 16.9313,4.49885 18.0113,5.17885z" /> @@ -250,7 +250,7 @@ + Geometry="F0 M24,24z M0,0z M15.1306,4.19378C15.5647,4.01395 16.0301,3.92139 16.5,3.92139 16.9699,3.92139 17.4353,4.01395 17.8694,4.19378 18.3036,4.37361 18.698,4.6372 19.0303,4.96948 19.3626,5.30177 19.6262,5.69625 19.806,6.13041 19.9859,6.56457 20.0784,7.02989 20.0784,7.49981 20.0784,7.96974 19.9859,8.43506 19.806,8.86922 19.6262,9.30337 19.3626,9.69786 19.0303,10.0301L18.0403,11.0202 18.0303,11.0303 18.0202,11.0403 8.53033,20.5301C8.38968,20.6708,8.19891,20.7498,8,20.7498L4,20.7498C3.58579,20.7498,3.25,20.414,3.25,19.9998L3.25,15.9998C3.25,15.8009,3.32902,15.6101,3.46967,15.4695L13.9697,4.96948C14.302,4.6372,14.6964,4.37361,15.1306,4.19378z M17.9697,8.96948L17.4999,9.43925 14.5606,6.49991 15.0303,6.03014C15.2233,5.83714 15.4525,5.68405 15.7046,5.5796 15.9568,5.47515 16.2271,5.42139 16.5,5.42139 16.7729,5.42139 17.0432,5.47515 17.2954,5.5796 17.5475,5.68405 17.7767,5.83714 17.9697,6.03014 18.1627,6.22314 18.3158,6.45227 18.4202,6.70443 18.5247,6.9566 18.5784,7.22687 18.5784,7.49981 18.5784,7.77276 18.5247,8.04303 18.4202,8.29519 18.3158,8.54736 18.1627,8.77648 17.9697,8.96948z M4.75,16.3105L13.4999,7.56057 16.4392,10.4999 7.68934,19.2498 4.75,19.2498 4.75,16.3105z M21.5303,17.5303C21.8232,17.2374 21.8232,16.7626 21.5303,16.4697 21.2374,16.1768 20.7626,16.1768 20.4697,16.4697L17,19.9393 15.5303,18.4697C15.2374,18.1768 14.7626,18.1768 14.4697,18.4697 14.1768,18.7626 14.1768,19.2374 14.4697,19.5303L16.4697,21.5303C16.7626,21.8232,17.2374,21.8232,17.5303,21.5303L21.5303,17.5303z" /> @@ -280,7 +280,7 @@ + Geometry="F0 M24,24z M0,0z M12.6955,2.31464C12.8562,2.2432,13.037,2.23053,13.2061,2.27886L20.2061,4.27886C20.5281,4.37085,20.7501,4.66514,20.7501,5L20.7501,18C20.7501,18.3,20.5713,18.5712,20.2955,18.6894L13.2955,21.6894C13.1267,21.7617,12.9372,21.7696,12.7629,21.7115L3.7629,18.7115C3.41393,18.5952 3.20083,18.243 3.25975,17.8799 3.31867,17.5168 3.63223,17.25 4.00007,17.25L12.2501,17.25 12.2501,7.10778 8.75007,8.50778 8.75007,13C8.75007,13.2841,8.58957,13.5438,8.33548,13.6708L4.33548,15.6708C4.10299,15.7871 3.82688,15.7746 3.60577,15.638 3.38466,15.5013 3.25007,15.2599 3.25007,15L3.25007,7C3.25007,6.70361,3.42462,6.43502,3.69546,6.31464L12.6955,2.31464z M13.0558,3.79595L4.75007,7.48741 4.75007,13.7865 7.25007,12.5365 7.25007,8C7.25007,7.69332,7.43678,7.41754,7.72153,7.30364L12.7215,5.30364C12.9526,5.21122 13.2145,5.23943 13.4205,5.37895 13.6266,5.51847 13.7501,5.75113 13.7501,6L13.7501,18C13.7501,18.4142,13.4143,18.75,13.0001,18.75L8.62178,18.75 12.9667,20.1983 19.2501,17.5055 19.2501,5.56573 13.0558,3.79595z" /> @@ -295,7 +295,7 @@ + Geometry="F0 M24,24z M0,0z M7.8679,3.80724L10.5302,6.46952C10.6708,6.61018,10.7499,6.80094,10.7499,6.99985L10.7499,9.99985C10.7499,10.4141,10.4141,10.7499,9.99985,10.7499L6.99985,10.7499C6.80094,10.7499,6.61018,10.6708,6.46952,10.5302L3.80724,7.8679C3.64358,8.5543 3.61907,9.27047 3.73968,9.97343 3.92327,11.0435 4.43407,12.0303 5.20176,12.798 5.96944,13.5656 6.95625,14.0764 8.02628,14.26 9.09632,14.4436 10.197,14.291 11.1766,13.8231 11.4634,13.6861 11.8054,13.7448 12.0302,13.9695L18.0302,19.9695C18.2874,20.2267 18.6362,20.3712 18.9999,20.3712 19.3636,20.3712 19.7124,20.2267 19.9695,19.9695 20.2267,19.7124 20.3712,19.3636 20.3712,18.9999 20.3712,18.6362 20.2267,18.2874 19.9695,18.0302L13.9695,12.0302C13.7448,11.8054 13.6861,11.4634 13.8231,11.1766 14.291,10.197 14.4436,9.09632 14.26,8.02628 14.0764,6.95625 13.5656,5.96944 12.798,5.20176 12.0303,4.43407 11.0435,3.92327 9.97343,3.73968 9.27047,3.61907 8.5543,3.64358 7.8679,3.80724z M6.17663,2.82308C7.43621,2.22151 8.85132,2.02523 10.2271,2.26128 11.6028,2.49732 12.8716,3.15407 13.8586,4.1411 14.8456,5.12812 15.5024,6.39687 15.7384,7.77263 15.944,8.97097 15.8216,10.1992 15.3891,11.3284L21.0302,16.9695C21.5687,17.508 21.8712,18.2383 21.8712,18.9999 21.8712,19.7614 21.5687,20.4917 21.0302,21.0302 20.4917,21.5687 19.7614,21.8712 18.9999,21.8712 18.2383,21.8712 17.508,21.5687 16.9695,21.0302L11.3284,15.3891C10.1992,15.8216 8.97097,15.944 7.77263,15.7384 6.39687,15.5024 5.12812,14.8456 4.1411,13.8586 3.15407,12.8716 2.49732,11.6028 2.26128,10.2271 2.02523,8.85132 2.22151,7.43621 2.82308,6.17663 2.92801,5.95693 3.13306,5.80183 3.37303,5.76066 3.613,5.71948 3.85802,5.79736 4.03018,5.96952L7.31051,9.24985 9.24985,9.24985 9.24985,7.31051 5.96952,4.03018C5.79736,3.85802 5.71948,3.613 5.76066,3.37303 5.80183,3.13306 5.95693,2.92801 6.17663,2.82308z" /> @@ -310,7 +310,7 @@ + Geometry="F0 M24,24z M0,0z M7.81828,2.27257C8.22012,2.17211,8.62732,2.41643,8.72778,2.81828L9.08572,4.25 14.9146,4.25 15.2726,2.81828C15.373,2.41643 15.7802,2.17211 16.1821,2.27257 16.5839,2.37303 16.8282,2.78023 16.7278,3.18208L16.4608,4.25 18,4.25C18.7293,4.25 19.4288,4.53973 19.9445,5.05546 20.4603,5.57118 20.75,6.27065 20.75,7L20.75,19C20.75,19.7293 20.4603,20.4288 19.9445,20.9445 19.4288,21.4603 18.7293,21.75 18,21.75L6,21.75C5.27065,21.75 4.57118,21.4603 4.05546,20.9445 3.53973,20.4288 3.25,19.7293 3.25,19L3.25,7C3.25,6.27065 3.53973,5.57118 4.05546,5.05546 4.57118,4.53973 5.27065,4.25 6,4.25L7.53955,4.25 7.27257,3.18208C7.17211,2.78023,7.41643,2.37303,7.81828,2.27257z M14.5396,5.75L14.2726,6.81828C14.1721,7.22012 14.4164,7.62732 14.8183,7.72778 15.2201,7.82825 15.6273,7.58393 15.7278,7.18208L16.0858,5.75 18,5.75C18.3315,5.75 18.6495,5.8817 18.8839,6.11612 19.1183,6.35054 19.25,6.66848 19.25,7L19.25,19C19.25,19.3315 19.1183,19.6495 18.8839,19.8839 18.6495,20.1183 18.3315,20.25 18,20.25L6,20.25C5.66848,20.25 5.35054,20.1183 5.11612,19.8839 4.8817,19.6495 4.75,19.3315 4.75,19L4.75,7C4.75,6.66848 4.8817,6.35054 5.11612,6.11612 5.35054,5.8817 5.66848,5.75 6,5.75L7.91455,5.75 8.27257,7.18208C8.37303,7.58393 8.78023,7.82825 9.18208,7.72778 9.58393,7.62732 9.82825,7.22012 9.72778,6.81828L9.46072,5.75 14.5396,5.75z M9.41625,15.3761C9.07166,15.1463 8.60598,15.2393 8.37614,15.5839 8.14629,15.9285 8.23932,16.3942 8.58391,16.624 9.6821,17.3565 10.8245,17.7501 12.0001,17.7501 13.1757,17.7501 14.3181,17.3565 15.4162,16.624 15.7608,16.3942 15.8539,15.9285 15.624,15.5839 15.3942,15.2393 14.9285,15.1463 14.5839,15.3761 13.6821,15.9776 12.8245,16.2501 12.0001,16.2501 11.1757,16.2501 10.3181,15.9776 9.41625,15.3761z M9,10.25C9.41421,10.25,9.75,10.5858,9.75,11L9.75,12C9.75,12.4142 9.41421,12.75 9,12.75 8.58579,12.75 8.25,12.4142 8.25,12L8.25,11C8.25,10.5858,8.58579,10.25,9,10.25z M15.75,11C15.75,10.5858 15.4142,10.25 15,10.25 14.5858,10.25 14.25,10.5858 14.25,11L14.25,12C14.25,12.4142 14.5858,12.75 15,12.75 15.4142,12.75 15.75,12.4142 15.75,12L15.75,11z" /> @@ -325,7 +325,7 @@ + Geometry="F0 M24,24z M0,0z M18.5303,3.46967C18.2374,3.17678 17.7626,3.17678 17.4697,3.46967 17.1768,3.76256 17.1768,4.23744 17.4697,4.53033L19.1893,6.25 16,6.25C14.475,6.25 13.0125,6.8558 11.9341,7.93414 11.5659,8.30239 11.2527,8.71546 11,9.16052 10.7473,8.71546 10.4341,8.30239 10.0659,7.93414 8.98753,6.8558 7.52499,6.25 6,6.25L3,6.25C2.58579,6.25 2.25,6.58579 2.25,7 2.25,7.41421 2.58579,7.75 3,7.75L6,7.75C7.12717,7.75 8.20817,8.19777 9.0052,8.9948 9.80223,9.79183 10.25,10.8728 10.25,12 10.25,13.1272 9.80223,14.2082 9.0052,15.0052 8.20817,15.8022 7.12717,16.25 6,16.25L3,16.25C2.58579,16.25 2.25,16.5858 2.25,17 2.25,17.4142 2.58579,17.75 3,17.75L6,17.75C7.52499,17.75 8.98753,17.1442 10.0659,16.0659 10.4341,15.6976 10.7473,15.2845 11,14.8395 11.2527,15.2845 11.5659,15.6976 11.9341,16.0659 13.0125,17.1442 14.475,17.75 16,17.75L19.1893,17.75 17.4697,19.4697C17.1768,19.7626 17.1768,20.2374 17.4697,20.5303 17.7626,20.8232 18.2374,20.8232 18.5303,20.5303L21.5303,17.5303C21.6022,17.4584 21.6565,17.3755 21.6931,17.2871 21.7298,17.1987 21.75,17.1017 21.75,17 21.75,16.8081 21.6768,16.6161 21.5303,16.4697L18.5303,13.4697C18.2374,13.1768 17.7626,13.1768 17.4697,13.4697 17.1768,13.7626 17.1768,14.2374 17.4697,14.5303L19.1893,16.25 16,16.25C14.8728,16.25 13.7918,15.8022 12.9948,15.0052 12.1978,14.2082 11.75,13.1272 11.75,12 11.75,10.8728 12.1978,9.79183 12.9948,8.9948 13.7918,8.19777 14.8728,7.75 16,7.75L19.1893,7.75 17.4697,9.46967C17.1768,9.76256 17.1768,10.2374 17.4697,10.5303 17.7626,10.8232 18.2374,10.8232 18.5303,10.5303L21.5303,7.53033C21.6768,7.38388 21.75,7.19194 21.75,7 21.75,6.89831 21.7298,6.80134 21.6931,6.71291 21.6565,6.62445 21.6022,6.54158 21.5303,6.46967L18.5303,3.46967z" /> @@ -340,7 +340,7 @@ + Geometry="F0 M24,24z M0,0z M9.43853,3.39157C9.63411,3.53254 9.75,3.75892 9.75,4.00001 9.75,4.59674 9.98705,5.16904 10.409,5.591 10.831,6.01295 11.4033,6.25001 12,6.25001 12.5967,6.25001 13.169,6.01295 13.591,5.591 14.0129,5.16904 14.25,4.59674 14.25,4.00001 14.25,3.75892 14.3659,3.53254 14.5615,3.39157 14.757,3.25061 15.0085,3.21226 15.2372,3.28849L21.2372,5.28849C21.5434,5.39058,21.75,5.67718,21.75,6.00001L21.75,11C21.75,11.4142,21.4142,11.75,21,11.75L18.75,11.75 18.75,19C18.75,19.4641 18.5656,19.9093 18.2374,20.2374 17.9092,20.5656 17.4641,20.75 17,20.75L7,20.75C6.53587,20.75 6.09075,20.5656 5.76256,20.2374 5.43437,19.9093 5.25,19.4641 5.25,19L5.25,11.75 3,11.75C2.58579,11.75,2.25,11.4142,2.25,11L2.25,6.00001C2.25,5.67718,2.45657,5.39058,2.76283,5.28849L8.76283,3.28849C8.99154,3.21226,9.24296,3.25061,9.43853,3.39157z M3.75,6.54058L3.75,10.25 6,10.25C6.41421,10.25,6.75,10.5858,6.75,11L6.75,19C6.75,19.0663 6.77634,19.1299 6.82322,19.1768 6.87011,19.2237 6.93369,19.25 7,19.25L17,19.25C17.0663,19.25 17.1299,19.2237 17.1768,19.1768 17.2237,19.1299 17.25,19.0663 17.25,19L17.25,11C17.25,10.5858,17.5858,10.25,18,10.25L20.25,10.25 20.25,6.54058 15.6154,4.99571C15.4444,5.61643 15.1149,6.1884 14.6517,6.65166 13.9484,7.35492 12.9946,7.75001 12,7.75001 11.0054,7.75001 10.0516,7.35492 9.34835,6.65166 8.8851,6.1884 8.55557,5.61643 8.3846,4.99571L3.75,6.54058z" /> @@ -370,7 +370,7 @@ + Geometry="F0 M24,24z M0,0z M5.10571,5.10571C6.93419,3.27723 9.41414,2.25 12,2.25 14.5859,2.25 17.0658,3.27723 18.8943,5.10571 20.7228,6.93419 21.75,9.41414 21.75,12 21.75,13.2804 21.4978,14.5482 21.0078,15.7312 20.5178,16.9141 19.7997,17.9889 18.8943,18.8943 17.9889,19.7997 16.9141,20.5178 15.7312,21.0078 14.5482,21.4978 13.2804,21.75 12,21.75 10.7196,21.75 9.45176,21.4978 8.26884,21.0078 7.08591,20.5178 6.01108,19.7997 5.10571,18.8943 4.20034,17.9889 3.48216,16.9141 2.99217,15.7312 2.50219,14.5482 2.25,13.2804 2.25,12 2.25,9.41414 3.27723,6.93419 5.10571,5.10571z M12,3.75C9.81196,3.75 7.71354,4.61919 6.16637,6.16637 4.61919,7.71354 3.75,9.81196 3.75,12 3.75,13.0834 3.96339,14.1562 4.37799,15.1571 4.79259,16.1581 5.40029,17.0675 6.16637,17.8336 6.93245,18.5997 7.84193,19.2074 8.84286,19.622 9.8438,20.0366 10.9166,20.25 12,20.25 13.0834,20.25 14.1562,20.0366 15.1571,19.622 16.1581,19.2074 17.0675,18.5997 17.8336,17.8336 18.5997,17.0675 19.2074,16.1581 19.622,15.1571 20.0366,14.1562 20.25,13.0834 20.25,12 20.25,9.81196 19.3808,7.71354 17.8336,6.16637 16.2865,4.61919 14.188,3.75 12,3.75z M11.25,9C11.25,8.58579,11.5858,8.25,12,8.25L12.01,8.25C12.4242,8.25 12.76,8.58579 12.76,9 12.76,9.41421 12.4242,9.75 12.01,9.75L12,9.75C11.5858,9.75,11.25,9.41421,11.25,9z M11,11.25C10.5858,11.25 10.25,11.5858 10.25,12 10.25,12.4142 10.5858,12.75 11,12.75L11.25,12.75 11.25,16C11.25,16.4142,11.5858,16.75,12,16.75L13,16.75C13.4142,16.75 13.75,16.4142 13.75,16 13.75,15.5858 13.4142,15.25 13,15.25L12.75,15.25 12.75,12C12.75,11.5858,12.4142,11.25,12,11.25L11,11.25z" /> diff --git a/Ink Canvas/Resources/Icons-png/menu-back-highlighted.png b/Ink Canvas/Resources/Icons-png/menu-back-highlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..47d457775956e0f03a920c9c2b14c366312aac9d GIT binary patch literal 18461 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 N002ovPDHLkV1nqs0P_F< literal 0 HcmV?d00001 diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.g.resources b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.g.resources index 51b12520b83abe7aed284848560064ad55aeb3f7..499e98c66fab1bbc411748c8d73a0967a7d02f6a 100644 GIT binary patch delta 14108 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 delta 6368 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 // 此代码由工具生成。 diff --git a/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs index aa9d4307..045cc8fe 100644 --- a/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6FAFC4740CB9AF5163B29698B35D6A5538C791B5" +#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "54BD03BD233A37650ADB8A3ABAE7A4EE1F2260EE" //------------------------------------------------------------------------------ // // 此代码由工具生成。 From 542812eb741fff36103f13aeb42b5c191343c40f Mon Sep 17 00:00:00 2001 From: Hydrogen Date: Mon, 23 Jun 2025 14:33:58 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=87=8D=E5=90=AF=E8=AE=A1=E6=95=B0=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 防止异常重启死循环 2. 为未来可能的新功能做准备 --- Ink Canvas/App.xaml.cs | 22 +++++++ Ink Canvas/Helpers/StartupCount.cs | 52 +++++++++++++++ Ink Canvas/obj/Debug/net472/App.g.cs | 16 ++--- Ink Canvas/obj/Debug/net472/App.g.i.cs | 16 ++--- .../net472/GeneratedInternalTypeHelper.g.cs | 62 +----------------- .../net472/GeneratedInternalTypeHelper.g.i.cs | 10 +-- ....GeneratedMSBuildEditorConfig.editorconfig | 2 +- .../net472/InkCanvasForClass.assets.cache | Bin 8107 -> 7801 bytes ...vasForClass.csproj.AssemblyReference.cache | Bin 34904 -> 34991 bytes ...vasForClass.csproj.CoreCompileInputs.cache | 2 +- ...CanvasForClass.csproj.FileListAbsolute.txt | 1 - ...nvasForClass.csproj.GenerateResource.cache | Bin 128 -> 128 bytes ...sForClass.csproj.ResolveComReference.cache | Bin 798 -> 410 bytes .../InkCanvasForClass_MarkupCompile.cache | 10 +-- .../InkCanvasForClass_MarkupCompile.lref | 20 +++--- Ink Canvas/obj/Debug/net472/MainWindow.g.cs | 14 ++-- Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs | 14 ++-- .../net472/Windows/CountdownTimerWindow.g.cs | 14 ++-- .../Windows/CountdownTimerWindow.g.i.cs | 14 ++-- .../Debug/net472/Windows/CycleProcessBar.g.cs | 12 ++-- .../net472/Windows/CycleProcessBar.g.i.cs | 12 ++-- .../net472/Windows/HasNewUpdateWindow.g.cs | 14 ++-- .../net472/Windows/HasNewUpdateWindow.g.i.cs | 14 ++-- .../net472/Windows/NamesInputWindow.g.cs | 12 ++-- .../net472/Windows/NamesInputWindow.g.i.cs | 12 ++-- .../net472/Windows/OperatingGuideWindow.g.cs | 12 ++-- .../Windows/OperatingGuideWindow.g.i.cs | 12 ++-- .../obj/Debug/net472/Windows/RandWindow.g.cs | 12 ++-- .../Debug/net472/Windows/RandWindow.g.i.cs | 12 ++-- .../Windows/YesOrNoNotificationWindow.g.cs | 12 ++-- .../Windows/YesOrNoNotificationWindow.g.i.cs | 12 ++-- ...InkCanvasForClass.csproj.nuget.dgspec.json | 24 +++---- .../InkCanvasForClass.csproj.nuget.g.props | 5 +- Ink Canvas/obj/project.assets.json | 23 +++---- Ink Canvas/obj/project.nuget.cache | 28 ++++---- 35 files changed, 248 insertions(+), 249 deletions(-) create mode 100644 Ink Canvas/Helpers/StartupCount.cs diff --git a/Ink Canvas/App.xaml.cs b/Ink Canvas/App.xaml.cs index 3ce93473..23328060 100644 --- a/Ink Canvas/App.xaml.cs +++ b/Ink Canvas/App.xaml.cs @@ -56,6 +56,13 @@ namespace Ink_Canvas // 修改:仅当非用户主动退出时才触发自动重启 if (CrashAction == CrashActionType.SilentRestart && !IsAppExitByUser) { + StartupCount.Increment(); + if (StartupCount.GetCount() >= 5) + { + MessageBox.Show("检测到程序已连续重启5次,已停止自动重启。请联系开发者或检查系统环境。", "重启次数过多", MessageBoxButton.OK, MessageBoxImage.Error); + StartupCount.Reset(); + Environment.Exit(1); + } try { string exePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; @@ -255,6 +262,13 @@ namespace Ink_Canvas LogHelper.NewLog("检测到主线程无响应,自动重启。"); if (CrashAction == CrashActionType.SilentRestart) { + StartupCount.Increment(); + if (StartupCount.GetCount() >= 5) + { + MessageBox.Show("检测到程序已连续重启5次,已停止自动重启。请联系开发者或检查系统环境。", "重启次数过多", MessageBoxButton.OK, MessageBoxImage.Error); + StartupCount.Reset(); + Environment.Exit(1); + } try { string exePath = Process.GetCurrentProcess().MainModule.FileName; @@ -307,6 +321,13 @@ namespace Ink_Canvas Thread.Sleep(2000); } // 主进程异常退出,自动重启 + StartupCount.Increment(); + if (StartupCount.GetCount() >= 5) + { + MessageBox.Show("检测到程序已连续重启5次,已停止自动重启。请联系开发者或检查系统环境。", "重启次数过多", MessageBoxButton.OK, MessageBoxImage.Error); + StartupCount.Reset(); + Environment.Exit(1); + } string exePath = Process.GetCurrentProcess().MainModule.FileName; Process.Start(exePath); } @@ -323,6 +344,7 @@ namespace Ink_Canvas if (IsAppExitByUser) { // 写入退出信号文件,通知看门狗正常退出 + StartupCount.Reset(); File.WriteAllText(watchdogExitSignalFile, "exit"); if (watchdogProcess != null && !watchdogProcess.HasExited) { diff --git a/Ink Canvas/Helpers/StartupCount.cs b/Ink Canvas/Helpers/StartupCount.cs new file mode 100644 index 00000000..ce80f3a0 --- /dev/null +++ b/Ink Canvas/Helpers/StartupCount.cs @@ -0,0 +1,52 @@ + using System; +using System.IO; + +namespace Ink_Canvas.Helpers +{ + public static class StartupCount + { + private static readonly string CountFilePath = Path.Combine(App.RootPath, "startup-count"); + private static readonly object fileLock = new object(); + + public static int GetCount() + { + try + { + if (File.Exists(CountFilePath)) + { + var text = File.ReadAllText(CountFilePath).Trim(); + if (int.TryParse(text, out int count)) + return count; + } + } + catch { } + return 0; + } + + public static void Increment() + { + lock (fileLock) + { + int count = GetCount() + 1; + try + { + File.WriteAllText(CountFilePath, count.ToString()); + } + catch { } + } + } + + public static void Reset() + { + lock (fileLock) + { + try + { + if (File.Exists(CountFilePath)) + File.Delete(CountFilePath); + } + catch { } + } + } + } +} diff --git a/Ink Canvas/obj/Debug/net472/App.g.cs b/Ink Canvas/obj/Debug/net472/App.g.cs index b425ca86..ee2dbb33 100644 --- a/Ink Canvas/obj/Debug/net472/App.g.cs +++ b/Ink Canvas/obj/Debug/net472/App.g.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2F83C72861203F56E137DC704561E979347ABF79" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -65,7 +65,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -87,7 +87,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] @@ -162,7 +162,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] @@ -190,7 +190,7 @@ namespace Ink_Canvas { /// [System.STAThreadAttribute()] [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public static void Main() { Ink_Canvas.App app = new Ink_Canvas.App(); app.InitializeComponent(); diff --git a/Ink Canvas/obj/Debug/net472/App.g.i.cs b/Ink Canvas/obj/Debug/net472/App.g.i.cs index b425ca86..ee2dbb33 100644 --- a/Ink Canvas/obj/Debug/net472/App.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/App.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2F83C72861203F56E137DC704561E979347ABF79" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -65,7 +65,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -87,7 +87,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] @@ -162,7 +162,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] @@ -190,7 +190,7 @@ namespace Ink_Canvas { /// [System.STAThreadAttribute()] [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public static void Main() { Ink_Canvas.App app = new Ink_Canvas.App(); app.InitializeComponent(); diff --git a/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs b/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs index bd1f4c33..c65238fb 100644 --- a/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs +++ b/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs @@ -1,62 +1,2 @@ -//------------------------------------------------------------------------------ -// -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 -// -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 -// -//------------------------------------------------------------------------------ - -namespace XamlGeneratedNamespace { - - - /// - /// GeneratedInternalTypeHelper - /// - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { - - /// - /// CreateInstance - /// - protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) { - return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic) - | (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture); - } - - /// - /// GetPropertyValue - /// - protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) { - return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture); - } - - /// - /// SetPropertyValue - /// - protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) { - propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture); - } - - /// - /// CreateDelegate - /// - protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) { - return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod - | (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] { - delegateType, - handler}, null))); - } - - /// - /// AddEventHandler - /// - protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) { - eventInfo.AddEventHandler(target, handler); - } - } -} + diff --git a/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.i.cs b/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.i.cs index bd1f4c33..8133cc15 100644 --- a/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.i.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -15,7 +15,7 @@ namespace XamlGeneratedNamespace { /// GeneratedInternalTypeHelper /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig index 2ed04ef5..5fc8f8b8 100644 --- a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig +++ b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.GeneratedMSBuildEditorConfig.editorconfig @@ -1,6 +1,6 @@ is_global = true build_property.RootNamespace = Ink_Canvas -build_property.ProjectDir = E:\ICC CE\ICC CE main\ICC-CE\Ink Canvas\ +build_property.ProjectDir = D:\Hydrogen\Documents\GitHub\ICC-CE\Ink Canvas\ build_property.EnableComHosting = build_property.EnableGeneratedComInterfaceComImportInterop = build_property.CsWinRTUseWindowsUIXamlProjections = false diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.assets.cache b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.assets.cache index f250a1e22f7960b8e6556fc6336607b3e7a5ebb6..4c6bfda49f92e047d59a70d7f6596e16c3e12ad3 100644 GIT binary patch delta 1354 zcmZ2&|I@}Rz}wxChk=3Ncky+_#ms?qozaV5)oif+|HgK)(yqtl7Q216tT8F>*t1C- zs0a%9fpoO9RZM7cYEf~FM`cP;etK%&ME^9Q3=Gl9vV0+v6&U4(;xMHauv<*-V>A@X z!X_0qS%*npC=r{K@8tDBsVHnxZj-f{<%L`^r4pF~ghH_ii%-7K>?z#Fh$-j5GEpcH zo3Pa63|Ya+!mNfuVVKerWYs5Iipfo0z$zo;hABOt!)P)qo4k-8rqq89tI4H6sQ^r= z)ojs1k(k1=>^ay2FBez96>^AUcaDbo>v@u;>gDCfw0M6`NVN~qJUoLn!S0HX z$^Qk+aVJsH$u$xjlg*g~CT|jy!R26UA#+>~z6O-SkzBKc&9Ns}lgV#{O>ie!-O1G= zCODF9>0}#G6Z}b6bn77P7%649>wq7MN1N+$&^^Dg2*9 RNyr3Kcr}~yW-Yl!MgX_Z-OK<0 delta 1655 zcmexqv)bN2z}wxChk=1%_q7){q%ZV)Ej+re!O85>>m;+LKke_*e2P}_-8yN|{Bw^4 zP!SaH1L*{3tC-N@)S}`T$CTX6yv*W~qQsK?qRD@G+$T2u_@@|uPndQa3aL6xU7N7i9NOp1& zvy6BYPBjS<-HbRSZwr@B?qHD-55pm^Eu%g8A&a4SG!FUud`^?oSmnjNamX)}k(j)m z)lxhdr@Yc+88&nAP#p59Y|-LzIOMd%H7EaOb0!c0oRgQai{ps^-^nr@;so3;HMtz9 z2EQL9Hs9iS#9Yq=OmOPh9UP;VSDKz$5>t?voSm4SS{wsPqqeSAF#$#S=|zdT3T~M> zKvCb!$dcNm7d+$YcEH^<|)kjZ8O<^(dI=;Sj3CItMzGdWw( z1W)|8;LUu!LgoZAUm(tm7a&}LFXOGmo9PaUc;X3Ir^#`m=6DnBe$hYz308V?yqF2j zjJH&*7+1#ItR?=MS=<$SBA=Ygt1s?^LvEv>j<^X9IY?2)E*^!tn^_T_2C-zAsY2Pot<@^UG+WlvK5>Y^U4y7^;0s7 zOY}V*o%4%QCo6_)Zq8(sW0G|sWc%dp%={c764gNK?{ZAO&m=opk5SZ((StHa_~a+1 zq!xjkF*%d5Z}S$G>5Q`W1e~J5cF!KM({L23%vrrtSw*R3PlbJ%|CI_@3*-;;o$vF8!I}0D0WB!M(lPbb#$K?7Di^)1E ze3Rwl*e2J8ac))&mtqx4#Ac`ON zgrh;WZ`Mf>WD#=3v@s;3NXi$dZJVEFTxXelw;9QX%eh^X%UckpZ?4IUWfpE@#5DS2 z;RWeFM%-pUESkzB6o^fq)a2!*DN>O*wN8FmB(>S4>=L6;7^ZgJik`{bWk?RZQNhF_ zV*Cz|P0k{Q<1c zgk5R!D?ULay~!M9j^YW8ZwIK z<21x#vRAC=wPPwq|;LY3Go znIFq6(anh6!pYKQQj-@KZBv-cNWj{X;;BrN=U1Rv3)EjX*|rkh&dp_S7{#M;Sh=yH zXL7R_x|Z-tCKhpT99pt#OXP#`J8*JBgT!XRy2Xs*!8i;#R^K2Wjo*;X2@Nlp#Y1rz j5Y^H=`F|d|!@su(F;4CY!3dbPiIYu2(G?$Sd&vj@<#1X$HO;5DUJslc)l22SeZR^ANAylePgQ2(t{r8x^nJ2z`nj@c;k- delta 223 zcmbQmJdcf;jnQKwvm>X4LP&moPBECn2jg%sFfcI6PcCE>kt{Ar$pqe^_@PY2s= zUv6_S$~#-dglFcZm#pT5r`MG-e$rT`HoQ+Uj fEi(J=#I8&>hQBXA=PsN0GmqnWp2O -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -4128,7 +4128,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -4144,7 +4144,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] @@ -9567,7 +9567,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] diff --git a/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs index 045cc8fe..71359afb 100644 --- a/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/MainWindow.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "54BD03BD233A37650ADB8A3ABAE7A4EE1F2260EE" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -4128,7 +4128,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -4144,7 +4144,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] @@ -9567,7 +9567,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.cs b/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.cs index cf041fe8..f747d94a 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\CountdownTimerWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "85F57BA392C75B7B6E1F2FA532105D03A2028A0E" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -249,7 +249,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -265,14 +265,14 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal System.Delegate _CreateDelegate(System.Type delegateType, string handler) { return System.Delegate.CreateDelegate(delegateType, this, handler); } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.i.cs index cf041fe8..f747d94a 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/CountdownTimerWindow.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\CountdownTimerWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "85F57BA392C75B7B6E1F2FA532105D03A2028A0E" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -249,7 +249,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -265,14 +265,14 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal System.Delegate _CreateDelegate(System.Type delegateType, string handler) { return System.Delegate.CreateDelegate(delegateType, this, handler); } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.cs b/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.cs index ca469262..b133ec6f 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\CycleProcessBar.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "D130C26D74445B5E09CDAA42FEF4734A6D257250" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -65,7 +65,7 @@ namespace Ink_Canvas.ProcessBars { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -81,7 +81,7 @@ namespace Ink_Canvas.ProcessBars { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.i.cs b/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.i.cs index ca469262..b133ec6f 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/CycleProcessBar.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\CycleProcessBar.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "D130C26D74445B5E09CDAA42FEF4734A6D257250" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -65,7 +65,7 @@ namespace Ink_Canvas.ProcessBars { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -81,7 +81,7 @@ namespace Ink_Canvas.ProcessBars { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.cs b/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.cs index f2a0f384..1a6ac652 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.cs @@ -1,11 +1,11 @@ -#pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "53772E3067D35407A4B75166FFCE460ECF45D1E7" +#pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "BD554D3723A8AEB6CE63C633F668F089BA177816" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -129,7 +129,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -145,7 +145,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.i.cs index f2a0f384..1a6ac652 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/HasNewUpdateWindow.g.i.cs @@ -1,11 +1,11 @@ -#pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "53772E3067D35407A4B75166FFCE460ECF45D1E7" +#pragma checksum "..\..\..\..\Windows\HasNewUpdateWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "BD554D3723A8AEB6CE63C633F668F089BA177816" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -129,7 +129,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -145,7 +145,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.cs b/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.cs index 4743f707..c6df72fd 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\NamesInputWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9FEEA82AF23EB1521F5089E2975D1B2389373FF8" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -72,7 +72,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -88,7 +88,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.i.cs index 4743f707..c6df72fd 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/NamesInputWindow.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\NamesInputWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9FEEA82AF23EB1521F5089E2975D1B2389373FF8" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -72,7 +72,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -88,7 +88,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.cs b/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.cs index bd610946..295e989f 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\OperatingGuideWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "66D9A0A5E55C9B504151A1C0723C930C97D705DA" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -88,7 +88,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -104,7 +104,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.i.cs index bd610946..295e989f 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/OperatingGuideWindow.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\OperatingGuideWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "66D9A0A5E55C9B504151A1C0723C930C97D705DA" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -88,7 +88,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -104,7 +104,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.cs b/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.cs index 1549dbc5..bffc1ac7 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\RandWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "4254CE0F9A30960C1D574123EA132E6F47F23758" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -192,7 +192,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -208,7 +208,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.i.cs index 1549dbc5..bffc1ac7 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/RandWindow.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\RandWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "4254CE0F9A30960C1D574123EA132E6F47F23758" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -192,7 +192,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -208,7 +208,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.cs b/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.cs index 23ed7d61..dc0b76ba 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\YesOrNoNotificationWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "40DC779A3AC6B5F7F1D1CDBB7E7D7EEFD90FE7BB" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -72,7 +72,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -88,7 +88,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.i.cs b/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.i.cs index 23ed7d61..dc0b76ba 100644 --- a/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.i.cs +++ b/Ink Canvas/obj/Debug/net472/Windows/YesOrNoNotificationWindow.g.i.cs @@ -1,11 +1,11 @@ #pragma checksum "..\..\..\..\Windows\YesOrNoNotificationWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "40DC779A3AC6B5F7F1D1CDBB7E7D7EEFD90FE7BB" //------------------------------------------------------------------------------ // -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -72,7 +72,7 @@ namespace Ink_Canvas { /// InitializeComponent /// [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] public void InitializeComponent() { if (_contentLoaded) { return; @@ -88,7 +88,7 @@ namespace Ink_Canvas { } [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.6.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] diff --git a/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.dgspec.json b/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.dgspec.json index 17231927..3777f89d 100644 --- a/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.dgspec.json +++ b/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.dgspec.json @@ -1,31 +1,25 @@ { "format": 1, "restore": { - "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj": {} + "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj": {} }, "projects": { - "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj": { + "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj": { "version": "5.0.4", "restore": { - "projectUniqueName": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", + "projectUniqueName": "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", "projectName": "InkCanvasForClass", - "projectPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", - "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", - "outputPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\obj\\", + "projectPath": "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", + "packagesPath": "C:\\Users\\Hydrogen\\.nuget\\packages\\", + "outputPath": "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\obj\\", "projectStyle": "PackageReference", - "fallbackFolders": [ - "E:\\Program Files\\Microsoft Visual Studio\\Shared\\NuGetPackages" - ], "configFilePaths": [ - "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + "D:\\Hydrogen\\AppData\\Roaming\\NuGet\\NuGet.Config" ], "originalTargetFrameworks": [ "net472" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, "https://api.nuget.org/v3/index.json": {} }, "frameworks": { @@ -44,7 +38,7 @@ "auditLevel": "low", "auditMode": "direct" }, - "SdkAnalysisLevel": "9.0.300" + "SdkAnalysisLevel": "9.0.100" }, "frameworks": { "net472": { @@ -83,7 +77,7 @@ "version": "[0.9.27, )" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.301\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Users\\Hydrogen\\.dotnet\\sdk\\9.0.100\\RuntimeIdentifierGraph.json" } }, "runtimes": { diff --git a/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.g.props b/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.g.props index 5edcea5e..50f49c5e 100644 --- a/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.g.props +++ b/Ink Canvas/obj/InkCanvasForClass.csproj.nuget.g.props @@ -5,12 +5,11 @@ NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\Administrator\.nuget\packages\;E:\Program Files\Microsoft Visual Studio\Shared\NuGetPackages + C:\Users\Hydrogen\.nuget\packages\ PackageReference 6.14.0 - - + \ No newline at end of file diff --git a/Ink Canvas/obj/project.assets.json b/Ink Canvas/obj/project.assets.json index bc402104..59edb19a 100644 --- a/Ink Canvas/obj/project.assets.json +++ b/Ink Canvas/obj/project.assets.json @@ -1119,31 +1119,24 @@ ] }, "packageFolders": { - "C:\\Users\\Administrator\\.nuget\\packages\\": {}, - "E:\\Program Files\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + "C:\\Users\\Hydrogen\\.nuget\\packages\\": {} }, "project": { "version": "5.0.4", "restore": { - "projectUniqueName": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", + "projectUniqueName": "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", "projectName": "InkCanvasForClass", - "projectPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", - "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", - "outputPath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\obj\\", + "projectPath": "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", + "packagesPath": "C:\\Users\\Hydrogen\\.nuget\\packages\\", + "outputPath": "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\obj\\", "projectStyle": "PackageReference", - "fallbackFolders": [ - "E:\\Program Files\\Microsoft Visual Studio\\Shared\\NuGetPackages" - ], "configFilePaths": [ - "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + "D:\\Hydrogen\\AppData\\Roaming\\NuGet\\NuGet.Config" ], "originalTargetFrameworks": [ "net472" ], "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, "https://api.nuget.org/v3/index.json": {} }, "frameworks": { @@ -1162,7 +1155,7 @@ "auditLevel": "low", "auditMode": "direct" }, - "SdkAnalysisLevel": "9.0.300" + "SdkAnalysisLevel": "9.0.100" }, "frameworks": { "net472": { @@ -1201,7 +1194,7 @@ "version": "[0.9.27, )" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.301\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Users\\Hydrogen\\.dotnet\\sdk\\9.0.100\\RuntimeIdentifierGraph.json" } }, "runtimes": { diff --git a/Ink Canvas/obj/project.nuget.cache b/Ink Canvas/obj/project.nuget.cache index 57cfaedb..04caab9a 100644 --- a/Ink Canvas/obj/project.nuget.cache +++ b/Ink Canvas/obj/project.nuget.cache @@ -1,21 +1,21 @@ { "version": 2, - "dgSpecHash": "aYvBApY9Dj0=", + "dgSpecHash": "fbDnia5W9CY=", "success": true, - "projectFilePath": "E:\\ICC CE\\ICC CE main\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", + "projectFilePath": "D:\\Hydrogen\\Documents\\GitHub\\ICC-CE\\Ink Canvas\\InkCanvasForClass.csproj", "expectedPackageFiles": [ - "C:\\Users\\Administrator\\.nuget\\packages\\avalonedit\\6.3.0.90\\avalonedit.6.3.0.90.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\hardcodet.notifyicon.wpf\\1.1.0\\hardcodet.notifyicon.wpf.1.1.0.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\inkore.ui.wpf.modern\\0.9.27\\inkore.ui.wpf.modern.0.9.27.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\mdxaml\\1.27.0\\mdxaml.1.27.0.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\mdxaml.plugins\\1.27.0\\mdxaml.plugins.1.27.0.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\microsoft.office.interop.powerpoint\\15.0.4420.1018\\microsoft.office.interop.powerpoint.15.0.4420.1018.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\microsoftofficecore\\15.0.0\\microsoftofficecore.15.0.0.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\nhotkey\\3.0.0\\nhotkey.3.0.0.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\nhotkey.wpf\\3.0.0\\nhotkey.wpf.3.0.0.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\osversionext\\3.0.0\\osversionext.3.0.0.nupkg.sha512", - "C:\\Users\\Administrator\\.nuget\\packages\\system.valuetuple\\4.5.0\\system.valuetuple.4.5.0.nupkg.sha512" + "C:\\Users\\Hydrogen\\.nuget\\packages\\avalonedit\\6.3.0.90\\avalonedit.6.3.0.90.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\hardcodet.notifyicon.wpf\\1.1.0\\hardcodet.notifyicon.wpf.1.1.0.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\inkore.ui.wpf.modern\\0.9.27\\inkore.ui.wpf.modern.0.9.27.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\mdxaml\\1.27.0\\mdxaml.1.27.0.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\mdxaml.plugins\\1.27.0\\mdxaml.plugins.1.27.0.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\microsoft.office.interop.powerpoint\\15.0.4420.1018\\microsoft.office.interop.powerpoint.15.0.4420.1018.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\microsoftofficecore\\15.0.0\\microsoftofficecore.15.0.0.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\nhotkey\\3.0.0\\nhotkey.3.0.0.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\nhotkey.wpf\\3.0.0\\nhotkey.wpf.3.0.0.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\osversionext\\3.0.0\\osversionext.3.0.0.nupkg.sha512", + "C:\\Users\\Hydrogen\\.nuget\\packages\\system.valuetuple\\4.5.0\\system.valuetuple.4.5.0.nupkg.sha512" ], "logs": [] } \ No newline at end of file From 293a89575a345a656563d0e0d645f3ff9bad9258 Mon Sep 17 00:00:00 2001 From: Hydrogen Date: Mon, 23 Jun 2025 14:37:33 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E6=9B=B4=E6=96=B0README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将新readme同步到beta Co-Authored-By: DotteringDoge471 <185512682+DotteringDoge471@users.noreply.github.com> --- README.md | 111 +++++++++++++++++++++--------------------------------- 1 file changed, 43 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 16e12d0b..dceca522 100644 --- a/README.md +++ b/README.md @@ -2,92 +2,67 @@ -# ICC CE +# InkCanvasForClass
Community Edition -Elegant by Default. Based on `dubi906w/icc-0610fix` . +最后一次基于 `InkCanvas` 控件的倔强... -**致力于更稳定、持续更新的ICC** +![GitHub License](https://img.shields.io/github/license/InkCanvasForClass/community) +![GitHub top language](https://img.shields.io/github/languages/top/InkCanvasForClass/community) +![GitHub Repo stars](https://img.shields.io/github/stars/InkCanvasForClass/community) +![GitHub forks](https://img.shields.io/github/forks/InkCanvasForClass/community) +[![交流群](https://img.shields.io/badge/-%E4%BA%A4%E6%B5%81%E7%BE%A4%201054377349-white?style=flat&logo=qq)](https://qm.qq.com/q/qo32AclNh6) -[![UPSTREAM](https://img.shields.io/badge/UpStream-ChangSakura%2FInk--Canvas-red.svg "LICENSE")](https://github.com/Awesome-Iwb/icc-0610fix) -![LICENSE](https://img.shields.io/badge/License-GPL--3.0-red.svg "LICENSE") - -![Screenshot-1](./Images/icc1.png) -![Screenshot-2](./Images/icc2.png) +![banner](https://private-user-images.githubusercontent.com/141403762/452763012-09f98879-06a4-4de2-8fc0-b9affdd7b966.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTA2MTgwODQsIm5iZiI6MTc1MDYxNzc4NCwicGF0aCI6Ii8xNDE0MDM3NjIvNDUyNzYzMDEyLTA5Zjk4ODc5LTA2YTQtNGRlMi04ZmMwLWI5YWZmZGQ3Yjk2Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwNjIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDYyMlQxODQzMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YWRlMmIwZGMxN2YzZDJmNTdlNDFlN2RiNzQyMzY1ODc0YTJkNTU0YTcxYWYzMTg4ZDg5YmI3YzZiMjQ2ZjQ0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.DDFTSMf-6MNSneJXEU22O_X2_RnMiAf6oI6CBeFZrPU) -## 公告 -ICC CE创立的初衷是因为作者使用ICC的过程中一些小BUG,于是作者想尝试在icc-0610fix版本的基础上修改。 -说白了,我比较懒README懒得改了,就直接用之前ICC的了 -高中生,更新不定期/doge +## 🤔 发生了什么? -## 相关信息 -ICC CE交流群:QQ群1054377349 +由于众所周知的原因,[DotteringDoge471](https://github.com/DotteringDoge471) 不再积极负责 InkCanvasForClass 旧时代版本的开发与维护工作,而刚好 [CJKmkp](https://github,com/CJK-mkp) 又维护了这个社区版本的 icc,经过沟通后就顺理成章地成为了 icc 的官方版本。该分支版本 **目前还在开发之中** ,可能会有潜在的问题/ Bug 出现,请在出现 Bug 后与开发者或与 [DotteringDoge471](https://github.com/DotteringDoge471) 上报,方便我们迅速诊断并解决问题。 -智教联盟 InkCanvasForClass Community Edition 板块:https://forum.smart-teach.cn/t/icc-ce +> ⚠️ 请注意:[DotteringDoge471](https://github.com/DotteringDoge471) 不积极负责 **本社区版本** 的开发与维护工作,仅会在有空的时候对本项目开发新功能或修复 Bug。因此,任何问题反馈/Bug反馈/建议等,请优先找本项目主要维护者 [CJKmkp](https://github,com/CJK-mkp) 反馈或在 GitHub 仓库内提出 Issue! -### 项目特点 -由初学者结合AI技术实现代码(说白了就是不会) +使用该版本 InkCanvasForClass,意味着您同意自行承担任何可能存在的问题与风险。建议不要在公众场合(例如公开课,录播课,线上直播课,大型会议)使用未经广泛测试和优化的 Beta 版本,对使用 Beta 版本而带来的任何问题和风险(例如:被班主任批斗,被校长处罚,崩溃而导致的场面混乱,全球海平面上升等),**将由使用者自行承担**,[CJKmkp](https://github,com/CJK-mkp) 和 [DotteringDoge471](https://github.com/DotteringDoge471) 及其项目的所有维护者不提供任何担保。 -### TO DO LIST +♥️ **本项目版权归 [CJKmkp](https://github,com/CJK-mkp) 和 [DotteringDoge471](https://github.com/DotteringDoge471) 共同所有。[CJKmkp](https://github,com/CJK-mkp) 拥有最终解释权。** +**智教联盟 InkCanvasForClass Community Edition 板块:** [forum.smart-teach.cn/t/icc-ce](https://forum.smart-teach.cn/t/icc-ce) ,我们会在此处发布版本更新日志,同时,您也可以在遵守论坛对应管理规则与InkCanvasForClass Community Edition 板块管理条约的情况下,在该板块内提问或发表自己的使用体验。 -### 前言 -在使用和分发本软件前,请务必了解相关开源协议。本软件基于 https://github.com/Awesome-Iwb/icc-0610fix 修改而来,而ICC基于 https://github.com/ChangSakura/Ink-Canvas 修改,ICA则基于 https://github.com/WXRIW/Ink-Canvas 修改,增加了包括但不限于隐藏到侧边栏等功能,更改了相关UI和软件操作逻辑。对于墨迹书写功能以及ICA独有功能的相关问题反馈,建议优先查阅 https://github.com/WXRIW/Ink-Canvas/issues 。 +## ⚠️ 使用须知 +在使用和分发本软件前,请务必了解相关开源协议。本软件基于 https://github.com/Awesome-Iwb/icc-0610fix 修改而来,而 icc-0610fix 基于 https://github.com/ChangSakura/Ink-Canvas 修改,ica 则基于 https://github.com/WXRIW/Ink-Canvas 修改,增加了包括但不限于隐藏到侧边栏等功能,更改了相关UI和软件操作逻辑。对于墨迹书写功能以及 ica 独有功能的相关问题反馈,建议优先查阅 https://github.com/WXRIW/Ink-Canvas/issues 。**使用前建议戴上大脑使用。** -### 特性 -1. 支持主动式触控笔(支持压感) -2. 工具栏显示每个功能的文字描述 -3. 增加了调色盘的颜色 -4. 增加了荧光笔支持 +# 💬 提示 +- 对于新功能的有效意见和合理建议,开发者会适时回复并进行开发。本软件并非商业性质软件或由营利性机构驱动,请不要催促开发者,耐心等待能让功能少些Bug,更加稳定。 +- 此软件仅用于个人使用,请勿商用。更新速度不会很快,如果有能力请通过PR贡献代码,而不是在 Issue 里无能狂怒。 +- 欢迎尝试 InkCanvas 家族的其他成员,包括 [Ink Canvas Plus](https://khyan.top/ic+) 和 [Ink Canvas Artistry](https://github.com/InkCanvas/Ink-Canvas-Artistry) 。您的大力宣传能让更多用户发现我们的软件。 +- **强烈建议使用 Microsoft Office 356 的 PowerPoint 搭配 InkCanvasForClass 使用,效果更好!!!** -### 提示 -- 对于新功能的有效意见和合理建议,开发者会适时回复并进行开发。本软件并非商业软件,请不要催促开发者,耐心等待能让功能少些Bug,更加稳定。 -- 此软件仅用于个人使用,请勿商用。更新速度不会很快,如果有能力请通过PR贡献代码,而不是在Issue里提问题。 -- 欢迎使用InkCanvas家族的其他成员,包括ICC和ICA的创造者IC,以及和ICC类似的ICA。您的大力宣传能让更多用户发现我们的软件。 -- 建议使用PowerPoint支持更好!!! +## 📗 FAQ +### 在 Windows 10 以下版本系统中,部分图标显示为 “□” 怎么办? +[点击下载](https://aka.ms/SegoeFonts "SegoeFonts") SegoeFonts 文件,安装压缩包中 `SegMDL2.ttf` 字体后重启即可解决。 -### FAQ +### 点击放映后一翻页就闪退 +请[激活 Microsoft Office](https://www.coolhub.top/archives/14)。 -#### 点击放映后一翻页就闪退? -考虑是由于`Microsoft Office`未启用导致的,请自行启用。 +### 放映后画板程序不会切换到 PPT 模式 +1. PowerPoint 处在保护模式下(只读),请退出保护模式,方法如下: + 1. 打开 PowerPoint,点击左上角的“文件”选项; + 2. 在“信息”标签内,点击右侧的“启用编辑”按钮。 +2. 曾经安装过 WPS Office 办公软件,导致 COM 组件被破坏,解决方法为完全卸载 WPS Office 后重新安装 Microsoft Office Mondo 2016 即可解决。 +3. 请确保 PowerPoint 和本应用运行在同一权限下,如果 PowerPoint 以管理员身份运行而本应用以普通用户身份运行,也会出现无法切换到 PPT 模式的现象,您可以通过检查 PowerPoint 的兼容性设置或提权本应用运行来解决该问题。 -#### 放映后画板程序不会切换到PPT模式? -如果您曾经安装过`WPS`,卸载后出现此问题,是由于暂未确定的问题导致的,可以尝试重新安装WPS。 -> “您好,关于您反馈的情况我们已经反馈给技术同学进一步分析,请留意后续WPS版本更新~” --WPS客服回复 +### 程序无法正常启动 +请检查你的电脑上是否安装了 `.Net Framework 4.7.2` 或更高版本。若没有,请[前往官网](https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net472-offline-installer "下载 .Net Framework 4.7.2")下载安装。 -另外,处于保护(只读)模式的PPT不会被识别。 +如果仍无法运行,请[安装 `Microsoft Office`](https://www.coolhub.top/archives/11)。 -若因安装了最新版本的WPS而导致无法在WPS软件内进入PPT模式,可以尝试卸载WPS后,清除电脑垃圾、注册表垃圾,删除电脑上所有带 "kingsoft" 名称的文件夹,重新安装WPS(以上步骤可能存在多余步骤),经测试在WPS内可以正常进入PPT模式。 +### 程序能在 Wine 环境中运行吗? +不能,但是你可以期待 icc-gtk4,是正在开发的仅支持 Linux 平台的 icc 移植版本。 -ICC可以支持WPS,但目前无法同时支持MSOffice和WPS。若要启用WPS支持,请确保WPS在 “配置工具” 中开启了 “WPS Office 兼容第三方系统和软件” 选项,勾选并应用该选项后,将无法检测到MS Office的COM接口。 +## 🤝 感谢 +感谢 [DotteringDoge471](https://github.com/DotteringDoge471) 创造了 `InkCanvasForClass`! +感谢 [yuwenhui2020](https://github.com/yuwenhui2020) 为 `Ink Canvas 使用说明` 做出的贡献! +感谢 [CN-Ironegg](https://github.com/CN-Ironegg)、[jiajiaxd](https://github.com/jiajiaxd)、[Kengwang](https://github.com/kengwang)、[Raspberry Kan](https://github.com/Raspberry-Monster)、[clover-yan](https://github.com/clover-yan)、[STBBRD](https://github.com/STBBRD)、[ChangSakura](https://github.com/WuChanging)、[DotteringDoge471](https://github.com/DotteringDoge471)、[Hydro11451](https://github.com/Hydro11451) 为本项目贡献代码! -如果您安装了“赣教通”、“畅言智慧课堂”等应用程序,可能会安装“畅言备课精灵”,这可能会导致丢失64位Office COM组件的注册,且目前似乎无法修复(可以切换到新用户正常使用)。但WPS Office可以正常使用。 - -若要将ICC配合WPS使用,可打开“WPS 演示”后,前往“文件” - “选项” ,取消勾选“单屏幕幻灯片放映时,显示放映工具栏”,以获得更好的体验。若要将ICC配合MS Office使用,可以打开PowerPoint,前往“选项” - “高级”,取消勾选“显示快捷工具栏”,以获得更好的体验。 - -#### 安装后程序无法正常启动? -请检查您的电脑上是否安装了 `.Net Framework 4.7.2` 或更高版本。若没有,请前往官网下载。 - -> 遇到各种奇葩问题请重启应用程序,如果不行请反馈给开发者解决! - -### 特别鸣谢 - - - - - - - - - - -
ChangSakura
ChangSakura
XY Wang
WXRIW
Alan-CRL
Alan-CRL
逗比
Dubi906w
+## License +GPLv3 From 671ec2fba67295ce286b5b00190c71523f11ffa9 Mon Sep 17 00:00:00 2001 From: Hydrogen Date: Mon, 23 Jun 2025 14:48:35 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20README=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=8A=A0=E5=85=A5=E8=B4=A1=E7=8C=AE=E6=8C=87?= =?UTF-8?q?=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在自述文件中添加了一个新部分,提供贡献指南,包括提交代码到测试分支的说明。同时作为构建过程的一部分,更新了生成的文件和缓存文件。 (标题和介绍由Copilot生成并使用巨硬机翻) --- .../net472/GeneratedInternalTypeHelper.g.cs | 62 +++++++++++++++++- ...vasForClass.csproj.AssemblyReference.cache | Bin 34991 -> 34854 bytes .../InkCanvasForClass_MarkupCompile.cache | 2 +- .../InkCanvasForClass_MarkupCompile.lref | 2 +- README.md | 8 +++ 5 files changed, 71 insertions(+), 3 deletions(-) diff --git a/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs b/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs index c65238fb..8133cc15 100644 --- a/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs +++ b/Ink Canvas/obj/Debug/net472/GeneratedInternalTypeHelper.g.cs @@ -1,2 +1,62 @@ - +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace XamlGeneratedNamespace { + + + /// + /// GeneratedInternalTypeHelper + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { + + /// + /// CreateInstance + /// + protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) { + return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic) + | (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture); + } + + /// + /// GetPropertyValue + /// + protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) { + return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// SetPropertyValue + /// + protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) { + propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// CreateDelegate + /// + protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) { + return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod + | (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] { + delegateType, + handler}, null))); + } + + /// + /// AddEventHandler + /// + protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) { + eventInfo.AddEventHandler(target, handler); + } + } +} diff --git a/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.AssemblyReference.cache b/Ink Canvas/obj/Debug/net472/InkCanvasForClass.csproj.AssemblyReference.cache index a35c3fb76a9e8d761df1bcb2fe886f0a06ba2fd9..8fca8b5547ec5e46235b891b7815a19335b245e1 100644 GIT binary patch delta 23 fcmZ2Kk!jfkCJr`69R>yl#>B~m_MsbNPqqU9OVkGr delta 66 zcmZ2Bfoc6jCJr`6T?PgQ#>B~m_MsbNPqt5 [!NOTE] +> +> 请注意,本贡献指南由 Hydrogen( @Hydro11451 )撰写,尚未受到官方认可,并且尚未完成。 + +**请注意,在贡献代码时,_务必_ 将所有代码提交到 _beta_ 分支,以保证beta版本总是新于main版本。** +
TODO…… + ## License GPLv3 From b21e608eea5a339dd317c25b5a3266f9d23c7f32 Mon Sep 17 00:00:00 2001 From: Hydrogen Date: Mon, 23 Jun 2025 15:01:42 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0dc=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 不知怎么回事,dc的在线人数显示不出来(从aiwb inkways的dc标签修改而来) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a72364e8..4631667f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ ![GitHub top language](https://img.shields.io/github/languages/top/InkCanvasForClass/community) ![GitHub Repo stars](https://img.shields.io/github/stars/InkCanvasForClass/community) ![GitHub forks](https://img.shields.io/github/forks/InkCanvasForClass/community) +[![Discord](https://img.shields.io/discord/1383039050184917053?style=social&label=Discord&logo=discord)](https://discord.gg/ahj7eJWhEG) [![交流群](https://img.shields.io/badge/-%E4%BA%A4%E6%B5%81%E7%BE%A4%201054377349-white?style=flat&logo=qq)](https://qm.qq.com/q/qo32AclNh6) ![banner](https://private-user-images.githubusercontent.com/141403762/452763012-09f98879-06a4-4de2-8fc0-b9affdd7b966.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTA2MTgwODQsIm5iZiI6MTc1MDYxNzc4NCwicGF0aCI6Ii8xNDE0MDM3NjIvNDUyNzYzMDEyLTA5Zjk4ODc5LTA2YTQtNGRlMi04ZmMwLWI5YWZmZGQ3Yjk2Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwNjIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDYyMlQxODQzMDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YWRlMmIwZGMxN2YzZDJmNTdlNDFlN2RiNzQyMzY1ODc0YTJkNTU0YTcxYWYzMTg4ZDg5YmI3YzZiMjQ2ZjQ0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.DDFTSMf-6MNSneJXEU22O_X2_RnMiAf6oI6CBeFZrPU) From 4a1e42d5ee656db1d725f48340adb18aeb74249e Mon Sep 17 00:00:00 2001 From: CJK_mkp <113243675+CJKmkp@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:53:49 +0800 Subject: [PATCH 09/10] Update AutoUpdateHelper.cs --- Ink Canvas/Helpers/AutoUpdateHelper.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Ink Canvas/Helpers/AutoUpdateHelper.cs b/Ink Canvas/Helpers/AutoUpdateHelper.cs index 3a4f50f5..d472a39d 100644 --- a/Ink Canvas/Helpers/AutoUpdateHelper.cs +++ b/Ink Canvas/Helpers/AutoUpdateHelper.cs @@ -23,8 +23,8 @@ namespace Ink_Canvas.Helpers LogHelper.WriteLogToFile($"AutoUpdate | Local version: {localVersion}"); string remoteAddress = proxy; - string primaryUrl = "https://raw.githubusercontent.com/awesome-iwb/icc-ce/refs/heads/main/AutomaticUpdateVersionControl.txt"; - string fallbackUrl = "https://raw.bgithub.xyz/awesome-iwb/icc-ce/refs/heads/main/AutomaticUpdateVersionControl.txt"; + string primaryUrl = "https://raw.githubusercontent.com/InkCanvasForClass/community/refs/heads/main/AutomaticUpdateVersionControl.txt"; + string fallbackUrl = "https://raw.bgithub.xyz/InkCanvasForClass/community/refs/heads/main/AutomaticUpdateVersionControl.txt"; // 先尝试主地址 remoteAddress += primaryUrl; @@ -170,9 +170,9 @@ namespace Ink_Canvas.Helpers } // 主下载地址 - string primaryUrl = $"{proxy}https://github.com/awesome-iwb/icc-ce/releases/download/{version}/InkCanvasForClass.CE.{version}.zip"; + string primaryUrl = $"{proxy}https://github.com/InkCanvasForClass/community/releases/download/{version}/InkCanvasForClass.CE.{version}.zip"; // 备用下载地址 - string fallbackUrl = $"{proxy}https://bgithub.xyz/awesome-iwb/icc-ce/releases/download/{version}/InkCanvasForClass.CE.{version}.zip"; + string fallbackUrl = $"{proxy}https://bgithub.xyz/InkCanvasForClass/community/releases/download/{version}/InkCanvasForClass.CE.{version}.zip"; LogHelper.WriteLogToFile($"AutoUpdate | Primary download URL: {primaryUrl}"); From ed74f9891974c2c46eba494e296edeb356e74ce1 Mon Sep 17 00:00:00 2001 From: CJK_mkp <113243675+CJKmkp@users.noreply.github.com> Date: Tue, 24 Jun 2025 17:08:46 +0800 Subject: [PATCH 10/10] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4631667f..c3328733 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ - 对于新功能的有效意见和合理建议,开发者会适时回复并进行开发。本软件并非商业性质软件或由营利性机构驱动,请不要催促开发者,耐心等待能让功能少些Bug,更加稳定。 - 此软件仅用于个人使用,请勿商用。更新速度不会很快,如果有能力请通过PR贡献代码,而不是在 Issue 里无能狂怒。 - 欢迎尝试 InkCanvas 家族的其他成员,包括 [Ink Canvas Plus](https://khyan.top/ic+) 和 [Ink Canvas Artistry](https://github.com/InkCanvas/Ink-Canvas-Artistry) 。您的大力宣传能让更多用户发现我们的软件。 -- **强烈建议使用 Microsoft Office 356 的 PowerPoint 搭配 InkCanvasForClass 使用,效果更好!!!** +- **强烈建议使用 Microsoft Office 365 的 PowerPoint 搭配 InkCanvasForClass 使用,效果更好!!!** ## 📗 FAQ ### 在 Windows 10 以下版本系统中,部分图标显示为 “□” 怎么办? @@ -71,7 +71,9 @@ > 请注意,本贡献指南由 Hydrogen( @Hydro11451 )撰写,尚未受到官方认可,并且尚未完成。 **请注意,在贡献代码时,_务必_ 将所有代码提交到 _beta_ 分支,以保证beta版本总是新于main版本。** -
TODO…… +
TODO LIST +> 预备2.0版本开发 +> Ci联动插件 ## License GPLv3