X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fcursor.cpp;h=071967998eac0047d894bca3e8edf712af736878;hp=6eb575e3175cc5128c6af17fbef0279a416a041f;hb=f3d66e52ed6b454ea7a0662d5e6367e230116a2b;hpb=58864c5c5dffac4254f199356aaeb5eabd608630 diff --git a/pv/view/cursor.cpp b/pv/view/cursor.cpp index 6eb575e3..07196799 100644 --- a/pv/view/cursor.cpp +++ b/pv/view/cursor.cpp @@ -18,10 +18,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "cursor.h" +#include "cursor.hpp" -#include "ruler.h" -#include "view.h" +#include "view.hpp" +#include "pv/util.hpp" #include #include @@ -29,11 +29,12 @@ #include #include -#include +#include +#include #include -using namespace boost; +using std::shared_ptr; namespace pv { namespace view { @@ -47,7 +48,7 @@ const int Cursor::Offset = 1; const int Cursor::ArrowSize = 4; -Cursor::Cursor(const View &view, double time) : +Cursor::Cursor(View &view, double time) : TimeMarker(view, LineColour, time) { } @@ -57,28 +58,29 @@ QRectF Cursor::get_label_rect(const QRect &rect) const const shared_ptr other(get_other_cursor()); assert(other); - const float x = (_time - _view.offset()) / _view.scale(); + const float x = (time_ - view_.offset()) / view_.scale(); const QSizeF label_size( - _text_size.width() + View::LabelPadding.width() * 2, - _text_size.height() + View::LabelPadding.height() * 2); + text_size_.width() + View::LabelPadding.width() * 2, + text_size_.height() + View::LabelPadding.height() * 2); const float top = rect.height() - label_size.height() - Cursor::Offset - Cursor::ArrowSize - 0.5f; const float height = label_size.height(); - if (_time > other->time()) + if (time_ > other->time()) return QRectF(x, top, label_size.width(), height); else return QRectF(x - label_size.width(), top, label_size.width(), height); } -void Cursor::paint_label(QPainter &p, const QRect &rect, - unsigned int prefix) +void Cursor::paint_label(QPainter &p, const QRect &rect) { const shared_ptr other(get_other_cursor()); assert(other); + const unsigned int prefix = view_.tick_prefix(); + compute_text_size(p, prefix); const QRectF r(get_label_rect(rect)); @@ -114,9 +116,9 @@ void Cursor::paint_label(QPainter &p, const QRect &rect, QPointF(r.right() - 1, rect.bottom() - 1), }; - const QPointF *const points = (_time > other->time()) ? + const QPointF *const points = (time_ > other->time()) ? left_points : right_points; - const QPointF *const highlight_points = (_time > other->time()) ? + const QPointF *const highlight_points = (time_ > other->time()) ? left_highlight_points : right_highlight_points; if (selected()) { @@ -139,18 +141,18 @@ void Cursor::paint_label(QPainter &p, const QRect &rect, p.setPen(TextColour); p.drawText(r, Qt::AlignCenter | Qt::AlignVCenter, - Ruler::format_time(_time, prefix, 2)); + pv::util::format_time(time_, prefix, 2)); } void Cursor::compute_text_size(QPainter &p, unsigned int prefix) { - _text_size = p.boundingRect(QRectF(), 0, - Ruler::format_time(_time, prefix, 2)).size(); + text_size_ = p.boundingRect(QRectF(), 0, + pv::util::format_time(time_, prefix, 2)).size(); } shared_ptr Cursor::get_other_cursor() const { - const CursorPair &cursors = _view.cursors(); + const CursorPair &cursors = view_.cursors(); return (cursors.first().get() == this) ? cursors.second() : cursors.first(); }