diff options
Diffstat (limited to '')
| -rw-r--r-- | src/citra_qt/debugger/profiler.cpp | 13 |
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 | ||
| 231 | void MicroProfileWidget::paintEvent(QPaintEvent* ev) { | 227 | void 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 | ||