189 lines
8.1 KiB
Markdown
189 lines
8.1 KiB
Markdown
---
|
|
version: 0.1.0
|
|
last_updated: 2024-01-20
|
|
status: draft
|
|
---
|
|
|
|
# API 参考索引
|
|
|
|
本文档提供 MIRAI 框架所有公共 API 的快速索引,帮助开发者快速查找所需接口。
|
|
|
|
## 核心类索引
|
|
|
|
### 基础层 (Core)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `object` | `mirai` | 所有可共享对象的基类 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-42) |
|
|
| `widget_base` | `mirai` | UI 控件的抽象基类 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-43) |
|
|
| `spinlock` | `mirai::threading` | 自旋锁同步原语 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-11) |
|
|
| `thread_pool` | `mirai::threading` | 线程池管理器 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-14) |
|
|
| `task_graph` | `mirai::threading` | 任务依赖图 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-15) |
|
|
|
|
### 响应式系统 (Reactive)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `signal<T>` | `mirai::reactive` | 可观察值 | [05-phase2-reactive-system.md](./05-phase2-reactive-system.md#任务-31) |
|
|
| `computed<T>` | `mirai::reactive` | 自动计算值 | [05-phase2-reactive-system.md](./05-phase2-reactive-system.md#任务-32) |
|
|
| `effect` | `mirai::reactive` | 副作用函数 | [05-phase2-reactive-system.md](./05-phase2-reactive-system.md#任务-33) |
|
|
| `dirty_tracker` | `mirai::reactive` | 脏标记追踪器 | [05-phase2-reactive-system.md](./05-phase2-reactive-system.md#任务-34) |
|
|
|
|
### 渲染系统 (Render)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `render_context` | `mirai::render` | 渲染上下文 | [03-phase1a-rendering-core.md](./03-phase1a-rendering-core.md) |
|
|
| `pipeline` | `mirai::render` | 渲染管线 | [03-phase1a-rendering-core.md](./03-phase1a-rendering-core.md) |
|
|
| `batch` | `mirai::render` | 批处理器 | [03-phase1a-rendering-core.md](./03-phase1a-rendering-core.md) |
|
|
| `shader` | `mirai::shader` | 着色器封装 | [03-phase1a-rendering-core.md](./03-phase1a-rendering-core.md) |
|
|
|
|
### 窗口系统 (Window)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `window` | `mirai::window` | 窗口抽象接口 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-92) |
|
|
| `window_manager` | `mirai::window` | 窗口管理器 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-94) |
|
|
| `dpi_scale` | `mirai::window` | DPI 缩放因子 | [02-phase0-infrastructure.md](./02-phase0-infrastructure.md#任务-91) |
|
|
|
|
### 文本系统 (Text)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `font` | `mirai::text` | 字体资源 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-71) |
|
|
| `text_shaper` | `mirai::text` | 文本整形器 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-72) |
|
|
| `glyph_cache` | `mirai::text` | 字形缓存 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-74) |
|
|
| `text_layout` | `mirai::text` | 文本布局 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-75) |
|
|
|
|
### 输入系统 (Input)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `input_manager` | `mirai::input` | 输入管理器 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-82) |
|
|
| `gesture_manager` | `mirai::input` | 手势识别器 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-83) |
|
|
| `focus_manager` | `mirai::input` | 焦点管理器 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-84) |
|
|
| `ime_manager` | `mirai::input` | IME 管理器 | [04-phase1b-text-input.md](./04-phase1b-text-input.md#任务-85) |
|
|
|
|
### UI 控件系统 (UI)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `widget` | `mirai::ui` | 控件基类 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-111) |
|
|
| `container` | `mirai::ui` | 容器控件 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-113) |
|
|
| `label` | `mirai::ui` | 文本标签 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-114) |
|
|
| `button` | `mirai::ui` | 按钮 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-115) |
|
|
| `text_input` | `mirai::ui` | 文本输入 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-116) |
|
|
|
|
### 布局控件 (Layout)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `h_stack` | `mirai::ui` | 水平布局 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-1113) |
|
|
| `v_stack` | `mirai::ui` | 垂直布局 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-1114) |
|
|
| `z_stack` | `mirai::ui` | 层叠布局 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-1115) |
|
|
| `spacer` | `mirai::ui` | 弹性空间 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-1116) |
|
|
| `overlay` | `mirai::ui` | 覆盖层 | [06-phase3-widget-system.md](./06-phase3-widget-system.md#任务-1117) |
|
|
|
|
### 调试系统 (Debug)
|
|
|
|
| 类名 | 命名空间 | 说明 | 文档位置 |
|
|
|------|----------|------|----------|
|
|
| `perf_monitor` | `mirai::debug` | 性能监控器 | [07-phase4-debugger.md](./07-phase4-debugger.md#任务-121) |
|
|
| `widget_tree_view` | `mirai::debug` | 控件树视图 | [07-phase4-debugger.md](./07-phase4-debugger.md#任务-122) |
|
|
| `inspector` | `mirai::debug` | 属性检查器 | [07-phase4-debugger.md](./07-phase4-debugger.md#任务-123) |
|
|
| `debug_overlay` | `mirai::debug` | 调试覆盖层 | [07-phase4-debugger.md](./07-phase4-debugger.md#任务-123) |
|
|
|
|
---
|
|
|
|
## 函数索引
|
|
|
|
### 工厂函数
|
|
|
|
| 函数 | 命名空间 | 说明 |
|
|
|------|----------|------|
|
|
| `make_object<T>(args...)` | `mirai` | 创建对象并调用 on_created |
|
|
| `make_weak<T>(args...)` | `mirai` | 创建弱引用 |
|
|
| `global_thread_pool()` | `mirai::threading` | 获取全局线程池实例 |
|
|
| `window::create(config)` | `mirai::window` | 创建窗口 |
|
|
| `label(text)` | `mirai::ui` | 创建标签 |
|
|
| `button(text)` | `mirai::ui` | 创建按钮 |
|
|
| `h_stack()` | `mirai::ui` | 创建水平布局 |
|
|
| `v_stack()` | `mirai::ui` | 创建垂直布局 |
|
|
| `z_stack()` | `mirai::ui` | 创建层叠布局 |
|
|
|
|
### 全局函数
|
|
|
|
| 函数 | 命名空间 | 说明 |
|
|
|------|----------|------|
|
|
| `batch(fn)` | `mirai::reactive` | 批量更新 |
|
|
| `application::create()` | `mirai` | 创建应用实例 |
|
|
|
|
---
|
|
|
|
## 宏定义
|
|
|
|
| 宏 | 说明 |
|
|
|----|------|
|
|
| `MIRAI_NONCOPYABLE(class)` | 禁用拷贝构造和赋值 |
|
|
| `MIRAI_NONMOVABLE(class)` | 禁用移动构造和赋值 |
|
|
| `MIRAI_DEFAULT_MOVABLE(class)` | 启用默认移动操作 |
|
|
|
|
---
|
|
|
|
## 枚举索引
|
|
|
|
### 任务优先级
|
|
|
|
| 枚举值 | 说明 |
|
|
|--------|------|
|
|
| `task_priority::low` | 低优先级 |
|
|
| `task_priority::normal` | 正常优先级 |
|
|
| `task_priority::high` | 高优先级 |
|
|
| `task_priority::critical` | 关键优先级 |
|
|
|
|
### 文本对齐
|
|
|
|
| 枚举值 | 说明 |
|
|
|--------|------|
|
|
| `text_align::left` | 左对齐 |
|
|
| `text_align::center` | 居中 |
|
|
| `text_align::right` | 右对齐 |
|
|
| `text_align::justify` | 两端对齐 |
|
|
|
|
### 堆叠对齐
|
|
|
|
| 枚举值 | 说明 |
|
|
|--------|------|
|
|
| `stack_alignment::start` | 起点对齐 |
|
|
| `stack_alignment::center` | 居中对齐 |
|
|
| `stack_alignment::end` | 终点对齐 |
|
|
| `stack_alignment::stretch` | 拉伸对齐 |
|
|
|
|
---
|
|
|
|
## 结构体索引
|
|
|
|
### 配置结构
|
|
|
|
| 结构体 | 命名空间 | 说明 |
|
|
|--------|----------|------|
|
|
| `window_config` | `mirai::window` | 窗口创建配置 |
|
|
| `text_style` | `mirai::text` | 文本样式 |
|
|
| `text_layout_config` | `mirai::text` | 文本布局配置 |
|
|
| `sdf_config` | `mirai::text` | SDF 生成配置 |
|
|
| `layout_style` | `mirai::ui` | 布局样式 |
|
|
| `shader_parameter` | `mirai::ui` | 着色器参数 |
|
|
|
|
---
|
|
|
|
## 类型别名
|
|
|
|
| 别名 | 原始类型 | 说明 |
|
|
|------|----------|------|
|
|
| `widget::ptr` | `std::shared_ptr<widget>` | 控件共享指针 |
|
|
| `widget::weak_ptr` | `std::weak_ptr<widget>` | 控件弱指针 |
|
|
| `signal<T>::ptr` | `std::shared_ptr<signal<T>>` | 信号共享指针 |
|
|
|
|
---
|
|
|
|
*本文档随 API 演进持续更新* |