UCHAR	EQU <db>
USHORT	EQU <dw>  ; used only if we really need 16 bits
UINT	EQU <dd>  ; 32 bits for WIN32
ULONG	EQU <dd>
HWND	EQU <dd>

;****************************************
;*					*
;*	Window Class structure		*
;*					*
;****************************************

WNDCLASS struc
	clsStyle          UINT	?	; стиль окна
	clsLpfnWndProc    ULONG	?	; обработчик событий окна
	clsCbClsExtra     UINT	?	; число дополнительных байт после структуры(0)
	clsCbWndExtra     UINT	?	; число дополнительных байт после окна(0)
	clsHInstance      UINT	?	; идентификатор нашего процесса
	clsHIcon          UINT	?	; идентификатор иконки
	clsHCursor        UINT	?	; идентификатор  курсора
	clsHbrBackground  UINT	?	; цвет кисти фона
	clsLpszMenuName   ULONG	?	; имя ресурса в основном меню
	clsLpszClassName  ULONG	?	; имя класса основного окна
	hIconSm           UINT	?	; идентификатор маленькой иконки
WNDCLASS ends

;************************************************
;*   MSGSTRUCT Структура сообщений.		*
;* эта структура заполняеться каждый раз,	*
;* когда окно получает какое-то сообщение	*
;************************************************

MSGSTRUCT struc
	msHWND		UINT    ?
	msMESSAGE	UINT    ?
	msWPARAM	UINT    ?
	msLPARAM	ULONG   ?
	msTIME		ULONG   ?
	msPT		ULONG   ?
MSGSTRUCT ends

;************************
;*	Rectangle	*
;************************

RECT    struc
	Left		UINT	?
	Top		UINT	?
	Right		UINT	?
	Bottom		UINT	?
RECT    ends

PAINTSTRUCT STRUC
	PShdc		UINT	?
	PSfErase	UINT	?
	PSrcPaint	UCHAR	size RECT dup(?)
	PSfRestore	UINT	?
	PSfIncUpdate	UINT	?
	PSrgbReserved	UCHAR	16 dup(?)
PAINTSTRUCT ENDS

BITMAP struct
   bmType       dd ?
   bmWidth      dd ?
   bmHeight     dd ?
   bmWidthBytes dd ?
   bmPlanes     dw ?
   bmBitsPixel  dw ?
   bmBits       dd ?
BITMAP ends

BITMAPINFOHEADER struct
  biSize		dd ?
  biWidth		dd ?
  biHeight		dd ?
  biPlanes		dw ?
  biBitCount		dw ?
  biCompression		dd ?
  biSizeImage		dd ?
  biXPelsPerMeter	dd ?
  biYPelsPerMeter	dd ?
  biClrUsed		dd ?
  biClrImportant	dd ?
BITMAPINFOHEADER ends
