增加滚轮缩放

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.Location = new Point(3, 26);
spinePreviewer.Name = "spinePreviewer";
spinePreviewer.PropertyGrid = propertyGrid_Previewer;
spinePreviewer.Size = new Size(986, 766);
spinePreviewer.TabIndex = 0;
spinePreviewer.RenderFrame += spinePreviewer_RenderFrame;

View File

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

View File

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

View File

@@ -13,7 +13,7 @@ namespace SpineViewer
{
public partial class SpinePreviewer : UserControl
{
public class PreviewerProperty
private class PreviewerProperty
{
public const float ZOOM_MAX = 1000f;
public const float ZOOM_MIN = 0.001f;
@@ -161,9 +161,19 @@ namespace SpineViewer
}
}
/// <summary>
/// 帧渲染事件
/// </summary>
[Category("自定义"), Description("用于显示画面属性的属性页")]
public PropertyGrid? PropertyGrid
{
get => propertyGrid;
set
{
propertyGrid = value;
if (propertyGrid is not null)
propertyGrid.SelectedObject = Property;
}
}
private PropertyGrid? propertyGrid;
[Category("自定义"), Description("帧渲染事件")]
public event EventHandler<RenderFrameEventArgs>? RenderFrame;
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.System.Clock Clock = new();
private readonly SFML.Graphics.Color BackgroundColor = SFML.Graphics.Color.Green;
[Browsable(false)]
public PreviewerProperty Property { get; }
private readonly PreviewerProperty Property;
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)
{
RenderWindow.SetActive(true);