power_play/src/window/window.h
2025-10-25 10:27:47 -05:00

47 lines
911 B
C

////////////////////////////////////////////////////////////
//~ Window types
Enum(WND_Flag)
{
WND_Flag_None = (0),
WND_Flag_Fullscreen = (1 << 0),
WND_Flag_ForcedTop = (1 << 1),
};
Struct(WND_Settings)
{
WND_Flag flags;
Vec2I32 p0;
Vec2I32 p1;
i32 vsync;
};
Struct(WND_Cmd)
{
WND_Settings settings;
GPU_Resource *texture;
Vec2I32 backbuffer_dst;
};
Struct(WND_Event)
{
u64 inputs_count;
Input *inputs;
WND_Settings settings;
/* The backbuffer src texture is no longer in use once the direct queue fence reaches this target */
i64 backbuffer_fence_target;
};
////////////////////////////////////////////////////////////
//~ @hookdecl Startup hooks
void WND_Startup(void);
////////////////////////////////////////////////////////////
//~ @hookdecl Window hooks
WND_Event WND_BeginUpdate(Arena *arena);
void WND_EndUpdate(WND_Cmd cmd);