mirror of
https://github.com/emilk/egui.git
synced 2026-08-29 04:40:03 -04:00
The web painter called `Renderer::render`, which tells the renderer that no backdrop can be captured, so a callback asking for one silently fell back to `CallbackTrait::paint` and drew nothing. A blur behind a panel worked natively and came out as plain glass in a browser. Do on web what the winit painter already does: when a callback needs a backdrop, render into our own texture rather than straight into the canvas surface, which cannot be sampled, then run the `render_from` / `capture_backdrop` loop and blit the result onto the surface. The screen capture machinery is the same shape, so this reuses it, and frames with no backdrop effect still go straight into the surface with no blit. Checked in Chrome on both backends, WebGPU and WebGL2.