triangle and imgui

This commit is contained in:
2026-02-11 08:15:55 -06:00
parent 6c33eada03
commit ec8a9c9f4f
6 changed files with 19 additions and 15 deletions

View File

@@ -36,7 +36,7 @@ void ImguiModule::onLoad() {
std::abort();
}
window = wm->aquireWindow();
window = (Archimedes::WindowGLFW*) wm->aquireWindow();
#ifdef RENDERER_SDL3
renderer = window->getRenderer()->getRendererImpl()->renderer;
@@ -78,7 +78,7 @@ void ImguiModule::onLoad() {
std::cout << "rendererInit failed!\n" << std::endl;
}
#if WINDOW == 2
#ifdef WINDOW_SDL3
ecmd_it = wm->addEventFn([](Archimedes::Event* e){
if(e->userData.type() == typeid(SDL_Event*)) {
ImGui_ImplSDL3_ProcessEvent(std::any_cast<SDL_Event*>(e->userData));
@@ -93,9 +93,6 @@ void ImguiModule::onLoad() {
}
void ImguiModule::run() {
rendererNewFrame();
windowNewFrame();
ImGui::NewFrame();
ImGui::Render();
@@ -107,6 +104,10 @@ void ImguiModule::run() {
window->getWindowImpl()->restoreContext();
}
rendererNewFrame();
windowNewFrame();
ImGui::NewFrame();
};
bool ImguiModule::onEvent(const Archimedes::Event &e) {

View File

@@ -64,7 +64,7 @@ class ImguiModule : public Archimedes::Module {
ImGuiContext* context;
Archimedes::Window* window;
Archimedes::WindowGLFW* window;
std::list<std::function<void()>>::iterator rcmd_it;
@@ -99,10 +99,10 @@ class ImguiModule : public Archimedes::Module {
#ifdef WINDOW_SDL3
#ifdef RENDERER_OPENGL
auto windowInit() { return ImGui_ImplSDL3_InitForOpenGL(window->getWindowImpl().getWindow(), window->getWindowImpl().getContext()); }
auto windowInit() { return ImGui_ImplSDL3_InitForOpenGL(window->getWindowImpl()->getWindow(), window->getWindowImpl()->getContext()); }
#endif
#ifdef RENDERER_SDL3
auto windowInit() { return ImGui_ImplSDL3_InitForSDLRenderer(window->getWindowImpl().getWindow(), renderer); }
auto windowInit() { return ImGui_ImplSDL3_InitForSDLRenderer(window->getWindowImpl()->getWindow(), renderer); }
#endif
void windowShutdown() { ImGui_ImplSDL3_Shutdown(); }