ImguiDrawer::Prepare now calls RenderInternal
This commit is contained in:
@@ -58,6 +58,8 @@ namespace Nz
|
||||
static void GetAllocatorFunctions(ImGuiMemAllocFunc* allocFunc, ImGuiMemFreeFunc* freeFunc, void** userData);
|
||||
|
||||
private:
|
||||
void RenderInternal();
|
||||
|
||||
void SetupInputs(Nz::WindowEventHandler& handler);
|
||||
void Update(const Nz::Vector2i& mousePosition, const Nz::Vector2ui& displaySize, float dt);
|
||||
|
||||
@@ -78,6 +80,8 @@ namespace Nz
|
||||
std::unordered_set<ImguiHandler*> m_handlers;
|
||||
|
||||
static Imgui* s_instance;
|
||||
|
||||
friend class ImguiDrawer;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include <NazaraImgui/ImguiDrawer.hpp>
|
||||
|
||||
#include <NazaraImgui/NazaraImgui.hpp>
|
||||
|
||||
#include <Nazara/Renderer/CommandBufferBuilder.hpp>
|
||||
#include <Nazara/Renderer/RenderDevice.hpp>
|
||||
#include <Nazara/Renderer/RenderFrame.hpp>
|
||||
@@ -64,6 +66,8 @@ namespace Nz
|
||||
|
||||
void ImguiDrawer::Prepare(RenderFrame& frame)
|
||||
{
|
||||
Nz::Imgui::Instance()->RenderInternal();
|
||||
|
||||
m_drawCalls.clear();
|
||||
|
||||
ImDrawData* drawData = ImGui::GetDrawData();
|
||||
|
||||
@@ -277,11 +277,6 @@ namespace Nz
|
||||
|
||||
void Imgui::Render(Nz::RenderTarget* renderTarget, Nz::RenderFrame& frame)
|
||||
{
|
||||
for (auto* handler : m_handlers)
|
||||
handler->OnRenderImgui();
|
||||
|
||||
ImGui::Render();
|
||||
|
||||
m_imguiDrawer.Prepare(frame);
|
||||
|
||||
frame.Execute([this, renderTarget, &frame](Nz::CommandBufferBuilder& builder) {
|
||||
@@ -300,6 +295,14 @@ namespace Nz
|
||||
}, Nz::QueueType::Graphics);
|
||||
}
|
||||
|
||||
void Imgui::RenderInternal()
|
||||
{
|
||||
for (auto* handler : m_handlers)
|
||||
handler->OnRenderImgui();
|
||||
|
||||
ImGui::Render();
|
||||
}
|
||||
|
||||
void Imgui::AddHandler(ImguiHandler* handler)
|
||||
{
|
||||
m_handlers.insert(handler);
|
||||
|
||||
Reference in New Issue
Block a user