docs: rebuild Input API content

This commit is contained in:
2026-03-26 17:39:53 +08:00
parent ec4edb2689
commit ce2eee32e3
54 changed files with 1108 additions and 941 deletions

View File

@@ -1,29 +1,19 @@
# InputModule::~InputModule()
# InputModule::Destructor
销毁对象并释放相关资源
以基类指针安全销毁平台输入后端
```cpp
virtual ~InputModule() = default;
```
该方法声明于 `XCEngine/Input/InputModule.h`,当前页面用于固定 `InputModule` 类目录下的方法级 canonical 路径。
## 行为说明
**参数:**
这是虚析构函数,保证平台实现类可以通过 `InputModule*` 安全释放。当前接口本身没有默认清理逻辑,具体资源释放由派生类实现负责
**返回:** `void` - 无返回值
## 返回值
**示例:**
```cpp
#include <XCEngine/Input/InputModule.h>
void Example() {
XCEngine::Input::InputModule object;
// 对象离开作用域时会自动触发析构。
}
```
- 无。
## 相关文档
- [返回类总览](InputModule.md)
- [返回模块目录](../Input.md)
- [返回类总览](InputModule.md)

View File

@@ -1,34 +1,29 @@
# InputModule::HandleMessage
公开方法,详见头文件声明
处理一条平台窗口消息并把它翻译成引擎输入事件
```cpp
virtual void HandleMessage(size_t hwnd, unsigned int msg, size_t wParam, size_t lParam) = 0;
```
该方法声明于 `XCEngine/Input/InputModule.h`,当前页面用于固定 `InputModule` 类目录下的方法级 canonical 路径。
## 行为说明
**参数:**
- `hwnd` - 参数语义详见头文件声明。
- `msg` - 参数语义详见头文件声明。
- `wParam` - 参数语义详见头文件声明。
- `lParam` - 参数语义详见头文件声明。
这是平台桥接层最关键的接口。当前抽象直接暴露原始整型参数,而不是包装成统一事件对象,目的是让平台实现保留足够低层的解释空间。
**返回:** `void` - 无返回值
在 Windows 路径中,这个方法会处理 `WM_KEYDOWN``WM_MOUSEMOVE``WM_CHAR` 等消息,然后调用 `InputManager::Process*`
**示例:**
## 参数
```cpp
#include <XCEngine/Input/InputModule.h>
- `hwnd` - 平台窗口句柄或等价标识。
- `msg` - 平台消息类型。
- `wParam` - 平台消息参数 1。
- `lParam` - 平台消息参数 2。
void Example() {
XCEngine::Input::InputModule object;
// 根据上下文补齐参数后调用 InputModule::HandleMessage(...)
(void)object;
}
```
## 返回值
-
## 相关文档
- [返回类总览](InputModule.md)
- [返回模块目录](../Input.md)
- [返回类总览](InputModule.md)
- [WindowsInputModule](../../Platform/Windows/WindowsInputModule/WindowsInputModule.md)

View File

@@ -1,31 +1,24 @@
# InputModule::Initialize
初始化内部状态
初始化平台输入后端
```cpp
virtual void Initialize(void* windowHandle) = 0;
```
该方法声明于 `XCEngine/Input/InputModule.h`,当前页面用于固定 `InputModule` 类目录下的方法级 canonical 路径。
## 行为说明
**参数:**
- `windowHandle` - 参数语义详见头文件声明。
平台实现通常会在这里保存窗口句柄、建立必要状态,并准备接收平台消息。`InputModule` 本身不规定更具体的初始化流程。
**返回:** `void` - 无返回值。
## 参数
**示例:**
- `windowHandle` - 平台窗口句柄或等价对象。
```cpp
#include <XCEngine/Input/InputModule.h>
## 返回值
void Example() {
XCEngine::Input::InputModule object;
// 根据上下文补齐参数后调用 InputModule::Initialize(...)。
(void)object;
}
```
- 无。
## 相关文档
- [返回类总览](InputModule.md)
- [返回模块目录](../Input.md)
- [返回类总览](InputModule.md)
- [Shutdown](Shutdown.md)

View File

