/**
 * @file Platform.h
 * @brief 平台窗口生命周期管理接口。
 * @details
 * 对外提供窗口创建与销毁能力：
 * - create_window 根据可选初始化参数构建窗口；
 * - remove_window 根据 window_id 释放窗口资源；
 * - 保持与平台无关上层模块之间的最小依赖面。
 */
#pragma once
#include "CommonHeader.h"
#include "Window.h"


namespace XEngine::platform {

struct window_init_info;

/**
 * @brief 创建平台窗口。
 * @param init_info 可选初始化参数。
 * @return 创建后的窗口句柄对象。
 */
window create_window(const window_init_info *const init_info = nullptr);
/**
 * @brief 销毁平台窗口。
 * @param id 目标窗口 ID。
 */
void remove_window(window_id id);



}
