scrollYListener method

void scrollYListener()

Implementation

void scrollYListener() {
  final ScrollListener? listener = scrollListener;
  final ViewportOffset? offset = scrollOffsetY;
  if (listener == null || offset == null) {
    return;
  }
  if (DebugFlags.debugLogScrollableEnabled) {
    final double maxY = math.max(
        0.0, (_scrollableSize?.height ?? 0) - (_viewportSize?.height ?? 0));
    renderingLogger.finer(
        '[Overflow-Scroll] <${renderStyle.target.tagName.toLowerCase()}> Y pixels='
        '${offset.pixels.toStringAsFixed(2)} max=${maxY.toStringAsFixed(2)}');
  }
  listener(offset.pixels, AxisDirection.down);
  if (DebugFlags.debugLogSemanticsEnabled ||
      DebugFlags.debugLogScrollableEnabled) {
    debugPrint('[webf][a11y][scroll] ${renderStyle.target} '
        'scrollY=${offset.pixels.toStringAsFixed(2)} '
        'viewport=${_viewportSize?.height.toStringAsFixed(1) ?? '?'} '
        'content=${_scrollableSize?.height.toStringAsFixed(1) ?? '?'} '
        '→ markNeedsSemanticsUpdate');
  }
  markNeedsSemanticsUpdate();
  markNeedsPaint();
}