X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fanalogsignal.hpp;h=a66fb9e2fcefca99164644ac7ceb7dae75c209a4;hb=7ea2a4ff0765fdad34b84e4b4631d6f3f5588714;hp=37b0c1a3ccdae7db9d89db07f2871abf8056473f;hpb=4433246b9ef4247ff469ae7307606a6d872c573f;p=pulseview.git diff --git a/pv/views/trace/analogsignal.hpp b/pv/views/trace/analogsignal.hpp index 37b0c1a3..a66fb9e2 100644 --- a/pv/views/trace/analogsignal.hpp +++ b/pv/views/trace/analogsignal.hpp @@ -26,7 +26,6 @@ #include #include -#include using std::pair; using std::shared_ptr; @@ -47,10 +46,17 @@ class AnalogSignal : public Signal Q_OBJECT private: + static const QPen AxisPen; static const QColor SignalColours[4]; static const QColor GridMajorColor, GridMinorColor; static const QColor SamplingPointColour; + static const QColor SamplingPointColourLo; + static const QColor SamplingPointColourNe; + static const QColor SamplingPointColourHi; static const QColor ThresholdColor; + static const QColor ThresholdColorLo; + static const QColor ThresholdColorNe; + static const QColor ThresholdColorHi; static const int64_t TracePaintBlockSize; static const float EnvelopeThreshold; @@ -132,8 +138,6 @@ private: int y, int left, const int64_t start, const int64_t end, const double pixels_offset, const double samples_per_pixel); - void paint_conversion_thresholds(QPainter &p, ViewItemPaintParams &pp); - void paint_logic_mid(QPainter &p, ViewItemPaintParams &pp); void paint_logic_caps(QPainter &p, QLineF *const lines, @@ -141,6 +145,9 @@ private: bool level, double samples_per_pixel, double pixels_offset, float x_offset, float y_offset); + shared_ptr get_analog_segment_to_paint() const; + shared_ptr get_logic_segment_to_paint() const; + /** * Computes the scale factor from the scale index and vdiv settings. */ @@ -156,7 +163,7 @@ protected: void populate_popup_form(QWidget *parent, QFormLayout *form); private Q_SLOTS: - void on_samples_added(); + void on_min_max_changed(float min, float max); void on_pos_vdivs_changed(int vdivs); void on_neg_vdivs_changed(int vdivs); @@ -172,13 +179,13 @@ private Q_SLOTS: void on_display_type_changed(int index); + void on_settingViewConversionThresholdDispMode_changed(const QVariant new_value); + private: QComboBox *resolution_cb_, *conversion_cb_, *conv_threshold_cb_, *display_type_cb_; QSpinBox *pvdiv_sb_, *nvdiv_sb_, *div_height_sb_; - QTimer delayed_conversion_starter_; - float scale_; int scale_index_; int scale_index_drag_offset_; @@ -189,6 +196,7 @@ private: DisplayType display_type_; bool autoranging_; + int conversion_threshold_disp_mode_; }; } // namespace trace