Zelda64Recomp/src/ui/ui_renderer.h
2025-08-17 15:39:31 -03:00

38 lines
1.1 KiB
C++

#ifndef __UI_RENDERER_H__
#define __UI_RENDERER_H__
#include <memory>
#include "recomp_ui.h"
namespace RT64 {
struct RenderInterface;
struct RenderDevice;
struct RenderCommandList;
struct RenderFramebuffer;
};
namespace Rml {
class RenderInterface;
}
namespace recompui {
class RmlRenderInterface_RT64_impl;
class RmlRenderInterface_RT64 {
private:
std::unique_ptr<RmlRenderInterface_RT64_impl> impl;
public:
RmlRenderInterface_RT64();
~RmlRenderInterface_RT64();
void reset();
void init(plume::RenderInterface* interface, plume::RenderDevice* device);
Rml::RenderInterface* get_rml_interface();
void start(plume::RenderCommandList* list, int image_width, int image_height);
void end(plume::RenderCommandList* list, plume::RenderFramebuffer* framebuffer);
void queue_image_from_bytes_file(const std::string &src, const std::vector<char> &bytes);
void queue_image_from_bytes_rgba32(const std::string &src, const std::vector<char> &bytes, uint32_t width, uint32_t height);
};
} // namespace recompui
#endif