blarg
This commit is contained in:
parent
5a08118c87
commit
fa835ecf68
|
@ -1,80 +0,0 @@
|
||||||
diff --git a/src/frontend/qt_sdl/Screen.cpp b/src/frontend/qt_sdl/Screen.cpp
|
|
||||||
index d8af6624..019ce246 100644
|
|
||||||
--- a/src/frontend/qt_sdl/Screen.cpp
|
|
||||||
+++ b/src/frontend/qt_sdl/Screen.cpp
|
|
||||||
@@ -30,6 +30,7 @@
|
|
||||||
#include <QPaintEvent>
|
|
||||||
#include <QPainter>
|
|
||||||
#include <QDebug>
|
|
||||||
+#include <QApplication>
|
|
||||||
#ifndef _WIN32
|
|
||||||
#ifndef APPLE
|
|
||||||
#include <qpa/qplatformnativeinterface.h>
|
|
||||||
@@ -596,23 +597,20 @@ void ScreenPanelGL::drawScreenGL()
|
|
||||||
glContext->SwapBuffers();
|
|
||||||
}
|
|
||||||
|
|
||||||
-qreal ScreenPanelGL::devicePixelRatioFromScreen() const
|
|
||||||
+qreal ScreenPanelGL::devicePixelRatioFromWindow() const
|
|
||||||
{
|
|
||||||
- const QScreen* screen_for_ratio = window()->windowHandle()->screen();
|
|
||||||
- if (!screen_for_ratio)
|
|
||||||
- screen_for_ratio = QGuiApplication::primaryScreen();
|
|
||||||
-
|
|
||||||
- return screen_for_ratio ? screen_for_ratio->devicePixelRatio() : static_cast<qreal>(1);
|
|
||||||
+ QWindow* window = windowHandle();
|
|
||||||
+ return window->devicePixelRatio();
|
|
||||||
}
|
|
||||||
|
|
||||||
int ScreenPanelGL::scaledWindowWidth() const
|
|
||||||
{
|
|
||||||
- return std::max(static_cast<int>(std::ceil(static_cast<qreal>(width()) * devicePixelRatioFromScreen())), 1);
|
|
||||||
+ return std::max(static_cast<int>(std::ceil(static_cast<qreal>(width()) * devicePixelRatioFromWindow())), 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
int ScreenPanelGL::scaledWindowHeight() const
|
|
||||||
{
|
|
||||||
- return std::max(static_cast<int>(std::ceil(static_cast<qreal>(height()) * devicePixelRatioFromScreen())), 1);
|
|
||||||
+ return std::max(static_cast<int>(std::ceil(static_cast<qreal>(height()) * devicePixelRatioFromWindow())), 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::optional<WindowInfo> ScreenPanelGL::getWindowInfo()
|
|
||||||
@@ -644,6 +642,7 @@ std::optional<WindowInfo> ScreenPanelGL::getWindowInfo()
|
|
||||||
|
|
||||||
wi.display_connection = pni->nativeResourceForWindow("display", handle);
|
|
||||||
wi.window_handle = pni->nativeResourceForWindow("surface", handle);
|
|
||||||
+ qApp->processEvents();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
@@ -654,7 +653,7 @@ std::optional<WindowInfo> ScreenPanelGL::getWindowInfo()
|
|
||||||
|
|
||||||
wi.surface_width = static_cast<u32>(scaledWindowWidth());
|
|
||||||
wi.surface_height = static_cast<u32>(scaledWindowHeight());
|
|
||||||
- wi.surface_scale = static_cast<float>(devicePixelRatioFromScreen());
|
|
||||||
+ wi.surface_scale = static_cast<float>(devicePixelRatioFromWindow());
|
|
||||||
|
|
||||||
return wi;
|
|
||||||
}
|
|
||||||
diff --git a/src/frontend/qt_sdl/Screen.h b/src/frontend/qt_sdl/Screen.h
|
|
||||||
index b11df29b..79889a3f 100644
|
|
||||||
--- a/src/frontend/qt_sdl/Screen.h
|
|
||||||
+++ b/src/frontend/qt_sdl/Screen.h
|
|
||||||
@@ -23,6 +23,8 @@
|
|
||||||
#include "FrontendUtil.h"
|
|
||||||
#include "duckstation/gl/context.h"
|
|
||||||
|
|
||||||
+#include <optional>
|
|
||||||
+
|
|
||||||
#include <QWidget>
|
|
||||||
#include <QWindow>
|
|
||||||
#include <QMainWindow>
|
|
||||||
@@ -133,7 +135,7 @@ public:
|
|
||||||
void transferLayout();
|
|
||||||
protected:
|
|
||||||
|
|
||||||
- qreal devicePixelRatioFromScreen() const;
|
|
||||||
+ qreal devicePixelRatioFromWindow() const;
|
|
||||||
int scaledWindowWidth() const;
|
|
||||||
int scaledWindowHeight() const;
|
|
||||||
|
|
Loading…
Reference in New Issue