2.1 KiB
2.1 KiB
Window
命名空间: XCEngine::Platform
类型: class (abstract)
头文件: XCEngine/Platform/Window.h
描述: 旧平台层窗口抽象基类,定义窗口生命周期、状态切换、句柄访问和输入模块挂接能力。
概述
Window 是 Platform 模块里较早的一套窗口抽象。它负责约定平台窗口至少要提供哪些操作:
- 创建、销毁和事件泵
- 标题与全屏状态切换
- 最小化、最大化、恢复
- 关闭标记查询
- 引擎层句柄和原生句柄访问
和 IWindow 不同,Window 还内置了一个 Input::InputModule* 成员,用来把窗口和输入模块挂接起来。当前 Window.cpp 只实现了 SetInputModule 这一层指针保存,其余行为都由派生类完成。
声明概览
| 声明 | 类型 | 说明 |
|---|---|---|
Window |
class |
带输入模块挂接能力的抽象窗口基类。 |
公共方法
| 方法 | 描述 |
|---|---|
| ~Window() | 通过基类指针销毁具体窗口实现。 |
| Create | 按 WindowDesc 创建平台窗口。 |
| Destroy | 释放平台窗口资源。 |
| GetHandle | 返回引擎层 WindowHandle。 |
| PumpEvents | 处理窗口事件,并允许派生类转发到输入模块。 |
| SetTitle | 修改窗口标题。 |
| SetFullscreen | 切换窗口全屏状态。 |
| IsFullscreen | 查询当前是否处于全屏。 |
| Minimize | 最小化窗口。 |
| Maximize | 最大化窗口。 |
| Restore | 把窗口恢复到普通状态。 |
| ShouldClose | 查询窗口是否收到关闭请求。 |
| GetNativeHandle | 返回底层平台窗口句柄。 |
| SetInputModule | 绑定一个非拥有型输入模块指针。 |
| GetInputModule | 取回当前绑定的输入模块指针。 |