X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftimemarker.cpp;h=34b2699bd6722fe9b5f3b169266f3341eb3eabad;hp=7e23806896d5ed010d090412b03cd9fc877daac8;hb=ad341c3a893c66cfd59ac66eedb1de405ed0dbbb;hpb=3b84fd6d59b10053d5ffba90f8e66324f49841a3 diff --git a/pv/view/timemarker.cpp b/pv/view/timemarker.cpp index 7e238068..34b2699b 100644 --- a/pv/view/timemarker.cpp +++ b/pv/view/timemarker.cpp @@ -43,7 +43,7 @@ const int TimeMarker::ArrowSize = 4; const int TimeMarker::Offset = 1; TimeMarker::TimeMarker(View &view, const QColor &colour, double time) : - view_(view), + TimeItem(view), colour_(colour), time_(time), value_action_(NULL), @@ -92,21 +92,26 @@ QRectF TimeMarker::get_label_rect(const QRect &rect) const const float x = (time_ - view_.offset()) / view_.scale(); QFontMetrics m(QApplication::font()); - QSize text_size = m.boundingRect(get_text()).size(); + const float text_width = + max(m.boundingRect(get_text()).size().width(), ArrowSize); + const float text_height = m.boundingRect("Tg").size().height(); const QSizeF label_size( - text_size.width() + View::LabelPadding.width() * 2, - text_size.height() + View::LabelPadding.height() * 2); + text_width + View::LabelPadding.width() * 2, + text_height + View::LabelPadding.height() * 2); const float top = rect.height() - label_size.height() - TimeMarker::Offset - TimeMarker::ArrowSize - 0.5f; const float height = label_size.height(); - return QRectF(x - label_size.width() / 2 - 0.5f, top, + return QRectF(x - label_size.width() / 2, top, label_size.width(), height); } void TimeMarker::paint_label(QPainter &p, const QRect &rect) { + if (!enabled()) + return; + const qreal x = (time_ - view_.offset()) / view_.scale(); const QRectF r(get_label_rect(rect));