X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fcursor.h;h=be779c00ef18a2da86303f4b39759dd969a12ce2;hp=ec51b81abdb4cfd495a358200eb543a1b9392069;hb=3a6fe0818affcb40b2821eab3f633e536377dd81;hpb=3efda736308edc11468a4b59bdb28d5793902529 diff --git a/pv/view/cursor.h b/pv/view/cursor.h index ec51b81a..be779c00 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 { @@ -34,10 +38,13 @@ 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. @@ -47,15 +54,30 @@ 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. + * @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: + 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