projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use multiple drawLine() calls instead of drawPolyline()
[pulseview.git]
/
pv
/
views
/
trace
/
viewport.cpp
diff --git
a/pv/views/trace/viewport.cpp
b/pv/views/trace/viewport.cpp
index e5fb607639eac3b6ae7a2985c1c7735988c16f40..2ca43a0b182da5fb6d9a3690faae7725055a55a7 100644
(file)
--- a/
pv/views/trace/viewport.cpp
+++ b/
pv/views/trace/viewport.cpp
@@
-30,6
+30,8
@@
#include <pv/session.hpp>
#include <QMouseEvent>
#include <pv/session.hpp>
#include <QMouseEvent>
+#include <QScreen>
+#include <QWindow>
#include <QDebug>
#include <QDebug>
@@
-172,16
+174,20
@@
void Viewport::paintEvent(QPaintEvent*)
[](const shared_ptr<TimeItem> &t) { return !t; }));
QPainter p(this);
[](const shared_ptr<TimeItem> &t) { return !t; }));
QPainter p(this);
- p.setRenderHint(QPainter::Antialiasing);
+
+ // Disable antialiasing for high-DPI displays
+ bool use_antialiasing =
+ window()->windowHandle()->screen()->devicePixelRatio() < 2.0;
+ p.setRenderHint(QPainter::Antialiasing, use_antialiasing);
for (LayerPaintFunc *paint_func = layer_paint_funcs;
*paint_func; paint_func++) {
ViewItemPaintParams time_pp(rect(), view_.scale(), view_.offset());
for (LayerPaintFunc *paint_func = layer_paint_funcs;
*paint_func; paint_func++) {
ViewItemPaintParams time_pp(rect(), view_.scale(), view_.offset());
- for (const shared_ptr<TimeItem> t : time_items)
+ for (const shared_ptr<TimeItem>
&
t : time_items)
(t.get()->*(*paint_func))(p, time_pp);
ViewItemPaintParams row_pp(rect(), view_.scale(), view_.offset());
(t.get()->*(*paint_func))(p, time_pp);
ViewItemPaintParams row_pp(rect(), view_.scale(), view_.offset());
- for (const shared_ptr<RowItem> r : row_items)
+ for (const shared_ptr<RowItem>
&
r : row_items)
(r.get()->*(*paint_func))(p, row_pp);
}
(r.get()->*(*paint_func))(p, row_pp);
}