2.3 KiB
2.3 KiB
IWindow
命名空间: XCEngine::Platform
类型: class (abstract)
头文件: XCEngine/Platform/IWindow.h
描述: 平台窗口接口,覆盖窗口生命周期、原生句柄访问、消息处理、标题/全屏/VSync 状态和关闭/尺寸回调。
概述
IWindow 描述的是“平台窗口最小公共能力”。它不关心渲染后端,也不负责输入系统本身,只约定窗口对象需要提供哪些基础操作:
- 创建、销毁和有效性查询
- 原生句柄访问
- 平台事件泵
- 标题、全屏、最小化 / 最大化 / 恢复
- VSync 开关
- 尺寸与关闭状态查询
- 关闭和尺寸变化回调
具体平台实现通常由 IPlatform 创建。
声明概览
| 声明 | 类型 | 说明 |
|---|---|---|
IWindow |
class |
平台窗口抽象接口。 |
公共方法
| 方法 | 描述 |
|---|---|
| ~IWindow() | 通过基类指针安全销毁具体窗口实现。 |
| Create | 按 WindowDesc 创建窗口。 |
| Destroy | 销毁窗口及其平台资源。 |
| IsValid | 查询窗口是否已成功创建且仍有效。 |
| GetNativeHandle | 返回平台相关的原生窗口句柄。 |
| PumpEvents | 处理挂起的窗口事件。 |
| SetTitle | 修改窗口标题。 |
| SetFullscreen | 切换全屏状态。 |
| IsFullscreen | 查询当前是否处于全屏。 |
| Minimize | 最小化窗口。 |
| Maximize | 最大化窗口。 |
| Restore | 从最小化或最大化恢复窗口。 |
| SetVSync | 设置窗口呈现相关的 VSync 开关。 |
| IsVSync | 查询 VSync 是否开启。 |
| GetWidth | 返回当前窗口宽度。 |
| GetHeight | 返回当前窗口高度。 |
| ShouldClose | 查询窗口是否收到关闭请求。 |
| SetShouldClose | 主动标记窗口应关闭。 |
| SetCloseCallback | 设置关闭事件回调。 |
| SetResizeCallback | 设置尺寸变化回调。 |