performLayout method
Hook for subclasses to perform layout within the given constraints.
Implementation
@override
Size performLayout(BoxConstraints constraints) {
final paginator = widget as Paginator;
if (paginator.totalPages <= 0) return constraints.constrain(Size.zero);
final dotChars = paginator.activeDot.characters;
final inactiveDotChars = paginator.inactiveDot.characters;
final separatorChars = paginator.separator.characters;
var w = 0;
for (var i = 0; i < paginator.totalPages; i++) {
final isCurrent = i == paginator.currentPage;
w += isCurrent ? dotChars.length : inactiveDotChars.length;
if (i < paginator.totalPages - 1) {
w += separatorChars.length;
}
}
return constraints.constrain(Size(w, 1));
}