decoration function

Widget decoration(
  1. Widget widget,
  2. Style props
)

Implementation

Widget decoration(Widget widget, Style props) {
  BoxDecoration decoration = BoxDecoration();
  bool isRadiusExist = props.borderRadius > 0 ||
      props.borderRadiusTopLeft > 0 ||
      props.borderRadiusTopRight > 0 ||
      props.borderRadiusBottomLeft > 0 ||
      props.borderRadiusBottomRight > 0;

  if (props.isRounded == true)
    decoration = decoration.copyWith(shape: BoxShape.circle);
  else if (isRadiusExist) {
    decoration = decoration.copyWith(
        borderRadius: BorderRadius.only(
            bottomLeft: props.borderRadiusBottomLeft > 0
                ? Radius.circular(props.borderRadiusBottomLeft)
                : Radius.circular(props.borderRadius),
            bottomRight: props.borderRadiusBottomRight > 0
                ? Radius.circular(props.borderRadiusBottomRight)
                : Radius.circular(props.borderRadius),
            topLeft: props.borderRadiusTopLeft > 0
                ? Radius.circular(props.borderRadiusTopLeft)
                : Radius.circular(props.borderRadius),
            topRight: props.borderRadiusTopRight > 0
                ? Radius.circular(props.borderRadiusTopRight)
                : Radius.circular(props.borderRadius)));
  }
  if (props.bg != null) decoration = decoration.copyWith(color: props.bg);
  if (props.boxShadow != null)
    decoration = decoration.copyWith(boxShadow: [props.boxShadow!]);
  if (props.gradient != null)
    decoration = decoration.copyWith(gradient: props.gradient);
  if (props.border != null) {
    decoration = decoration.copyWith(
      border: props.border,
    );
  }

  if (props.pressEffect == false)
    return Container(decoration: decoration, child: widget);

  return Ink(decoration: decoration, child: widget);
}