From 59444f4035cd1afdfc1608b20c3ad0c05d7e0e10 Mon Sep 17 00:00:00 2001 From: iamboss Date: Sun, 13 Sep 2026 00:03:53 +0800 Subject: [PATCH] chore(Hi.WpfPlus): follow the DispEngine FrameReady callback (was ImageRequestAfterBufferSwapped) Mechanical: the handler gains the FramePins argument and ignores it; this host is deprecated and gets no pin overlay. Co-Authored-By: Claude Fable 5.1 --- Disp/RenderingCanvas.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Disp/RenderingCanvas.cs b/Disp/RenderingCanvas.cs index 48248d3..e554f13 100644 --- a/Disp/RenderingCanvas.cs +++ b/Disp/RenderingCanvas.cs @@ -195,11 +195,11 @@ public class RenderingCanvas : UserControl, IDisposable if (pre != null) //this section will never occur if the datacontext not set twice. { pre.Terminate(); - pre.ImageRequestAfterBufferSwapped -= RenderingCanvas_BufferSwapped; + pre.FrameReady -= RenderingCanvas_BufferSwapped; } if (cur != null) { - cur.ImageRequestAfterBufferSwapped += RenderingCanvas_BufferSwapped; + cur.FrameReady += RenderingCanvas_BufferSwapped; cur.Start((int)DisplayerPane.RenderSize.Width, (int)DisplayerPane.RenderSize.Height); cur.IsVisible = IsVisible; @@ -235,8 +235,8 @@ public class RenderingCanvas : UserControl, IDisposable CurrentWindow = Window.GetWindow(this); // Set up DispEngine rendering - DispEngine.ImageRequestAfterBufferSwapped -= RenderingCanvas_BufferSwapped; - DispEngine.ImageRequestAfterBufferSwapped += RenderingCanvas_BufferSwapped; + DispEngine.FrameReady -= RenderingCanvas_BufferSwapped; + DispEngine.FrameReady += RenderingCanvas_BufferSwapped; DispEngine.Start((int)DisplayerPane.RenderSize.Width, (int)DisplayerPane.RenderSize.Height); DispEngine.IsVisible = IsVisible; } @@ -247,7 +247,7 @@ public class RenderingCanvas : UserControl, IDisposable private unsafe void RenderingCanvas_Unloaded(object sender, RoutedEventArgs e) { DispEngine.IsVisible = IsVisible; - DispEngine.ImageRequestAfterBufferSwapped -= RenderingCanvas_BufferSwapped; + DispEngine.FrameReady -= RenderingCanvas_BufferSwapped; CurrentWindow = null; } #endregion @@ -256,7 +256,7 @@ public class RenderingCanvas : UserControl, IDisposable /// /// Handles the buffer swapped event from DispEngine /// - private unsafe void RenderingCanvas_BufferSwapped(byte* data, int w, int h) + private unsafe void RenderingCanvas_BufferSwapped(byte* data, int w, int h, FramePins pins) { if (data == null) return;