20 #ifndef PULSEVIEW_PV_VIEWS_TRACE_ANALOGSIGNAL_HPP 21 #define PULSEVIEW_PV_VIEWS_TRACE_ANALOGSIGNAL_HPP 33 using std::shared_ptr;
77 virtual std::map<QString, QVariant> save_settings()
const;
78 virtual void restore_settings(std::map<QString, QVariant> settings);
84 virtual pair<int, int> v_extents()
const;
108 void paint_grid(QPainter &p,
int y,
int left,
int right);
110 void paint_trace(QPainter &p,
111 const shared_ptr<pv::data::AnalogSegment> &segment,
112 int y,
int left,
const int64_t start,
const int64_t end,
113 const double pixels_offset,
const double samples_per_pixel);
115 void paint_envelope(QPainter &p,
116 const shared_ptr<pv::data::AnalogSegment> &segment,
117 int y,
int left,
const int64_t start,
const int64_t end,
118 const double pixels_offset,
const double samples_per_pixel);
120 shared_ptr<pv::data::AnalogSegment> get_analog_segment_to_paint()
const;
125 float get_resolution(
int scale_index);
128 virtual void update_logic_level_offsets();
130 void update_conversion_widgets();
139 virtual vector<data::LogicSegment::EdgePair> get_nearest_level_changes(uint64_t sample_pos);
141 void perform_autoranging(
bool keep_divs,
bool force_update);
143 void reset_pixel_values();
144 void process_next_sample_value(
float x,
float value);
147 void populate_popup_form(QWidget *parent, QFormLayout *form);
149 virtual void hover_point_changed(
const QPoint &hp);
152 virtual void on_setting_changed(
const QString &key,
const QVariant &
value);
154 void on_min_max_changed(
float min,
float max);
156 void on_pos_vdivs_changed(
int vdivs);
157 void on_neg_vdivs_changed(
int vdivs);
158 void on_div_height_changed(
int height);
160 void on_resolution_changed(
int index);
162 void on_autoranging_changed(
int state);
164 void on_conversion_changed(
int index);
165 void on_conv_threshold_changed(
int index=-1);
166 void on_delayed_conversion_starter();
168 void on_display_type_changed(
int index);
207 #endif // PULSEVIEW_PV_VIEWS_TRACE_ANALOGSIGNAL_HPP
static const QPen AxisPen
static const QColor ThresholdColorLo
float prev_value_at_pixel_
vector< float > value_at_pixel_pos_
T value(details::expression_node< T > *n)
static const float EnvelopeThreshold
static const int InfoTextMarginRight
bool show_sampling_points_
QComboBox * resolution_cb_
T max(const T v0, const T v1)
DisplayType display_type_
static const QColor ThresholdColorHi
T min(const T v0, const T v1)
static const int64_t TracePaintBlockSize
static const QColor SamplingPointColorNe
float value_at_hover_pos_
static const int MinScaleIndex
static const QColor ThresholdColor
static const QColor SamplingPointColorHi
float min_value_at_pixel_
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x(y+z)
bool show_analog_minor_grid_
static const QColor SamplingPointColorLo
static const QColor ThresholdColorNe
static const QColor GridMinorColor
static const int MaximumVDivs
int conversion_threshold_disp_mode_