plot: Draw plot tiles in background thread

This commit is contained in:
Mike Walters
2016-03-27 04:00:37 +01:00
parent 43a77e8f6d
commit f20d99a4f8
5 changed files with 42 additions and 12 deletions

View File

@@ -46,7 +46,11 @@ PlotView::PlotView(InputSource *input) : cursors(this), tuner(this), viewRange({
iqPlot = createIQPlot(mainSampleSource);
plots.emplace_back(iqPlot);
plots.emplace_back(createQuadratureDemodPlot(static_cast<SampleSource<std::complex<float>>*>(iqPlot->source().get())));
auto quadDemodPlot = createQuadratureDemodPlot(static_cast<SampleSource<std::complex<float>>*>(iqPlot->source().get()));
plots.emplace_back(quadDemodPlot);
connect(iqPlot, &TracePlot::repaint, this, &PlotView::repaint);
connect(quadDemodPlot, &TracePlot::repaint, this, &PlotView::repaint);
mainSampleSource->subscribe(this);
}
@@ -136,6 +140,11 @@ void PlotView::invalidateEvent()
horizontalScrollBar()->setMaximum(mainSampleSource->count());
}
void PlotView::repaint()
{
viewport()->update();
}
void PlotView::setCursorSegments(int segments)
{
cursors.setSegments(segments);