From 6f0df56751d5e645b29bd7981b6d7fab237d8fbc Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Fri, 10 May 2024 23:05:05 +0800 Subject: [PATCH] add hacky check for resizing --- .../lib/filament/widgets/filament_widget.dart | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/flutter_filament/lib/filament/widgets/filament_widget.dart b/flutter_filament/lib/filament/widgets/filament_widget.dart index 6e222363..21a01553 100644 --- a/flutter_filament/lib/filament/widgets/filament_widget.dart +++ b/flutter_filament/lib/filament/widgets/filament_widget.dart @@ -103,14 +103,26 @@ class _FilamentWidgetState extends State { } } + bool _resizing = false; + Future _resizeTexture(Size newSize) async { + if (_resizing) { + return; + } + await Future.delayed(Duration.zero); + if (_resizing) { + return; + } + _resizing = true; + var dpr = MediaQuery.of(context).devicePixelRatio; - _texture = await widget.plugin.resizeTexture( - _texture!, (dpr * newSize.width).ceil(), (dpr * newSize.height).ceil(), 0, 0); + _texture = await widget.plugin.resizeTexture(_texture!, + (dpr * newSize.width).ceil(), (dpr * newSize.height).ceil(), 0, 0); print( "Resized texture, new flutter ID is ${_texture!.flutterTextureId} (hardware ID ${_texture!.hardwareTextureId})"); setState(() {}); + _resizing = false; } @override