using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Media; namespace Ink_Canvas.Helpers.Plugins { /// /// 获取服务接口,统一所有获取类的方法 /// public interface IGetService { #region 窗口和UI获取 /// /// 获取主窗口引用 /// Window MainWindow { get; } /// /// 获取当前画布 /// InkCanvas CurrentCanvas { get; } /// /// 获取所有画布页面 /// List AllCanvasPages { get; } /// /// 获取当前页面索引 /// int CurrentPageIndex { get; } /// /// 获取当前页面数量 /// int TotalPageCount { get; } /// /// 获取浮动工具栏 /// FrameworkElement FloatingToolBar { get; } /// /// 获取左侧面板 /// FrameworkElement LeftPanel { get; } /// /// 获取右侧面板 /// FrameworkElement RightPanel { get; } /// /// 获取顶部面板 /// FrameworkElement TopPanel { get; } /// /// 获取底部面板 /// FrameworkElement BottomPanel { get; } #endregion #region 绘制工具状态获取 /// /// 获取当前绘制模式 /// int CurrentDrawingMode { get; } /// /// 获取当前笔触宽度 /// double CurrentInkWidth { get; } /// /// 获取当前笔触颜色 /// Color CurrentInkColor { get; } /// /// 获取当前高亮笔宽度 /// double CurrentHighlighterWidth { get; } /// /// 获取当前橡皮擦大小 /// int CurrentEraserSize { get; } /// /// 获取当前橡皮擦类型 /// int CurrentEraserType { get; } /// /// 获取当前橡皮擦形状 /// int CurrentEraserShape { get; } /// /// 获取当前笔触透明度 /// double CurrentInkAlpha { get; } /// /// 获取当前笔触样式 /// int CurrentInkStyle { get; } /// /// 获取当前背景颜色 /// string CurrentBackgroundColor { get; } #endregion #region 应用状态获取 /// /// 获取当前主题模式 /// bool IsDarkTheme { get; } /// /// 获取当前是否为白板模式 /// bool IsWhiteboardMode { get; } /// /// 获取当前是否为PPT模式 /// bool IsPPTMode { get; } /// /// 获取当前是否为全屏模式 /// bool IsFullScreenMode { get; } /// /// 获取当前是否为画板模式 /// bool IsCanvasMode { get; } /// /// 获取当前是否为选择模式 /// bool IsSelectionMode { get; } /// /// 获取当前是否为擦除模式 /// bool IsEraserMode { get; } /// /// 获取当前是否为形状绘制模式 /// bool IsShapeDrawingMode { get; } /// /// 获取当前是否为高亮模式 /// bool IsHighlighterMode { get; } #endregion #region 撤销重做状态获取 /// /// 获取是否可以撤销 /// bool CanUndo { get; } /// /// 获取是否可以重做 /// bool CanRedo { get; } #endregion #region 系统设置获取 /// /// 获取系统设置 /// /// 设置类型 /// 设置键 /// 默认值 /// 设置值 T GetSetting(string key, T defaultValue = default(T)); #endregion #region 插件信息获取 /// /// 获取所有已加载的插件 /// /// 插件列表 List GetAllPlugins(); /// /// 获取指定插件 /// /// 插件名称 /// 插件实例 IPlugin GetPlugin(string pluginName); #endregion } }