#ifndef MR4TH_OSW_OGL_WGL_H
#define MR4TH_OSW_OGL_WGL_H

////////////////////////////////
// WGL Types

typedef struct OSW_WGL_Ctx{
  HMODULE opengl_module;
  ATOM bootstrap_atom;
  HWND  core_window;
  HGLRC core_hglrc;
  int   core_format_idx;
  
  HDC hdc;
} OSW_WGL_Ctx;

typedef struct OSW_WGL_Window{
  B8 activated;
} OSW_WGL_Window;

////////////////////////////////
// WGL Functions

static B32  osw__wgl_open(void);
static void osw__wgl_close(void);
static void osw__wgl_begin(OSW_Window *window);
static void osw__wgl_end(OSW_Window *window);

static PROC osw__opengl_proc_address(HMODULE opengl, char *name);

#endif //MR4TH_OSW_OGL_WGL_H
