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:
parent
35e27504ee
commit
759734beb4
2 changed files with 12 additions and 4 deletions
|
|
@ -63,6 +63,8 @@ protected:
|
|||
virtual void setDefaultDisplaySettings();
|
||||
|
||||
void createRenderer();
|
||||
|
||||
bool event(QEvent* e) override;
|
||||
};
|
||||
|
||||
#endif // OSGQOPENGLWIDGET_H
|
||||
|
|
|
|||
14
extern/osgQt/osgQOpenGLWidget.cpp
vendored
14
extern/osgQt/osgQOpenGLWidget.cpp
vendored
|
|
@ -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);
|
||||
}
|
||||
Loading…
Reference in a new issue