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;
}