filter grids: fixed thumbnail request when scaling
This commit is contained in:
parent
9a35e6e1d2
commit
2f7f66c8dc
4 changed files with 16 additions and 13 deletions
|
@ -204,15 +204,11 @@ class _CollectionScaler extends StatelessWidget {
|
|||
),
|
||||
scaledBuilder: (entry, extent) => ThumbnailTheme(
|
||||
extent: extent,
|
||||
child: Container(
|
||||
width: extent,
|
||||
height: extent,
|
||||
child: DecoratedThumbnail(
|
||||
entry: entry,
|
||||
tileExtent: context.read<TileExtentController>().effectiveExtentMax,
|
||||
selectable: false,
|
||||
highlightable: false,
|
||||
),
|
||||
child: DecoratedThumbnail(
|
||||
entry: entry,
|
||||
tileExtent: context.read<TileExtentController>().effectiveExtentMax,
|
||||
selectable: false,
|
||||
highlightable: false,
|
||||
),
|
||||
),
|
||||
getScaledItemTileRect: (context, entry) {
|
||||
|
|
|
@ -78,7 +78,11 @@ class _GridScaleGestureDetectorState<T> extends State<GridScaleGestureDetector<T
|
|||
final thumbnailCenter = renderMetaData.localToGlobal(Offset(halfExtent, halfExtent));
|
||||
_overlayEntry = OverlayEntry(
|
||||
builder: (context) => ScaleOverlay(
|
||||
builder: (extent) => widget.scaledBuilder(_metadata!.item, extent),
|
||||
builder: (extent) => SizedBox(
|
||||
width: extent,
|
||||
height: extent,
|
||||
child: widget.scaledBuilder(_metadata!.item, extent),
|
||||
),
|
||||
center: thumbnailCenter,
|
||||
viewportWidth: gridWidth,
|
||||
gridBuilder: widget.gridBuilder,
|
||||
|
|
|
@ -24,7 +24,7 @@ import 'package:provider/provider.dart';
|
|||
|
||||
class DecoratedFilterChip extends StatelessWidget {
|
||||
final CollectionFilter filter;
|
||||
final double extent;
|
||||
final double extent, thumbnailExtent;
|
||||
final AvesEntry? coverEntry;
|
||||
final bool pinned, highlightable;
|
||||
final FilterCallback? onTap;
|
||||
|
@ -34,12 +34,14 @@ class DecoratedFilterChip extends StatelessWidget {
|
|||
Key? key,
|
||||
required this.filter,
|
||||
required this.extent,
|
||||
double? thumbnailExtent,
|
||||
this.coverEntry,
|
||||
this.pinned = false,
|
||||
this.highlightable = true,
|
||||
this.onTap,
|
||||
this.onLongPress,
|
||||
}) : super(key: key);
|
||||
}) : thumbnailExtent = thumbnailExtent ?? extent,
|
||||
super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -90,7 +92,7 @@ class DecoratedFilterChip extends StatelessWidget {
|
|||
)
|
||||
: RasterImageThumbnail(
|
||||
entry: entry,
|
||||
extent: extent,
|
||||
extent: thumbnailExtent,
|
||||
);
|
||||
final titlePadding = min<double>(4.0, extent / 32);
|
||||
final borderRadius = BorderRadius.all(radius(extent));
|
||||
|
|
|
@ -391,6 +391,7 @@ class _FilterScaler<T extends CollectionFilter> extends StatelessWidget {
|
|||
return DecoratedFilterChip(
|
||||
filter: filter,
|
||||
extent: extent,
|
||||
thumbnailExtent: context.read<TileExtentController>().effectiveExtentMax,
|
||||
pinned: pinnedFilters.contains(filter),
|
||||
highlightable: false,
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue