viewer: reuse decorated thumbnails for page scroller
This commit is contained in:
parent
5cd34da0c2
commit
07de79fe84
1 changed files with 7 additions and 32 deletions
|
@ -3,8 +3,7 @@ import 'dart:math';
|
||||||
import 'package:aves/model/entry.dart';
|
import 'package:aves/model/entry.dart';
|
||||||
import 'package:aves/model/multipage.dart';
|
import 'package:aves/model/multipage.dart';
|
||||||
import 'package:aves/theme/durations.dart';
|
import 'package:aves/theme/durations.dart';
|
||||||
import 'package:aves/widgets/collection/thumbnail/overlay.dart';
|
import 'package:aves/widgets/collection/thumbnail/decorated.dart';
|
||||||
import 'package:aves/widgets/collection/thumbnail/raster.dart';
|
|
||||||
import 'package:aves/widgets/viewer/multipage.dart';
|
import 'package:aves/widgets/viewer/multipage.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -122,7 +121,12 @@ class _MultiPageOverlayState extends State<MultiPageOverlay> {
|
||||||
);
|
);
|
||||||
_syncScroll = true;
|
_syncScroll = true;
|
||||||
},
|
},
|
||||||
child: _buildPageThumbnail(pageEntry),
|
child: DecoratedThumbnail(
|
||||||
|
entry: pageEntry,
|
||||||
|
extent: extent,
|
||||||
|
selectable: false,
|
||||||
|
highlightable: false,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
separatorBuilder: (context, index) => separator,
|
separatorBuilder: (context, index) => separator,
|
||||||
|
@ -162,35 +166,6 @@ class _MultiPageOverlayState extends State<MultiPageOverlay> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildPageThumbnail(AvesEntry entry) {
|
|
||||||
Widget child = RasterImageThumbnail(
|
|
||||||
entry: entry,
|
|
||||||
extent: extent,
|
|
||||||
page: entry.page,
|
|
||||||
);
|
|
||||||
|
|
||||||
child = Stack(
|
|
||||||
alignment: Alignment.center,
|
|
||||||
children: [
|
|
||||||
child,
|
|
||||||
Positioned(
|
|
||||||
bottom: 0,
|
|
||||||
left: 0,
|
|
||||||
child: ThumbnailEntryOverlay(
|
|
||||||
entry: entry,
|
|
||||||
extent: extent,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
|
|
||||||
return Container(
|
|
||||||
width: extent,
|
|
||||||
height: extent,
|
|
||||||
child: child,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void _onScrollChange() {
|
void _onScrollChange() {
|
||||||
if (_syncScroll) {
|
if (_syncScroll) {
|
||||||
controller.page = scrollOffsetToPage(_scrollController.offset);
|
controller.page = scrollOffsetToPage(_scrollController.offset);
|
||||||
|
|
Loading…
Reference in a new issue