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/multipage.dart';
|
||||
import 'package:aves/theme/durations.dart';
|
||||
import 'package:aves/widgets/collection/thumbnail/overlay.dart';
|
||||
import 'package:aves/widgets/collection/thumbnail/raster.dart';
|
||||
import 'package:aves/widgets/collection/thumbnail/decorated.dart';
|
||||
import 'package:aves/widgets/viewer/multipage.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -122,7 +121,12 @@ class _MultiPageOverlayState extends State<MultiPageOverlay> {
|
|||
);
|
||||
_syncScroll = true;
|
||||
},
|
||||
child: _buildPageThumbnail(pageEntry),
|
||||
child: DecoratedThumbnail(
|
||||
entry: pageEntry,
|
||||
extent: extent,
|
||||
selectable: false,
|
||||
highlightable: false,
|
||||
),
|
||||
);
|
||||
},
|
||||
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() {
|
||||
if (_syncScroll) {
|
||||
controller.page = scrollOffsetToPage(_scrollController.offset);
|
||||
|
|
Loading…
Reference in a new issue