using CommunityToolkit.Mvvm.ComponentModel; using OpenCvSharp; using System; namespace BetterGenshinImpact.Core.Config; /// /// 遮罩窗口配置 /// [Serializable] public partial class MaskWindowConfig : ObservableObject { /// /// 方位提示是否启用 /// [ObservableProperty] private bool _directionsEnabled; /// /// 是否在遮罩窗口上显示识别结果 /// [ObservableProperty] private bool _displayRecognitionResultsOnMask = true; /// /// 是否启用遮罩窗口 /// [ObservableProperty] private bool _maskEnabled = true; ///// ///// 显示遮罩窗口边框 ///// //[ObservableProperty] private bool _showMaskBorder = false; /// /// 显示日志窗口 /// [ObservableProperty] private bool _showLogBox = true; /// /// 显示状态指示 /// [ObservableProperty] private bool _showStatus = true; /// /// UID遮盖是否启用 /// [ObservableProperty] private bool _uidCoverEnabled; /// /// 1080p下UID遮盖的位置与大小 /// [NonSerialized] public static readonly Rect UidCoverRightBottomRect = new(1920 - 1685, 1080 - 1053, 178, 22); /// /// 显示FPS /// [ObservableProperty] private bool _showFps = false; /// /// 作为原神子窗体 /// 有些bug没解决 /// [ObservableProperty] private bool _useSubform = false; /// /// 遮罩文本透明度 (0.0-1.0) /// [ObservableProperty] private double _textOpacity = 1.0; [ObservableProperty] private bool _overlayLayoutEditEnabled = false; [ObservableProperty] private double _logTextBoxLeftRatio = 20.0 / 1920; [ObservableProperty] private double _logTextBoxTopRatio = 832.0 / 1080; [ObservableProperty] private double _logTextBoxWidthRatio = 477.0 / 1920; [ObservableProperty] private double _logTextBoxHeightRatio = 188.0 / 1080; [ObservableProperty] private double _statusListLeftRatio = 20.0 / 1920; [ObservableProperty] private double _statusListTopRatio = 807.0 / 1080; [ObservableProperty] private double _statusListWidthRatio = 477.0 / 1920; [ObservableProperty] private double _statusListHeightRatio = 24.0 / 1080; }