X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fcursor.h;h=1469f2cc1edf0db599f8b6f147cabbb4fd235abd;hp=a982c05e4d2b76b10cb2c224b50002a8cc9ec138;hb=37fdce0ac5e92fe0dfdee42f80e4dfe2eab332f0;hpb=cabce9821fd09aeeac7f0986193a1656d8b01fe5 diff --git a/pv/view/cursor.h b/pv/view/cursor.h index a982c05e..1469f2cc 100644 --- a/pv/view/cursor.h +++ b/pv/view/cursor.h @@ -23,19 +23,28 @@ #include "timemarker.h" +#include + +class QPainter; + namespace pv { namespace view { class Cursor : public TimeMarker { + Q_OBJECT + private: 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. @@ -45,12 +54,27 @@ public: Cursor(const View &view, double time); public: + /** + * Gets the marker label rectangle. + * @param rect The rectangle of the ruler client area. + * @return Returns the label rectangle. + */ + QRectF get_label_rect(const QRect &rect) const; + /** * Paints the cursor's label to the ruler. * @param p The painter to draw with. * @param rect The rectangle of the ruler client area. */ void paint_label(QPainter &p, const QRect &rect); + +private: + void compute_text_size(QPainter &p); + + void format_text(char *text); + +private: + QSizeF _text_size; }; } // namespace view