X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fcursor.h;h=48bf7a0ee930ab49a7975af25d0ed8ba38588afc;hp=3ee0200518108a30e52ef7b20b7ced7108d92386;hb=5139748b422db3a22ceed92894596873e868d676;hpb=ca4ec3eab886e62c0f9d0cc91636383a74ad5d7b diff --git a/pv/view/cursor.h b/pv/view/cursor.h index 3ee02005..48bf7a0e 100644 --- a/pv/view/cursor.h +++ b/pv/view/cursor.h @@ -23,6 +23,10 @@ #include "timemarker.h" +#include + +class QPainter; + namespace pv { namespace view { @@ -30,21 +34,24 @@ class Cursor : public TimeMarker { Q_OBJECT -private: +public: static const QColor LineColour; static const QColor FillColour; static const QColor HighlightColour; + static const QColor TextColour; - static const int Size; static const int Offset; + static const int ArrowSize; + public: /** * Constructor. - * @param colour A reference to the colour of this cursor. + * @param view A reference to the view that owns this cursor pair. * @param time The time to set the flag to. + * @param other A reference to the other cursor. */ - Cursor(const View &view, double time); + Cursor(const View &view, double time, Cursor &other); public: /** @@ -58,11 +65,21 @@ public: * Paints the cursor's label to the ruler. * @param p The painter to draw with. * @param rect The rectangle of the ruler client area. + * @param prefix The index of the SI prefix to use. */ - void paint_label(QPainter &p, const QRect &rect); + void paint_label(QPainter &p, const QRect &rect, + unsigned int prefix); + +private: + void compute_text_size(QPainter &p, unsigned int prefix); + +private: + const Cursor &_other; + + QSizeF _text_size; }; } // namespace view } // namespace pv -#endif // PULSEVIEW_PV_VIEW_CURSOR_H \ No newline at end of file +#endif // PULSEVIEW_PV_VIEW_CURSOR_H