Files
XCEngine/new_editor/app/Ports/ViewportRenderPort.h

24 lines
679 B
C++

#pragma once
#include <XCEngine/RHI/RHIDevice.h>
#include <XCEngine/RHI/RHITexture.h>
#include <XCEngine/UI/Types.h>
namespace XCEngine::UI::Editor::Ports {
class ViewportRenderPort {
public:
virtual ~ViewportRenderPort() = default;
[[nodiscard]] virtual ::XCEngine::RHI::RHIDevice* GetRHIDevice() const = 0;
virtual bool CreateViewportTextureHandle(
::XCEngine::RHI::RHITexture& texture,
std::uint32_t width,
std::uint32_t height,
::XCEngine::UI::UITextureHandle& outTexture) = 0;
virtual void ReleaseViewportTextureHandle(
::XCEngine::UI::UITextureHandle& texture) = 0;
};
} // namespace XCEngine::UI::Editor::Ports