calculatePosition static method

BadgePosition calculatePosition(
  1. BadgePosition? position
)

When the onTap is specified the additional padding is added Thats why we need to recalculate the position

Implementation

static BadgePosition calculatePosition(BadgePosition? position) {
  if (position == null) {
    return BadgePosition.custom(end: 0, top: 0);
  }

  double? getUpdatedPosition(double? digit) {
    if (digit == null) {
      return null;
    }
    return !digit.isNegative ? digit : 0;
  }

  return BadgePosition.custom(
    start: getUpdatedPosition(position.start),
    end: getUpdatedPosition(position.end),
    top: getUpdatedPosition(position.top),
    bottom: getUpdatedPosition(position.bottom),
  );
}