apply method
Applies visual effect while drawing on the canvas.
The default implementation is a no-op; all other non-trivial decorators transform the canvas before drawing, or perform some other adjustments.
This method must be implemented by the subclasses, but it is not available to external users: use applyChain instead.
Implementation
@override
void apply(
void Function(Canvas) draw,
Canvas canvas,
) {
if (_hue == 0.0) {
draw(canvas);
return;
}
if (_isDirty) {
_updatePaint();
_isDirty = false;
}
canvas.saveLayer(null, _paint);
draw(canvas);
canvas.restore();
}