AnalogSignal: Implement vertical grid
[pulseview.git] / pv / view / analogsignal.hpp
index 938d92d5b5c8d7e086fcef406ab66403fbc37b63..dd2b31dc74f20e4d536accc5652c125af29d5947 100644 (file)
@@ -37,8 +37,8 @@ namespace view {
 class AnalogSignal : public Signal
 {
 private:
-       static const int NominalHeight;
        static const QColor SignalColours[4];
+       static const QColor GridMajorColor, GridMinorColor;
 
        static const float EnvelopeThreshold;
 
@@ -47,7 +47,7 @@ public:
                std::shared_ptr<sigrok::Channel> channel,
                std::shared_ptr<pv::data::Analog> data);
 
-       virtual ~AnalogSignal();
+       virtual ~AnalogSignal() = default;
 
        std::shared_ptr<pv::data::SignalData> data() const;
 
@@ -90,6 +90,8 @@ public:
        void paint_mid(QPainter &p, const ViewItemPaintParams &pp);
 
 private:
+       void paint_grid(QPainter &p, int y, int left, int right);
+
        void paint_trace(QPainter &p,
                const std::shared_ptr<pv::data::AnalogSegment> &segment,
                int y, int left, const int64_t start, const int64_t end,
@@ -110,6 +112,9 @@ private:
 
        int scale_index_;
        int scale_index_drag_offset_;
+
+       int div_height_;
+       int vdivs_;  // divs per positive/negative side
 };
 
 } // namespace view