API Reference
LitheView 0.1.0 提供 API version 1。公开头文件中的 ltv_* 是唯一稳定 ABI;内部 Chromium 类型、符号和对象不属于兼容性承诺。
模块状态
| 模块 | 状态 | 主要入口 | 说明 |
|---|---|---|---|
| Runtime | Stable | ltv_initialize, ltv_run, ltv_shutdown | 版本查询和进程级生命周期 |
| View | Stable | ltv_view_create, ltv_view_destroy | 页面实例、加载、导航和状态 |
| JavaScript | Stable | ltv_view_eval, ltv_view_execute_javascript | 同步表达式、Promise 和 JSON 结果 |
| Message Bridge | Stable | ltv_view_post_javascript_message | 页面与宿主双向消息 |
| Events | Stable | ltv_view_client_t | 生命周期、策略、对话框、下载和网络事件 |
| Windows | Stable | litheview_win.h | HWND、DPI、输入、光标、IME 和文件拖拽 |
| Remote Debugging | Stable | ltv_settings_t, ltv_view_get_devtools_target_url | 显式开启的 loopback DevTools 调试 |
| PNG capture | Preview | ltv_view_capture_png | 文件或内存中的 PNG 输出 |
| GPU output | Preview | ltv_view_start_gpu_output | 连续共享纹理帧输出 |
版本与结构体规则
- 所有版本化结构体必须先清零,再设置
struct_size和version。 - 当前结构体版本使用
LTV_STRUCT_VERSION。 - 结构体字段只在尾部追加;已发布字段不会重排。
- 枚举值一旦发布不会复用。
- 可以通过
ltv_api_version()和ltv_version_string()查询运行时版本。
ltv_navigation_state_t state = {};
state.struct_size = sizeof(state);
state.version = LTV_STRUCT_VERSION;
const ltv_error_t result = ltv_view_get_navigation_state(view, &state);
内存所有权
| 数据来源 | 所有权 |
|---|---|
| callback 参数和其中的字符串 | 借用,仅在本次 callback 中有效 |
ltv_view_get_title/url/html 返回的字符串 | 调用者持有,使用 ltv_free() 释放 |
ltv_view_eval() 的 json_result / error | 调用者持有,分别使用 ltv_free() 释放 |
ltv_view_capture_png_to_memory() 的数据 | 调用者持有,使用 ltv_free() 释放 |
| GPU frame 的 native handle | 借用,不得关闭;通过 frame token 归还 lease |