]> sigrok.org Git - pulseview.git/blobdiff - pv/view/timemarker.hpp
SamplingBar: Handle a failure to list the LIMIT_SAMPLES key
[pulseview.git] / pv / view / timemarker.hpp
index 38dfa18e61d69a6b1e679c8ffd1b1498bbf22231..113a6a10a6f04c097d2bc9d828e1f516f63fa2f0 100644 (file)
@@ -43,7 +43,6 @@ class TimeMarker : public TimeItem
 
 public:
        static const int ArrowSize;
-       static const int Offset;
 
 protected:
        /**
@@ -68,16 +67,10 @@ public:
        float get_x() const;
 
        /**
-        * Gets the drag point of the row item.
+        * Gets the arrow-tip point of the time marker.
+        * @param rect the rectangle of the ruler area.
         */
-       QPoint point() const;
-
-       /**
-        * Paints the marker to the viewport.
-        * @param p The painter to draw with.
-        * @param rect The rectangle of the viewport client area.
-        */
-       virtual void paint(QPainter &p, const QRect &rect);
+       QPoint point(const QRect &rect) const;
 
        /**
         * Computes the outline rectangle of a label.
@@ -86,6 +79,13 @@ public:
         */
        QRectF label_rect(const QRectF &rect) const;
 
+       /**
+        * Computes the outline rectangle of the viewport hit-box.
+        * @param rect the rectangle of the viewport area.
+        * @return Returns the rectangle of the hit-box.
+        */
+       QRectF hit_box_rect(const QRectF &rect) const;
+
        /**
         * Gets the text to show in the marker.
         */
@@ -95,17 +95,22 @@ public:
         * Paints the marker's label to the ruler.
         * @param p The painter to draw with.
         * @param rect The rectangle of the ruler client area.
+        * @param hover true if the label is being hovered over by the mouse.
         */
-       void paint_label(QPainter &p, const QRect &rect);
+       void paint_label(QPainter &p, const QRect &rect, bool hover);
 
-       pv::widgets::Popup* create_popup(QWidget *parent);
+       /**
+        * Paints the foreground layer of the item with a QPainter
+        * @param p the QPainter to paint into.
+        * @param pp the painting parameters object to paint with.
+        **/
+       void paint_fore(QPainter &p, const ViewItemPaintParams &pp);
+
+       virtual pv::widgets::Popup* create_popup(QWidget *parent);
 
 private Q_SLOTS:
        void on_value_changed(double value);
 
-Q_SIGNALS:
-       void time_changed();
-
 protected:
        const QColor &colour_;