Files
lity3d/Engine/Window/window.h
T
shuiyu1123 2d56cb3bc9 MiMoEngine ASM: x86-64 MASM汇编+C混合架构游戏引擎
核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2)
外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言
含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
2026-07-10 19:20:40 +08:00

48 lines
1.4 KiB
C

#pragma once
// ============================================================================
// window.h - Win32 窗口管理
// ============================================================================
#include <Windows.h>
// 窗口结构
typedef struct Window {
HWND hwnd;
int width;
int height;
int fullscreen;
int minimized;
const char* title;
} Window;
// 回调类型
typedef void (*WindowKeyCallback)(int key);
typedef void (*WindowResizeCallback)(int width, int height);
typedef void (*WindowMouseMoveCallback)(int x, int y);
typedef void (*WindowMouseButtonCallback)(int button);
// 创建/销毁
Window* window_create(const char* title, int width, int height, int fullscreen);
void window_destroy(Window* window);
// 显示/隐藏
void window_show(Window* window);
void window_hide(Window* window);
// 消息处理
int window_process_messages(Window* window);
// 获取属性
int window_get_width(Window* window);
int window_get_height(Window* window);
HWND window_get_handle(Window* window);
int window_is_fullscreen(Window* window);
int window_is_minimized(Window* window);
// 设置回调
void window_set_key_callback(Window* window, WindowKeyCallback callback);
void window_set_resize_callback(Window* window, WindowResizeCallback callback);
void window_set_mouse_move_callback(Window* window, WindowMouseMoveCallback callback);
void window_set_mouse_button_callback(Window* window, WindowMouseButtonCallback callback);