#pragma once
#include <windows.h>

#include <stdint.h>
#include <stdbool.h>

#define WINDOW_CLASS_NAME "GearsWindowClass"

typedef struct
{
	HINSTANCE instance;
	HWND handle;
	u16 h, w;
	b32 resize_requested;
} PlatformWindow;

rawptr _MemAlloc(isize size);
rawptr _MemAllocZeroed(isize size);
isize _GetPageSize();

i32 _EPrint(void const *str);
i32 _Printf(const char *fmt, va_list arg);
i32 _Printfln(const char *fmt, va_list arg);
i32 _EPrintf(const char *fmt, va_list arg);

void GetWindowEvents();
void WaitForWindowEvent();
