Change print to log to follow bp
This commit is contained in:
@@ -2,6 +2,7 @@ import 'dart:async';
|
|||||||
import 'dart:ffi';
|
import 'dart:ffi';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:ui' as ui;
|
import 'dart:ui' as ui;
|
||||||
|
import 'dart:developer' as dev;
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:ffi/ffi.dart';
|
import 'package:ffi/ffi.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
@@ -146,7 +147,7 @@ class FilamentControllerFFI extends FilamentController {
|
|||||||
await _channel.invokeMethod(
|
await _channel.invokeMethod(
|
||||||
"destroyTexture", textureDetails.value!.textureId);
|
"destroyTexture", textureDetails.value!.textureId);
|
||||||
}
|
}
|
||||||
print("Texture destroyed");
|
dev.log("Texture destroyed");
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
@@ -187,7 +188,7 @@ class FilamentControllerFFI extends FilamentController {
|
|||||||
|
|
||||||
var renderingSurface = await _createRenderingSurface();
|
var renderingSurface = await _createRenderingSurface();
|
||||||
|
|
||||||
print("Got rendering surface");
|
dev.log("Got rendering surface");
|
||||||
|
|
||||||
_viewer = _lib.create_filament_viewer_ffi(
|
_viewer = _lib.create_filament_viewer_ffi(
|
||||||
Pointer<Void>.fromAddress(renderingSurface.sharedContext),
|
Pointer<Void>.fromAddress(renderingSurface.sharedContext),
|
||||||
@@ -196,7 +197,7 @@ class FilamentControllerFFI extends FilamentController {
|
|||||||
loader,
|
loader,
|
||||||
renderCallback,
|
renderCallback,
|
||||||
renderCallbackOwner);
|
renderCallbackOwner);
|
||||||
print("Created viewer");
|
dev.log("Created viewer");
|
||||||
if (_viewer!.address == 0) {
|
if (_viewer!.address == 0) {
|
||||||
throw Exception("Failed to create viewer. Check logs for details");
|
throw Exception("Failed to create viewer. Check logs for details");
|
||||||
}
|
}
|
||||||
@@ -205,9 +206,9 @@ class FilamentControllerFFI extends FilamentController {
|
|||||||
|
|
||||||
_lib.create_swap_chain_ffi(_viewer!, renderingSurface.surface,
|
_lib.create_swap_chain_ffi(_viewer!, renderingSurface.surface,
|
||||||
rect.value!.width.toInt(), rect.value!.height.toInt());
|
rect.value!.width.toInt(), rect.value!.height.toInt());
|
||||||
print("Created swap chain");
|
dev.log("Created swap chain");
|
||||||
if (renderingSurface.textureHandle != 0) {
|
if (renderingSurface.textureHandle != 0) {
|
||||||
print(
|
dev.log(
|
||||||
"Creating render target from native texture ${renderingSurface.textureHandle}");
|
"Creating render target from native texture ${renderingSurface.textureHandle}");
|
||||||
_lib.create_render_target_ffi(_viewer!, renderingSurface.textureHandle,
|
_lib.create_render_target_ffi(_viewer!, renderingSurface.textureHandle,
|
||||||
rect.value!.width.toInt(), rect.value!.height.toInt());
|
rect.value!.width.toInt(), rect.value!.height.toInt());
|
||||||
@@ -217,7 +218,7 @@ class FilamentControllerFFI extends FilamentController {
|
|||||||
textureId: renderingSurface.flutterTextureId,
|
textureId: renderingSurface.flutterTextureId,
|
||||||
width: rect.value!.width.toInt(),
|
width: rect.value!.width.toInt(),
|
||||||
height: rect.value!.height.toInt());
|
height: rect.value!.height.toInt());
|
||||||
print("texture details ${textureDetails.value}");
|
dev.log("texture details ${textureDetails.value}");
|
||||||
_lib.update_viewport_and_camera_projection_ffi(
|
_lib.update_viewport_and_camera_projection_ffi(
|
||||||
_viewer!, rect.value!.width.toInt(), rect.value!.height.toInt(), 1.0);
|
_viewer!, rect.value!.width.toInt(), rect.value!.height.toInt(), 1.0);
|
||||||
hasViewer.value = true;
|
hasViewer.value = true;
|
||||||
@@ -321,7 +322,7 @@ class FilamentControllerFFI extends FilamentController {
|
|||||||
"destroyTexture", textureDetails.value!.textureId);
|
"destroyTexture", textureDetails.value!.textureId);
|
||||||
}
|
}
|
||||||
} else if (Platform.isWindows) {
|
} else if (Platform.isWindows) {
|
||||||
print("Resizing window with rect $rect");
|
dev.log("Resizing window with rect $rect");
|
||||||
await _channel.invokeMethod("resizeWindow", [
|
await _channel.invokeMethod("resizeWindow", [
|
||||||
rect.value!.width,
|
rect.value!.width,
|
||||||
rect.value!.height,
|
rect.value!.height,
|
||||||
@@ -344,7 +345,7 @@ class FilamentControllerFFI extends FilamentController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (renderingSurface.textureHandle != 0) {
|
if (renderingSurface.textureHandle != 0) {
|
||||||
print(
|
dev.log(
|
||||||
"Creating render target from native texture ${renderingSurface.textureHandle}");
|
"Creating render target from native texture ${renderingSurface.textureHandle}");
|
||||||
_lib.create_render_target_ffi(_viewer!, renderingSurface.textureHandle,
|
_lib.create_render_target_ffi(_viewer!, renderingSurface.textureHandle,
|
||||||
rect.value!.width.toInt(), rect.value!.height.toInt());
|
rect.value!.width.toInt(), rect.value!.height.toInt());
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'dart:ffi';
|
import 'dart:ffi';
|
||||||
|
import 'dart:developer' as dev;
|
||||||
|
|
||||||
class RenderingSurface {
|
class RenderingSurface {
|
||||||
final int flutterTextureId;
|
final int flutterTextureId;
|
||||||
@@ -15,22 +16,23 @@ class RenderingSurface {
|
|||||||
// null on iOS/Android, void* on MacOS (pointer to metal texture), GLuid on Windows/Linux
|
// null on iOS/Android, void* on MacOS (pointer to metal texture), GLuid on Windows/Linux
|
||||||
var nativeTexture = platformMessage[2] as int? ?? 0;
|
var nativeTexture = platformMessage[2] as int? ?? 0;
|
||||||
|
|
||||||
if(nativeTexture != 0) {
|
if (nativeTexture != 0) {
|
||||||
assert(surfaceAddress == 0);
|
assert(surfaceAddress == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
var sharedContext = platformMessage[3] as int? ?? 0;
|
var sharedContext = platformMessage[3] as int? ?? 0;
|
||||||
|
|
||||||
print(
|
dev.log(
|
||||||
"Using flutterTextureId $flutterTextureId, surface $surfaceAddress nativeTexture $nativeTexture and sharedContext $sharedContext");
|
"Using flutterTextureId $flutterTextureId, surface $surfaceAddress nativeTexture $nativeTexture and sharedContext $sharedContext");
|
||||||
return RenderingSurface(
|
return RenderingSurface(
|
||||||
sharedContext: sharedContext,
|
sharedContext: sharedContext,
|
||||||
flutterTextureId: flutterTextureId,
|
flutterTextureId: flutterTextureId,
|
||||||
surface: Pointer<Void>.fromAddress(surfaceAddress),
|
surface: Pointer<Void>.fromAddress(surfaceAddress),
|
||||||
textureHandle: nativeTexture);
|
textureHandle: nativeTexture);
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderingSurface({required this.sharedContext,
|
RenderingSurface(
|
||||||
|
{required this.sharedContext,
|
||||||
required this.flutterTextureId,
|
required this.flutterTextureId,
|
||||||
required this.surface,
|
required this.surface,
|
||||||
required this.textureHandle});
|
required this.textureHandle});
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
import 'dart:developer' as dev;
|
||||||
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -144,7 +145,7 @@ class _SizedFilamentWidgetState extends State<_SizedFilamentWidget> {
|
|||||||
_pixelRatio = MediaQuery.of(context).devicePixelRatio;
|
_pixelRatio = MediaQuery.of(context).devicePixelRatio;
|
||||||
widget.controller.setDimensions(_rect, _pixelRatio);
|
widget.controller.setDimensions(_rect, _pixelRatio);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
print("Fatal error : $err");
|
dev.log("Fatal error : $err");
|
||||||
_error = err.toString();
|
_error = err.toString();
|
||||||
}
|
}
|
||||||
setState(() {});
|
setState(() {});
|
||||||
@@ -157,7 +158,7 @@ class _SizedFilamentWidgetState extends State<_SizedFilamentWidget> {
|
|||||||
bool _resizing = false;
|
bool _resizing = false;
|
||||||
|
|
||||||
Future _resize() {
|
Future _resize() {
|
||||||
print("Resizing widget");
|
dev.log("Resizing widget");
|
||||||
final completer = Completer();
|
final completer = Completer();
|
||||||
// resizing the window can be sluggish (particular in debug mode), exacerbated when simultaneously recreating the swapchain and resize the window.
|
// resizing the window can be sluggish (particular in debug mode), exacerbated when simultaneously recreating the swapchain and resize the window.
|
||||||
// to address this, whenever the widget is resized, we set a timer for Xms in the future.
|
// to address this, whenever the widget is resized, we set a timer for Xms in the future.
|
||||||
@@ -185,7 +186,7 @@ class _SizedFilamentWidgetState extends State<_SizedFilamentWidget> {
|
|||||||
setState(() {});
|
setState(() {});
|
||||||
_resizing = false;
|
_resizing = false;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
print("Error resizing FilamentWidget: $err");
|
dev.log("Error resizing FilamentWidget: $err");
|
||||||
} finally {
|
} finally {
|
||||||
completer.complete();
|
completer.complete();
|
||||||
}
|
}
|
||||||
@@ -214,21 +215,21 @@ class _SizedFilamentWidgetState extends State<_SizedFilamentWidget> {
|
|||||||
void _handleStateChange(AppLifecycleState state) async {
|
void _handleStateChange(AppLifecycleState state) async {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case AppLifecycleState.detached:
|
case AppLifecycleState.detached:
|
||||||
print("Detached");
|
dev.log("Detached");
|
||||||
if (!_wasRenderingOnInactive) {
|
if (!_wasRenderingOnInactive) {
|
||||||
_wasRenderingOnInactive = widget.controller.rendering;
|
_wasRenderingOnInactive = widget.controller.rendering;
|
||||||
}
|
}
|
||||||
await widget.controller.setRendering(false);
|
await widget.controller.setRendering(false);
|
||||||
break;
|
break;
|
||||||
case AppLifecycleState.hidden:
|
case AppLifecycleState.hidden:
|
||||||
print("Hidden");
|
dev.log("Hidden");
|
||||||
if (!_wasRenderingOnInactive) {
|
if (!_wasRenderingOnInactive) {
|
||||||
_wasRenderingOnInactive = widget.controller.rendering;
|
_wasRenderingOnInactive = widget.controller.rendering;
|
||||||
}
|
}
|
||||||
await widget.controller.setRendering(false);
|
await widget.controller.setRendering(false);
|
||||||
break;
|
break;
|
||||||
case AppLifecycleState.inactive:
|
case AppLifecycleState.inactive:
|
||||||
print("Inactive");
|
dev.log("Inactive");
|
||||||
if (!_wasRenderingOnInactive) {
|
if (!_wasRenderingOnInactive) {
|
||||||
_wasRenderingOnInactive = widget.controller.rendering;
|
_wasRenderingOnInactive = widget.controller.rendering;
|
||||||
}
|
}
|
||||||
@@ -237,14 +238,14 @@ class _SizedFilamentWidgetState extends State<_SizedFilamentWidget> {
|
|||||||
await widget.controller.setRendering(false);
|
await widget.controller.setRendering(false);
|
||||||
break;
|
break;
|
||||||
case AppLifecycleState.paused:
|
case AppLifecycleState.paused:
|
||||||
print("Paused");
|
dev.log("Paused");
|
||||||
if (!_wasRenderingOnInactive) {
|
if (!_wasRenderingOnInactive) {
|
||||||
_wasRenderingOnInactive = widget.controller.rendering;
|
_wasRenderingOnInactive = widget.controller.rendering;
|
||||||
}
|
}
|
||||||
await widget.controller.setRendering(false);
|
await widget.controller.setRendering(false);
|
||||||
break;
|
break;
|
||||||
case AppLifecycleState.resumed:
|
case AppLifecycleState.resumed:
|
||||||
print("Resumed");
|
dev.log("Resumed");
|
||||||
await widget.controller.setRendering(_wasRenderingOnInactive);
|
await widget.controller.setRendering(_wasRenderingOnInactive);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user