From 39e184cf6408c7f86221b0a7a009683cc5f664eb Mon Sep 17 00:00:00 2001 From: Robin Thomas Date: Thu, 4 Dec 2025 09:57:38 +0100 Subject: [PATCH 1/2] Add separate filterQuality parameter to RotatedOverlayImage --- lib/src/layer/overlay_image_layer/overlay_image.dart | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/src/layer/overlay_image_layer/overlay_image.dart b/lib/src/layer/overlay_image_layer/overlay_image.dart index 703e7550b..198497f53 100644 --- a/lib/src/layer/overlay_image_layer/overlay_image.dart +++ b/lib/src/layer/overlay_image_layer/overlay_image.dart @@ -115,6 +115,13 @@ class RotatedOverlayImage extends BaseOverlayImage { /// The coordinates of the bottom right corner of the image. final LatLng bottomRightCorner; + /// The filter quality of the transformed image. + /// If this is other than null the transformed widget will be raster cached. + /// This may improve performance on panning but can cause flickering on zooming when the raster cache is at its limits. + /// + /// For some more details see: https://api.flutter.dev/flutter/widgets/Transform/filterQuality.html + final FilterQuality? transformFilterQuality; + /// Create a new [RotatedOverlayImage] instance that can be provided to the /// [OverlayImageLayer]. const RotatedOverlayImage({ @@ -123,6 +130,7 @@ class RotatedOverlayImage extends BaseOverlayImage { required this.topLeftCorner, required this.bottomLeftCorner, required this.bottomRightCorner, + this.transformFilterQuality = null, super.filterQuality, super.opacity, super.gaplessPlayback, @@ -167,7 +175,7 @@ class RotatedOverlayImage extends BaseOverlayImage { height: bounds.size.height, child: Transform( transform: Matrix4(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1), - filterQuality: filterQuality, + filterQuality: transformFilterQuality, child: child, ), ); From f4d920e00bfd1e4fdb3d7128c4affa5d23e01915 Mon Sep 17 00:00:00 2001 From: Robin Thomas Date: Thu, 4 Dec 2025 10:21:51 +0100 Subject: [PATCH 2/2] Please linter --- lib/src/layer/overlay_image_layer/overlay_image.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/layer/overlay_image_layer/overlay_image.dart b/lib/src/layer/overlay_image_layer/overlay_image.dart index 198497f53..08cac879d 100644 --- a/lib/src/layer/overlay_image_layer/overlay_image.dart +++ b/lib/src/layer/overlay_image_layer/overlay_image.dart @@ -130,7 +130,7 @@ class RotatedOverlayImage extends BaseOverlayImage { required this.topLeftCorner, required this.bottomLeftCorner, required this.bottomRightCorner, - this.transformFilterQuality = null, + this.transformFilterQuality, super.filterQuality, super.opacity, super.gaplessPlayback,