Qt: Improve imgui hidpi scaling

This commit is contained in:
Connor McLaughlin
2020-01-07 18:52:33 +10:00
parent 168eb5fe2d
commit 686df4a203
2 changed files with 12 additions and 4 deletions

View File

@ -45,6 +45,12 @@ bool QtDisplayWindow::createImGuiContext()
io.DisplaySize.x = static_cast<float>(m_window_width);
io.DisplaySize.y = static_cast<float>(m_window_height);
const float framebuffer_scale = static_cast<float>(devicePixelRatio());
io.DisplayFramebufferScale.x = framebuffer_scale;
io.DisplayFramebufferScale.y = framebuffer_scale;
io.FontGlobalScale = framebuffer_scale;
ImGui::GetStyle().ScaleAllSizes(framebuffer_scale);
return true;
}
@ -95,7 +101,7 @@ void QtDisplayWindow::keyReleaseEvent(QKeyEvent* event)
void QtDisplayWindow::resizeEvent(QResizeEvent* event)
{
QWindow::resizeEvent(event);
const int width = static_cast<int>(static_cast<qreal>(event->size().width()) * devicePixelRatio());
const int height = static_cast<int>(static_cast<qreal>(event->size().height()) * devicePixelRatio());
emit windowResizedEvent(width, height);