This commit is contained in:
Thibault Deckers 2020-04-10 17:29:02 +09:00
parent 02c9ac6a8e
commit b32a7747f6
3 changed files with 4 additions and 2 deletions

View file

@ -49,7 +49,7 @@ class RenderSliverKnownExtentBoxAdaptor extends RenderSliverMultiBoxAdaptor {
SectionLayout sectionAtOffset(double scrollOffset) => sectionLayouts.firstWhere((section) => section.hasChildAtOffset(scrollOffset), orElse: () => null); SectionLayout sectionAtOffset(double scrollOffset) => sectionLayouts.firstWhere((section) => section.hasChildAtOffset(scrollOffset), orElse: () => null);
double indexToLayoutOffset(int index) { double indexToLayoutOffset(int index) {
return sectionAtIndex(index).indexToLayoutOffset(index); return (sectionAtIndex(index) ?? sectionLayouts.last).indexToLayoutOffset(index);
} }
int getMinChildIndexForScrollOffset(double scrollOffset) { int getMinChildIndexForScrollOffset(double scrollOffset) {

View file

@ -52,7 +52,7 @@ class _GridScaleGestureDetectorState extends State<GridScaleGestureDetector> {
final renderMetaData = firstOf<RenderMetaData>(result); final renderMetaData = firstOf<RenderMetaData>(result);
// abort if we cannot find an image to show on overlay // abort if we cannot find an image to show on overlay
if (renderMetaData == null) return; if (renderMetaData == null) return;
_renderSliver = firstOf<RenderSliverList>(result); _renderSliver = firstOf<RenderSliver>(result);
_renderViewport = firstOf<RenderViewport>(result); _renderViewport = firstOf<RenderViewport>(result);
_metadata = renderMetaData.metaData; _metadata = renderMetaData.metaData;
_startExtent = tileExtentNotifier.value; _startExtent = tileExtentNotifier.value;
@ -99,6 +99,7 @@ class _GridScaleGestureDetectorState extends State<GridScaleGestureDetector> {
_scaledExtentNotifier = null; _scaledExtentNotifier = null;
if (newExtent == oldExtent) return; if (newExtent == oldExtent) return;
// TODO TLAD fix scroll to specific thumbnail with custom SliverList
// scroll to show the focal point thumbnail at its new position // scroll to show the focal point thumbnail at its new position
final sliverClosure = _renderSliver; final sliverClosure = _renderSliver;
final viewportClosure = _renderViewport; final viewportClosure = _renderViewport;

View file

@ -20,6 +20,7 @@ class TileExtentManager {
if ((newExtent ?? 0) == 0) { if ((newExtent ?? 0) == 0) {
numColumns = columnCountDefault; numColumns = columnCountDefault;
} else { } else {
debugPrint('TODO TLAD tileExtentMin=$tileExtentMin mqSize=$mqSize');
newExtent = newExtent.clamp(tileExtentMin, extentMaxForSize(mqSize)); newExtent = newExtent.clamp(tileExtentMin, extentMaxForSize(mqSize));
numColumns = max(columnCountMin, (availableWidth / newExtent).round()); numColumns = max(columnCountMin, (availableWidth / newExtent).round());
} }