sample method

void sample(
  1. Duration sampleTime,
  2. Duration nextSampleTime,
  3. HandleEventCallback callback
)

Dispatch resampled pointer events for the specified sampleTime by calling callback.

This may dispatch multiple events if position is not the only state that has changed since last sample.

Calling callback must not add or sample events.

Positive value for nextSampleTime allow early processing of up and removed events. This improves resampling of these events, which is important for fling animations.

Implementation

void sample(
  Duration sampleTime,
  Duration nextSampleTime,
  HandleEventCallback callback,
) {
  _processPointerEvents(sampleTime);

  // Dequeue and sample pointer events until `sampleTime`.
  _dequeueAndSampleNonHoverOrMovePointerEventsUntil(sampleTime, nextSampleTime, callback);

  // Dispatch resampled pointer location event if tracked.
  if (_isTracked) {
    _samplePointerPosition(sampleTime, callback);
  }
}