]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/trace.cpp
Disable antialiasing on high-DPI displays
[pulseview.git] / pv / views / trace / trace.cpp
index 5c854aed17e2aa3db35f4b668ec6d5ad4b09662d..65abaf0cec2e095032b0ed6ec74a3e45ce2686a2 100644 (file)
@@ -292,12 +292,13 @@ void Trace::paint_back(QPainter &p, ViewItemPaintParams &pp)
 
 void Trace::paint_axis(QPainter &p, ViewItemPaintParams &pp, int y)
 {
+       bool wasAntialiased = p.testRenderHint(QPainter::Antialiasing);
        p.setRenderHint(QPainter::Antialiasing, false);
 
        p.setPen(axis_pen_);
        p.drawLine(QPointF(pp.left(), y), QPointF(pp.right(), y));
 
-       p.setRenderHint(QPainter::Antialiasing, true);
+       p.setRenderHint(QPainter::Antialiasing, wasAntialiased);
 }
 
 void Trace::add_color_option(QWidget *parent, QFormLayout *form)
@@ -328,10 +329,11 @@ void Trace::paint_hover_marker(QPainter &p)
 
        const pair<int, int> extents = v_extents();
 
+       bool wasAntialiased = p.testRenderHint(QPainter::Antialiasing);
        p.setRenderHint(QPainter::Antialiasing, false);
        p.drawLine(x, get_visual_y() + extents.first,
                x, get_visual_y() + extents.second);
-       p.setRenderHint(QPainter::Antialiasing, true);
+       p.setRenderHint(QPainter::Antialiasing, wasAntialiased);
 }
 
 void Trace::create_popup_form()
@@ -411,7 +413,7 @@ void Trace::on_create_marker_here() const
        const Ruler *ruler = view->ruler();
        QPoint p = ruler->mapFrom(view, QPoint(context_menu_x_pos_, 0));
 
-       view->add_flag(ruler->get_time_from_x_pos(p.x()));
+       view->add_flag(ruler->get_absolute_time_from_x_pos(p.x()));
 }
 
 } // namespace trace