Revert "delete:视频展台"

This reverts commit 0683779e09.
This commit is contained in:
PrefacedCorg
2026-04-23 22:17:55 +08:00
parent b891cb6fe3
commit 532aa03c56
8 changed files with 1342 additions and 5 deletions
+13 -1
View File
@@ -54,7 +54,7 @@ namespace Ink_Canvas
/// </summary>
/// <param name="isBackupMain">为 true 时将导出结果保存到主备份槽(索引 0);为 false 时保存到当前白板索引。</param>
/// <remarks>
/// - 会提交画布上缺失于历史记录的 Image/MediaElement 和缺失的墨迹;
/// - 会提交画布上缺失于历史记录的 Image/MediaElement(但跳过 Tag 等于 VideoPresenterLiveFrameTag 的 Image和缺失的墨迹;
/// - 导出后把结果存入 TimeMachineHistories 的相应索引,并保存当前多指书写模式到 savedMultiTouchModeStates
/// - 导出后会清除时间机器的临时墨迹历史以释放内存。
/// - 此方法有副作用:修改 TimeMachineHistories、savedMultiTouchModeStates,并通过 timeMachine 的提交方法改变其内部历史状态。
@@ -85,6 +85,10 @@ namespace Ink_Canvas
{
if (child is Image || child is MediaElement || child is PdfEmbeddedView)
{
if (child is Image img && img.Tag is string tag && tag == VideoPresenterLiveFrameTag)
{
continue;
}
if (!elementsInHistory.Contains(child))
{
timeMachine.CommitElementInsertHistory(child);
@@ -441,12 +445,14 @@ namespace Ink_Canvas
currentSelectedElement = null;
}
VideoPresenter_BeforePageLeave();
SaveStrokes();
ClearStrokes(true);
CurrentWhiteboardIndex--;
RestoreStrokes();
VideoPresenter_OnPageChanged();
UpdateIndexInfoDisplay();
}
@@ -484,12 +490,14 @@ namespace Ink_Canvas
currentSelectedElement = null;
}
VideoPresenter_BeforePageLeave();
SaveStrokes();
ClearStrokes(true);
CurrentWhiteboardIndex++;
RestoreStrokes();
VideoPresenter_OnPageChanged();
UpdateIndexInfoDisplay();
}
@@ -525,6 +533,7 @@ namespace Ink_Canvas
currentSelectedElement = null;
}
VideoPresenter_BeforePageLeave();
SaveStrokes();
ClearStrokes(true);
@@ -540,9 +549,12 @@ namespace Ink_Canvas
}
}
// 确保新页面的历史记录为空
TimeMachineHistories[CurrentWhiteboardIndex] = null;
// 恢复新页面(这会清空画布,因为历史记录为null)
RestoreStrokes();
VideoPresenter_OnPageChanged();
UpdateIndexInfoDisplay();
@@ -3391,6 +3391,7 @@ namespace Ink_Canvas
switch (++currentMode % 2)
{
case 0: //屏幕模式
VideoPresenter_OnExitWhiteboardMode();
currentMode = 0;
GridBackgroundCover.Visibility = Visibility.Collapsed;
AnimationsHelper.HideWithSlideAndFade(BlackboardLeftSide);
File diff suppressed because it is too large Load Diff