#ifndef RENDER_H
#define RENDER_H

// Render windowing management

enum KEY_ACTION
{
	UNPRESSED,
	PRESSED,
	HOLDING
};

void* WND_CreateWindow(int x, int y, int width, int height, const char* title);
void WND_DestroyWindow(void* window);
void WND_GetWindowSize(void* window, int* x, int* y);
bool WND_GetWindowGrab(void* window);
void WND_SetWindowSize(void* window, int x, int y);
void WND_SetRelativeMouseMode(int value);

class Render
{
public:
	Render();
	~Render();

	void Init();
	void Shutdown();

	void BeginFrame();
	void EndFrame();

	void DrawFrame();

	void* GetRenderWindow();

private:
	void BuildRenderView();

private:
	void* m_window;
};

extern Render* g_render;

#endif // !RENDER_H
