[client] renderers: only rebuild the font atlas if marked dirty
Some checks failed
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled

This commit is contained in:
Geoffrey McRae
2026-07-30 12:48:30 +10:00
parent 4f02eda913
commit 8cce0f7e8c
6 changed files with 35 additions and 11 deletions

View File

@@ -314,11 +314,12 @@ void opengl_onResize(LG_Renderer * renderer, const int width, const int height,
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, this->window.x, this->window.y, 0, -1, 1);
}
// this is needed to refresh the font atlas texture
ImGui_ImplOpenGL2_Shutdown();
ImGui_ImplOpenGL2_Init();
ImGui_ImplOpenGL2_NewFrame();
static bool opengl_onFontUpdate(LG_Renderer * renderer)
{
ImGui_ImplOpenGL2_DestroyFontsTexture();
return ImGui_ImplOpenGL2_CreateFontsTexture();
}
bool opengl_onMouseShape(LG_Renderer * renderer, const LG_RendererCursor cursor,
@@ -744,6 +745,7 @@ const LG_RendererOps LGR_OpenGL =
.deinitialize = opengl_deinitialize,
.onRestart = opengl_onRestart,
.onResize = opengl_onResize,
.onFontUpdate = opengl_onFontUpdate,
.onMouseShape = opengl_onMouseShape,
.onMouseEvent = opengl_onMouseEvent,
.onFrameFormat = opengl_onFrameFormat,