#open-harmony #bindings #harmony-os #window #mut #callback #ark-ui

xcomponent

OpenHarmonyOS ArkUI XComponent 的实验性绑定

3 个不稳定版本

0.1.2 2024 年 6 月 28 日
0.1.0 2024 年 6 月 27 日
0.0.1 2024 年 4 月 29 日

#4#open-harmony

每月 49 次下载

Apache-2.0

11KB
145 代码行,不包括注释

XComponent

Rust 对 OpenHarmony ArkUI 原生 XComponent 的绑定。

许可证

此包采用 Apache-2.0 许可证,与 OpenHarmony OS SDK 保持一致。


lib.rs:

OpenHarmony XComponent 的抽象

示例

pub extern "C" fn on_surface_created_cb(xcomponent: *mut OH_NativeXComponent, window: *mut c_void) {
    let xc = xcomponent::XComponent::new(xcomponent, window).expect("Invalid XC");
    let size = xc.size();
    // do something with the xcomponent ...
}

pub extern "C" fn on_dispatch_touch_event_cb(
    component: *mut OH_NativeXComponent,
    window: *mut c_void,
) {
     let xc = xcomponent::XComponent::new(component, window).unwrap();
     let touch_event = xc.get_touch_event().unwrap();
     // Handle the touch event ....
}

特性

  • log: 如果启用,则通过 log 包输出错误和诊断信息。
  • register: 添加 register_xcomponent_callbacks 函数以注册 XComponent 回调。

依赖项

~0.2–5MB
~10K SLoC