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