m3eGradientOverlayLayer function

Widget m3eGradientOverlayLayer({
  1. required BorderRadius clipRadius,
  2. required Gradient gradient,
  3. required double opacity,
  4. required Widget child,
})

Paints gradient as a clipped state layer over child.

Implementation

Widget m3eGradientOverlayLayer({
  required BorderRadius clipRadius,
  required Gradient gradient,
  required double opacity,
  required Widget child,
}) {
  if (opacity <= 0) {
    return child;
  }
  return ClipRRect(
    borderRadius: clipRadius,
    child: Stack(
      fit: StackFit.passthrough,
      children: <Widget>[
        child,
        Positioned.fill(
          child: IgnorePointer(
            child: Opacity(
              opacity: opacity,
              child: DecoratedBox(
                decoration: BoxDecoration(gradient: gradient),
              ),
            ),
          ),
        ),
      ],
    ),
  );
}