增加滚轮缩放

This commit is contained in:
ww-rm
2025-02-28 17:37:50 +08:00
parent 6e903c268f
commit 93f2ec138b
4 changed files with 24 additions and 11 deletions

View File

@@ -339,6 +339,7 @@
spinePreviewer.Dock = DockStyle.Fill; spinePreviewer.Dock = DockStyle.Fill;
spinePreviewer.Location = new Point(3, 26); spinePreviewer.Location = new Point(3, 26);
spinePreviewer.Name = "spinePreviewer"; spinePreviewer.Name = "spinePreviewer";
spinePreviewer.PropertyGrid = propertyGrid_Previewer;
spinePreviewer.Size = new Size(986, 766); spinePreviewer.Size = new Size(986, 766);
spinePreviewer.TabIndex = 0; spinePreviewer.TabIndex = 0;
spinePreviewer.RenderFrame += spinePreviewer_RenderFrame; spinePreviewer.RenderFrame += spinePreviewer_RenderFrame;

View File

@@ -10,10 +10,7 @@ namespace SpineViewer
public MainForm() public MainForm()
{ {
InitializeComponent(); InitializeComponent();
propertyGrid_Previewer.SelectedObject = spinePreviewer.Property;
InitializeLogConfiguration(); InitializeLogConfiguration();
spinePreviewer.Property.Resolution = new(1280, 720);
spinePreviewer.StartPreview(); spinePreviewer.StartPreview();
} }
@@ -113,7 +110,7 @@ namespace SpineViewer
private void propertyGrid_PropertyValueChanged(object sender, PropertyValueChangedEventArgs e) private void propertyGrid_PropertyValueChanged(object sender, PropertyValueChangedEventArgs e)
{ {
(sender as PropertyGrid).Refresh(); (sender as PropertyGrid)?.Refresh();
} }
#endregion #endregion

View File

@@ -43,6 +43,7 @@
panel.MouseDown += panel_MouseDown; panel.MouseDown += panel_MouseDown;
panel.MouseMove += panel_MouseMove; panel.MouseMove += panel_MouseMove;
panel.MouseUp += panel_MouseUp; panel.MouseUp += panel_MouseUp;
panel.MouseWheel += panel_MouseWheel;
// //
// backgroundWorker // backgroundWorker
// //

View File

@@ -13,7 +13,7 @@ namespace SpineViewer
{ {
public partial class SpinePreviewer : UserControl public partial class SpinePreviewer : UserControl
{ {
public class PreviewerProperty private class PreviewerProperty
{ {
public const float ZOOM_MAX = 1000f; public const float ZOOM_MAX = 1000f;
public const float ZOOM_MIN = 0.001f; public const float ZOOM_MIN = 0.001f;
@@ -161,9 +161,19 @@ namespace SpineViewer
} }
} }
/// <summary> [Category("自定义"), Description("用于显示画面属性的属性页")]
/// 帧渲染事件 public PropertyGrid? PropertyGrid
/// </summary> {
get => propertyGrid;
set
{
propertyGrid = value;
if (propertyGrid is not null)
propertyGrid.SelectedObject = Property;
}
}
private PropertyGrid? propertyGrid;
[Category("自定义"), Description("帧渲染事件")] [Category("自定义"), Description("帧渲染事件")]
public event EventHandler<RenderFrameEventArgs>? RenderFrame; public event EventHandler<RenderFrameEventArgs>? RenderFrame;
private void OnRenderFrame(float delta) { RenderFrame?.Invoke(this, new(RenderWindow, delta)); } private void OnRenderFrame(float delta) { RenderFrame?.Invoke(this, new(RenderWindow, delta)); }
@@ -171,9 +181,7 @@ namespace SpineViewer
private readonly SFML.Graphics.RenderWindow RenderWindow; private readonly SFML.Graphics.RenderWindow RenderWindow;
private readonly SFML.System.Clock Clock = new(); private readonly SFML.System.Clock Clock = new();
private readonly SFML.Graphics.Color BackgroundColor = SFML.Graphics.Color.Green; private readonly SFML.Graphics.Color BackgroundColor = SFML.Graphics.Color.Green;
private readonly PreviewerProperty Property;
[Browsable(false)]
public PreviewerProperty Property { get; }
public SpinePreviewer() public SpinePreviewer()
{ {
@@ -244,6 +252,12 @@ namespace SpineViewer
} }
private void panel_MouseWheel(object sender, MouseEventArgs e)
{
Property.Zoom *= (e.Delta > 0 ? 1.1f : 0.9f);
PropertyGrid?.Refresh();
}
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{ {
RenderWindow.SetActive(true); RenderWindow.SetActive(true);