using XFESystem.Desktop;
using XFESystem.Platform;
namespace XFESystem.NativeRuntime.Application;
/// <summary>Keep the native splash visible while the CPU builds the first full desktop frame.</summary>
internal sealed class BootFramebufferPresenter(IFramebufferPresenter scanout) : IFramebufferPresenter
{
private bool released;
public int Width => scanout.Width;
public int Height => scanout.Height;
public void Present(ReadOnlySpan<int> pixels, DesktopBounds damage)
{
if (!released) { NativePlatform.CompleteBoot(); released = true; }
scanout.Present(pixels, damage);
}
}
using XFESystem.Desktop;
using XFESystem.Platform;
namespace XFESystem.NativeRuntime.Application;
/// <summary>Keep the native splash visible while the CPU builds the first full desktop frame.</summary>
internal sealed class BootFramebufferPresenter(IFramebufferPresenter scanout) : IFramebufferPresenter
{
private bool released;
public int Width => scanout.Width;
public int Height => scanout.Height;
public void Present(ReadOnlySpan<int> pixels, DesktopBounds damage)
{
if (!released) { NativePlatform.CompleteBoot(); released = true; }
scanout.Present(pixels, damage);
}
}