diff options
Diffstat (limited to 'platform')
-rw-r--r-- | platform/qt/app/mapwindow.cpp | 9 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl.cpp | 9 | ||||
-rw-r--r-- | platform/qt/src/qquickmapboxglrenderer.cpp | 3 |
3 files changed, 17 insertions, 4 deletions
diff --git a/platform/qt/app/mapwindow.cpp b/platform/qt/app/mapwindow.cpp index 3e0b373db3..7a431f9801 100644 --- a/platform/qt/app/mapwindow.cpp +++ b/platform/qt/app/mapwindow.cpp @@ -149,13 +149,16 @@ void MapWindow::initializeGL() void MapWindow::resizeGL(int w, int h) { - m_map.resize(QSize(w, h)); + QSize size(w, h); +#if QT_VERSION >= 0x050000 + size /= qApp->devicePixelRatio(); +#endif + m_map.resize(size); + glViewport(0, 0, size.width(), size.height()); } void MapWindow::paintGL() { - glViewport(0, 0, width(), height()); - m_frameDraws++; m_map.render(); } diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index e0f57cc0dc..32e0f43c8d 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -11,7 +11,12 @@ #include <mbgl/util/geo.hpp> #include <mbgl/util/traits.hpp> +#if QT_VERSION >= 0x050000 +#include <QGuiApplication> +#else #include <QCoreApplication> +#endif + #include <QImage> #include <QMapboxGL> #include <QMargins> @@ -636,8 +641,12 @@ QMapboxGLPrivate::~QMapboxGLPrivate() float QMapboxGLPrivate::getPixelRatio() const { +#if QT_VERSION >= 0x050000 + return qApp->devicePixelRatio(); +#else // FIXME: Should handle pixel ratio. return 1.0; +#endif } std::array<uint16_t, 2> QMapboxGLPrivate::getSize() const diff --git a/platform/qt/src/qquickmapboxglrenderer.cpp b/platform/qt/src/qquickmapboxglrenderer.cpp index 6212c4f128..45549cd400 100644 --- a/platform/qt/src/qquickmapboxglrenderer.cpp +++ b/platform/qt/src/qquickmapboxglrenderer.cpp @@ -3,6 +3,7 @@ #include <QMapboxGL> #include <QQuickMapboxGL> +#include <QGuiApplication> #include <QSize> #include <QOpenGLFramebufferObject> #include <QOpenGLFramebufferObjectFormat> @@ -27,7 +28,7 @@ QQuickMapboxGLRenderer::~QQuickMapboxGLRenderer() QOpenGLFramebufferObject* QQuickMapboxGLRenderer::createFramebufferObject(const QSize &size) { - m_map->resize(size); + m_map->resize(size / qApp->devicePixelRatio()); QOpenGLFramebufferObjectFormat format; format.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil); |