X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fcursor.cpp;h=5f33416050d721b21af2b00835dc341259aeb391;hb=819e2e95555b2b3c2190f24a3cfa82250d1f34e5;hp=d5b0a641f075a5b9c5d7f4ddd0cb511102aee08a;hpb=4fabd61a2676246265c12d614cde496bf0a79075;p=pulseview.git diff --git a/pv/view/cursor.cpp b/pv/view/cursor.cpp index d5b0a641..5f334160 100644 --- a/pv/view/cursor.cpp +++ b/pv/view/cursor.cpp @@ -45,7 +45,17 @@ Cursor::Cursor(View &view, double time) : { } -QRectF Cursor::get_label_rect(const QRect &rect) const +bool Cursor::enabled() const +{ + return view_.cursors_shown(); +} + +QString Cursor::get_text() const +{ + return pv::util::format_time(time_, view_.tick_prefix(), 2); +} + +QRectF Cursor::label_rect(const QRectF &rect) const { const shared_ptr other(get_other_cursor()); assert(other); @@ -53,8 +63,7 @@ QRectF Cursor::get_label_rect(const QRect &rect) const const float x = (time_ - view_.offset()) / view_.scale(); QFontMetrics m(QApplication::font()); - QSize text_size = m.boundingRect( - pv::util::format_time(time_, view_.tick_prefix(), 2)).size(); + QSize text_size = m.boundingRect(get_text()).size(); const QSizeF label_size( text_size.width() + View::LabelPadding.width() * 2, @@ -72,9 +81,10 @@ QRectF Cursor::get_label_rect(const QRect &rect) const shared_ptr Cursor::get_other_cursor() const { - const CursorPair &cursors = view_.cursors(); - return (cursors.first().get() == this) ? - cursors.second() : cursors.first(); + const shared_ptr cursors(view_.cursors()); + assert(cursors); + return (cursors->first().get() == this) ? + cursors->second() : cursors->first(); } } // namespace view