remove \r\n again..

erg 2006-03-27 01:39:28 +00:00
parent 933b50a964
commit 28cd033c45
1 changed files with 365 additions and 365 deletions

View File

@ -1,365 +1,365 @@
USING: alien namespaces kernel words ; USING: alien namespaces kernel words ;
IN: win32-api IN: win32-api
! http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_data_types.asp ! http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_data_types.asp
SYMBOL: unicode f unicode set SYMBOL: unicode f unicode set
: unicode-exec ( unicode-func ascii-func -- func ) : unicode-exec ( unicode-func ascii-func -- func )
unicode get [ unicode get [
drop execute drop execute
] [ ] [
nip execute nip execute
] if ; inline ] if ; inline
: unicode? unicode get ; inline : unicode? unicode get ; inline
: win64? f ; : win64? f ;
! win64 ! win64
! char uchar short ushort int uint long ulong longlong ulonglong ! char uchar short ushort int uint long ulong longlong ulonglong
! 1 1 2 2 * * ? ! 1 1 2 2 * * ?
! win32 ! win32
! char uchar short ushort int uint long ulong longlong ulonglong ! char uchar short ushort int uint long ulong longlong ulonglong
! 1 1 2 2 * * 4 4 8 8 ! 1 1 2 2 * * 4 4 8 8
TYPEDEF: char CHAR TYPEDEF: char CHAR
TYPEDEF: uchar UCHAR TYPEDEF: uchar UCHAR
TYPEDEF: uchar BYTE TYPEDEF: uchar BYTE
TYPEDEF: short wchar_t TYPEDEF: short wchar_t
TYPEDEF: wchar_t WCHAR TYPEDEF: wchar_t WCHAR
TYPEDEF: short SHORT TYPEDEF: short SHORT
TYPEDEF: ushort USHORT TYPEDEF: ushort USHORT
TYPEDEF: ushort WORD TYPEDEF: ushort WORD
TYPEDEF: ulong DWORD TYPEDEF: ulong DWORD
TYPEDEF: int INT TYPEDEF: int INT
TYPEDEF: uint UINT TYPEDEF: uint UINT
TYPEDEF: int BOOL TYPEDEF: int BOOL
TYPEDEF: int* PINT TYPEDEF: int* PINT
TYPEDEF: int* LPINT TYPEDEF: int* LPINT
TYPEDEF: int HFILE TYPEDEF: int HFILE
TYPEDEF: long LONG TYPEDEF: long LONG
TYPEDEF: long* LPLONG TYPEDEF: long* LPLONG
TYPEDEF: long LONG_PTR TYPEDEF: long LONG_PTR
TYPEDEF: long* PLONG_PTR TYPEDEF: long* PLONG_PTR
TYPEDEF: uint ULONG TYPEDEF: uint ULONG
TYPEDEF: ulong ULONG_PTR TYPEDEF: ulong ULONG_PTR
TYPEDEF: ulong* PULONG_PTR TYPEDEF: ulong* PULONG_PTR
TYPEDEF: void VOID TYPEDEF: void VOID
TYPEDEF: void* PVOID TYPEDEF: void* PVOID
TYPEDEF: void* LPVOID TYPEDEF: void* LPVOID
TYPEDEF: void* LPCVOID TYPEDEF: void* LPCVOID
TYPEDEF: float FLOAT TYPEDEF: float FLOAT
! The following is commented out for two reasons. ! The following is commented out for two reasons.
! 1) all of the code in both branches will be run because TYPEDEF: is a ! 1) all of the code in both branches will be run because TYPEDEF: is a
! parsing word ! parsing word
! 2) we are waiting on gcc to be ported to win64/msys ! 2) we are waiting on gcc to be ported to win64/msys
! 3) the TYPEDEF:s are probably wrong. ! 3) the TYPEDEF:s are probably wrong.
! win64? [ ! win64? [
! ! TODO: check these! ! ! TODO: check these!
! TYPEDEF: INT32 HALF_PTR ! TYPEDEF: INT32 HALF_PTR
! TYPEDEF: UINT32 UHALF_PTR ! TYPEDEF: UINT32 UHALF_PTR
! TYPEDEF: long INT_PTR ! TYPEDEF: long INT_PTR
! TYPEDEF: ulong UINT_PTR ! TYPEDEF: ulong UINT_PTR
! TYPEDEF: longlong LONG_PTR ! 64bit ! TYPEDEF: longlong LONG_PTR ! 64bit
! TYPEDEF: ulonglong ULONG_PTR ! 64bit ! TYPEDEF: ulonglong ULONG_PTR ! 64bit
! TYPEDEF: int INT32 ! TYPEDEF: int INT32
! TYPEDEF: uint UINT32 ! TYPEDEF: uint UINT32
! TYPEDEF: uint DWORD32 ! TYPEDEF: uint DWORD32
! TYPEDEF: uint ULONG32 ! TYPEDEF: uint ULONG32
! TYPEDEF: ulong ULONG64 ! TYPEDEF: ulong ULONG64
! TYPEDEF: int* POINTER_32 ! TYPEDEF: int* POINTER_32
! TYPEDEF: long* POINTER_64 ! TYPEDEF: long* POINTER_64
! TYPEDEF: longlong INT64 ! TYPEDEF: longlong INT64
! TYPEDEF: ulonglong UINT64 ! TYPEDEF: ulonglong UINT64
! TYPEDEF: longlong LONGLONG ! 64bit ! TYPEDEF: longlong LONGLONG ! 64bit
! TYPEDEF: ulonglong ULONGLONG ! TYPEDEF: ulonglong ULONGLONG
! TYPEDEF: longlong LONG64 ! TYPEDEF: longlong LONG64
! TYPEDEF: ulonglong DWORD64 ! TYPEDEF: ulonglong DWORD64
! ] [ ! ] [
! Correct for win32 ! Correct for win32
TYPEDEF: short HALF_PTR TYPEDEF: short HALF_PTR
TYPEDEF: ushort UHALF_PTR TYPEDEF: ushort UHALF_PTR
TYPEDEF: int INT_PTR TYPEDEF: int INT_PTR
TYPEDEF: uint UINT_PTR TYPEDEF: uint UINT_PTR
TYPEDEF: int LONG_PTR TYPEDEF: int LONG_PTR
TYPEDEF: ulong ULONG_PTR TYPEDEF: ulong ULONG_PTR
TYPEDEF: int INT32 TYPEDEF: int INT32
TYPEDEF: uint UINT32 TYPEDEF: uint UINT32
TYPEDEF: uint DWORD32 TYPEDEF: uint DWORD32
TYPEDEF: ulong ULONG32 TYPEDEF: ulong ULONG32
TYPEDEF: ulonglong ULONG64 TYPEDEF: ulonglong ULONG64
TYPEDEF: long* POINTER_32 TYPEDEF: long* POINTER_32
TYPEDEF: longlong* POINTER_64 TYPEDEF: longlong* POINTER_64
TYPEDEF: longlong INT64 TYPEDEF: longlong INT64
TYPEDEF: ulonglong UINT64 TYPEDEF: ulonglong UINT64
TYPEDEF: longlong LONGLONG TYPEDEF: longlong LONGLONG
TYPEDEF: ulonglong ULONGLONG TYPEDEF: ulonglong ULONGLONG
TYPEDEF: longlong LONG64 TYPEDEF: longlong LONG64
TYPEDEF: ulonglong DWORD64 TYPEDEF: ulonglong DWORD64
! ] if ! ] if
! unicode? [ ! unicode? [
! TYPEDEF: WCHAR TBYTE ! TYPEDEF: WCHAR TBYTE
! TYPEDEF: WCHAR TCHAR ! TYPEDEF: WCHAR TCHAR
! ] [ ! ] [
TYPEDEF: uchar TBYTE TYPEDEF: uchar TBYTE
TYPEDEF: char TCHAR TYPEDEF: char TCHAR
! ] if ! ] if
! Below down is based on the above definitions ! Below down is based on the above definitions
! There should be no 32/64bit issues ! There should be no 32/64bit issues
TYPEDEF: WORD ATOM TYPEDEF: WORD ATOM
TYPEDEF: BYTE BOOLEAN TYPEDEF: BYTE BOOLEAN
! TYPEDEF: __stdcall CALLBACK ! TYPEDEF: __stdcall CALLBACK
TYPEDEF: DWORD COLORREF TYPEDEF: DWORD COLORREF
TYPEDEF: ULONGLONG DWORDLONG TYPEDEF: ULONGLONG DWORDLONG
TYPEDEF: ULONG_PTR DWORD_PTR TYPEDEF: ULONG_PTR DWORD_PTR
TYPEDEF: PVOID HANDLE TYPEDEF: PVOID HANDLE
TYPEDEF: HANDLE HACCEL TYPEDEF: HANDLE HACCEL
TYPEDEF: HANDLE HBITMAP TYPEDEF: HANDLE HBITMAP
TYPEDEF: HANDLE HBRUSH TYPEDEF: HANDLE HBRUSH
TYPEDEF: HANDLE HCOLORSPACE TYPEDEF: HANDLE HCOLORSPACE
TYPEDEF: HANDLE HCONV TYPEDEF: HANDLE HCONV
TYPEDEF: HANDLE HCONVLIST TYPEDEF: HANDLE HCONVLIST
TYPEDEF: HANDLE HICON TYPEDEF: HANDLE HICON
TYPEDEF: HICON HCURSOR TYPEDEF: HICON HCURSOR
TYPEDEF: HANDLE HDC TYPEDEF: HANDLE HDC
TYPEDEF: HANDLE HDDEDATA TYPEDEF: HANDLE HDDEDATA
TYPEDEF: HANDLE HDESK TYPEDEF: HANDLE HDESK
TYPEDEF: HANDLE HDROP TYPEDEF: HANDLE HDROP
TYPEDEF: HANDLE HDWP TYPEDEF: HANDLE HDWP
TYPEDEF: HANDLE HENMETAFILE TYPEDEF: HANDLE HENMETAFILE
TYPEDEF: HANDLE HFONT TYPEDEF: HANDLE HFONT
TYPEDEF: HANDLE HGDIOBJ TYPEDEF: HANDLE HGDIOBJ
TYPEDEF: HANDLE HGLOBAL TYPEDEF: HANDLE HGLOBAL
TYPEDEF: HANDLE HHOOK TYPEDEF: HANDLE HHOOK
TYPEDEF: HANDLE HINSTANCE TYPEDEF: HANDLE HINSTANCE
TYPEDEF: HANDLE HKEY TYPEDEF: HANDLE HKEY
TYPEDEF: HANDLE HKL TYPEDEF: HANDLE HKL
TYPEDEF: HANDLE HLOCAL TYPEDEF: HANDLE HLOCAL
TYPEDEF: HANDLE HMENU TYPEDEF: HANDLE HMENU
TYPEDEF: HANDLE HMETAFILE TYPEDEF: HANDLE HMETAFILE
TYPEDEF: HINSTANCE HMODULE TYPEDEF: HINSTANCE HMODULE
TYPEDEF: HANDLE HMONITOR TYPEDEF: HANDLE HMONITOR
TYPEDEF: HANDLE HPALETTE TYPEDEF: HANDLE HPALETTE
TYPEDEF: HANDLE HPEN TYPEDEF: HANDLE HPEN
TYPEDEF: LONG HRESULT TYPEDEF: LONG HRESULT
TYPEDEF: HANDLE HRGN TYPEDEF: HANDLE HRGN
TYPEDEF: HANDLE HRSRC TYPEDEF: HANDLE HRSRC
TYPEDEF: HANDLE HSZ TYPEDEF: HANDLE HSZ
TYPEDEF: HANDLE WINSTA ! MS docs say typedef HANDLE WINSTA ; TYPEDEF: HANDLE WINSTA ! MS docs say typedef HANDLE WINSTA ;
TYPEDEF: HANDLE HWINSTA ! typo?? TYPEDEF: HANDLE HWINSTA ! typo??
TYPEDEF: HANDLE HWND TYPEDEF: HANDLE HWND
TYPEDEF: WORD LANGID TYPEDEF: WORD LANGID
TYPEDEF: DWORD LCID TYPEDEF: DWORD LCID
TYPEDEF: DWORD LCTYPE TYPEDEF: DWORD LCTYPE
TYPEDEF: DWORD LGRPID TYPEDEF: DWORD LGRPID
TYPEDEF: LONG_PTR LPARAM TYPEDEF: LONG_PTR LPARAM
TYPEDEF: BOOL* LPBOOL TYPEDEF: BOOL* LPBOOL
TYPEDEF: BYTE* LPBYTE TYPEDEF: BYTE* LPBYTE
TYPEDEF: DWORD* LPCOLORREF TYPEDEF: DWORD* LPCOLORREF
TYPEDEF: CHAR* LPCSTR TYPEDEF: CHAR* LPCSTR
TYPEDEF: WCHAR* LPCWSTR TYPEDEF: WCHAR* LPCWSTR
TYPEDEF: WCHAR* LPWSTR TYPEDEF: WCHAR* LPWSTR
unicode? [ unicode? [
TYPEDEF: LPCWSTR LPCTSTR TYPEDEF: LPCWSTR LPCTSTR
TYPEDEF: LPWSTR LPTSTR TYPEDEF: LPWSTR LPTSTR
TYPEDEF: LPCWSTR PCTSTR TYPEDEF: LPCWSTR PCTSTR
TYPEDEF: LPWSTR PTSTR TYPEDEF: LPWSTR PTSTR
] [ ] [
TYPEDEF: LPCSTR LPCTSTR TYPEDEF: LPCSTR LPCTSTR
TYPEDEF: LPSTR LPTSTR TYPEDEF: LPSTR LPTSTR
TYPEDEF: LPCSTR PCTSTR TYPEDEF: LPCSTR PCTSTR
TYPEDEF: LPSTR PTSTR TYPEDEF: LPSTR PTSTR
] if ] if
TYPEDEF: DWORD* LPDWORD TYPEDEF: DWORD* LPDWORD
TYPEDEF: HANDLE* LPHANDLE TYPEDEF: HANDLE* LPHANDLE
TYPEDEF: CHAR* LPSTR TYPEDEF: CHAR* LPSTR
TYPEDEF: WORD* LPWORD TYPEDEF: WORD* LPWORD
TYPEDEF: WCHAR* LPWSTR TYPEDEF: WCHAR* LPWSTR
TYPEDEF: LONG_PTR LRESULT TYPEDEF: LONG_PTR LRESULT
TYPEDEF: BOOL* PBOOL TYPEDEF: BOOL* PBOOL
TYPEDEF: BOOLEAN* PBOOLEAN TYPEDEF: BOOLEAN* PBOOLEAN
TYPEDEF: BYTE* PBYTE TYPEDEF: BYTE* PBYTE
TYPEDEF: CHAR* PCHAR TYPEDEF: CHAR* PCHAR
TYPEDEF: CHAR* PCSTR TYPEDEF: CHAR* PCSTR
TYPEDEF: WCHAR* PCWSTR TYPEDEF: WCHAR* PCWSTR
TYPEDEF: DWORD* PDWORD TYPEDEF: DWORD* PDWORD
TYPEDEF: DWORDLONG* PDWORDLONG TYPEDEF: DWORDLONG* PDWORDLONG
TYPEDEF: DWORD_PTR* PDWORD_PTR TYPEDEF: DWORD_PTR* PDWORD_PTR
TYPEDEF: DWORD32* PDWORD32 TYPEDEF: DWORD32* PDWORD32
TYPEDEF: DWORD64* PDWORD64 TYPEDEF: DWORD64* PDWORD64
TYPEDEF: FLOAT* PFLOAT TYPEDEF: FLOAT* PFLOAT
TYPEDEF: HALF_PTR* PHALF_PTR TYPEDEF: HALF_PTR* PHALF_PTR
TYPEDEF: HANDLE* PHANDLE TYPEDEF: HANDLE* PHANDLE
TYPEDEF: HKEY* PHKEY TYPEDEF: HKEY* PHKEY
TYPEDEF: INT_PTR* PINT_PTR TYPEDEF: INT_PTR* PINT_PTR
TYPEDEF: INT32* PINT32 TYPEDEF: INT32* PINT32
TYPEDEF: INT64* PINT64 TYPEDEF: INT64* PINT64
TYPEDEF: PDWORD PLCID TYPEDEF: PDWORD PLCID
TYPEDEF: LONG* PLONG TYPEDEF: LONG* PLONG
TYPEDEF: LONGLONG* PLONGLONG TYPEDEF: LONGLONG* PLONGLONG
TYPEDEF: LONG_PTR* PLONG_PTR TYPEDEF: LONG_PTR* PLONG_PTR
TYPEDEF: LONG32* PLONG32 TYPEDEF: LONG32* PLONG32
TYPEDEF: LONG64* PLONG64 TYPEDEF: LONG64* PLONG64
TYPEDEF: SHORT* PSHORT TYPEDEF: SHORT* PSHORT
TYPEDEF: SIZE_T* PSIZE_T TYPEDEF: SIZE_T* PSIZE_T
TYPEDEF: SSIZE_T* PSSIZE_T TYPEDEF: SSIZE_T* PSSIZE_T
TYPEDEF: CHAR* PSTR TYPEDEF: CHAR* PSTR
TYPEDEF: TBYTE* PTBYTE TYPEDEF: TBYTE* PTBYTE
TYPEDEF: TCHAR* PTCHAR TYPEDEF: TCHAR* PTCHAR
TYPEDEF: UCHAR* PUCHAR TYPEDEF: UCHAR* PUCHAR
TYPEDEF: UHALF_PTR* PUHALF_PTR TYPEDEF: UHALF_PTR* PUHALF_PTR
TYPEDEF: UINT* PUINT TYPEDEF: UINT* PUINT
TYPEDEF: UINT_PTR* PUINT_PTR TYPEDEF: UINT_PTR* PUINT_PTR
TYPEDEF: UINT32* PUINT32 TYPEDEF: UINT32* PUINT32
TYPEDEF: UINT64* PUINT64 TYPEDEF: UINT64* PUINT64
TYPEDEF: ULONG* PULONG TYPEDEF: ULONG* PULONG
TYPEDEF: ULONGLONG* PULONGLONG TYPEDEF: ULONGLONG* PULONGLONG
TYPEDEF: ULONG_PTR* PULONG_PTR TYPEDEF: ULONG_PTR* PULONG_PTR
TYPEDEF: ULONG32* PULONG32 TYPEDEF: ULONG32* PULONG32
TYPEDEF: ULONG64* PULONG64 TYPEDEF: ULONG64* PULONG64
TYPEDEF: USHORT* PUSHORT TYPEDEF: USHORT* PUSHORT
TYPEDEF: WCHAR* PWCHAR TYPEDEF: WCHAR* PWCHAR
TYPEDEF: WORD* PWORD TYPEDEF: WORD* PWORD
TYPEDEF: WCHAR* PWSTR TYPEDEF: WCHAR* PWSTR
TYPEDEF: HANDLE SC_HANDLE TYPEDEF: HANDLE SC_HANDLE
TYPEDEF: LPVOID SC_LOCK TYPEDEF: LPVOID SC_LOCK
TYPEDEF: HANDLE SERVICE_STATUS_HANDLE TYPEDEF: HANDLE SERVICE_STATUS_HANDLE
TYPEDEF: ULONG_PTR SIZE_T TYPEDEF: ULONG_PTR SIZE_T
TYPEDEF: LONG_PTR SSIZE_T TYPEDEF: LONG_PTR SSIZE_T
TYPEDEF: LONGLONG USN TYPEDEF: LONGLONG USN
! TYPEDEF: __stdcall WINAPI ! TYPEDEF: __stdcall WINAPI
TYPEDEF: UINT_PTR WPARAM TYPEDEF: UINT_PTR WPARAM
TYPEDEF: RECT* LPRECT TYPEDEF: RECT* LPRECT
TYPEDEF: void* PWNDCLASS TYPEDEF: void* PWNDCLASS
TYPEDEF: void* PWNDCLASSEX TYPEDEF: void* PWNDCLASSEX
TYPEDEF: void* WNDPROC TYPEDEF: void* WNDPROC
! typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM); ! typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
BEGIN-STRUCT: WNDCLASS BEGIN-STRUCT: WNDCLASS
FIELD: UINT style FIELD: UINT style
FIELD: WNDPROC lpfnWndProc FIELD: WNDPROC lpfnWndProc
FIELD: int cbClsExtra FIELD: int cbClsExtra
FIELD: int cbWndExtra FIELD: int cbWndExtra
FIELD: HINSTANCE hInstance FIELD: HINSTANCE hInstance
FIELD: HICON hIcon FIELD: HICON hIcon
FIELD: HCURSOR hCursor FIELD: HCURSOR hCursor
FIELD: HBRUSH hbrBackground FIELD: HBRUSH hbrBackground
FIELD: LPCTSTR lpszMenuName FIELD: LPCTSTR lpszMenuName
FIELD: LPCTSTR lpszClassName FIELD: LPCTSTR lpszClassName
END-STRUCT END-STRUCT
BEGIN-STRUCT: WNDCLASSEX BEGIN-STRUCT: WNDCLASSEX
FIELD: UINT cbSize FIELD: UINT cbSize
FIELD: UINT style FIELD: UINT style
FIELD: WNDPROC lpfnWndProc FIELD: WNDPROC lpfnWndProc
FIELD: int cbClsExtra FIELD: int cbClsExtra
FIELD: int cbWndExtra FIELD: int cbWndExtra
FIELD: HINSTANCE hInstance FIELD: HINSTANCE hInstance
FIELD: HICON hIcon FIELD: HICON hIcon
FIELD: HCURSOR hCursor FIELD: HCURSOR hCursor
FIELD: HBRUSH hbrBackground FIELD: HBRUSH hbrBackground
FIELD: LPCTSTR lpszMenuName FIELD: LPCTSTR lpszMenuName
FIELD: LPCTSTR lpszClassName FIELD: LPCTSTR lpszClassName
FIELD: HICON hIconSm FIELD: HICON hIconSm
END-STRUCT END-STRUCT
BEGIN-STRUCT: RECT BEGIN-STRUCT: RECT
FIELD: LONG left FIELD: LONG left
FIELD: LONG top FIELD: LONG top
FIELD: LONG right FIELD: LONG right
FIELD: LONG bottom FIELD: LONG bottom
END-STRUCT END-STRUCT
BEGIN-STRUCT: PAINTSTRUCT BEGIN-STRUCT: PAINTSTRUCT
FIELD: HDC hdc FIELD: HDC hdc
FIELD: BOOL fErase FIELD: BOOL fErase
FIELD: RECT rcPaint FIELD: RECT rcPaint
FIELD: BOOL fRestore FIELD: BOOL fRestore
FIELD: BOOL fIncUpdate FIELD: BOOL fIncUpdate
FIELD: BYTE rgbReserved[32] FIELD: BYTE rgbReserved[32]
END-STRUCT END-STRUCT
TYPEDEF: PAINTSTRUCT* LPPAINTSTRUCT TYPEDEF: PAINTSTRUCT* LPPAINTSTRUCT
BEGIN-STRUCT: POINT BEGIN-STRUCT: POINT
FIELD: LONG x FIELD: LONG x
FIELD: LONG y FIELD: LONG y
END-STRUCT END-STRUCT
BEGIN-STRUCT: MSG BEGIN-STRUCT: MSG
FIELD: HWND hWnd FIELD: HWND hWnd
FIELD: UINT message FIELD: UINT message
FIELD: WPARAM wParam FIELD: WPARAM wParam
FIELD: LPARAM lParam FIELD: LPARAM lParam
FIELD: DWORD time FIELD: DWORD time
FIELD: POINT pt FIELD: POINT pt
END-STRUCT END-STRUCT
TYPEDEF: MSG* LPMSG TYPEDEF: MSG* LPMSG
BEGIN-STRUCT: PIXELFORMATDESCRIPTOR BEGIN-STRUCT: PIXELFORMATDESCRIPTOR
FIELD: WORD nSize FIELD: WORD nSize
FIELD: WORD nVersion FIELD: WORD nVersion
FIELD: DWORD dwFlags FIELD: DWORD dwFlags
FIELD: BYTE iPixelType FIELD: BYTE iPixelType
FIELD: BYTE cColorBits FIELD: BYTE cColorBits
FIELD: BYTE cRedBits FIELD: BYTE cRedBits
FIELD: BYTE cRedShift FIELD: BYTE cRedShift
FIELD: BYTE cGreenBits FIELD: BYTE cGreenBits
FIELD: BYTE cGreenShift FIELD: BYTE cGreenShift
FIELD: BYTE cBlueBits FIELD: BYTE cBlueBits
FIELD: BYTE cBlueShift FIELD: BYTE cBlueShift
FIELD: BYTE cAlphaBits FIELD: BYTE cAlphaBits
FIELD: BYTE cAlphaShift FIELD: BYTE cAlphaShift
FIELD: BYTE cAccumBits FIELD: BYTE cAccumBits
FIELD: BYTE cAccumRedBits FIELD: BYTE cAccumRedBits
FIELD: BYTE cAccumGreenBits FIELD: BYTE cAccumGreenBits
FIELD: BYTE cAccumBlueBits FIELD: BYTE cAccumBlueBits
FIELD: BYTE cAccumAlphaBits FIELD: BYTE cAccumAlphaBits
FIELD: BYTE cDepthBits FIELD: BYTE cDepthBits
FIELD: BYTE cStencilBits FIELD: BYTE cStencilBits
FIELD: BYTE cAuxBuffers FIELD: BYTE cAuxBuffers
FIELD: BYTE iLayerType FIELD: BYTE iLayerType
FIELD: BYTE bReserved FIELD: BYTE bReserved
FIELD: DWORD dwLayerMask FIELD: DWORD dwLayerMask
FIELD: DWORD dwVisibleMask FIELD: DWORD dwVisibleMask
FIELD: DWORD dwDamageMask FIELD: DWORD dwDamageMask
END-STRUCT END-STRUCT
BEGIN-STRUCT: RECT BEGIN-STRUCT: RECT
FIELD: LONG left FIELD: LONG left
FIELD: LONG top FIELD: LONG top
FIELD: LONG right FIELD: LONG right
FIELD: LONG bottom FIELD: LONG bottom
END-STRUCT END-STRUCT
TYPEDEF: RECT* PRECT TYPEDEF: RECT* PRECT
TYPEDEF: RECT* LPRECT TYPEDEF: RECT* LPRECT
TYPEDEF: PIXELFORMATDESCRIPTOR PFD TYPEDEF: PIXELFORMATDESCRIPTOR PFD
TYPEDEF: PFD* LPPFD TYPEDEF: PFD* LPPFD
TYPEDEF: HANDLE HGLRC TYPEDEF: HANDLE HGLRC
TYPEDEF: HANDLE HRGN TYPEDEF: HANDLE HRGN