evaluate method
Starts or stops the ticker for the pointer's current edge-zone
membership. A null sample means the scrollable is gone: stop.
Implementation
void evaluate(PointerSample? sample) {
if (sample == null) {
_stop();
return;
}
final inEdgeZone =
sample.viewportDy < _edgeZone ||
sample.viewportDy > sample.viewportHeight - _edgeZone;
if (inEdgeZone) {
if (!_ticker.isActive) {
_lastTick = null;
_ticker.start();
}
} else {
_stop();
}
}