summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/citra_qt/debugger/profiler.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/citra_qt/debugger/profiler.cpp b/src/citra_qt/debugger/profiler.cpp
index 585ac049a..17898f54b 100644
--- a/src/citra_qt/debugger/profiler.cpp
+++ b/src/citra_qt/debugger/profiler.cpp
@@ -151,8 +151,8 @@ private:
151 /// This timer is used to redraw the widget's contents continuously. To save resources, it only 151 /// This timer is used to redraw the widget's contents continuously. To save resources, it only
152 /// runs while the widget is visible. 152 /// runs while the widget is visible.
153 QTimer update_timer; 153 QTimer update_timer;
154 /// Scale the coordinate system appropriately when physical DPI != logical DPI. 154 /// Scale the coordinate system appropriately when dpi != 96.
155 qreal x_scale, y_scale; 155 qreal x_scale = 1.0, y_scale = 1.0;
156}; 156};
157 157
158#endif 158#endif
@@ -222,15 +222,14 @@ MicroProfileWidget::MicroProfileWidget(QWidget* parent) : QWidget(parent) {
222 MicroProfileInitUI(); 222 MicroProfileInitUI();
223 223
224 connect(&update_timer, SIGNAL(timeout()), SLOT(update())); 224 connect(&update_timer, SIGNAL(timeout()), SLOT(update()));
225
226 QPainter painter(this);
227 x_scale = qreal(painter.device()->physicalDpiX()) / qreal(painter.device()->logicalDpiX());
228 y_scale = qreal(painter.device()->physicalDpiY()) / qreal(painter.device()->logicalDpiY());
229} 225}
230 226
231void MicroProfileWidget::paintEvent(QPaintEvent* ev) { 227void MicroProfileWidget::paintEvent(QPaintEvent* ev) {
232 QPainter painter(this); 228 QPainter painter(this);
233 229
230 // The units used by Microprofile for drawing are based in pixels on a 96 dpi display.
231 x_scale = qreal(painter.device()->logicalDpiX()) / 96.0;
232 y_scale = qreal(painter.device()->logicalDpiY()) / 96.0;
234 painter.scale(x_scale, y_scale); 233 painter.scale(x_scale, y_scale);
235 234
236 painter.setBackground(Qt::black); 235 painter.setBackground(Qt::black);
@@ -241,7 +240,7 @@ void MicroProfileWidget::paintEvent(QPaintEvent* ev) {
241 painter.setFont(font); 240 painter.setFont(font);
242 241
243 mp_painter = &painter; 242 mp_painter = &painter;
244 MicroProfileDraw(rect().width(), rect().height()); 243 MicroProfileDraw(rect().width() / x_scale, rect().height() / y_scale);
245 mp_painter = nullptr; 244 mp_painter = nullptr;
246} 245}
247 246