paintLayerBlurred function
Paints what draw paints, blurred by each of blurs in turn, within bounds; a progressive blur's handles are
placed in box.
Implementation
void paintLayerBlurred(ui.Canvas canvas, List<LayerBlur> blurs, ui.Rect box, ui.Rect bounds, void Function() draw) {
if (blurs.isEmpty) return draw();
final List<LayerBlur> inner = blurs.sublist(1);
void drawInner() => paintLayerBlurred(canvas, inner, box, bounds, draw);
switch (blurs.first) {
case UniformBlur(:final blur):
_paintUniform(canvas, blur, bounds, drawInner);
case final ProgressiveBlur progressive:
_paintProgressive(canvas, progressive, box, bounds, drawInner);
}
}