2.3 KiB
2.3 KiB
WindowsWindow
命名空间: XCEngine::Platform
类型: class
头文件: XCEngine/Platform/Windows/WindowsWindow.h
描述: Window 的 Win32 实现,负责创建 HWND、泵消息、维护关闭 / 全屏状态,并把消息分发给输入模块和自定义回调。
概述
WindowsWindow 是当前仓库里 Window 抽象的具体 Win32 落地。按 engine/src/Platform/Windows/WindowsWindow.cpp 的实现,它主要做四件事:
- 注册
XCEngineWindowClass并创建主窗口HWND - 用
PeekMessage/DispatchMessage推进 Win32 消息循环 - 在
WM_CLOSE、WM_DESTROY、WM_SIZE中维护关闭和最小化状态 - 把消息同时转发给
m_messageCallback和已绑定的InputModule
全屏切换通过修改窗口样式和缓存旧窗口矩形实现;Destroy() 会销毁窗口并注销窗口类。
声明概览
| 声明 | 类型 | 说明 |
|---|---|---|
WindowsWindow |
class |
Window 的 Win32 具体实现。 |
公共方法
| 方法 | 描述 |
|---|---|
| WindowsWindow() | 初始化空窗口状态。 |
| ~WindowsWindow() | 析构时调用 Destroy。 |
| Create | 创建 HWND 并显示窗口。 |
| Destroy | 销毁 HWND 并注销窗口类。 |
| GetHandle | 返回当前 HWND 作为 WindowHandle。 |
| PumpEvents | 处理 Win32 消息并推进输入模块事件。 |
| SetTitle | 修改 Win32 窗口标题。 |
| SetFullscreen | 通过窗口样式切换 Win32 全屏。 |
| IsFullscreen | 查询 m_fullscreen 标记。 |
| Minimize | 调用 ShowWindow(..., SW_MINIMIZE)。 |
| Maximize | 调用 ShowWindow(..., SW_MAXIMIZE)。 |
| Restore | 调用 ShowWindow(..., SW_RESTORE) 并清理最小化标记。 |
| ShouldClose | 返回 WM_CLOSE / WM_QUIT 维护的关闭标记。 |
| GetNativeHandle | 返回原始 HWND。 |
| SetMessageCallback | 绑定额外的 Win32 消息回调。 |