47 lines
911 B
C
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);
|