use FilterQuality.none in widget
This commit is contained in:
@@ -51,22 +51,23 @@ class _RenderResizeObserver extends RenderProxyBox {
|
||||
|
||||
class FilamentWidget extends StatefulWidget {
|
||||
final FilamentController controller;
|
||||
|
||||
|
||||
///
|
||||
/// The content to render before the texture widget is available.
|
||||
/// The content to render before the texture widget is available.
|
||||
/// The default is a solid red Container, intentionally chosen to make it clear that there will be at least one frame where the Texture widget is not being rendered.
|
||||
///
|
||||
///
|
||||
late final Widget initial;
|
||||
final void Function()? onResize;
|
||||
|
||||
FilamentWidget({Key? key, required this.controller, this.onResize, Widget? initial})
|
||||
FilamentWidget(
|
||||
{Key? key, required this.controller, this.onResize, Widget? initial})
|
||||
: super(key: key) {
|
||||
if(initial != null) {
|
||||
this.initial = initial;
|
||||
} else {
|
||||
this.initial = Container(color:Colors.red);
|
||||
}
|
||||
}
|
||||
if (initial != null) {
|
||||
this.initial = initial;
|
||||
} else {
|
||||
this.initial = Container(color: Colors.red);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
_FilamentWidgetState createState() => _FilamentWidgetState();
|
||||
@@ -83,39 +84,39 @@ class _FilamentWidgetState extends State<FilamentWidget> {
|
||||
Timer? _resizeTimer;
|
||||
|
||||
void _handleStateChange(AppLifecycleState state) async {
|
||||
// switch (state) {
|
||||
// case AppLifecycleState.detached:
|
||||
// print("Detached");
|
||||
// _textureId = null;
|
||||
switch (state) {
|
||||
case AppLifecycleState.detached:
|
||||
print("Detached");
|
||||
_textureId = null;
|
||||
|
||||
// await widget.controller.destroyViewer();
|
||||
// await widget.controller.destroyTexture();
|
||||
// break;
|
||||
// case AppLifecycleState.hidden:
|
||||
// print("Hidden");
|
||||
// if (Platform.isIOS) {
|
||||
// _textureId = null;
|
||||
// await widget.controller.destroyViewer();
|
||||
// await widget.controller.destroyTexture();
|
||||
// }
|
||||
// break;
|
||||
// case AppLifecycleState.inactive:
|
||||
// print("Inactive");
|
||||
// break;
|
||||
// case AppLifecycleState.paused:
|
||||
// print("Paused");
|
||||
// break;
|
||||
// case AppLifecycleState.resumed:
|
||||
// print("Resumed");
|
||||
// if (_textureId == null) {
|
||||
// var size = ((context.findRenderObject()) as RenderBox).size;
|
||||
// print("Size after resuming : $size");
|
||||
// await widget.controller
|
||||
// .createViewer(size.width.toInt(), size.height.toInt());
|
||||
// print("Created viewer Size after resuming");
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
await widget.controller.destroyViewer();
|
||||
await widget.controller.destroyTexture();
|
||||
break;
|
||||
case AppLifecycleState.hidden:
|
||||
print("Hidden");
|
||||
if (Platform.isIOS) {
|
||||
_textureId = null;
|
||||
await widget.controller.destroyViewer();
|
||||
await widget.controller.destroyTexture();
|
||||
}
|
||||
break;
|
||||
case AppLifecycleState.inactive:
|
||||
print("Inactive");
|
||||
break;
|
||||
case AppLifecycleState.paused:
|
||||
print("Paused");
|
||||
break;
|
||||
case AppLifecycleState.resumed:
|
||||
print("Resumed");
|
||||
if (_textureId == null) {
|
||||
var size = ((context.findRenderObject()) as RenderBox).size;
|
||||
print("Size after resuming : $size");
|
||||
await widget.controller
|
||||
.createViewer(size.width.toInt(), size.height.toInt());
|
||||
print("Created viewer Size after resuming");
|
||||
}
|
||||
break;
|
||||
}
|
||||
_lastState = state;
|
||||
}
|
||||
|
||||
@@ -127,6 +128,7 @@ class _FilamentWidgetState extends State<FilamentWidget> {
|
||||
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
||||
var size = ((context.findRenderObject()) as RenderBox).size;
|
||||
|
||||
widget.controller.createViewer(size.width.toInt(), size.height.toInt());
|
||||
});
|
||||
|
||||
@@ -159,7 +161,7 @@ class _FilamentWidgetState extends State<FilamentWidget> {
|
||||
var texture = Texture(
|
||||
key: ObjectKey("texture_$_textureId"),
|
||||
textureId: _textureId!,
|
||||
filterQuality: FilterQuality.high,
|
||||
filterQuality: FilterQuality.none,
|
||||
);
|
||||
return SizedBox(
|
||||
height: constraints.maxHeight,
|
||||
|
||||
Reference in New Issue
Block a user