using Ghost.Core; using Ghost.Graphics.Core; namespace Ghost.Graphics.RHI; /// /// Swap chain interface for presentation /// public interface ISwapChain : IDisposable { /// /// Width of the swap chain back buffers /// public uint Width { get; } /// /// Height of the swap chain back buffers /// public uint Height { get; } /// /// Number of back buffers /// public uint BufferCount { get; } /// /// Gets the current back buffer texture /// /// Current back buffer texture public Handle GetCurrentBackBuffer(); /// /// Presents the rendered frame /// /// Enable vertical synchronization public void Present(bool vsync = true); /// /// Resizes the swap chain back buffers /// /// New width /// New height public void Resize(uint width, uint height); }