37 lines
863 B
C
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
|