#flutter #engine #native #component #access #plugin #dart

irondash_engine_context

方便访问FlutterView、FlutterBinaryMessenger和FlutterTextureRegistry以支持FFI

9个版本 (4个重大更改)

0.5.0 2023年12月26日
0.4.0-dev.22023年11月29日
0.3.0 2023年7月28日
0.2.1 2023年7月1日
0.1.1 2022年11月15日

#301 in 游戏开发

Download history 1144/week @ 2024-04-23 1394/week @ 2024-04-30 1347/week @ 2024-05-07 1993/week @ 2024-05-14 1702/week @ 2024-05-21 1722/week @ 2024-05-28 1360/week @ 2024-06-04 1137/week @ 2024-06-11 1061/week @ 2024-06-18 910/week @ 2024-06-25 843/week @ 2024-07-02 1216/week @ 2024-07-09 995/week @ 2024-07-16 1388/week @ 2024-07-23 1186/week @ 2024-07-30 1289/week @ 2024-08-06

5,067 每月下载次数
用于 3 个crate (2 个直接使用)

MIT 许可证

44KB
1K SLoC

irondash_engine_context

Flutter插件,提供从原生代码访问Flutter引擎组件(如视图或纹理注册器)的功能。

示例

Dart代码

    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代码

    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);

在Android上,EngineContext可以提供JavaVM实例和已加载Flutter应用的类加载器

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

依赖项

~0–13MB
~108K SLoC