X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fcursor.cpp;h=0ea6f5ab7b0c5e3edbc21b64600bc06e2f1346dd;hb=ec39632d1267a42cb858ac6ad7c98486886a46a0;hp=d5b0a641f075a5b9c5d7f4ddd0cb511102aee08a;hpb=4fabd61a2676246265c12d614cde496bf0a79075;p=pulseview.git diff --git a/pv/view/cursor.cpp b/pv/view/cursor.cpp index d5b0a64..0ea6f5a 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,14 +63,13 @@ 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, - text_size.height() + View::LabelPadding.height() * 2); + text_size.width() + LabelPadding.width() * 2, + text_size.height() + LabelPadding.height() * 2); const float top = rect.height() - label_size.height() - - TimeMarker::Offset - TimeMarker::ArrowSize - 0.5f; + TimeMarker::ArrowSize - 0.5f; const float height = label_size.height(); if (time_ > other->time()) @@ -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