void AnalogSignal::paint_grid(QPainter &p, int y, int left, int right)
{
- bool wasAntialiased = p.testRenderHint(QPainter::Antialiasing);
+ bool was_antialiased = p.testRenderHint(QPainter::Antialiasing);
p.setRenderHint(QPainter::Antialiasing, false);
if (pos_vdivs_ > 0) {
}
}
- p.setRenderHint(QPainter::Antialiasing, wasAntialiased);
+ p.setRenderHint(QPainter::Antialiasing, was_antialiased);
}
void AnalogSignal::paint_trace(QPainter &p,
}
delete[] sample_block;
- p.drawPolyline(points, points_count);
+ // QPainter::drawPolyline() is slow, let's paint the lines ourselves
+ for (int64_t i = 1; i < points_count; i++)
+ p.drawLine(points[i - 1], points[i]);
if (show_sampling_points) {
if (paint_thr_dots) {
if (segments.empty())
return;
- static double prev_min = 0, prev_max = 0;
+ double signal_min_ = 0, signal_max_ = 0;
double min = 0, max = 0;
for (const shared_ptr<pv::data::AnalogSegment>& segment : segments) {
max = std::max(max, mm.second);
}
- if ((min == prev_min) && (max == prev_max) && !force_update)
+ if ((min == signal_min_) && (max == signal_max_) && !force_update)
return;
- prev_min = min;
- prev_max = max;
+ signal_min_ = min;
+ signal_max_ = max;
// If we're allowed to alter the div assignment...
if (!keep_divs) {