1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-12-24 23:23:08 +00:00

Improve Wayland fractional scaling

This commit is contained in:
Chris Djali (AnyOldName3) 2025-12-10 18:56:45 +00:00
parent 35e27504ee
commit 759734beb4
2 changed files with 12 additions and 4 deletions

View file

@ -63,6 +63,8 @@ protected:
virtual void setDefaultDisplaySettings();
void createRenderer();
bool event(QEvent* e) override;
};
#endif // OSGQOPENGLWIDGET_H

View file

@ -48,10 +48,7 @@ void osgQOpenGLWidget::initializeGL()
void osgQOpenGLWidget::resizeGL(int w, int h)
{
Q_ASSERT(m_renderer);
QScreen* screen = windowHandle()
&& windowHandle()->screen() ? windowHandle()->screen() :
qApp->screens().front();
m_renderer->resize(w * screen->devicePixelRatio(), h * screen->devicePixelRatio());
m_renderer->resize(w * devicePixelRatio(), h * devicePixelRatio());
}
void osgQOpenGLWidget::paintGL()
@ -94,3 +91,12 @@ void osgQOpenGLWidget::createRenderer()
m_renderer->setupOSG();
}
bool osgQOpenGLWidget::event(QEvent* e)
{
#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
if (m_renderer && e->type() == QEvent::DevicePixelRatioChange)
m_renderer->resize(width() * devicePixelRatio(), height() * devicePixelRatio());
#endif
return QOpenGLWidget::event(e);
}