mr4th/src/gfx/win32/win32_gfx_impl.h

37 lines
863 B
C

/* date = May 27th 2022 9:22 pm */
#ifndef WIN32_GFX_IMPL_H
#define WIN32_GFX_IMPL_H
////////////////////////////////
// NOTE(allen): W32 Graphics Types
typedef struct W32_Window{
struct W32_Window *next;
HWND wnd;
WINDOWPLACEMENT place;
B32 supports_resizing;
// applications
void *user_data;
// graphics system implementors
void *equipped_data;
GFX_WindowReleaseFunc *release_func;
} W32_Window;
#define W32_GRAPHICS_WINDOW_CLASS_NAME L"mr4th-graphics"
////////////////////////////////
// NOTE(allen): W32 Graphics Functions
link_function W32_Window* gfx_w32_window_from_handle(GFX_Window *window);
link_function GFX_Window* gfx_w32_handle_from_hwnd(HWND wnd);
////////////////////////////////
// NOTE(allen): W32 Window Procedure
link_function LRESULT gfx_w32_window_proc(HWND, UINT, WPARAM, LPARAM);
#endif //WIN32_GFX_IMPL_H