]> sigrok.org Git - pulseview.git/blobdiff - pv/view/trace.hpp
Minor whitespace and Doxygen fixes.
[pulseview.git] / pv / view / trace.hpp
index 294946155cc2f20f2737c2452428e293a44e5b17..c9582c61218409616c7119d1cc894f6ae0cecafd 100644 (file)
@@ -18,8 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#ifndef PULSEVIEW_PV_VIEW_TRACE_H
-#define PULSEVIEW_PV_VIEW_TRACE_H
+#ifndef PULSEVIEW_PV_VIEW_TRACE_HPP
+#define PULSEVIEW_PV_VIEW_TRACE_HPP
 
 #include <QColor>
 #include <QPainter>
@@ -29,7 +29,7 @@
 
 #include <stdint.h>
 
-#include "rowitem.hpp"
+#include "tracetreeitem.hpp"
 
 class QFormLayout;
 
@@ -41,7 +41,7 @@ class Popup;
 
 namespace view {
 
-class Trace : public RowItem
+class Trace : public TraceTreeItem
 {
        Q_OBJECT
 
@@ -49,6 +49,9 @@ private:
        static const QPen AxisPen;
        static const int LabelHitPadding;
 
+       static const QColor BrightBGColour;
+       static const QColor DarkBGColour;
+
 protected:
        Trace(QString name);
 
@@ -73,6 +76,18 @@ public:
         */
        void set_colour(QColor colour);
 
+       /**
+        * Enables or disables the coloured background for this trace.
+        */
+       void set_coloured_bg(bool state);
+
+       /**
+        * 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 ViewItemPaintParams &pp) const;
+
        /**
         * Paints the signal label.
         * @param p the QPainter to paint into.
@@ -93,6 +108,13 @@ public:
        QRectF label_rect(const QRectF &rect) const;
 
 protected:
+       /**
+        * Paints the background layer of the signal with a QPainter.
+        * @param p The QPainter to paint into.
+        * @param pp The painting parameters object to paint with.
+        */
+       virtual void paint_back(QPainter &p, const ViewItemPaintParams &pp);
+
        /**
         * Paints a zero axis across the viewport.
         * @param p the QPainter to paint into.
@@ -116,7 +138,8 @@ private Q_SLOTS:
 
 protected:
        QString name_;
-       QColor colour_;
+       QColor colour_, bgcolour_;
+       bool coloured_bg_, coloured_bg_state_;
 
 private:
        pv::widgets::Popup *popup_;
@@ -126,4 +149,4 @@ private:
 } // namespace view
 } // namespace pv
 
-#endif // PULSEVIEW_PV_VIEW_TRACE_H
+#endif // PULSEVIEW_PV_VIEW_TRACE_HPP