RenderTwoDimensionalViewport constructor

RenderTwoDimensionalViewport({
  1. required ViewportOffset horizontalOffset,
  2. required AxisDirection horizontalAxisDirection,
  3. required ViewportOffset verticalOffset,
  4. required AxisDirection verticalAxisDirection,
  5. required TwoDimensionalChildDelegate delegate,
  6. required Axis mainAxis,
  7. required TwoDimensionalChildManager childManager,
  8. @Deprecated('Use scrollCacheExtent instead. ' 'This feature was deprecated after v3.41.0-0.0.pre.') double? cacheExtent,
  9. @Deprecated('Use scrollCacheExtent instead. ' 'This feature was deprecated after v3.41.0-0.0.pre.') CacheExtentStyle? cacheExtentStyle,
  10. ScrollCacheExtent? scrollCacheExtent,
  11. Clip clipBehavior = Clip.hardEdge,
})

Initializes fields for subclasses.

The cacheExtent, if null, defaults to RenderAbstractViewport.defaultCacheExtent.

Implementation

RenderTwoDimensionalViewport({
  required ViewportOffset horizontalOffset,
  required AxisDirection horizontalAxisDirection,
  required ViewportOffset verticalOffset,
  required AxisDirection verticalAxisDirection,
  required TwoDimensionalChildDelegate delegate,
  required Axis mainAxis,
  required TwoDimensionalChildManager childManager,
  @Deprecated(
    'Use scrollCacheExtent instead. '
    'This feature was deprecated after v3.41.0-0.0.pre.',
  )
  double? cacheExtent,
  @Deprecated(
    'Use scrollCacheExtent instead. '
    'This feature was deprecated after v3.41.0-0.0.pre.',
  )
  CacheExtentStyle? cacheExtentStyle,
  ScrollCacheExtent? scrollCacheExtent,
  Clip clipBehavior = Clip.hardEdge,
}) : assert(
       verticalAxisDirection == AxisDirection.down || verticalAxisDirection == AxisDirection.up,
       'TwoDimensionalViewport.verticalAxisDirection is not Axis.vertical.',
     ),
     assert(
       horizontalAxisDirection == AxisDirection.left ||
           horizontalAxisDirection == AxisDirection.right,
       'TwoDimensionalViewport.horizontalAxisDirection is not Axis.horizontal.',
     ),
     _childManager = childManager,
     _horizontalOffset = horizontalOffset,
     _horizontalAxisDirection = horizontalAxisDirection,
     _verticalOffset = verticalOffset,
     _verticalAxisDirection = verticalAxisDirection,
     _delegate = delegate,
     _mainAxis = mainAxis,
     _scrollCacheExtent =
         scrollCacheExtent ??
         (cacheExtent != null
             ? switch (cacheExtentStyle) {
                 CacheExtentStyle.pixel || null => ScrollCacheExtent.pixels(cacheExtent),
                 CacheExtentStyle.viewport => ScrollCacheExtent.viewport(cacheExtent),
               }
             : const ScrollCacheExtent.pixels(RenderAbstractViewport.defaultCacheExtent)),
     _clipBehavior = clipBehavior {
  assert(() {
    _debugDanglingKeepAlives = <RenderBox>[];
    return true;
  }());
}