RowItem: Replaced fixed signal heights with extents
[pulseview.git] / pv / view / rowitem.h
index 6b23162f5808a56c8526115fdfe2c8a7b7fb0b5d..1aafca4be3fbfee81b663532e9e6a887601d6f12 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef PULSEVIEW_PV_VIEW_HEADERITEM_H
 #define PULSEVIEW_PV_VIEW_HEADERITEM_H
 
+#include <memory>
+
 #include "selectableitem.h"
 
 namespace pv {
@@ -28,7 +30,8 @@ namespace view {
 
 class RowItemOwner;
 
-class RowItem : public SelectableItem
+class RowItem : public SelectableItem,
+       public std::enable_shared_from_this<pv::view::RowItem>
 {
        Q_OBJECT
 
@@ -74,6 +77,12 @@ public:
         */
        QPoint point() const;
 
+       /**
+        * Computes the vertical extents of the contents of this row item.
+        * @return A pair containing the minimum and maximum y-values.
+        */
+       virtual std::pair<int, int> v_extents() const = 0;
+
        /**
         * Paints the background layer of the trace with a QPainter
         * @param p the QPainter to paint into.