X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftimemarker.h;h=e8dac5d470792c1234e0708369ff6c69c2f9921d;hp=616221b23ba139afd1992b9ac7d6acc9332db1d8;hb=8d634081d8b0cc741dd34d8c646474ff6754aea8;hpb=cd6c8ee24fe845fc7d4fcbf8672bb8cdd3afea1a diff --git a/pv/view/timemarker.h b/pv/view/timemarker.h index 616221b2..e8dac5d4 100644 --- a/pv/view/timemarker.h +++ b/pv/view/timemarker.h @@ -22,6 +22,8 @@ #define PULSEVIEW_PV_VIEW_MARKER_H #include +#include +#include class QPainter; class QRect; @@ -31,8 +33,10 @@ namespace view { class View; -class TimeMarker +class TimeMarker : public QObject { + Q_OBJECT + protected: /** * Constructor. @@ -42,6 +46,11 @@ protected: */ TimeMarker(const View &view, const QColor &colour, double time); + /** + * Copy constructor + */ + TimeMarker(const TimeMarker &s); + public: /** * Gets the time of the marker. @@ -60,6 +69,13 @@ public: */ virtual void paint(QPainter &p, const QRect &rect); + /** + * Gets the marker label rectangle. + * @param rect The rectangle of the ruler client area. + * @return Returns the label rectangle. + */ + virtual QRectF get_label_rect(const QRect &rect) const = 0; + /** * Paints the marker's label to the ruler. * @param p The painter to draw with. @@ -67,11 +83,16 @@ public: */ virtual void paint_label(QPainter &p, const QRect &rect) = 0; +signals: + void time_changed(); + protected: const View &_view; const QColor &_colour; double _time; + + QSizeF _text_size; }; } // namespace view