X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fcursorpair.h;h=6c56dcd71dc89499dc8a5eceecd6593f43be1a85;hb=0dda6fe595932b2e340930104fad8ac4fc574895;hp=b152b8083a2db4ff0db7932569e7ae08c836abc3;hpb=199441e4fe68f1ee45f3d4b7617a7166a87c7926;p=pulseview.git diff --git a/pv/view/cursorpair.h b/pv/view/cursorpair.h index b152b808..6c56dcd7 100644 --- a/pv/view/cursorpair.h +++ b/pv/view/cursorpair.h @@ -23,6 +23,8 @@ #include "cursor.h" +#include + #include class QPainter; @@ -32,34 +34,29 @@ namespace view { class CursorPair { +private: + static const int DeltaPadding; + public: /** * Constructor. * @param view A reference to the view that owns this cursor pair. */ - CursorPair(const View &view); - - /** - * Returns a reference to the first cursor. - */ - Cursor& first(); + CursorPair(View &view); /** - * Returns a reference to the first cursor. + * Returns a pointer to the first cursor. */ - const Cursor& first() const; + std::shared_ptr first() const; /** - * Returns a reference to the second cursor. + * Returns a pointer to the second cursor. */ - Cursor& second(); - - /** - * Returns a reference to the second cursor. - */ - const Cursor& second() const; + std::shared_ptr second() const; public: + QRectF get_label_rect(const QRect &rect) const; + void draw_markers(QPainter &p, const QRect &rect, unsigned int prefix); @@ -67,11 +64,15 @@ public: void draw_viewport_foreground(QPainter &p, const QRect &rect); + void compute_text_size(QPainter &p, unsigned int prefix); + std::pair get_cursor_offsets() const; private: - Cursor _first, _second; + std::shared_ptr _first, _second; const View &_view; + + QSizeF _text_size; }; } // namespace view