feat: a span declared invalid is shaded behind the data it is missing from

This commit is contained in:
Martino Ferrari committed 2026-10-08 20:11:16 +02:00
1 parent 1ae72d4903
commit ebc67bd318
6 files changed
+250

No files matched your search

+9
View File
@@ -516,6 +516,9 @@ void Renderer::draw_plot(Plot& plot, const PlotLayout& layout) {
// against the line passes would not change a pixel.)
set_clip(layout.axes);
draw_grid(plot);
// The holes over the grid and under the data: a band is chrome of the *background*, not an
// overlay, so everything a frame draws inside the axes is drawn on top of it.
draw_invalid_spans(layout);
clear_clip();
draw_axis_lines(plot);
set_clip(layout.axes);
@@ -1728,6 +1731,12 @@ void Renderer::draw_cursor_label(const Plot& plot, const PlotLayout& layout, con
}
}
void Renderer::draw_invalid_spans(const PlotLayout& layout) {
for (const Rect& band : layout.invalid_spans) {
if (band.w > 0.0f) fill_pixels(band, style_.invalid_fill);
}
}
void Renderer::draw_regions(const Plot& plot, const PlotLayout& layout) {
const HotHandles hot = plot.hot_handles();
const f32 edge_w = style_.device(style_.line_width_px);