#pragma once #include "Rendering/Viewport/ViewportRenderTargets.h" #include #include #include namespace XCEngine::UI::Editor::App { struct ViewportRenderResult { bool rendered = false; bool requiresFallbackClear = false; std::string statusText = {}; float fallbackClearR = 0.0f; float fallbackClearG = 0.0f; float fallbackClearB = 0.0f; float fallbackClearA = 1.0f; }; class IViewportContentRenderer { public: virtual ~IViewportContentRenderer() = default; virtual ViewportRenderResult Render( ViewportRenderTargets& targets, ::XCEngine::RHI::RHIDevice& device, const ::XCEngine::Rendering::RenderContext& renderContext) = 0; }; } // namespace XCEngine::UI::Editor::App