From 667424659dd0fab03e914a04435a3a955cd712ea Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Fri, 3 Feb 2017 20:47:16 -0800 Subject: [PATCH] Rename SliverLogicalParentData.scrollOffset to layoutOffset (#7871) This quantity is actually the layoutOffset of the child, not its scroll offset. --- .../flutter/lib/src/rendering/sliver.dart | 46 ++++++++++--------- .../rendering/sliver_fixed_extent_list.dart | 4 +- .../lib/src/rendering/sliver_grid.dart | 6 +-- .../lib/src/rendering/sliver_list.dart | 4 +- .../rendering/sliver_multi_box_adaptor.dart | 6 +-- 5 files changed, 34 insertions(+), 32 deletions(-) diff --git a/packages/flutter/lib/src/rendering/sliver.dart b/packages/flutter/lib/src/rendering/sliver.dart index ff3095cb3fd..505be9347b3 100644 --- a/packages/flutter/lib/src/rendering/sliver.dart +++ b/packages/flutter/lib/src/rendering/sliver.dart @@ -553,21 +553,23 @@ class SliverHitTestEntry extends HitTestEntry { } /// Parent data structure used by parents of slivers that position their -/// children using scroll offsets. +/// children using layout offsets. /// /// This data structure is optimised for fast layout. It is best used by parents /// that expect to have many children whose relative positions don't change even /// when the scroll offset does. class SliverLogicalParentData extends ParentData { - /// The distance from from the zero scroll offset of the parent sliver (the - /// line at which its [SliverConstraints.scrollOffset] is zero) to the side of - /// the child closest to that offset. + /// The position of the child relative to the zero scroll offset. + /// + /// The number of pixels from from the zero scroll offset of the parent sliver + /// (the line at which its [SliverConstraints.scrollOffset] is zero) to the + /// side of the child closest to that offset. /// /// In a typical list, this does not change as the parent is scrolled. - double scrollOffset = 0.0; + double layoutOffset = 0.0; @override - String toString() => 'scrollOffset=${scrollOffset.toStringAsFixed(1)}'; + String toString() => 'layoutOffset=${layoutOffset.toStringAsFixed(1)}'; } class SliverLogicalContainerParentData extends SliverLogicalParentData with ContainerParentDataMixin { } @@ -828,7 +830,7 @@ abstract class RenderSliver extends RenderObject { /// of the visible portion of the sliver to the bottom of the child. In both /// cases, this is the direction of increasing /// [SliverConstraints.scrollOffset] and - /// [SliverLogicalParentData.scrollOffset]. + /// [SliverLogicalParentData.layoutOffset]. /// /// Calling this for a child that is not visible is not valid. /// @@ -1244,7 +1246,7 @@ abstract class RenderViewportBase2= firstIndex; --index) { final RenderBox child = insertAndLayoutLeadingChild(childConstraints); final SliverMultiBoxAdaptorParentData childParentData = child.parentData; - childParentData.scrollOffset = indexToScrollOffset(index); + childParentData.layoutOffset = indexToScrollOffset(index); assert(childParentData.index == index); trailingChildWithLayout ??= child; } @@ -87,7 +87,7 @@ abstract class RenderSliverFixedExtentBoxAdaptor extends RenderSliverMultiBoxAda trailingChildWithLayout = child; assert(child != null); final SliverMultiBoxAdaptorParentData childParentData = child.parentData; - childParentData.scrollOffset = indexToScrollOffset(childParentData.index); + childParentData.layoutOffset = indexToScrollOffset(childParentData.index); } final int lastIndex = indexOf(lastChild); diff --git a/packages/flutter/lib/src/rendering/sliver_grid.dart b/packages/flutter/lib/src/rendering/sliver_grid.dart index ce9247b1960..7009bce868a 100644 --- a/packages/flutter/lib/src/rendering/sliver_grid.dart +++ b/packages/flutter/lib/src/rendering/sliver_grid.dart @@ -348,7 +348,7 @@ class RenderSliverGrid extends RenderSliverMultiBoxAdaptor { final RenderBox child = insertAndLayoutLeadingChild( gridGeometry.getBoxConstraints(constraints)); final SliverGridParentData childParentData = child.parentData; - childParentData.scrollOffset = gridGeometry.scrollOffset; + childParentData.layoutOffset = gridGeometry.scrollOffset; childParentData.crossAxisOffset = gridGeometry.crossAxisOffset; assert(childParentData.index == index); trailingChildWithLayout ??= child; @@ -362,7 +362,7 @@ class RenderSliverGrid extends RenderSliverMultiBoxAdaptor { firstChild.layout(firstChildGridGeometry.getBoxConstraints(constraints)); final SliverGridParentData childParentData = firstChild.parentData; childParentData.crossAxisOffset = firstChildGridGeometry.crossAxisOffset; - assert(childParentData.scrollOffset == + assert(childParentData.layoutOffset == firstChildGridGeometry.scrollOffset); trailingChildWithLayout = firstChild; } @@ -386,7 +386,7 @@ class RenderSliverGrid extends RenderSliverMultiBoxAdaptor { trailingChildWithLayout = child; assert(child != null); final SliverGridParentData childParentData = child.parentData; - childParentData.scrollOffset = gridGeometry.scrollOffset; + childParentData.layoutOffset = gridGeometry.scrollOffset; childParentData.crossAxisOffset = gridGeometry.crossAxisOffset; assert(childParentData.index == index); if (gridGeometry.scrollOffset > trailingScrollOffset) diff --git a/packages/flutter/lib/src/rendering/sliver_list.dart b/packages/flutter/lib/src/rendering/sliver_list.dart index 522634c9f40..6eb56d42009 100644 --- a/packages/flutter/lib/src/rendering/sliver_list.dart +++ b/packages/flutter/lib/src/rendering/sliver_list.dart @@ -76,7 +76,7 @@ class RenderSliverList extends RenderSliverMultiBoxAdaptor { return; } final SliverMultiBoxAdaptorParentData childParentData = earliestUsefulChild.parentData; - childParentData.scrollOffset = earliestScrollOffset - paintExtentOf(firstChild); + childParentData.layoutOffset = earliestScrollOffset - paintExtentOf(firstChild); assert(earliestUsefulChild == firstChild); leadingChildWithLayout = earliestUsefulChild; trailingChildWithLayout ??= earliestUsefulChild; @@ -136,7 +136,7 @@ class RenderSliverList extends RenderSliverMultiBoxAdaptor { } assert(child != null); final SliverMultiBoxAdaptorParentData childParentData = child.parentData; - childParentData.scrollOffset = endScrollOffset; + childParentData.layoutOffset = endScrollOffset; assert(childParentData.index == index); endScrollOffset = childScrollOffset(child) + paintExtentOf(child); return true; diff --git a/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart b/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart index 9e34284d5ec..1a96d9f2172 100644 --- a/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart +++ b/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart @@ -171,7 +171,7 @@ abstract class RenderSliverMultiBoxAdaptor extends RenderSliver assert(firstChild == lastChild); assert(indexOf(firstChild) == index); final SliverMultiBoxAdaptorParentData firstChildParentData = firstChild.parentData; - firstChildParentData.scrollOffset = scrollOffset; + firstChildParentData.layoutOffset = scrollOffset; result = true; } else { result = false; @@ -304,8 +304,8 @@ abstract class RenderSliverMultiBoxAdaptor extends RenderSliver assert(child != null); assert(child.parent == this); final SliverMultiBoxAdaptorParentData childParentData = child.parentData; - assert(childParentData.scrollOffset != null); - return childParentData.scrollOffset; + assert(childParentData.layoutOffset != null); + return childParentData.layoutOffset; } @override