X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fcursorpair.h;h=f7eb51cacaabe9a79cf2d715c487eed94f5ab222;hb=8dbbc7f0b9ea59d0f0d62225772f8a56eee125f5;hp=8c721bb63407a648044538627211160491bd7f3b;hpb=b42d25c43e52c900cbdd3e5cde0282961b8721e7;p=pulseview.git diff --git a/pv/view/cursorpair.h b/pv/view/cursorpair.h index 8c721bb..f7eb51c 100644 --- a/pv/view/cursorpair.h +++ b/pv/view/cursorpair.h @@ -23,6 +23,10 @@ #include "cursor.h" +#include + +#include + class QPainter; namespace pv { @@ -30,36 +34,45 @@ 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); + CursorPair(View &view); /** - * Returns a reference to the first cursor. + * Returns a pointer to the first cursor. */ - Cursor& first(); + std::shared_ptr first() const; /** - * Returns a reference to the first cursor. + * Returns a pointer to the second cursor. */ - const Cursor& first() const; + std::shared_ptr second() const; - /** - * Returns a reference to the second cursor. - */ - Cursor& second(); +public: + QRectF get_label_rect(const QRect &rect) const; - /** - * Returns a reference to the second cursor. - */ - const Cursor& second() const; + void draw_markers(QPainter &p, + const QRect &rect, unsigned int prefix); + + void draw_viewport_background(QPainter &p, const QRect &rect); + + 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; - const View &_view; + std::shared_ptr first_, second_; + const View &view_; + + QSizeF text_size_; }; } // namespace view