#pragma once

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

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

#define WINDOW_CLASS_NAME "GearsWindowClass"

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

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

typedef struct pLibrary
{
	HMODULE module;
} pLibrary;

typedef struct pFunction
{
	FARPROC fn;
} pFunction;

typedef struct pThread
{
	HANDLE handle;
} pThread;

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

void pWindowEventsGet();
void pWindowEventWaitFor();
