visibleFraction property
double
get
visibleFraction
A fraction in the range [0, 1] that represents what proportion of the widget is visible (assuming rectangular bounding boxes).
0 means not visible; 1 means fully visible.
Implementation
double get visibleFraction {
final visibleArea = _area(visibleBounds.size);
final maxVisibleArea = _area(size);
if (_floatNear(maxVisibleArea, 0)) {
// Avoid division-by-zero.
return 0;
}
var visibleFraction = visibleArea / maxVisibleArea;
if (_floatNear(visibleFraction, 0)) {
visibleFraction = 0;
} else if (_floatNear(visibleFraction, 1)) {
// The inexact nature of floating-point arithmetic means that sometimes
// the visible area might never equal the maximum area (or could even
// be slightly larger than the maximum). Snap to the maximum.
visibleFraction = 1;
}
assert(visibleFraction >= 0);
assert(visibleFraction <= 1);
return visibleFraction;
}