#pragma once #include #include namespace deimos { struct RenderSwapchain{}; class IRenderBackend { public: IRenderBackend() = default; deimos_NO_COPY_MOVE(IRenderBackend); virtual ~IRenderBackend() = default; virtual void BeginFrame() = 0; virtual void EndFrame() = 0; virtual StatusOr> CreateSwapchain() = 0; virtual void DestroySwapchain(gsl::owner) = 0; }; } // namespace deimos