package platform Platform :: struct { window: ^Window, } Window_Config :: struct {} Event :: struct {} create :: proc() -> Platform { window := window_create() return {window = window} } destroy :: proc(platform: ^Platform) { window_destroy(platform.window) } poll_events :: proc(platform: Platform) -> []Event { window_poll_events(platform.window) window_swap_buffers(platform.window) return {} } should_close :: proc(platform: Platform) -> bool { return window_should_close(platform.window) }