INNER CODE UNIT · Dart
ObserverCore
fluttercandies/flutter_scrollview_observer · lib/src/observer_core.dart:18
class ObserverCore {
/// Handles observation logic of a sliver similar to [SliverList].
static ListViewObserveModel? handleListObserve({
required BuildContext context,
double Function()? fetchLeadingOffset,
double? Function(BuildContext)? customOverlap,
double toNextOverPercent = 1,
}) {
var _obj = ObserverUtils.findRenderObject(context);
if (_obj is! RenderSliverMultiBoxAdaptor) return null;
final viewport = ObserverUtils.findViewport(_obj);
if (viewport == null) return null;
if (kDebugMode) {
if (viewport.debugNeedsPaint) return null;
}
// The geometry.visible is not absolutely reliable.
if (!(_obj.geometry?.visible ?? false) ||
_obj.constraints.remainingPaintExtent < 1e-10) {