aboutsummaryrefslogtreecommitdiffstats
path: root/gui
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2021-05-31 16:20:43 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2021-05-31 16:20:43 +0200
commit473723b24a04bfa37eb00292cad4e8acb067b93b (patch)
treec44df77c0c53b47af16af73cebe9bb983b7c7b1e /gui
parentbf67845df67a164a3c81498929a31fe2a33c95b8 (diff)
downloadnextpnr-473723b24a04bfa37eb00292cad4e8acb067b93b.tar.gz
nextpnr-473723b24a04bfa37eb00292cad4e8acb067b93b.tar.bz2
nextpnr-473723b24a04bfa37eb00292cad4e8acb067b93b.zip
Fix hidpi, fixes #167, fixes #275, fixes #425
Diffstat (limited to 'gui')
-rw-r--r--gui/fpgaviewwidget.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/gui/fpgaviewwidget.cc b/gui/fpgaviewwidget.cc
index 9c90e2c5..5d37a138 100644
--- a/gui/fpgaviewwidget.cc
+++ b/gui/fpgaviewwidget.cc
@@ -27,6 +27,7 @@
#include <QImageWriter>
#include <QMouseEvent>
#include <QWidget>
+#include <QDesktopWidget>
#include "QtImGui.h"
#include "imgui.h"
@@ -287,7 +288,11 @@ QMatrix4x4 FPGAViewWidget::getProjection(void)
void FPGAViewWidget::paintGL()
{
auto gl = QOpenGLContext::currentContext()->functions();
+#if defined(__APPLE__)
const qreal retinaScale = devicePixelRatio();
+#else
+ const qreal retinaScale = devicePixelRatioF();
+#endif
gl->glViewport(0, 0, width() * retinaScale, height() * retinaScale);
gl->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@@ -807,12 +812,10 @@ void FPGAViewWidget::mouseMoveEvent(QMouseEvent *event)
// coordinates.
QVector4D FPGAViewWidget::mouseToWorldCoordinates(int x, int y)
{
- const qreal retinaScale = devicePixelRatio();
-
auto projection = getProjection();
QMatrix4x4 vp;
- vp.viewport(0, 0, width() * retinaScale, height() * retinaScale);
+ vp.viewport(0, 0, width(), height());
QVector4D vec(x, y, 1, 1);
vec = vp.inverted() * vec;