@@ -6,29 +6,39 @@
**头文件**: `XCEngine/Input/InputModule.h`
**描述**: 定义 `XCEngine/Input` 子目录中的 `InputModule` public API
**描述**: 定义平台输入桥接层的最小接口,把操作系统消息翻译成 `InputManager` 可消费的调用
## 概述
`InputModule.h` `XCEngine/Input` 子目录 下的 public header当前页面作为平行目录中的 canonical 总览,用于汇总该头文件暴露的主要声明
`InputModule` 代表“输入后端适配器”这一层。它本身不保存全局输入状态,职责是从平台窗口系统接收原始消息,然后调用 `InputManager::Process*` 把这些消息转换成引擎内部统一格式
## 声明概览
这层拆分的价值在于:
| 声明 | 类型 | 说明 |
|------|------|------|
| `InputModule` | `class` | 头文件中的公开声明。 |
- 游戏代码只依赖 `InputManager`,不直接依赖 Win32、GLFW 或其它平台 API。
- 各平台后端可以各自决定如何接收事件,但最后都汇总到同一套引擎输入状态。
## 公共方法
## 当前实现中的位置
| 方法 | 描述 |
- [WindowsInputModule](../../Platform/Windows/WindowsInputModule/WindowsInputModule.md) 是当前代码库里的实际实现。
- `InputModule` 本身只定义抽象接口,不提供默认逻辑。
## 线程语义
- 具体线程语义取决于平台后端。
- 当前 Windows 路径假定输入消息和 `InputManager` 更新都发生在窗口线程或主线程。
## 公开方法
| 方法 | 说明 |
|------|------|
| [~InputModule()](Destructor.md) | 销毁对象并释放相关资源。 |
| [Initialize](Initialize.md) | 初始化内部状态。 |
| [Shutdown](Shutdown.md) | 关闭并清理内部状态。 |
| [PumpEvents](PumpEvents.md) | 公开方法,详见头文件声明。 |
| [HandleMessage](HandleMessage.md) | 公开方法,详见头文件声明。 |
| [Destructor](Destructor.md) | 虚析构函数。 |
| [Initialize](Initialize.md) | 初始化平台输入后端。 |
| [Shutdown](Shutdown.md) | 关闭平台输入后端。 |
| [PumpEvents](PumpEvents.md) | 主动轮询平台事件。 |
| [HandleMessage](HandleMessage.md) | 处理一条平台消息。 |
## 相关文档
- [当前目录](../Input.md) - 返回 `Input` 平行目录
- [API 总索引](../../../main.md) - 返回顶层索引
- [当前模块](../Input.md)
- [WindowsInputModule](../../Platform/Windows/WindowsInputModule/WindowsInputModule.md)
- [Input Flow And Frame Semantics](../../../_guides/Input/Input-Flow-and-Frame-Semantics.md)

View File

@@ -1,30 +1,20 @@
# InputModule::PumpEvents
公开方法,详见头文件声明
主动轮询平台事件
```cpp
virtual void PumpEvents() = 0;
```
该方法声明于 `XCEngine/Input/InputModule.h`,当前页面用于固定 `InputModule` 类目录下的方法级 canonical 路径。
## 行为说明
**参数:**
这个接口用于那些需要主动从平台消息队列拉取输入事件的后端。当前 Windows 实现提供了该方法,但方法体为空,因为现有路径主要通过外部窗口消息回调调用 `HandleMessage`
**返回:** `void` - 无返回值
## 返回值
**示例:**
```cpp
#include <XCEngine/Input/InputModule.h>
void Example() {
XCEngine::Input::InputModule object;
// 根据上下文补齐参数后调用 InputModule::PumpEvents(...)。
(void)object;
}
```
- 无。
## 相关文档
- [返回类总览](InputModule.md)
- [返回模块目录](../Input.md)
- [返回类总览](InputModule.md)
- [HandleMessage](HandleMessage.md)

View File

@@ -1,30 +1,20 @@
# InputModule::Shutdown
关闭并清理内部状态。
关闭平台输入后端并释放相关状态。
```cpp
virtual void Shutdown() = 0;
```
该方法声明于 `XCEngine/Input/InputModule.h`,当前页面用于固定 `InputModule` 类目录下的方法级 canonical 路径。
## 行为说明
**参数:**
平台实现通常会在这里释放窗口句柄引用、内部缓存或平台输入资源。`InputModule` 不要求它必须同时调用 `InputManager::Shutdown`,这两层生命周期是否绑在一起由上层控制
**返回:** `void` - 无返回值
## 返回值
**示例:**
```cpp
#include <XCEngine/Input/InputModule.h>
void Example() {
XCEngine::Input::InputModule object;
// 根据上下文补齐参数后调用 InputModule::Shutdown(...)。
(void)object;
}
```
- 无。
## 相关文档
- [返回类总览](InputModule.md)
- [返回模块目录](../Input.md)
- [返回类总览](InputModule.md)
- [Initialize](Initialize.md)