#ifndef	ARCH_WIN32_WINLIB_H
#define	ARCH_WIN32_WINLIB_H

#define	MAX_CLASS_NAME	32

typedef struct arch_raw_message_s
{
	UINT message;
	WPARAM wparam;
	LPARAM lparam;
}	arch_raw_message_t, *arch_raw_message_p;

typedef struct arch_window_s
{
	ARCH_COMMON_WINDOW_FIELDS
	char		class_name[MAX_CLASS_NAME];
	WNDCLASS	wc;
	HWND		wnd;
	DWORD		creation_time;
	HDC			dc;
	HPALETTE	palette;
	DWORD		delta_w, delta_h;
	fifo_t		raw_messages;
#ifdef	DISCARD_DUPLICATE_MOUSEMOVE
	s32_t		last_mx, last_my;	/* used to store last mousemove */
#endif	/* DISCARD_DUPLICATE_MOUSEMOVE */
}	arch_window_t, *arch_window_p;

#endif	/* !ARCH_WIN32_WINLIB_H */
