feat(input): live x follow with relative zoom and mouse panning

This commit is contained in:
Martino Ferrari committed 2026-09-28 13:01:48 +02:00
1 parent eaae07d8e0
commit 77e861f79e
10 files changed
+971 -28

No files matched your search

+9
View File
@@ -30,6 +30,15 @@ class Series {
virtual Range x_bounds() const = 0;
virtual Range y_bounds() const = 0;
virtual const MinMaxPyramid& pyramid() const = 0;
/// True when the retained window slides as samples are produced, so that
/// `x_bounds()` reports the window the series currently holds rather than an
/// extent that only changes when the caller replaces the data. Only such a
/// series has a *live edge* for `XFollow::Live` to follow -- the newest x it
/// holds, which moves forward on its own -- so the follow path asks this rather
/// than guessing from a type: `StreamSeries` says true, and every other series
/// keeps the default. Virtual rather than a flag a caller could disagree with,
/// so the series that owns the sliding window is the one that answers.
virtual bool streaming() const noexcept { return false; }
/// Appends interleaved (x, y) pairs in data coordinates for level `level`.
///