[client] imgui: support high DPI by scaling framebuffer

This allows overlays to render at correct positions on high DPI displays.
This commit is contained in:
Quantum
2021-07-22 18:57:35 -04:00
committed by Geoffrey McRae
parent 56308fcbd1
commit b5c5ecc074
2 changed files with 13 additions and 3 deletions

View File

@@ -677,6 +677,14 @@ int app_renderOverlay(struct Rect * rects, int maxRects)
const int written =
overlay->ops->render(overlay->udata, false, buffer, MAX_OVERLAY_RECTS);
for (int i = 0; i < written; ++i)
{
buffer[i].x *= g_state.windowScale;
buffer[i].y *= g_state.windowScale;
buffer[i].w *= g_state.windowScale;
buffer[i].h *= g_state.windowScale;
}
// It is an error to run out of rectangles, because we will not be able to
// correctly calculate the damage of the next frame.
assert(written >= 0);