TwoDimensionalViewport constructor

const TwoDimensionalViewport({
  1. Key? key,
  2. required ViewportOffset verticalOffset,
  3. required AxisDirection verticalAxisDirection,
  4. required ViewportOffset horizontalOffset,
  5. required AxisDirection horizontalAxisDirection,
  6. required TwoDimensionalChildDelegate delegate,
  7. required Axis mainAxis,
  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,
})

Creates a viewport for RenderBox objects that extend and scroll in both horizontal and vertical dimensions.

The viewport listens to the horizontalOffset and verticalOffset, which means this widget does not need to be rebuilt when the offsets change.

Implementation

const TwoDimensionalViewport({
  super.key,
  required this.verticalOffset,
  required this.verticalAxisDirection,
  required this.horizontalOffset,
  required this.horizontalAxisDirection,
  required this.delegate,
  required this.mainAxis,
  @Deprecated(
    'Use scrollCacheExtent instead. '
    'This feature was deprecated after v3.41.0-0.0.pre.',
  )
  this.cacheExtent,
  @Deprecated(
    'Use scrollCacheExtent instead. '
    'This feature was deprecated after v3.41.0-0.0.pre.',
  )
  this.cacheExtentStyle,
  this.scrollCacheExtent,
  this.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.',
     );