LunarPresentation/Commands/PreviewAndPrintDocument.cs

(开头部分) 7KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Windows;
using SHomeWorkshop.LunarPresentation.Dialogs;
using System.Windows.Media;
using SHomeWorkshop.LunarPresentation.Adorners;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media.Imaging;

namespace SHomeWorkshop.LunarPresentation.Commands
{
    public partial class Command
    {
        public static void PageSetting()
        {
            if (Globals.selectedEditor == null) return;
            if (Globals.selectedEditor.RootPanel == null)
            {
                MessageBox.Show("发现意外情况,无法对当前文档进行页面设置——当前文档根面板为空!", Globals.appName,
                    MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            PageSettingDialog ppsDlg = new PageSettingDialog(Globals.selectedEditor) { Owner = Globals.MainWindow };
            ppsDlg.ShowDialog();
        }

        public static void PrintSelectedDocument()
        {
            if (Globals.selectedEditor == null)
            {
                MessageBox.Show("当前未打开任何文档!", Globals.appName, MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            if ((Globals.selectedEditor.DefaultBackground != Brushes.White &&
                Globals.selectedEditor.DefaultBackground != Brushes.Transparent) ||
                Globals.selectedEditor.ExFontSize > 14)
            {
                MessageBoxResult r = Dialogs.LunarMsgBox.MsgBoxShow(
                    Globals.appName,
                    "打印当前文档会较浪费打印机耗材,真的要继续打印吗?",
                    "当前文档背景色不是白色或透明色,或者字号大于14,这样打印会严重浪费打印耗材。",
                    "您可以考虑先将编辑器配色方案改为白底黑字(命令:bdhz)或缩小字号再打印。\r\n" +
                    "——要缩小字号,请将主界面右下角的“字号缩放滑块条”拖动到最左侧。",
                    MessageBoxButton.YesNo,
                    MessageBoxImage.Warning);
                if (r != MessageBoxResult.Yes) return;
            }

            PreviewAndPrintDocument(Globals.selectedEditor);
        }

        public static void PreviewAndPrintDocument(Editor masterEditor)
        {
            if (masterEditor == null) return;

            System.Windows.Media.Imaging.RenderTargetBitmap rtb = Commands.Command.GetExpressionImage(masterEditor.RootPanel);

            if (rtb == null)
            {
后面还有 128 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。