calculatePosition static method
Recalculates the position of the badge, ensuring all values are non-negative. If no position is provided, it defaults to top-right corner with end: 0, top: 0.
Implementation
static FlutterTagPosition calculatePosition(FlutterTagPosition? position) {
if (position == null) {
return FlutterTagPosition.custom(end: 0, top: 0);
}
double? getUpdatedPosition(double? digit) {
if (digit == null) {
return null;
}
return !digit.isNegative ? digit : 0;
}
return FlutterTagPosition.custom(
start: getUpdatedPosition(position.start),
end: getUpdatedPosition(position.end),
top: getUpdatedPosition(position.top),
bottom: getUpdatedPosition(position.bottom),
);
}