#engine-context #flutter-view #native #flutter-texture-registry #class-loader #irondash #registrar #java-vm #flutter-binary-messenger

irondash_engine_context

Easy access to FlutterView, FlutterBinaryMessenger and FlutterTextureRegistry for FFI

9 releases (4 breaking)

0.5.0 Dec 26, 2023
0.4.0-dev.2 Nov 29, 2023
0.3.0 Jul 28, 2023
0.2.1 Jul 1, 2023
0.1.1 Nov 15, 2022

#753 in GUI

Download history 2466/week @ 2025-10-16 3441/week @ 2025-10-23 2972/week @ 2025-10-30 2855/week @ 2025-11-06 3445/week @ 2025-11-13 2784/week @ 2025-11-20 2337/week @ 2025-11-27 2612/week @ 2025-12-04 3249/week @ 2025-12-11 2477/week @ 2025-12-18 1522/week @ 2025-12-25 2029/week @ 2026-01-01 2908/week @ 2026-01-08 3318/week @ 2026-01-15 3184/week @ 2026-01-22 3613/week @ 2026-01-29

13,506 downloads per month
Used in 3 crates (2 directly)

MIT license

44KB
1K SLoC

irondash_engine_context

Flutter plugin that provides access to Flutter engine components (like view or texture registrar) from native code.

Example

Dart code:

    import 'package:irondash_engine_context/irondash_engine_context.dart';

    final handle = await EngineContext.instance.getEngineHandle();
    // pass the handle native code (i.e. through FFI).
    nativeMethod(handle);

Rust code:

    use irondash_engine_context::EngineContext;

    let context = EngineContext::get().unwrap();
    let flutter_view = context.get_flutter_view(handle);
    let texture_registry = context.get_texture_registry(handle);

On Android, EngineContext can provide JavaVM instance and class loader that has loaded Flutter application:

let java_vm = EngineContext::get_java_vm()?;
let class_loader = EngineContext::get_class_loader()?;

Dependencies

~0–14MB
~115K SLoC