X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftimemarker.cpp;h=853f7c02675e0b594606e96eff8574734fcb2fff;hp=3014b4a65a8e6d67adbfaa12d685766d4035302f;hb=64a21e782d6c9081f13f8398e6408c13648d1d14;hpb=efdec55aec1a137460fa362a381ed1904182bfed diff --git a/pv/view/timemarker.cpp b/pv/view/timemarker.cpp index 3014b4a6..853f7c02 100644 --- a/pv/view/timemarker.cpp +++ b/pv/view/timemarker.cpp @@ -18,17 +18,18 @@ */ #include +#include #include #include "timemarker.hpp" -#include "view.hpp" #include "pv/widgets/timestampspinbox.hpp" +#include "view.hpp" #include -#include #include +#include #include #include @@ -73,7 +74,8 @@ void TimeMarker::set_time(const pv::util::Timestamp& time) float TimeMarker::get_x() const { - return ((time_ - view_.offset()) / view_.scale()).convert_to(); + // Use roundf() from cmath, std::roundf() causes Android issues (see #945). + return roundf(((time_ - view_.offset()) / view_.scale()).convert_to()) + 0.5f; } QPoint TimeMarker::point(const QRect &rect) const @@ -107,7 +109,7 @@ void TimeMarker::paint_label(QPainter &p, const QRect &rect, bool hover) if (!enabled()) return; - const qreal x = ((time_ - view_.offset()) / view_.scale()).convert_to(); + const qreal x = get_x(); const QRectF r(label_rect(rect)); const QPointF points[] = { @@ -153,7 +155,7 @@ void TimeMarker::paint_label(QPainter &p, const QRect &rect, bool hover) p.drawText(r, Qt::AlignCenter | Qt::AlignVCenter, get_text()); } -void TimeMarker::paint_fore(QPainter &p, const ViewItemPaintParams &pp) +void TimeMarker::paint_fore(QPainter &p, ViewItemPaintParams &pp) { if (!enabled()) return;