#pragma once

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

// ::Platform::Windows::Defines::Header::

#define WINDOW_CLASS_NAME "GearsWindowClass"

// ::Platform::Windows::Types::Header::

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

typedef struct Library
{
	HMODULE module;
} Library;

typedef struct  
{
	FARPROC fn;
} Function;

// ::Platform::Windows::Functions::::Header::

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

void GetWindowEvents();
void WaitForWindowEvent();
