Files
mirai/docs/api-reference.md
2025-12-31 02:36:08 +08:00

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 演进持续更新*