From 98930db4b62f8ad31b31230a6f98d6acb706241c Mon Sep 17 00:00:00 2001 From: ww-rm Date: Thu, 4 Sep 2025 20:07:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A2=84=E8=A7=88=E7=94=BB?= =?UTF-8?q?=E9=9D=A2=E9=A6=96=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SpineViewer/Models/PreferenceModel.cs | 16 ++++++++ SpineViewer/Resources/Strings/en.xaml | 2 + SpineViewer/Resources/Strings/ja.xaml | 2 + SpineViewer/Resources/Strings/zh.xaml | 2 + .../MainWindow/PreferenceViewModel.cs | 38 +++++++++++++++++++ SpineViewer/Views/PreferenceDialog.xaml | 28 ++++++++++++++ 6 files changed, 88 insertions(+) diff --git a/SpineViewer/Models/PreferenceModel.cs b/SpineViewer/Models/PreferenceModel.cs index afe9d3f..4962fd6 100644 --- a/SpineViewer/Models/PreferenceModel.cs +++ b/SpineViewer/Models/PreferenceModel.cs @@ -71,6 +71,22 @@ namespace SpineViewer.Models #endregion + #region 预览画面首选项 + + [ObservableProperty] + private uint _maxFps = 30; + + [ObservableProperty] + private float _speed = 1f; + + [ObservableProperty] + private bool _showAxis = true; + + [ObservableProperty] + private Color _backgroundColor = Color.FromRgb(105, 105, 105); + + #endregion + #region 程序选项 [ObservableProperty] diff --git a/SpineViewer/Resources/Strings/en.xaml b/SpineViewer/Resources/Strings/en.xaml index 4844a81..8ad9ddf 100644 --- a/SpineViewer/Resources/Strings/en.xaml +++ b/SpineViewer/Resources/Strings/en.xaml @@ -229,6 +229,8 @@ Model Loading Options + Preview Options + Application Options Language diff --git a/SpineViewer/Resources/Strings/ja.xaml b/SpineViewer/Resources/Strings/ja.xaml index 946aa8b..0ff33d6 100644 --- a/SpineViewer/Resources/Strings/ja.xaml +++ b/SpineViewer/Resources/Strings/ja.xaml @@ -229,6 +229,8 @@ モデル読み込みオプション + プレビュー画面オプション + アプリケーションプション 言語 diff --git a/SpineViewer/Resources/Strings/zh.xaml b/SpineViewer/Resources/Strings/zh.xaml index 8b78d6e..75eb715 100644 --- a/SpineViewer/Resources/Strings/zh.xaml +++ b/SpineViewer/Resources/Strings/zh.xaml @@ -229,6 +229,8 @@ 模型加载选项 + 预览画面选项 + 应用程序选项 语言 diff --git a/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs b/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs index 19ce571..9f33cb1 100644 --- a/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs @@ -93,6 +93,11 @@ namespace SpineViewer.ViewModels.MainWindow DebugPoints = DebugPoints, DebugClippings = DebugClippings, + MaxFps = MaxFps, + Speed = Speed, + ShowAxis = ShowAxis, + BackgroundColor = BackgroundColor, + RenderSelectedOnly = RenderSelectedOnly, AppLanguage = AppLanguage, }; @@ -117,6 +122,11 @@ namespace SpineViewer.ViewModels.MainWindow DebugPoints = value.DebugPoints; DebugClippings = value.DebugClippings; + MaxFps = value.MaxFps; + Speed = value.Speed; + ShowAxis = value.ShowAxis; + BackgroundColor = value.BackgroundColor; + RenderSelectedOnly = value.RenderSelectedOnly; AppLanguage = value.AppLanguage; } @@ -220,6 +230,34 @@ namespace SpineViewer.ViewModels.MainWindow #endregion + #region 预览画面首选项 + + public uint MaxFps + { + get => _vmMain.SFMLRendererViewModel.MaxFps; + set => SetProperty(_vmMain.SFMLRendererViewModel.MaxFps, value, v => _vmMain.SFMLRendererViewModel.MaxFps = value); + } + + public float Speed + { + get => _vmMain.SFMLRendererViewModel.Speed; + set => SetProperty(_vmMain.SFMLRendererViewModel.Speed, value, v => _vmMain.SFMLRendererViewModel.Speed = value); + } + + public bool ShowAxis + { + get => _vmMain.SFMLRendererViewModel.ShowAxis; + set => SetProperty(_vmMain.SFMLRendererViewModel.ShowAxis, value, v => _vmMain.SFMLRendererViewModel.ShowAxis = value); + } + + public Color BackgroundColor + { + get => _vmMain.SFMLRendererViewModel.BackgroundColor; + set => SetProperty(_vmMain.SFMLRendererViewModel.BackgroundColor, value, v => _vmMain.SFMLRendererViewModel.BackgroundColor = value); + } + + #endregion + #region 程序选项 public static ImmutableArray AppLanguageOptions { get; } = Enum.GetValues().ToImmutableArray(); diff --git a/SpineViewer/Views/PreferenceDialog.xaml b/SpineViewer/Views/PreferenceDialog.xaml index b3c7dfb..2983bfe 100644 --- a/SpineViewer/Views/PreferenceDialog.xaml +++ b/SpineViewer/Views/PreferenceDialog.xaml @@ -134,6 +134,34 @@ + + + + + + + + + + + + + + + +