margeSafeArea method

EdgeInsets? margeSafeArea(
  1. AntdPosition? position,
  2. bool noEdge,
  3. EdgeInsets? padding,
  4. double? height,
  5. double? width,
)

Implementation

EdgeInsets? margeSafeArea(AntdPosition? position, bool noEdge,
    EdgeInsets? padding, double? height, double? width) {
  padding ??= EdgeInsets.zero;
  var xp = noEdge == false || width == null;
  var yp = noEdge == false || height == null;
  if (position == null) {
    return EdgeInsets.only(
      top: yp ? padding.top : 0,
      bottom: yp ? padding.bottom : 0,
      left: xp ? padding.left : 0,
      right: xp ? padding.right : 0,
    );
  }
  var safeArea = getSafeArea(position);
  switch (position) {
    case AntdPosition.top:
      return padding.copyWith(top: yp ? padding.top + safeArea : 0);
    case AntdPosition.bottom:
      return padding.copyWith(bottom: yp ? padding.bottom + safeArea : 0);
    case AntdPosition.left:
      return padding.copyWith(left: xp ? padding.left + safeArea : 0);
    case AntdPosition.right:
      return padding.copyWith(right: xp ? padding.right + safeArea : 0);
    case AntdPosition.vertical:
      return padding.copyWith(
          top: yp ? padding.top + getSafeArea(AntdPosition.top) : 0,
          bottom: yp ? padding.bottom + getSafeArea(AntdPosition.bottom) : 0);
    case AntdPosition.horizontal:
      return padding.copyWith(
          left: xp ? padding.left + getSafeArea(AntdPosition.left) : 0,
          right: xp ? padding.right + getSafeArea(AntdPosition.right) : 0);
    case AntdPosition.all:
      return padding.copyWith(
          top: xp ? padding.top + getSafeArea(AntdPosition.top) : 0,
          bottom: xp ? padding.bottom + getSafeArea(AntdPosition.bottom) : 0,
          left: yp ? padding.left + getSafeArea(AntdPosition.left) : 0,
          right: yp ? padding.right + getSafeArea(AntdPosition.right) : 0);
  }
}