SliverConstraints class
Immutable layout constraints for RenderSliver layout.
The SliverConstraints describe the current scroll state of the viewport from the point of view of the sliver receiving the constraints. For example, a scrollOffset of zero means that the leading edge of the sliver is visible in the viewport, not that the viewport itself has a zero scroll offset.
- Inheritance
-
- Object
- Constraints
- SliverConstraints
Constructors
- SliverConstraints({required AxisDirection axisDirection, required GrowthDirection growthDirection, required ScrollDirection userScrollDirection, required double scrollOffset, required double precedingScrollExtent, required double overlap, required double remainingPaintExtent, required double crossAxisExtent, required AxisDirection crossAxisDirection, required double viewportMainAxisExtent, required double remainingCacheExtent, required double cacheOrigin})
-
Creates sliver constraints with the given information.
const
Properties
- axis → Axis
-
The axis along which the scrollOffset and remainingPaintExtent are measured.
no setter
- axisDirection → AxisDirection
-
The direction in which the scrollOffset and remainingPaintExtent
increase.
final
- cacheOrigin → double
-
Where the cache area starts relative to the scrollOffset.
final
- crossAxisDirection → AxisDirection
-
The direction in which children should be placed in the cross axis.
final
- crossAxisExtent → double
-
The number of pixels in the cross-axis.
final
- growthDirection → GrowthDirection
-
The direction in which the contents of slivers are ordered, relative to
the axisDirection.
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- isNormalized → bool
-
Whether the constraint is expressed in a consistent manner.
no setteroverride
- isTight → bool
-
Whether there is exactly one size possible given these constraints.
no setteroverride
- normalizedGrowthDirection → GrowthDirection
-
Return what the growthDirection would be if the axisDirection was
either AxisDirection.down or AxisDirection.right.
no setter
- overlap → double
-
The number of pixels from where the pixels corresponding to the
scrollOffset will be painted up to the first pixel that has not yet been
painted on by an earlier sliver, in the axisDirection.
final
- precedingScrollExtent → double
-
The scroll distance that has been consumed by all RenderSlivers that
came before this RenderSliver.
final
- remainingCacheExtent → double
-
Describes how much content the sliver should provide starting from the
cacheOrigin.
final
- remainingPaintExtent → double
-
The number of pixels of content that the sliver should consider providing.
(Providing more pixels than this is inefficient.)
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrollOffset → double
-
The scroll offset, in this sliver's coordinate system, that corresponds to
the earliest visible part of this sliver in the AxisDirection if
SliverConstraints.growthDirection is GrowthDirection.forward or in the opposite
AxisDirection direction if SliverConstraints.growthDirection is GrowthDirection.reverse.
final
- userScrollDirection → ScrollDirection
-
The direction in which the user is attempting to scroll, relative to the
axisDirection and growthDirection.
final
- viewportMainAxisExtent → double
-
The number of pixels the viewport can display in the main axis.
final
Methods
-
asBoxConstraints(
{double minExtent = 0.0, double maxExtent = double.infinity, double? crossAxisExtent}) → BoxConstraints - Returns BoxConstraints that reflects the sliver constraints.
-
copyWith(
{AxisDirection? axisDirection, GrowthDirection? growthDirection, ScrollDirection? userScrollDirection, double? scrollOffset, double? precedingScrollExtent, double? overlap, double? remainingPaintExtent, double? crossAxisExtent, AxisDirection? crossAxisDirection, double? viewportMainAxisExtent, double? remainingCacheExtent, double? cacheOrigin}) → SliverConstraints - Creates a copy of this object but with the given fields replaced with the new values.
-
debugAssertIsValid(
{bool isAppliedConstraint = false, InformationCollector? informationCollector}) → bool -
Asserts that the constraints are valid.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override