#ifndef GDI_WINDOW_H
#define GDI_WINDOW_H
#include <psxtypes/psxtypes.h>
#define GDI_GWL_USERDATA (-21)
#define GDI_GWL_EXSTYLE (-20)
#define GDI_GWL_STYLE (-16)
#define GDI_GWL_ID (-12)
#define GDI_GWL_HINSTANCE (-6)
#define GDI_GWL_WNDPROC (-4)
typedef struct _gdi_point {
int32_t x;
int32_t y;
} gdi_point;
typedef struct _gdi_rect {
int32_t left;
int32_t top;
int32_t right;
int32_t bottom;
} gdi_rect;
typedef struct _gdi_msg {
void * hwnd;
uint32_t message;
uintptr_t wparam;
intptr_t lparam;
uint32_t time;
gdi_point pt;
} gdi_msg;
typedef int32_t __stdcall gdi_peek_message(
gdi_msg * msg,
void * hwnd,
uint32_t msg_filter_min,
uint32_t msg_filter_max,
uint32_t remove_msg);
typedef gdi_peek_message gdi_peek_message_ansi;
typedef gdi_peek_message gdi_peek_message_utf16;
typedef int32_t __stdcall gdi_get_system_metrics(
int32_t index);
typedef int32_t __stdcall gdi_is_iconic(
void * hwnd);
typedef int32_t __stdcall gdi_is_zoomed(
void * hwnd);
typedef int32_t __stdcall gdi_move_window(
void * hwnd,
int32_t x,
int32_t y,
int32_t nwindth,
int32_t nheight,
int32_t repaint);
typedef int32_t __stdcall gdi_set_window_pos(
void * hwnd,
void * hwnd_insert_after,
int32_t x,
int32_t y,
int32_t cx,
int32_t cy,
uint32_t flags);
typedef int32_t __stdcall gdi_get_window_rect(
void * hwnd,
gdi_rect * rect);
typedef int32_t __stdcall gdi_get_client_rect(
void * hwnd,
gdi_rect * rect);
typedef void * __stdcall gdi_get_desktop_window(void);
typedef int32_t __stdcall gdi_set_window_long_ptr(
void * hwnd,
int32_t index,
intptr_t new_long);
typedef gdi_set_window_long_ptr gdi_set_window_long_ptr_ansi;
typedef gdi_set_window_long_ptr gdi_set_window_long_ptr_utf16;
#endif