clipper method

ClipPath clipper (
  1. {@required SurfaceLayer layer,
  2. @required Widget content}
)

🔧🔪 Shortcut clipper since a ClipPath is employed similarly in more than one context.

Implementation

ClipPath clipper({@required SurfaceLayer layer, @required Widget content}) {
  return ClipPath(
    child: content,
    clipper: ShapeBorderClipper(
      shape: (corners == SurfaceCorners.BEVEL)
          ?

          /// [SurfaceCorners.BEVEL] may need a slightly different shape for
          /// the [innerSurface] vs. the [borderContainer].
          (layer == SurfaceLayer.BORDER)
              ? _buildBiBeveledShape(isBorder: true)
              : _buildBiBeveledShape(isBorder: false)

          /// A [SurfaceCorners.ROUND] or SQUARE Surface uses the same shape
          /// regardless of [SurfaceLayer]. TODO: Altered inner radius for roundedRects
          : RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(
                  (corners == SurfaceCorners.SQUARE)
                      ? 0
                      : radius ?? _DEFAULT_RADIUS),
            ),
    ),
  );
}