]> gitweb.factorcode.org Git - factor.git/commitdiff
win32 restructuring
authorerg <erg@trifocus.net>
Tue, 1 Aug 2006 18:17:22 +0000 (18:17 +0000)
committererg <erg@trifocus.net>
Tue, 1 Aug 2006 18:17:22 +0000 (18:17 +0000)
17 files changed:
library/ui/windows/gdi32.factor [deleted file]
library/ui/windows/kernel32.factor [deleted file]
library/ui/windows/load.factor
library/ui/windows/opengl32.factor [deleted file]
library/ui/windows/types.factor [deleted file]
library/ui/windows/user32.factor [deleted file]
library/ui/windows/utils.factor [deleted file]
library/ui/windows/windows-messages.factor [deleted file]
library/windows/gdi32-constants.factor [new file with mode: 0644]
library/windows/gdi32.factor [new file with mode: 0644]
library/windows/kernel32.factor [new file with mode: 0644]
library/windows/load.factor [new file with mode: 0644]
library/windows/opengl32.factor [new file with mode: 0644]
library/windows/types.factor [new file with mode: 0644]
library/windows/user32.factor [new file with mode: 0644]
library/windows/utils.factor [new file with mode: 0644]
library/windows/windows-messages.factor [new file with mode: 0644]

diff --git a/library/ui/windows/gdi32.factor b/library/ui/windows/gdi32.factor
deleted file mode 100644 (file)
index 07b67a6..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-! Copyright (C) 2005, 2006 Doug Coleman.
-! See http://factor.sf.net/license.txt for BSD license.
-USING: alien kernel errors ;
-IN: win32-api
-
-LIBRARY: gdi32
-
-! Stock Logical Objects
-: WHITE_BRUSH         0 ; inline
-: LTGRAY_BRUSH        1 ; inline
-: GRAY_BRUSH          2 ; inline
-: DKGRAY_BRUSH        3 ; inline
-: BLACK_BRUSH         4 ; inline
-: NULL_BRUSH          5 ; inline
-: HOLLOW_BRUSH        NULL_BRUSH ; inline
-: WHITE_PEN           6 ; inline
-: BLACK_PEN           7 ; inline
-: NULL_PEN            8 ; inline
-: OEM_FIXED_FONT      10 ; inline
-: ANSI_FIXED_FONT     11 ; inline
-: ANSI_VAR_FONT       12 ; inline
-: SYSTEM_FONT         13 ; inline
-: DEVICE_DEFAULT_FONT 14 ; inline
-: DEFAULT_PALETTE     15 ; inline
-: SYSTEM_FIXED_FONT   16 ; inline
-: DEFAULT_GUI_FONT    17 ; inline
-: DC_BRUSH            18 ; inline
-: DC_PEN              19 ; inline
-
-FUNCTION: HGDIOBJ GetStockObject ( int fnObject ) ;
-FUNCTION: int ChoosePixelFormat ( HDC hDC, PFD* ppfd ) ;
-FUNCTION: BOOL SetPixelFormat ( HDC hDC, int iPixelFormat, PFD* ppfd ) ;
-
-FUNCTION: BOOL SwapBuffers ( HDC hDC ) ;
-
-
diff --git a/library/ui/windows/kernel32.factor b/library/ui/windows/kernel32.factor
deleted file mode 100644 (file)
index 523e184..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-! Copyright (C) 2005, 2006 Doug Coleman.
-! See http://factor.sf.net/license.txt for BSD license.
-USING: alien kernel errors ;
-IN: win32-api
-
-LIBRARY: kernel32
-
-! FUNCTION: MAKEINTRESOURCEA
-! FUNCTION: MAKEINTRESOURCEW
-
-! : MAKEINTRESOURCE \ MAKEINTRESOURCEW \ MAKEINTRESOURCEA unicode-exec ;
-! #define IS_INTRESOURCE(_r) (((ULONG_PTR)(_r) >> 16) == 0)
-! #define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i)))
-! #define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i)))
-
-
-! FUNCTION: DWORD FormatMessage(
-    ! DWORD dwFlags,
-    ! LPCVOID lpSource,
-    ! DWORD dwMessageId,
-    ! DWORD dwLanguageId,
-    ! LPTSTR lpBuffer,
-    ! DWORD nSize,
-    ! va_list* Arguments
-! ) ;
-
-
-! FUNCTION: HMODULE GetModuleHandleA ( LPCTSTR lpModulename ) ;
-! FUNCTION: HMODULE GetModuleHandleW ( LPCWSTR lpModulename ) ;
-
-FUNCTION: HMODULE GetModuleHandleA ( void* lpModulename ) ;
-FUNCTION: HMODULE GetModuleHandleW ( void* lpModulename ) ;
-
-: GetModuleHandle \ GetModuleHandleW \ GetModuleHandleA unicode-exec ;
-
-
-! FUNCTION: HMODULE GetModuleHandleEx (
-!    DWORD dwFlags,
-!    LPCTSTR lpModulename,
-!    HMODULE* phModule ) ;
-
-
-
-FUNCTION: DWORD GetLastError ( ) ;
-
-: (win32-error) ( id -- string )
-    "char*" f "error_message" [ "int" ] alien-invoke ;
-
-: win32-error ( -- )
-    GetLastError dup 0 = [ (win32-error) throw ] unless drop ;
-
-: GHND HEX: 40 ; inline
-: GMEM_FIXED 0 ; inline
-: GMEM_MOVEABLE 2 ; inline
-: GMEM_ZEROINIT HEX: 40 ; inline
-: GPTR HEX: 40 ; inline
-
-FUNCTION: HGLOBAL GlobalAlloc ( UINT uFlags, SIZE_T dwBytes ) ;
-FUNCTION: LPVOID GlobalLock ( HGLOBAL hMem ) ;
-! FUNCTION: char* GlobalLock ( HGLOBAL hMem ) ;
-FUNCTION: BOOL GlobalUnlock ( HGLOBAL hMem ) ;
-
-FUNCTION: DWORD SleepEx ( DWORD dwMilliSeconds, BOOL bAlertable ) ;
-
-
index 333a426be5bd33c2c6f751abac5450905340d0af..d35c8ac6ba85bea6a75bca2026a86ec17965e385 100644 (file)
@@ -1,27 +1,10 @@
 IN: scratchpad
-USING: alien compiler kernel namespaces parser sequences words ;
+USING: alien kernel namespaces parser sequences words ;
 
 {
-    { "gdi32"    "gdi32.dll"    "stdcall" }
-    { "user32"   "user32.dll"   "stdcall" }
-    { "kernel32" "kernel32.dll" "stdcall" }
-    { "winsock"  "ws2_32.dll"   "stdcall" }
-    { "mswsock"  "mswsock.dll"  "stdcall" }
-    { "libc"     "msvcrt.dll"   "cdecl"   }
-} [ first3 add-library ] each
-
-{ 
-    "windows-messages"
-    "types"
-    "gdi32"
-    "kernel32"
-    "user32"
-    "opengl32"
-    "utils"
     "ui"
     "clipboard"
+ } [ "/library/ui/windows/" swap ".factor" append3 run-resource ] each
 
-} [ "/library/ui/windows/" swap ".factor" append3 run-resource ] each
-    
 IN: kernel
 : default-shell "tty" ;
diff --git a/library/ui/windows/opengl32.factor b/library/ui/windows/opengl32.factor
deleted file mode 100644 (file)
index ecbfad5..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-! Copyright (C) 2005, 2006 Doug Coleman.
-! See http://factor.sf.net/license.txt for BSD license.
-USING: alien parser namespaces kernel syntax words math io prettyprint ;
-IN: win32-api
-
-! PIXELFORMATDESCRIPTOR flags
-: PFD_DOUBLEBUFFER            HEX: 00000001 ; inline
-: PFD_STEREO                  HEX: 00000002 ; inline
-: PFD_DRAW_TO_WINDOW          HEX: 00000004 ; inline
-: PFD_DRAW_TO_BITMAP          HEX: 00000008 ; inline
-: PFD_SUPPORT_GDI             HEX: 00000010 ; inline
-: PFD_SUPPORT_OPENGL          HEX: 00000020 ; inline
-: PFD_GENERIC_FORMAT          HEX: 00000040 ; inline
-: PFD_NEED_PALETTE            HEX: 00000080 ; inline
-: PFD_NEED_SYSTEM_PALETTE     HEX: 00000100 ; inline
-: PFD_SWAP_EXCHANGE           HEX: 00000200 ; inline
-: PFD_SWAP_COPY               HEX: 00000400 ; inline
-: PFD_SWAP_LAYER_BUFFERS      HEX: 00000800 ; inline
-: PFD_GENERIC_ACCELERATED     HEX: 00001000 ; inline
-: PFD_SUPPORT_DIRECTDRAW      HEX: 00002000 ; inline
-
-! PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only
-: PFD_DEPTH_DONTCARE          HEX: 20000000 ; inline
-: PFD_DOUBLEBUFFER_DONTCARE   HEX: 40000000 ; inline
-: PFD_STEREO_DONTCARE         HEX: 80000000 ; inline
-
-! pixel types
-: PFD_TYPE_RGBA        0 ; inline
-: PFD_TYPE_COLORINDEX  1 ; inline
-! layer types
-: PFD_MAIN_PLANE       0 ; inline
-: PFD_OVERLAY_PLANE    1 ; inline
-: PFD_UNDERLAY_PLANE   -1 ; inline
-
-: LPD_TYPE_RGBA        0 ; inline
-: LPD_TYPE_COLORINDEX  1 ; inline
-
-! wglSwapLayerBuffers flags
-: WGL_SWAP_MAIN_PLANE     HEX: 00000001 ; inline
-: WGL_SWAP_OVERLAY1       HEX: 00000002 ; inline
-: WGL_SWAP_OVERLAY2       HEX: 00000004 ; inline
-: WGL_SWAP_OVERLAY3       HEX: 00000008 ; inline
-: WGL_SWAP_OVERLAY4       HEX: 00000010 ; inline
-: WGL_SWAP_OVERLAY5       HEX: 00000020 ; inline
-: WGL_SWAP_OVERLAY6       HEX: 00000040 ; inline
-: WGL_SWAP_OVERLAY7       HEX: 00000080 ; inline
-: WGL_SWAP_OVERLAY8       HEX: 00000100 ; inline
-: WGL_SWAP_OVERLAY9       HEX: 00000200 ; inline
-: WGL_SWAP_OVERLAY10      HEX: 00000400 ; inline
-: WGL_SWAP_OVERLAY11      HEX: 00000800 ; inline
-: WGL_SWAP_OVERLAY12      HEX: 00001000 ; inline
-: WGL_SWAP_OVERLAY13      HEX: 00002000 ; inline
-: WGL_SWAP_OVERLAY14      HEX: 00004000 ; inline
-: WGL_SWAP_OVERLAY15      HEX: 00008000 ; inline
-: WGL_SWAP_UNDERLAY1      HEX: 00010000 ; inline
-: WGL_SWAP_UNDERLAY2      HEX: 00020000 ; inline
-: WGL_SWAP_UNDERLAY3      HEX: 00040000 ; inline
-: WGL_SWAP_UNDERLAY4      HEX: 00080000 ; inline
-: WGL_SWAP_UNDERLAY5      HEX: 00100000 ; inline
-: WGL_SWAP_UNDERLAY6      HEX: 00200000 ; inline
-: WGL_SWAP_UNDERLAY7      HEX: 00400000 ; inline
-: WGL_SWAP_UNDERLAY8      HEX: 00800000 ; inline
-: WGL_SWAP_UNDERLAY9      HEX: 01000000 ; inline
-: WGL_SWAP_UNDERLAY10     HEX: 02000000 ; inline
-: WGL_SWAP_UNDERLAY11     HEX: 04000000 ; inline
-: WGL_SWAP_UNDERLAY12     HEX: 08000000 ; inline
-: WGL_SWAP_UNDERLAY13     HEX: 10000000 ; inline
-: WGL_SWAP_UNDERLAY14     HEX: 20000000 ; inline
-: WGL_SWAP_UNDERLAY15     HEX: 40000000 ; inline
-
-
-
-: pfd-dwFlags
-    PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL bitor PFD_DOUBLEBUFFER bitor ;
-
-! TODO: compare to http://www.nullterminator.net/opengl32.html
-: make-pfd ( bits -- pfd )
-    "PIXELFORMATDESCRIPTOR" <c-object>
-    "PIXELFORMATDESCRIPTOR" c-size over set-PIXELFORMATDESCRIPTOR-nSize
-    1 over set-PIXELFORMATDESCRIPTOR-nVersion
-    pfd-dwFlags over set-PIXELFORMATDESCRIPTOR-dwFlags
-    PFD_TYPE_RGBA over set-PIXELFORMATDESCRIPTOR-iPixelType
-    [ set-PIXELFORMATDESCRIPTOR-cColorBits ] keep
-    16 over set-PIXELFORMATDESCRIPTOR-cDepthBits
-    PFD_MAIN_PLANE over set-PIXELFORMATDESCRIPTOR-dwLayerMask ;
-
-
-LIBRARY: gl
-
-
-! FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC ) ;
-! FUNCTION: HDC ResetDC ( HDC hdc, DEVMODE* lpInitData ) ;
-! FUNCTION: BOOL RestoreDC ( HDC hdc, int nSavedDC ) ;
-! FUNCTION: int SaveDC( HDC hDC ) ;
-! FUNCTION: HGDIOBJ SelectObject ( HDC hDC, HGDIOBJ hgdiobj ) ;
-
-FUNCTION: HGLRC wglCreateContext ( HDC hDC ) ;
-FUNCTION: BOOL wglDeleteContext ( HGLRC hRC ) ;
-FUNCTION: BOOL wglMakeCurrent ( HDC hDC, HGLRC hglrc ) ;
-
-
diff --git a/library/ui/windows/types.factor b/library/ui/windows/types.factor
deleted file mode 100644 (file)
index 9887481..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-! Copyright (C) 2005, 2006 Doug Coleman.
-! See http://factor.sf.net/license.txt for BSD license.
-USING: alien namespaces kernel words ;
-IN: win32-api
-
-! http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_data_types.asp
-
-SYMBOL: unicode f unicode set
-: unicode-exec ( unicode-func ascii-func -- func )
-       unicode get [
-               drop execute
-       ] [
-               nip execute
-       ] if ; inline
-
-: unicode? unicode get ; inline
-
-: win64? f ;
-
-! win64
-! char uchar short ushort int uint long ulong longlong ulonglong
-! 1    1     2     2      *   *    ?
-! win32
-! char uchar short ushort int uint long ulong longlong ulonglong
-! 1    1     2     2      *   *    4    4     8        8
-
-
-TYPEDEF: char                CHAR
-TYPEDEF: uchar               UCHAR
-TYPEDEF: uchar               BYTE
-
-TYPEDEF: short               wchar_t
-TYPEDEF: wchar_t             WCHAR
-
-TYPEDEF: short               SHORT
-TYPEDEF: ushort              USHORT
-
-TYPEDEF: ushort              WORD
-TYPEDEF: ulong               DWORD
-
-TYPEDEF: int                 INT
-TYPEDEF: uint                UINT
-
-TYPEDEF: int                 BOOL
-
-TYPEDEF: int*                PINT
-TYPEDEF: int*                LPINT
-TYPEDEF: int                 HFILE
-
-TYPEDEF: long                LONG
-TYPEDEF: long*               LPLONG
-TYPEDEF: long                LONG_PTR
-TYPEDEF: long*               PLONG_PTR
-
-TYPEDEF: uint                ULONG
-TYPEDEF: ulong               ULONG_PTR
-TYPEDEF: ulong*              PULONG_PTR
-
-TYPEDEF: void                VOID
-TYPEDEF: void*               PVOID
-TYPEDEF: void*               LPVOID
-TYPEDEF: void*               LPCVOID
-
-TYPEDEF: float               FLOAT
-! The following is commented out for two reasons.
-! 1) all of the code in both branches will be run because TYPEDEF: is a 
-!    parsing word
-! 2) we are waiting on gcc to be ported to win64/msys
-! 3) the TYPEDEF:s are probably wrong.
-
-! win64? [
-    ! ! TODO: check these!
-        ! TYPEDEF: INT32       HALF_PTR
-        ! TYPEDEF: UINT32      UHALF_PTR
-        ! TYPEDEF: long        INT_PTR
-        ! TYPEDEF: ulong       UINT_PTR
-        ! TYPEDEF: longlong    LONG_PTR ! 64bit
-        ! TYPEDEF: ulonglong   ULONG_PTR ! 64bit
-        ! TYPEDEF: int         INT32
-        ! TYPEDEF: uint        UINT32
-        ! TYPEDEF: uint        DWORD32
-        ! TYPEDEF: uint        ULONG32
-        ! TYPEDEF: ulong       ULONG64
-        ! TYPEDEF: int*        POINTER_32
-        ! TYPEDEF: long*       POINTER_64
-        ! TYPEDEF: longlong    INT64
-        ! TYPEDEF: ulonglong   UINT64
-        ! TYPEDEF: longlong    LONGLONG ! 64bit
-        ! TYPEDEF: ulonglong   ULONGLONG
-        ! TYPEDEF: longlong    LONG64
-        ! TYPEDEF: ulonglong   DWORD64
-    ! ] [
-! Correct for win32
-        TYPEDEF: short       HALF_PTR
-        TYPEDEF: ushort      UHALF_PTR
-        TYPEDEF: int         INT_PTR
-        TYPEDEF: uint        UINT_PTR
-
-        TYPEDEF: int         LONG_PTR
-        TYPEDEF: ulong       ULONG_PTR
-
-        TYPEDEF: int         INT32
-        TYPEDEF: uint        UINT32
-        TYPEDEF: uint        DWORD32
-        TYPEDEF: ulong       ULONG32
-        TYPEDEF: ulonglong   ULONG64
-        TYPEDEF: long*       POINTER_32
-        TYPEDEF: longlong*   POINTER_64
-        TYPEDEF: longlong    INT64
-        TYPEDEF: ulonglong   UINT64
-        TYPEDEF: longlong    LONGLONG
-        TYPEDEF: ulonglong   ULONGLONG
-        TYPEDEF: longlong    LONG64
-        TYPEDEF: ulonglong   DWORD64
-! ] if
-
-! unicode? [
-        ! TYPEDEF: WCHAR       TBYTE
-        ! TYPEDEF: WCHAR       TCHAR
-    ! ] [
-        TYPEDEF: uchar       TBYTE
-        TYPEDEF: char        TCHAR
-! ] if
-
-! Below down is based on the above definitions
-! There should be no 32/64bit issues
-
-TYPEDEF: WORD                ATOM
-TYPEDEF: BYTE                BOOLEAN
-! TYPEDEF: __stdcall           CALLBACK
-TYPEDEF: DWORD               COLORREF
-TYPEDEF: ULONGLONG           DWORDLONG
-TYPEDEF: ULONG_PTR           DWORD_PTR
-TYPEDEF: PVOID               HANDLE
-TYPEDEF: HANDLE              HACCEL
-TYPEDEF: HANDLE              HBITMAP
-TYPEDEF: HANDLE              HBRUSH
-TYPEDEF: HANDLE              HCOLORSPACE
-TYPEDEF: HANDLE              HCONV
-TYPEDEF: HANDLE              HCONVLIST
-TYPEDEF: HANDLE              HICON
-TYPEDEF: HICON               HCURSOR
-TYPEDEF: HANDLE              HDC
-TYPEDEF: HANDLE              HDDEDATA
-TYPEDEF: HANDLE              HDESK
-TYPEDEF: HANDLE              HDROP
-TYPEDEF: HANDLE              HDWP
-TYPEDEF: HANDLE              HENMETAFILE
-TYPEDEF: HANDLE              HFONT
-TYPEDEF: HANDLE              HGDIOBJ
-TYPEDEF: HANDLE              HGLOBAL
-TYPEDEF: HANDLE              HHOOK
-TYPEDEF: HANDLE              HINSTANCE
-TYPEDEF: HANDLE              HKEY
-TYPEDEF: HANDLE              HKL
-TYPEDEF: HANDLE              HLOCAL
-TYPEDEF: HANDLE              HMENU
-TYPEDEF: HANDLE              HMETAFILE
-TYPEDEF: HINSTANCE           HMODULE
-TYPEDEF: HANDLE              HMONITOR
-TYPEDEF: HANDLE              HPALETTE
-TYPEDEF: HANDLE              HPEN
-TYPEDEF: LONG                HRESULT
-TYPEDEF: HANDLE              HRGN
-TYPEDEF: HANDLE              HRSRC
-TYPEDEF: HANDLE              HSZ
-TYPEDEF: HANDLE              WINSTA   ! MS docs say  typedef HANDLE WINSTA ;
-TYPEDEF: HANDLE              HWINSTA  ! typo??
-TYPEDEF: HANDLE              HWND
-TYPEDEF: WORD                LANGID
-TYPEDEF: DWORD               LCID
-TYPEDEF: DWORD               LCTYPE
-TYPEDEF: DWORD               LGRPID
-TYPEDEF: LONG_PTR            LPARAM
-TYPEDEF: BOOL*               LPBOOL
-TYPEDEF: BYTE*               LPBYTE
-TYPEDEF: DWORD*              LPCOLORREF
-! TYPEDEF: CHAR*               LPCSTR
-TYPEDEF: VOID*               LPCSTR
-TYPEDEF: WCHAR*              LPCWSTR
-TYPEDEF: WCHAR*              LPWSTR
-unicode? [
-        TYPEDEF: LPCWSTR     LPCTSTR
-        TYPEDEF: LPWSTR      LPTSTR
-        TYPEDEF: LPCWSTR     PCTSTR
-        TYPEDEF: LPWSTR      PTSTR
-    ] [
-        TYPEDEF: LPCSTR      LPCTSTR
-        TYPEDEF: LPSTR       LPTSTR
-        TYPEDEF: LPCSTR      PCTSTR
-        TYPEDEF: LPSTR       PTSTR
-] if
-TYPEDEF: DWORD*              LPDWORD
-TYPEDEF: HANDLE*             LPHANDLE
-TYPEDEF: CHAR*               LPSTR
-TYPEDEF: WORD*               LPWORD
-TYPEDEF: WCHAR*              LPWSTR
-TYPEDEF: LONG_PTR            LRESULT
-TYPEDEF: BOOL*               PBOOL
-TYPEDEF: BOOLEAN*            PBOOLEAN
-TYPEDEF: BYTE*               PBYTE
-TYPEDEF: CHAR*               PCHAR
-TYPEDEF: CHAR*               PCSTR
-TYPEDEF: WCHAR*              PCWSTR
-TYPEDEF: DWORD*              PDWORD
-TYPEDEF: DWORDLONG*          PDWORDLONG
-TYPEDEF: DWORD_PTR*          PDWORD_PTR
-TYPEDEF: DWORD32*            PDWORD32
-TYPEDEF: DWORD64*            PDWORD64
-TYPEDEF: FLOAT*              PFLOAT
-TYPEDEF: HALF_PTR*           PHALF_PTR
-TYPEDEF: HANDLE*             PHANDLE
-TYPEDEF: HKEY*               PHKEY
-TYPEDEF: INT_PTR*            PINT_PTR
-TYPEDEF: INT32*              PINT32
-TYPEDEF: INT64*              PINT64
-TYPEDEF: PDWORD              PLCID
-TYPEDEF: LONG*               PLONG
-TYPEDEF: LONGLONG*           PLONGLONG
-TYPEDEF: LONG_PTR*           PLONG_PTR
-TYPEDEF: LONG32*             PLONG32
-TYPEDEF: LONG64*             PLONG64
-TYPEDEF: SHORT*              PSHORT
-TYPEDEF: SIZE_T*             PSIZE_T
-TYPEDEF: SSIZE_T*            PSSIZE_T
-TYPEDEF: CHAR*               PSTR
-TYPEDEF: TBYTE*              PTBYTE
-TYPEDEF: TCHAR*              PTCHAR
-TYPEDEF: UCHAR*              PUCHAR
-TYPEDEF: UHALF_PTR*          PUHALF_PTR
-TYPEDEF: UINT*               PUINT
-TYPEDEF: UINT_PTR*           PUINT_PTR
-TYPEDEF: UINT32*             PUINT32
-TYPEDEF: UINT64*             PUINT64
-TYPEDEF: ULONG*              PULONG
-TYPEDEF: ULONGLONG*          PULONGLONG
-TYPEDEF: ULONG_PTR*          PULONG_PTR
-TYPEDEF: ULONG32*            PULONG32
-TYPEDEF: ULONG64*            PULONG64
-TYPEDEF: USHORT*             PUSHORT
-TYPEDEF: WCHAR*              PWCHAR
-TYPEDEF: WORD*               PWORD
-TYPEDEF: WCHAR*              PWSTR
-TYPEDEF: HANDLE              SC_HANDLE
-TYPEDEF: LPVOID              SC_LOCK
-TYPEDEF: HANDLE              SERVICE_STATUS_HANDLE
-TYPEDEF: ULONG_PTR           SIZE_T
-TYPEDEF: LONG_PTR            SSIZE_T
-TYPEDEF: LONGLONG            USN
-! TYPEDEF: __stdcall           WINAPI
-TYPEDEF: UINT_PTR            WPARAM
-
-
-
-
-TYPEDEF: RECT* LPRECT
-TYPEDEF: void* PWNDCLASS
-TYPEDEF: void* PWNDCLASSEX
-
-TYPEDEF: void* WNDPROC
-
-! typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
-
-BEGIN-STRUCT: WNDCLASS
-    FIELD: UINT style
-    FIELD: WNDPROC lpfnWndProc
-    FIELD: int cbClsExtra
-    FIELD: int cbWndExtra
-    FIELD: HINSTANCE hInstance
-    FIELD: HICON hIcon
-    FIELD: HCURSOR hCursor
-    FIELD: HBRUSH hbrBackground
-    FIELD: LPCTSTR lpszMenuName
-    FIELD: LPCTSTR lpszClassName
-END-STRUCT
-
-BEGIN-STRUCT: WNDCLASSEX
-    FIELD: UINT cbSize
-    FIELD: UINT style
-    FIELD: WNDPROC lpfnWndProc
-    FIELD: int cbClsExtra
-    FIELD: int cbWndExtra
-    FIELD: HINSTANCE hInstance
-    FIELD: HICON hIcon
-    FIELD: HCURSOR hCursor
-    FIELD: HBRUSH hbrBackground
-    FIELD: LPCTSTR lpszMenuName
-    FIELD: LPCTSTR lpszClassName
-    FIELD: HICON hIconSm
-END-STRUCT
-
-BEGIN-STRUCT: RECT
-    FIELD: LONG left
-    FIELD: LONG top
-    FIELD: LONG right
-    FIELD: LONG bottom
-END-STRUCT
-
-BEGIN-STRUCT: PAINTSTRUCT
-    FIELD: HDC  hdc
-    FIELD: BOOL fErase
-    FIELD: RECT rcPaint
-    FIELD: BOOL fRestore
-    FIELD: BOOL fIncUpdate
-    FIELD: BYTE rgbReserved[32]
-END-STRUCT
-
-TYPEDEF: PAINTSTRUCT* LPPAINTSTRUCT
-
-BEGIN-STRUCT: POINT
-    FIELD: LONG x
-    FIELD: LONG y
-END-STRUCT 
-
-BEGIN-STRUCT: MSG
-    FIELD: HWND        hWnd
-    FIELD: UINT        message
-    FIELD: WPARAM      wParam
-    FIELD: LPARAM      lParam
-    FIELD: DWORD       time
-    FIELD: POINT       pt
-END-STRUCT
-TYPEDEF: MSG*                LPMSG
-
-BEGIN-STRUCT: PIXELFORMATDESCRIPTOR
-  FIELD: WORD  nSize
-  FIELD: WORD  nVersion
-  FIELD: DWORD dwFlags 
-  FIELD: BYTE  iPixelType
-  FIELD: BYTE  cColorBits
-  FIELD: BYTE  cRedBits
-  FIELD: BYTE  cRedShift
-  FIELD: BYTE  cGreenBits
-  FIELD: BYTE  cGreenShift
-  FIELD: BYTE  cBlueBits
-  FIELD: BYTE  cBlueShift
-  FIELD: BYTE  cAlphaBits
-  FIELD: BYTE  cAlphaShift
-  FIELD: BYTE  cAccumBits
-  FIELD: BYTE  cAccumRedBits
-  FIELD: BYTE  cAccumGreenBits
-  FIELD: BYTE  cAccumBlueBits
-  FIELD: BYTE  cAccumAlphaBits
-  FIELD: BYTE  cDepthBits
-  FIELD: BYTE  cStencilBits
-  FIELD: BYTE  cAuxBuffers
-  FIELD: BYTE  iLayerType
-  FIELD: BYTE  bReserved
-  FIELD: DWORD dwLayerMask
-  FIELD: DWORD dwVisibleMask
-  FIELD: DWORD dwDamageMask
-END-STRUCT
-
-BEGIN-STRUCT: RECT
-    FIELD: LONG left
-    FIELD: LONG top
-    FIELD: LONG right
-    FIELD: LONG bottom
-END-STRUCT
-
-TYPEDEF: RECT* PRECT
-TYPEDEF: RECT* LPRECT
-TYPEDEF: PIXELFORMATDESCRIPTOR PFD
-TYPEDEF: PFD* LPPFD
-TYPEDEF: HANDLE HGLRC
-TYPEDEF: HANDLE HRGN
diff --git a/library/ui/windows/user32.factor b/library/ui/windows/user32.factor
deleted file mode 100644 (file)
index 4e60166..0000000
+++ /dev/null
@@ -1,1374 +0,0 @@
-! Copyright (C) 2005, 2006 Doug Coleman.
-! See http://factor.sf.net/license.txt for BSD license.
-USING: alien parser namespaces kernel syntax words math io prettyprint ;
-IN: win32-api
-
-
-TYPEDEF: void* MSGBOXPARAMSA
-TYPEDEF: void* MSGBOXPARAMSW
-
-
-! HKL for ActivateKeyboardLayout
-: HKL_PREV 0 ;
-: HKL_NEXT 1 ;
-
-: CW_USEDEFAULT HEX: 80000000 ;
-
-: WS_OVERLAPPED       HEX: 00000000 ;
-: WS_POPUP            HEX: 80000000 ;
-: WS_CHILD            HEX: 40000000 ;
-: WS_MINIMIZE         HEX: 20000000 ;
-: WS_VISIBLE          HEX: 10000000 ;
-: WS_DISABLED         HEX: 08000000 ;
-: WS_CLIPSIBLINGS     HEX: 04000000 ;
-: WS_CLIPCHILDREN     HEX: 02000000 ;
-: WS_MAXIMIZE         HEX: 01000000 ;
-: WS_CAPTION          HEX: 00C00000 ; !    /* WS_BORDER | WS_DLGFRAME  */
-: WS_BORDER           HEX: 00800000 ;
-: WS_DLGFRAME         HEX: 00400000 ;
-: WS_VSCROLL          HEX: 00200000 ;
-: WS_HSCROLL          HEX: 00100000 ;
-: WS_SYSMENU          HEX: 00080000 ;
-: WS_THICKFRAME       HEX: 00040000 ;
-: WS_GROUP            HEX: 00020000 ;
-: WS_TABSTOP          HEX: 00010000 ;
-: WS_MINIMIZEBOX      HEX: 00020000 ;
-: WS_MAXIMIZEBOX      HEX: 00010000 ;
-
-! Common window styles
-: WS_OVERLAPPEDWINDOW WS_OVERLAPPED WS_CAPTION WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX bitor bitor bitor bitor bitor ;
-
-: WS_POPUPWINDOW      WS_POPUP WS_BORDER WS_SYSMENU bitor bitor ;
-
-: WS_CHILDWINDOW      WS_CHILD ;
-
-: WS_TILED            WS_OVERLAPPED ;
-: WS_ICONIC           WS_MINIMIZE ;
-: WS_SIZEBOX          WS_THICKFRAME ;
-: WS_TILEDWINDOW      WS_OVERLAPPEDWINDOW ;
-
-
-
-! Extended window styles
-
-: WS_EX_DLGMODALFRAME     HEX: 00000001 ; inline
-: WS_EX_NOPARENTNOTIFY    HEX: 00000004 ; inline
-: WS_EX_TOPMOST           HEX: 00000008 ; inline
-: WS_EX_ACCEPTFILES       HEX: 00000010 ; inline
-: WS_EX_TRANSPARENT       HEX: 00000020 ; inline
-: WS_EX_MDICHILD          HEX: 00000040 ; inline
-: WS_EX_TOOLWINDOW        HEX: 00000080 ; inline
-: WS_EX_WINDOWEDGE        HEX: 00000100 ; inline
-: WS_EX_CLIENTEDGE        HEX: 00000200 ; inline
-: WS_EX_CONTEXTHELP       HEX: 00000400 ; inline
-
-: WS_EX_RIGHT             HEX: 00001000 ; inline
-: WS_EX_LEFT              HEX: 00000000 ; inline
-: WS_EX_RTLREADING        HEX: 00002000 ; inline
-: WS_EX_LTRREADING        HEX: 00000000 ; inline
-: WS_EX_LEFTSCROLLBAR     HEX: 00004000 ; inline
-: WS_EX_RIGHTSCROLLBAR    HEX: 00000000 ; inline
-: WS_EX_CONTROLPARENT     HEX: 00010000 ; inline
-: WS_EX_STATICEDGE        HEX: 00020000 ; inline
-: WS_EX_APPWINDOW         HEX: 00040000 ; inline
-: WS_EX_OVERLAPPEDWINDOW WS_EX_WINDOWEDGE WS_EX_CLIENTEDGE bitor ; inline
-: WS_EX_PALETTEWINDOW
-    WS_EX_WINDOWEDGE WS_EX_TOOLWINDOW bitor WS_EX_TOPMOST bitor ; inline
-
-
-: CS_VREDRAW          HEX: 0001 ;
-: CS_HREDRAW          HEX: 0002 ;
-: CS_DBLCLKS          HEX: 0008 ;
-: CS_OWNDC            HEX: 0020 ;
-: CS_CLASSDC          HEX: 0040 ;
-: CS_PARENTDC         HEX: 0080 ;
-: CS_NOCLOSE          HEX: 0200 ;
-: CS_SAVEBITS         HEX: 0800 ;
-: CS_BYTEALIGNCLIENT  HEX: 1000 ;
-: CS_BYTEALIGNWINDOW  HEX: 2000 ;
-: CS_GLOBALCLASS      HEX: 4000 ;
-
-: COLOR_SCROLLBAR         0 ;
-: COLOR_BACKGROUND        1 ;
-: COLOR_ACTIVECAPTION     2 ;
-: COLOR_INACTIVECAPTION   3 ;
-: COLOR_MENU              4 ;
-: COLOR_WINDOW            5 ;
-: COLOR_WINDOWFRAME       6 ;
-: COLOR_MENUTEXT          7 ;
-: COLOR_WINDOWTEXT        8 ;
-: COLOR_CAPTIONTEXT       9 ;
-: COLOR_ACTIVEBORDER      10 ;
-: COLOR_INACTIVEBORDER    11 ;
-: COLOR_APPWORKSPACE      12 ;
-: COLOR_HIGHLIGHT         13 ;
-: COLOR_HIGHLIGHTTEXT     14 ;
-: COLOR_BTNFACE           15 ;
-: COLOR_BTNSHADOW         16 ;
-: COLOR_GRAYTEXT          17 ;
-: COLOR_BTNTEXT           18 ;
-: COLOR_INACTIVECAPTIONTEXT 19 ;
-: COLOR_BTNHIGHLIGHT      20 ;
-
-: IDI_APPLICATION     32512 ;
-: IDI_HAND            32513 ;
-: IDI_QUESTION        32514 ;
-: IDI_EXCLAMATION     32515 ;
-: IDI_ASTERISK        32516 ;
-: IDI_WINLOGO         32517 ;
-
-! ShowWindow() Commands
-: SW_HIDE             0 ;
-: SW_SHOWNORMAL       1 ;
-: SW_NORMAL           1 ;
-: SW_SHOWMINIMIZED    2 ;
-: SW_SHOWMAXIMIZED    3 ;
-: SW_MAXIMIZE         3 ;
-: SW_SHOWNOACTIVATE   4 ;
-: SW_SHOW             5 ;
-: SW_MINIMIZE         6 ;
-: SW_SHOWMINNOACTIVE  7 ;
-: SW_SHOWNA           8 ;
-: SW_RESTORE          9 ;
-: SW_SHOWDEFAULT      10 ;
-: SW_FORCEMINIMIZE    11 ;
-: SW_MAX              11 ;
-
-! PeekMessage
-: PM_NOREMOVE   0 ;
-: PM_REMOVE     1 ;
-: PM_NOYIELD    2 ;
-! : PM_QS_INPUT         (QS_INPUT << 16) ;
-! : PM_QS_POSTMESSAGE   ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16) ;
-! : PM_QS_PAINT         (QS_PAINT << 16) ;
-! : PM_QS_SENDMESSAGE   (QS_SENDMESSAGE << 16) ;
-
-
-! 
-! Standard Cursor IDs
-!
-: IDC_ARROW           32512 ;
-: IDC_IBEAM           32513 ;
-: IDC_WAIT            32514 ;
-: IDC_CROSS           32515 ;
-: IDC_UPARROW         32516 ;
-: IDC_SIZE            32640 ; ! OBSOLETE: use IDC_SIZEALL
-: IDC_ICON            32641 ; ! OBSOLETE: use IDC_ARROW
-: IDC_SIZENWSE        32642 ;
-: IDC_SIZENESW        32643 ;
-: IDC_SIZEWE          32644 ;
-: IDC_SIZENS          32645 ;
-: IDC_SIZEALL         32646 ;
-: IDC_NO              32648 ; ! not in win3.1
-: IDC_HAND            32649 ;
-: IDC_APPSTARTING     32650 ; ! not in win3.1
-: IDC_HELP            32651 ;
-
-
-
-
-
-! Predefined Clipboard Formats
-: CF_TEXT             1 ; inline
-: CF_BITMAP           2 ; inline
-: CF_METAFILEPICT     3 ; inline
-: CF_SYLK             4 ; inline
-: CF_DIF              5 ; inline
-: CF_TIFF             6 ; inline
-: CF_OEMTEXT          7 ; inline
-: CF_DIB              8 ; inline
-: CF_PALETTE          9 ; inline
-: CF_PENDATA          10 ; inline
-: CF_RIFF             11 ; inline
-: CF_WAVE             12 ; inline
-: CF_UNICODETEXT      13 ; inline
-: CF_ENHMETAFILE      14 ; inline
-: CF_HDROP            15 ; inline
-: CF_LOCALE           16 ; inline
-: CF_DIBV5            17 ; inline
-: CF_MAX              18 ; inline
-
-: CF_OWNERDISPLAY HEX: 0080 ; inline
-: CF_DSPTEXT HEX: 0081 ; inline
-: CF_DSPBITMAP HEX: 0082 ; inline
-: CF_DSPMETAFILEPICT HEX: 0083 ; inline
-: CF_DSPENHMETAFILE HEX: 008E ; inline
-
-! "Private" formats don't get GlobalFree()'d
-: CF_PRIVATEFIRST HEX: 200 ; inline
-: CF_PRIVATELAST HEX: 2FF ; inline
-
-
-
-
-
-! "GDIOBJ" formats do get DeleteObject()'d
-: CF_GDIOBJFIRST HEX: 300 ; inline
-: CF_GDIOBJLAST HEX: 3FF ; inline
-
-
-: WM_NULL                         0 ; inline
-: WM_CREATE                       1 ; inline
-: WM_DESTROY                      2 ; inline
-: WM_MOVE                         3 ; inline
-: WM_SIZE                         5 ; inline
-: WM_ACTIVATE                     6 ; inline
-
-
-! Virtual Keys, Standard Set
-: VK_LBUTTON        HEX: 01 ; inline
-: VK_RBUTTON        HEX: 02 ; inline
-: VK_CANCEL         HEX: 03 ; inline
-: VK_MBUTTON        HEX: 04 ; inline  ! NOT contiguous with L & RBUTTON
-: VK_XBUTTON1       HEX: 05 ; inline  ! NOT contiguous with L & RBUTTON
-: VK_XBUTTON2       HEX: 06 ; inline  ! NOT contiguous with L & RBUTTON
-! 0x07 : unassigned
-: VK_BACK           HEX: 08 ; inline
-: VK_TAB            HEX: 09 ; inline
-! 0x0A - 0x0B : reserved
-
-: VK_CLEAR          HEX: 0C ; inline
-: VK_RETURN         HEX: 0D ; inline
-
-: VK_SHIFT          HEX: 10 ; inline
-: VK_CONTROL        HEX: 11 ; inline
-: VK_MENU           HEX: 12 ; inline
-: VK_PAUSE          HEX: 13 ; inline
-: VK_CAPITAL        HEX: 14 ; inline
-
-: VK_KANA           HEX: 15 ; inline
-: VK_HANGEUL        HEX: 15 ; inline ! old name - here for compatibility
-: VK_HANGUL         HEX: 15 ; inline
-: VK_JUNJA          HEX: 17 ; inline
-: VK_FINAL          HEX: 18 ; inline
-: VK_HANJA          HEX: 19 ; inline
-: VK_KANJI          HEX: 19 ; inline
-
-: VK_ESCAPE         HEX: 1B ; inline
-
-: VK_CONVERT        HEX: 1C ; inline
-: VK_NONCONVERT     HEX: 1D ; inline
-: VK_ACCEPT         HEX: 1E ; inline
-: VK_MODECHANGE     HEX: 1F ; inline
-
-: VK_SPACE          HEX: 20 ; inline
-: VK_PRIOR          HEX: 21 ; inline
-: VK_NEXT           HEX: 22 ; inline
-: VK_END            HEX: 23 ; inline
-: VK_HOME           HEX: 24 ; inline
-: VK_LEFT           HEX: 25 ; inline
-: VK_UP             HEX: 26 ; inline
-: VK_RIGHT          HEX: 27 ; inline
-: VK_DOWN           HEX: 28 ; inline
-: VK_SELECT         HEX: 29 ; inline
-: VK_PRINT          HEX: 2A ; inline
-: VK_EXECUTE        HEX: 2B ; inline
-: VK_SNAPSHOT       HEX: 2C ; inline
-: VK_INSERT         HEX: 2D ; inline
-: VK_DELETE         HEX: 2E ; inline
-: VK_HELP           HEX: 2F ; inline
-
-! VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
-! 0x40 : unassigned
-! VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
-
-: VK_LWIN           HEX: 5B ; inline
-: VK_RWIN           HEX: 5C ; inline
-: VK_APPS           HEX: 5D ; inline
-
-! 0x5E : reserved
-
-: VK_SLEEP          HEX: 5F ; inline
-
-: VK_NUMPAD0        HEX: 60 ; inline
-: VK_NUMPAD1        HEX: 61 ; inline
-: VK_NUMPAD2        HEX: 62 ; inline
-: VK_NUMPAD3        HEX: 63 ; inline
-: VK_NUMPAD4        HEX: 64 ; inline
-: VK_NUMPAD5        HEX: 65 ; inline
-: VK_NUMPAD6        HEX: 66 ; inline
-: VK_NUMPAD7        HEX: 67 ; inline
-: VK_NUMPAD8        HEX: 68 ; inline
-: VK_NUMPAD9        HEX: 69 ; inline
-: VK_MULTIPLY       HEX: 6A ; inline
-: VK_ADD            HEX: 6B ; inline
-: VK_SEPARATOR      HEX: 6C ; inline
-: VK_SUBTRACT       HEX: 6D ; inline
-: VK_DECIMAL        HEX: 6E ; inline
-: VK_DIVIDE         HEX: 6F ; inline
-: VK_F1             HEX: 70 ; inline
-: VK_F2             HEX: 71 ; inline
-: VK_F3             HEX: 72 ; inline
-: VK_F4             HEX: 73 ; inline
-: VK_F5             HEX: 74 ; inline
-: VK_F6             HEX: 75 ; inline
-: VK_F7             HEX: 76 ; inline
-: VK_F8             HEX: 77 ; inline
-: VK_F9             HEX: 78 ; inline
-: VK_F10            HEX: 79 ; inline
-: VK_F11            HEX: 7A ; inline
-: VK_F12            HEX: 7B ; inline
-: VK_F13            HEX: 7C ; inline
-: VK_F14            HEX: 7D ; inline
-: VK_F15            HEX: 7E ; inline
-: VK_F16            HEX: 7F ; inline
-: VK_F17            HEX: 80 ; inline
-: VK_F18            HEX: 81 ; inline
-: VK_F19            HEX: 82 ; inline
-: VK_F20            HEX: 83 ; inline
-: VK_F21            HEX: 84 ; inline
-: VK_F22            HEX: 85 ; inline
-: VK_F23            HEX: 86 ; inline
-: VK_F24            HEX: 87 ; inline
-
-! 0x88 - 0x8F : unassigned
-
-: VK_NUMLOCK        HEX: 90 ; inline
-: VK_SCROLL         HEX: 91 ; inline
-
-! NEC PC-9800 kbd definitions
-: VK_OEM_NEC_EQUAL  HEX: 92 ; inline  ! '=' key on numpad
-
-! Fujitsu/OASYS kbd definitions
-: VK_OEM_FJ_JISHO   HEX: 92 ; inline  ! 'Dictionary' key
-: VK_OEM_FJ_MASSHOU HEX: 93 ; inline  ! 'Unregister word' key
-: VK_OEM_FJ_TOUROKU HEX: 94 ; inline  ! 'Register word' key
-: VK_OEM_FJ_LOYA    HEX: 95 ; inline  ! 'Left OYAYUBI' key
-: VK_OEM_FJ_ROYA    HEX: 96 ; inline  ! 'Right OYAYUBI' key
-
-! 0x97 - 0x9F : unassigned
-
-! VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
-! Used only as parameters to GetAsyncKeyState() and GetKeyState().
-! No other API or message will distinguish left and right keys in this way.
-: VK_LSHIFT         HEX: A0 ; inline
-: VK_RSHIFT         HEX: A1 ; inline
-: VK_LCONTROL       HEX: A2 ; inline
-: VK_RCONTROL       HEX: A3 ; inline
-: VK_LMENU          HEX: A4 ; inline
-: VK_RMENU          HEX: A5 ; inline
-
-: VK_BROWSER_BACK        HEX: A6 ; inline
-: VK_BROWSER_FORWARD     HEX: A7 ; inline
-: VK_BROWSER_REFRESH     HEX: A8 ; inline
-: VK_BROWSER_STOP        HEX: A9 ; inline
-: VK_BROWSER_SEARCH      HEX: AA ; inline
-: VK_BROWSER_FAVORITES   HEX: AB ; inline
-: VK_BROWSER_HOME        HEX: AC ; inline
-
-: VK_VOLUME_MUTE         HEX: AD ; inline
-: VK_VOLUME_DOWN         HEX: AE ; inline
-: VK_VOLUME_UP           HEX: AF ; inline
-: VK_MEDIA_NEXT_TRACK    HEX: B0 ; inline
-: VK_MEDIA_PREV_TRACK    HEX: B1 ; inline
-: VK_MEDIA_STOP          HEX: B2 ; inline
-: VK_MEDIA_PLAY_PAUSE    HEX: B3 ; inline
-: VK_LAUNCH_MAIL         HEX: B4 ; inline
-: VK_LAUNCH_MEDIA_SELECT HEX: B5 ; inline
-: VK_LAUNCH_APP1         HEX: B6 ; inline
-: VK_LAUNCH_APP2         HEX: B7 ; inline
-
-! 0xB8 - 0xB9 : reserved
-
-: VK_OEM_1          HEX: BA ; inline  ! ';:' for US
-: VK_OEM_PLUS       HEX: BB ; inline  ! '+' any country
-: VK_OEM_COMMA      HEX: BC ; inline  ! ',' any country
-: VK_OEM_MINUS      HEX: BD ; inline  ! '-' any country
-: VK_OEM_PERIOD     HEX: BE ; inline  ! '.' any country
-: VK_OEM_2          HEX: BF ; inline  ! '/?' for US
-: VK_OEM_3          HEX: C0 ; inline  ! '`~' for US
-
-! 0xC1 - 0xD7 : reserved
-
-! 0xD8 - 0xDA : unassigned
-
-: VK_OEM_4          HEX: DB ; inline !  '[{' for US
-: VK_OEM_5          HEX: DC ; inline !  '\|' for US
-: VK_OEM_6          HEX: DD ; inline !  ']}' for US
-: VK_OEM_7          HEX: DE ; inline !  ''"' for US
-: VK_OEM_8          HEX: DF ; inline
-
-! 0xE0 : reserved
-
-! Various extended or enhanced keyboards
-: VK_OEM_AX         HEX: E1 ; inline !  'AX' key on Japanese AX kbd
-: VK_OEM_102        HEX: E2 ; inline !  "<>" or "\|" on RT 102-key kbd.
-: VK_ICO_HELP       HEX: E3 ; inline !  Help key on ICO
-: VK_ICO_00         HEX: E4 ; inline !  00 key on ICO
-
-: VK_PROCESSKEY     HEX: E5 ; inline
-
-: VK_ICO_CLEAR      HEX: E6 ; inline
-
-: VK_PACKET         HEX: E7 ; inline
-
-! 0xE8 : unassigned
-
-! Nokia/Ericsson definitions
-: VK_OEM_RESET      HEX: E9 ; inline
-: VK_OEM_JUMP       HEX: EA ; inline
-: VK_OEM_PA1        HEX: EB ; inline
-: VK_OEM_PA2        HEX: EC ; inline
-: VK_OEM_PA3        HEX: ED ; inline
-: VK_OEM_WSCTRL     HEX: EE ; inline
-: VK_OEM_CUSEL      HEX: EF ; inline
-: VK_OEM_ATTN       HEX: F0 ; inline
-: VK_OEM_FINISH     HEX: F1 ; inline
-: VK_OEM_COPY       HEX: F2 ; inline
-: VK_OEM_AUTO       HEX: F3 ; inline
-: VK_OEM_ENLW       HEX: F4 ; inline
-: VK_OEM_BACKTAB    HEX: F5 ; inline
-
-: VK_ATTN           HEX: F6 ; inline
-: VK_CRSEL          HEX: F7 ; inline
-: VK_EXSEL          HEX: F8 ; inline
-: VK_EREOF          HEX: F9 ; inline
-: VK_PLAY           HEX: FA ; inline
-: VK_ZOOM           HEX: FB ; inline
-: VK_NONAME         HEX: FC ; inline
-: VK_PA1            HEX: FD ; inline
-: VK_OEM_CLEAR      HEX: FE ; inline
-! 0xFF : reserved
-
-! Key State Masks for Mouse Messages
-: MK_LBUTTON          HEX: 0001 ; inline
-: MK_RBUTTON          HEX: 0002 ; inline
-: MK_SHIFT            HEX: 0004 ; inline
-: MK_CONTROL          HEX: 0008 ; inline
-: MK_MBUTTON          HEX: 0010 ; inline
-: MK_XBUTTON1         HEX: 0020 ; inline
-: MK_XBUTTON2         HEX: 0040 ; inline
-
-
-! Some fields are not defined for win64
-! Window field offsets for GetWindowLong()
-! TODO: win32 only!!
-windows? [
-    : GWL_WNDPROC         -4 ;
-    : GWL_HINSTANCE       -6 ;
-    : GWL_HWNDPARENT      -8 ;
-    : GWL_USERDATA        -21 ;
-    : GWL_ID              -12 ;
-] when
-
-: GWL_STYLE           -16 ;
-: GWL_EXSTYLE         -20 ;
-
-: GWLP_WNDPROC        -4 ;
-: GWLP_HINSTANCE      -6 ;
-: GWLP_HWNDPARENT     -8 ;
-: GWLP_USERDATA       -21 ;
-: GWLP_ID             -12 ;
-
-! Class field offsets for GetClassLong()
-! TODO: win32 only!
-windows? [
-    : GCL_MENUNAME        -8 ;
-    : GCL_HBRBACKGROUND   -10 ;
-    : GCL_HCURSOR         -12 ;
-    : GCL_HICON           -14 ;
-    : GCL_HMODULE         -16 ;
-    : GCL_WNDPROC         -24 ;
-    : GCL_HICONSM         -34 ;
-] when
-: GCL_CBWNDEXTRA      -18 ;
-: GCL_CBCLSEXTRA      -20 ;
-: GCL_STYLE           -26 ;
-: GCW_ATOM            -32 ;
-
-: GCLP_MENUNAME       -8 ;
-: GCLP_HBRBACKGROUND  -10 ;
-: GCLP_HCURSOR        -12 ;
-: GCLP_HICON          -14 ;
-: GCLP_HMODULE        -16 ;
-: GCLP_WNDPROC        -24 ;
-: GCLP_HICONSM        -34 ;
-
-
-
-LIBRARY: user32
-FUNCTION: HKL ActivateKeyboardLayout ( HKL hkl, UINT Flags ) ;
-
-FUNCTION: BOOL AdjustWindowRect ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu ) ;
-FUNCTION: BOOL AdjustWindowRectEx ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle ) ;
-! FUNCTION: AlignRects
-! FUNCTION: AllowForegroundActivation
-! FUNCTION: AllowSetForegroundWindow
-! FUNCTION: AnimateWindow
-
-
-
-FUNCTION: BOOL AnyPopup ( ) ;
-
-! FUNCTION: AppendMenuA
-! FUNCTION: AppendMenuW
-! FUNCTION: ArrangeIconicWindows
-! FUNCTION: AttachThreadInput
-! FUNCTION: BeginDeferWindowPos
-
-
-FUNCTION: HDC BeginPaint ( HWND hwnd, LPPAINTSTRUCT lpPaint ) ;
-
-! FUNCTION: BlockInput
-! FUNCTION: BringWindowToTop
-! FUNCTION: BroadcastSystemMessage
-! FUNCTION: BroadcastSystemMessageA
-! FUNCTION: BroadcastSystemMessageExA
-! FUNCTION: BroadcastSystemMessageExW
-! FUNCTION: BroadcastSystemMessageW
-! FUNCTION: BuildReasonArray
-! FUNCTION: CalcMenuBar
-! FUNCTION: CallMsgFilter
-! FUNCTION: CallMsgFilterA
-! FUNCTION: CallMsgFilterW
-! FUNCTION: CallNextHookEx
-! FUNCTION: CallWindowProcA
-! FUNCTION: CallWindowProcW
-! FUNCTION: CascadeChildWindows
-! FUNCTION: CascadeWindows
-! FUNCTION: ChangeClipboardChain
-! FUNCTION: ChangeDisplaySettingsA
-! FUNCTION: ChangeDisplaySettingsExA
-! FUNCTION: ChangeDisplaySettingsExW
-! FUNCTION: ChangeDisplaySettingsW
-! FUNCTION: ChangeMenuA
-! FUNCTION: ChangeMenuW
-! FUNCTION: CharLowerA
-! FUNCTION: CharLowerBuffA
-! FUNCTION: CharLowerBuffW
-! FUNCTION: CharLowerW
-! FUNCTION: CharNextA
-! FUNCTION: CharNextExA
-! FUNCTION: CharNextW
-! FUNCTION: CharPrevA
-! FUNCTION: CharPrevExA
-! FUNCTION: CharPrevW
-! FUNCTION: CharToOemA
-! FUNCTION: CharToOemBuffA
-! FUNCTION: CharToOemBuffW
-! FUNCTION: CharToOemW
-! FUNCTION: CharUpperA
-! FUNCTION: CharUpperBuffA
-! FUNCTION: CharUpperBuffW
-! FUNCTION: CharUpperW
-! FUNCTION: CheckDlgButton
-! FUNCTION: CheckMenuItem
-! FUNCTION: CheckMenuRadioItem
-! FUNCTION: CheckRadioButton
-! FUNCTION: ChildWindowFromPoint
-! FUNCTION: ChildWindowFromPointEx
-! FUNCTION: ClientThreadSetup
-! FUNCTION: ClientToScreen
-! FUNCTION: CliImmSetHotKey
-! FUNCTION: ClipCursor
-FUNCTION: BOOL CloseClipboard ( ) ;
-! FUNCTION: CloseDesktop
-! FUNCTION: CloseWindow
-! FUNCTION: CloseWindowStation
-! FUNCTION: CopyAcceleratorTableA
-! FUNCTION: CopyAcceleratorTableW
-! FUNCTION: CopyIcon
-! FUNCTION: CopyImage
-! FUNCTION: CopyRect
-! FUNCTION: CountClipboardFormats
-! FUNCTION: CreateAcceleratorTableA
-! FUNCTION: CreateAcceleratorTableW
-! FUNCTION: CreateCaret
-! FUNCTION: CreateCursor
-! FUNCTION: CreateDesktopA
-! FUNCTION: CreateDesktopW
-! FUNCTION: CreateDialogIndirectParamA
-! FUNCTION: CreateDialogIndirectParamAorW
-! FUNCTION: CreateDialogIndirectParamW
-! FUNCTION: CreateDialogParamA
-! FUNCTION: CreateDialogParamW
-! FUNCTION: CreateIcon
-! FUNCTION: CreateIconFromResource
-! FUNCTION: CreateIconFromResourceEx
-! FUNCTION: CreateIconIndirect
-! FUNCTION: CreateMDIWindowA
-! FUNCTION: CreateMDIWindowW
-! FUNCTION: CreateMenu
-! FUNCTION: CreatePopupMenu
-! FUNCTION: CreateSystemThreads
-
-FUNCTION: HWND CreateWindowExA (
-                DWORD dwExStyle,
-                LPCSTR lpClassName,
-                LPCSTR lpWindowName,
-                DWORD dwStyle,
-                uint X,
-                uint Y,
-                uint nWidth,
-                uint nHeight,
-                HWND hWndParent,
-                HMENU hMenu,
-                HINSTANCE hInstance,
-                LPVOID lpParam ) ;
-
-FUNCTION: HWND CreateWindowExW (
-                DWORD dwExStyle,
-                LPCWSTR lpClassName,
-                LPCWSTR lpWindowName,
-                DWORD dwStyle,
-                uint X,
-                uint Y,
-                uint nWidth,
-                uint nHeight,
-                HWND hWndParent,
-                HMENU hMenu,
-                HINSTANCE hInstance,
-                LPVOID lpParam ) ;
-
-: CreateWindowEx \ CreateWindowExW \ CreateWindowExA unicode-exec ;
-
-! 11 >r <r
-: CreateWindow >r >r >r >r >r >r >r >r >r >r >r 0 r> r> r> r> r> r> r> r> r> r> r> CreateWindowEx ;
-
-
-! FUNCTION: CreateWindowStationA
-! FUNCTION: CreateWindowStationW
-! FUNCTION: CsrBroadcastSystemMessageExW
-! FUNCTION: CtxInitUser32
-! FUNCTION: DdeAbandonTransaction
-! FUNCTION: DdeAccessData
-! FUNCTION: DdeAddData
-! FUNCTION: DdeClientTransaction
-! FUNCTION: DdeCmpStringHandles
-! FUNCTION: DdeConnect
-! FUNCTION: DdeConnectList
-! FUNCTION: DdeCreateDataHandle
-! FUNCTION: DdeCreateStringHandleA
-! FUNCTION: DdeCreateStringHandleW
-! FUNCTION: DdeDisconnect
-! FUNCTION: DdeDisconnectList
-! FUNCTION: DdeEnableCallback
-! FUNCTION: DdeFreeDataHandle
-! FUNCTION: DdeFreeStringHandle
-! FUNCTION: DdeGetData
-! FUNCTION: DdeGetLastError
-! FUNCTION: DdeGetQualityOfService
-! FUNCTION: DdeImpersonateClient
-! FUNCTION: DdeInitializeA
-! FUNCTION: DdeInitializeW
-! FUNCTION: DdeKeepStringHandle
-! FUNCTION: DdeNameService
-! FUNCTION: DdePostAdvise
-! FUNCTION: DdeQueryConvInfo
-! FUNCTION: DdeQueryNextServer
-! FUNCTION: DdeQueryStringA
-! FUNCTION: DdeQueryStringW
-! FUNCTION: DdeReconnect
-! FUNCTION: DdeSetQualityOfService
-! FUNCTION: DdeSetUserHandle
-! FUNCTION: DdeUnaccessData
-! FUNCTION: DdeUninitialize
-! FUNCTION: DefDlgProcA
-! FUNCTION: DefDlgProcW
-! FUNCTION: DeferWindowPos
-! FUNCTION: DefFrameProcA
-! FUNCTION: DefFrameProcW
-! FUNCTION: DefMDIChildProcA
-! FUNCTION: DefMDIChildProcW
-! FUNCTION: DefRawInputProc
-FUNCTION: LRESULT DefWindowProcA ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ) ;
-FUNCTION: LRESULT DefWindowProcW ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ) ;
-: DefWindowProc \ DefWindowProcW \ DefWindowProcA unicode-exec ;
-! FUNCTION: DeleteMenu
-! FUNCTION: DeregisterShellHookWindow
-! FUNCTION: DestroyAcceleratorTable
-! FUNCTION: DestroyCaret
-! FUNCTION: DestroyCursor
-! FUNCTION: DestroyIcon
-! FUNCTION: DestroyMenu
-! FUNCTION: DestroyReasons
-FUNCTION: BOOL DestroyWindow ( HWND hWnd ) ;
-! FUNCTION: DeviceEventWorker
-! FUNCTION: DialogBoxIndirectParamA
-! FUNCTION: DialogBoxIndirectParamAorW
-! FUNCTION: DialogBoxIndirectParamW
-! FUNCTION: DialogBoxParamA
-! FUNCTION: DialogBoxParamW
-! FUNCTION: DisableProcessWindowsGhosting
-
-FUNCTION: LONG DispatchMessageA ( MSG* lpMsg ) ;
-FUNCTION: LONG DispatchMessageW ( MSG* lpMsg ) ;
-: DispatchMessage \ DispatchMessageW \ DispatchMessageA unicode-exec ;
-
-! FUNCTION: DisplayExitWindowsWarnings
-! FUNCTION: DlgDirListA
-! FUNCTION: DlgDirListComboBoxA
-! FUNCTION: DlgDirListComboBoxW
-! FUNCTION: DlgDirListW
-! FUNCTION: DlgDirSelectComboBoxExA
-! FUNCTION: DlgDirSelectComboBoxExW
-! FUNCTION: DlgDirSelectExA
-! FUNCTION: DlgDirSelectExW
-! FUNCTION: DragDetect
-! FUNCTION: DragObject
-
-
-FUNCTION: BOOL DrawAnimatedRects ( HWND hWnd, int idAni, RECT* lprcFrom, RECT* lprcTo ) ;
-! FUNCTION: BOOL DrawCaption ( HWND hWnd, HDC hdc, LPRECT lprc, UINT uFlags ) ;
-
-! FUNCTION: DrawEdge
-! FUNCTION: DrawFocusRect
-! FUNCTION: DrawFrame
-! FUNCTION: DrawFrameControl
-! FUNCTION: DrawIcon
-! FUNCTION: DrawIconEx
-! FUNCTION: DrawMenuBar
-! FUNCTION: DrawMenuBarTemp
-! FUNCTION: DrawStateA
-! FUNCTION: DrawStateW
-! FUNCTION: DrawTextA
-! FUNCTION: DrawTextExA
-! FUNCTION: DrawTextExW
-! FUNCTION: DrawTextW
-! FUNCTION: EditWndProc
-FUNCTION: BOOL EmptyClipboard ( ) ;
-! FUNCTION: EnableMenuItem
-! FUNCTION: EnableScrollBar
-! FUNCTION: EnableWindow
-! FUNCTION: EndDeferWindowPos
-! FUNCTION: EndDialog
-! FUNCTION: EndMenu
-
-FUNCTION: BOOL EndPaint ( HWND hWnd, PAINTSTRUCT* lpPaint) ;
-
-! FUNCTION: EndTask
-! FUNCTION: EnterReaderModeHelper
-! FUNCTION: EnumChildWindows
-FUNCTION: UINT EnumClipboardFormats ( UINT format ) ;
-! FUNCTION: EnumDesktopsA
-! FUNCTION: EnumDesktopsW
-! FUNCTION: EnumDesktopWindows
-! FUNCTION: EnumDisplayDevicesA
-! FUNCTION: EnumDisplayDevicesW
-! FUNCTION: EnumDisplayMonitors
-! FUNCTION: EnumDisplaySettingsA
-! FUNCTION: EnumDisplaySettingsExA
-! FUNCTION: EnumDisplaySettingsExW
-! FUNCTION: EnumDisplaySettingsW
-! FUNCTION: EnumPropsA
-! FUNCTION: EnumPropsExA
-! FUNCTION: EnumPropsExW
-! FUNCTION: EnumPropsW
-! FUNCTION: EnumThreadWindows
-! FUNCTION: EnumWindows
-! FUNCTION: EnumWindowStationsA
-! FUNCTION: EnumWindowStationsW
-! FUNCTION: EqualRect
-! FUNCTION: ExcludeUpdateRgn
-! FUNCTION: ExitWindowsEx
-! FUNCTION: FillRect
-! FUNCTION: FindWindowA
-! FUNCTION: FindWindowExA
-! FUNCTION: FindWindowExW
-! FUNCTION: FindWindowW
-! FUNCTION: FlashWindow
-! FUNCTION: FlashWindowEx
-! FUNCTION: FrameRect
-! FUNCTION: FreeDDElParam
-! FUNCTION: GetActiveWindow
-! FUNCTION: GetAltTabInfo
-! FUNCTION: GetAltTabInfoA
-! FUNCTION: GetAltTabInfoW
-! FUNCTION: GetAncestor
-! FUNCTION: GetAppCompatFlags
-! FUNCTION: GetAppCompatFlags2
-! FUNCTION: GetAsyncKeyState
-FUNCTION: HWND GetCapture ( ) ;
-! FUNCTION: GetCaretBlinkTime
-! FUNCTION: GetCaretPos
-FUNCTION: BOOL GetClassInfoA ( HINSTANCE hInst, LPCTSTR lpszClass, LPWNDCLASS lpwcx ) ;
-FUNCTION: BOOL GetClassInfoW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASS lpwcx ) ;
-: GetClassInfo \ GetClassInfoW \ GetClassInfoA unicode-exec ;
-
-FUNCTION: BOOL GetClassInfoExA ( HINSTANCE hInst, LPCTSTR lpszClass, LPWNDCLASSEX lpwcx ) ;
-FUNCTION: BOOL GetClassInfoExW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASSEX lpwcx ) ;
-: GetClassInfoEx \ GetClassInfoExW \ GetClassInfoExA unicode-exec ;
-
-FUNCTION: ULONG_PTR GetClassLongA ( HWND hWnd, int nIndex ) ;
-FUNCTION: ULONG_PTR GetClassLongW ( HWND hWnd, int nIndex ) ;
-: GetClassLong \ GetClassLongW \ GetClassLongA unicode-exec ;
-: GetClassLongPtr \ GetClassLongW \ GetClassLongA unicode-exec ;
-
-
-! FUNCTION: GetClassNameA
-! FUNCTION: GetClassNameW
-! FUNCTION: GetClassWord
-! FUNCTION: BOOL GetClientRect ( HWND hWnd, LPRECT lpRect ) ;
-
-FUNCTION: HANDLE GetClipboardData ( UINT uFormat ) ;
-
-! FUNCTION: GetClipboardFormatNameA
-! FUNCTION: GetClipboardFormatNameW
-FUNCTION: HWND GetClipboardOwner ( ) ;
-FUNCTION: DWORD GetClipboardSequenceNumber ( ) ;
-! FUNCTION: GetClipboardViewer
-! FUNCTION: GetClipCursor
-! FUNCTION: GetComboBoxInfo
-! FUNCTION: GetCursor
-! FUNCTION: GetCursorFrameInfo
-! FUNCTION: GetCursorInfo
-! FUNCTION: GetCursorPos
-FUNCTION: HDC GetDC ( HWND hWnd ) ;
-FUNCTION: HDC GetDCEx ( HWND hWnd, HRGN hrgnClip, DWORD flags ) ;
-! FUNCTION: GetDesktopWindow
-! FUNCTION: GetDialogBaseUnits
-! FUNCTION: GetDlgCtrlID
-! FUNCTION: GetDlgItem
-! FUNCTION: GetDlgItemInt
-! FUNCTION: GetDlgItemTextA
-! FUNCTION: GetDlgItemTextW
-! FUNCTION: GetDoubleClickTime
-FUNCTION: HWND GetFocus ( ) ;
-! FUNCTION: GetForegroundWindow
-! FUNCTION: GetGuiResources
-! FUNCTION: GetGUIThreadInfo
-! FUNCTION: GetIconInfo
-! FUNCTION: GetInputDesktop
-! FUNCTION: GetInputState
-! FUNCTION: GetInternalWindowPos
-! FUNCTION: GetKBCodePage
-! FUNCTION: GetKeyboardLayout
-! FUNCTION: GetKeyboardLayoutList
-! FUNCTION: GetKeyboardLayoutNameA
-! FUNCTION: GetKeyboardLayoutNameW
-! FUNCTION: GetKeyboardState
-! FUNCTION: GetKeyboardType
-! FUNCTION: GetKeyNameTextA
-! FUNCTION: GetKeyNameTextW
-FUNCTION: SHORT GetKeyState ( int nVirtKey ) ;
-! FUNCTION: GetLastActivePopup
-! FUNCTION: GetLastInputInfo
-! FUNCTION: GetLayeredWindowAttributes
-! FUNCTION: GetListBoxInfo
-! FUNCTION: GetMenu
-! FUNCTION: GetMenuBarInfo
-! FUNCTION: GetMenuCheckMarkDimensions
-! FUNCTION: GetMenuContextHelpId
-! FUNCTION: GetMenuDefaultItem
-! FUNCTION: GetMenuInfo
-! FUNCTION: GetMenuItemCount
-! FUNCTION: GetMenuItemID
-! FUNCTION: GetMenuItemInfoA
-! FUNCTION: GetMenuItemInfoW
-! FUNCTION: GetMenuItemRect
-! FUNCTION: GetMenuState
-! FUNCTION: GetMenuStringA
-! FUNCTION: GetMenuStringW
-
-FUNCTION: BOOL GetMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax ) ;
-FUNCTION: BOOL GetMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax ) ;
-: GetMessage \ GetMessageW \ GetMessageA unicode-exec ;
-
-! FUNCTION: GetMessageExtraInfo
-! FUNCTION: GetMessagePos
-! FUNCTION: GetMessageTime
-! FUNCTION: GetMonitorInfoA
-! FUNCTION: GetMonitorInfoW
-! FUNCTION: GetMouseMovePointsEx
-! FUNCTION: GetNextDlgGroupItem
-! FUNCTION: GetNextDlgTabItem
-! FUNCTION: GetOpenClipboardWindow
-FUNCTION: HWND GetParent ( HWND hWnd ) ;
-FUNCTION: int GetPriorityClipboardFormat ( UINT* paFormatPriorityList, int cFormats ) ;
-! FUNCTION: GetProcessDefaultLayout
-! FUNCTION: GetProcessWindowStation
-! FUNCTION: GetProgmanWindow
-! FUNCTION: GetPropA
-! FUNCTION: GetPropW
-! FUNCTION: GetQueueStatus
-! FUNCTION: GetRawInputBuffer
-! FUNCTION: GetRawInputData
-! FUNCTION: GetRawInputDeviceInfoA
-! FUNCTION: GetRawInputDeviceInfoW
-! FUNCTION: GetRawInputDeviceList
-! FUNCTION: GetReasonTitleFromReasonCode
-! FUNCTION: GetRegisteredRawInputDevices
-! FUNCTION: GetScrollBarInfo
-! FUNCTION: GetScrollInfo
-! FUNCTION: GetScrollPos
-! FUNCTION: GetScrollRange
-! FUNCTION: GetShellWindow
-! FUNCTION: GetSubMenu
-! FUNCTION: GetSysColor
-FUNCTION: HBRUSH GetSysColorBrush ( int nIndex ) ;
-! FUNCTION: GetSystemMenu
-! FUNCTION: GetSystemMetrics
-! FUNCTION: GetTabbedTextExtentA
-! FUNCTION: GetTabbedTextExtentW
-! FUNCTION: GetTaskmanWindow
-! FUNCTION: GetThreadDesktop
-! FUNCTION: GetTitleBarInfo
-
-
-FUNCTION: HWND GetTopWindow ( HWND hWnd ) ;
-! FUNCTION: BOOL GetUpdateRect ( HWND hWnd, LPRECT lpRect, BOOL bErase ) ;
-FUNCTION: int GetUpdateRgn ( HWND hWnd, HRGN hRgn, BOOL bErase ) ;
-
-
-! FUNCTION: GetUserObjectInformationA
-! FUNCTION: GetUserObjectInformationW
-! FUNCTION: GetUserObjectSecurity
-FUNCTION: HWND GetWindow ( HWND hWnd, UINT uCmd ) ;
-! FUNCTION: GetWindowContextHelpId
-! FUNCTION: GetWindowDC
-! FUNCTION: GetWindowInfo
-! FUNCTION: GetWindowLongA
-! FUNCTION: GetWindowLongW
-! FUNCTION: GetWindowModuleFileName
-! FUNCTION: GetWindowModuleFileNameA
-! FUNCTION: GetWindowModuleFileNameW
-! FUNCTION: GetWindowPlacement
-! FUNCTION: BOOL GetWindowRect ( HWND hWnd, LPRECT lpRect ) ;
-! FUNCTION: GetWindowRgn
-! FUNCTION: GetWindowRgnBox
-! FUNCTION: GetWindowTextA
-! FUNCTION: GetWindowTextLengthA
-! FUNCTION: GetWindowTextLengthW
-! FUNCTION: GetWindowTextW
-! FUNCTION: GetWindowThreadProcessId
-! FUNCTION: GetWindowWord
-! FUNCTION: GetWinStationInfo
-! FUNCTION: GrayStringA
-! FUNCTION: GrayStringW
-! FUNCTION: HideCaret
-! FUNCTION: HiliteMenuItem
-! FUNCTION: ImpersonateDdeClientWindow
-! FUNCTION: IMPGetIMEA
-! FUNCTION: IMPGetIMEW
-! FUNCTION: IMPQueryIMEA
-! FUNCTION: IMPQueryIMEW
-! FUNCTION: IMPSetIMEA
-! FUNCTION: IMPSetIMEW
-! FUNCTION: InflateRect
-! FUNCTION: InitializeLpkHooks
-! FUNCTION: InitializeWin32EntryTable
-! FUNCTION: InSendMessage
-! FUNCTION: InSendMessageEx
-! FUNCTION: InsertMenuA
-! FUNCTION: InsertMenuItemA
-! FUNCTION: InsertMenuItemW
-! FUNCTION: InsertMenuW
-! FUNCTION: InternalGetWindowText
-! FUNCTION: IntersectRect
-! FUNCTION: InvalidateRect
-! FUNCTION: InvalidateRgn
-! FUNCTION: InvertRect
-! FUNCTION: IsCharAlphaA
-! FUNCTION: IsCharAlphaNumericA
-! FUNCTION: IsCharAlphaNumericW
-! FUNCTION: IsCharAlphaW
-! FUNCTION: IsCharLowerA
-! FUNCTION: IsCharLowerW
-! FUNCTION: IsCharUpperA
-! FUNCTION: IsCharUpperW
-FUNCTION: BOOL IsChild ( HWND hWndParent, HWND hWnd ) ;
-FUNCTION: BOOL IsClipboardFormatAvailable ( UINT format ) ;
-! FUNCTION: IsDialogMessage
-! FUNCTION: IsDialogMessageA
-! FUNCTION: IsDialogMessageW
-! FUNCTION: IsDlgButtonChecked
-FUNCTION: BOOL IsGUIThread ( BOOL bConvert ) ;
-FUNCTION: BOOL IsHungAppWindow ( HWND hWnd ) ;
-FUNCTION: BOOL IsIconic ( HWND hWnd ) ;
-FUNCTION: BOOL IsMenu ( HMENU hMenu ) ;
-! FUNCTION: BOOL IsRectEmpty
-! FUNCTION: BOOL IsServerSideWindow
-FUNCTION: BOOL IsWindow ( HWND hWnd ) ;
-! FUNCTION: BOOL IsWindowEnabled
-! FUNCTION: BOOL IsWindowInDestroy
-FUNCTION: BOOL IsWindowUnicode ( HWND hWnd ) ;
-FUNCTION: BOOL IsWindowVisible ( HWND hWnd ) ;
-! FUNCTION: BOOL IsWinEventHookInstalled
-FUNCTION: BOOL IsZoomed ( HWND hWnd ) ;
-! FUNCTION: keybd_event
-! FUNCTION: KillSystemTimer
-! FUNCTION: KillTimer
-! FUNCTION: LoadAcceleratorsA
-! FUNCTION: LoadAcceleratorsW
-! FUNCTION: LoadBitmapA
-! FUNCTION: LoadBitmapW
-! FUNCTION: LoadCursorFromFileA
-! FUNCTION: LoadCursorFromFileW
-
-
-! FUNCTION: HCURSOR LoadCursorA ( HINSTANCE hInstance, LPCTSTR lpCursorName ) ;
-! FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, LPCWSTR lpCursorName ) ;
-FUNCTION: HCURSOR LoadCursorA ( HINSTANCE hInstance, ushort lpCursorName ) ;
-FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, ushort lpCursorName ) ;
-: LoadCursor \ LoadCursorW \ LoadCursorA unicode-exec ;
-
-! FUNCTION: HICON LoadIconA ( HINSTANCE hInstance, LPCTSTR lpIconName ) ;
-! FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, LPCWSTR lpIconName ) ;
-FUNCTION: HICON LoadIconA ( HINSTANCE hInstance, ushort lpIconName ) ;
-FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, ushort lpIconName ) ;
-: LoadIcon \ LoadIconW \ LoadIconA unicode-exec ;
-
-! FUNCTION: LoadImageA
-! FUNCTION: LoadImageW
-! FUNCTION: LoadKeyboardLayoutA
-! FUNCTION: LoadKeyboardLayoutEx
-! FUNCTION: LoadKeyboardLayoutW
-! FUNCTION: LoadLocalFonts
-! FUNCTION: LoadMenuA
-! FUNCTION: LoadMenuIndirectA
-! FUNCTION: LoadMenuIndirectW
-! FUNCTION: LoadMenuW
-! FUNCTION: LoadRemoteFonts
-! FUNCTION: LoadStringA
-! FUNCTION: LoadStringW
-! FUNCTION: LockSetForegroundWindow
-! FUNCTION: LockWindowStation
-! FUNCTION: LockWindowUpdate
-! FUNCTION: LockWorkStation
-! FUNCTION: LookupIconIdFromDirectory
-! FUNCTION: LookupIconIdFromDirectoryEx
-! FUNCTION: MapDialogRect
-! FUNCTION: MapVirtualKeyA
-! FUNCTION: MapVirtualKeyExA
-! FUNCTION: MapVirtualKeyExW
-! FUNCTION: MapVirtualKeyW
-! FUNCTION: MapWindowPoints
-! FUNCTION: MB_GetString
-! FUNCTION: MBToWCSEx
-! FUNCTION: MenuItemFromPoint
-! FUNCTION: MenuWindowProcA
-! FUNCTION: MenuWindowProcW
-
-
-: MB_ICONASTERISK    HEX: 00000040 ;
-: MB_ICONEXCLAMATION HEX: 00000030 ;
-: MB_ICONHAND        HEX: 00000010 ;
-: MB_ICONQUESTION    HEX: 00000020 ;
-: MB_OK              HEX: 00000000 ;
-! -1 is Simple beep
-FUNCTION: BOOL MessageBeep ( UINT uType ) ;
-
-FUNCTION: int MessageBoxA ( 
-                HWND hWnd,
-                LPCSTR lpText,
-                LPCSTR lpCaption,
-                UINT uType ) ;
-
-FUNCTION: int MessageBoxW (
-                HWND hWnd,
-                LPCWSTR lpText,
-                LPCWSTR lpCaption,
-                UINT uType) ;
-
-FUNCTION: int MessageBoxExA ( HWND hWnd,
-                LPCSTR lpText,
-                LPCSTR lpCaption,
-                UINT uType,
-                WORD wLanguageId
-                ) ;
-
-FUNCTION: int MessageBoxExW (
-                HWND hWnd,
-                LPCWSTR lpText,
-                LPCWSTR lpCaption,
-                UINT uType,
-                WORD wLanguageId ) ;
-
-FUNCTION: int MessageBoxIndirectA (
-                 MSGBOXPARAMSA* params ) ;
-
-FUNCTION: int MessageBoxIndirectW (
-                 MSGBOXPARAMSW* params ) ;
-
-
-: MessageBox ( -- )
-    \ MessageBoxW \ MessageBoxA unicode-exec ;
-
-: MessageBoxEx ( -- )
-    \ MessageBoxExW \ MessageBoxExA unicode-exec ;
-
-: MessageBoxIndirect ( -- )
-    \ MessageBoxIndirectW \ MessageBoxIndirectA unicode-exec ;
-
-! FUNCTION: MessageBoxTimeoutA ! dllexported, not in header
-! FUNCTION: MessageBoxTimeoutW ! dllexported, not in header
-
-! FUNCTION: ModifyMenuA
-! FUNCTION: ModifyMenuW
-! FUNCTION: MonitorFromPoint
-! FUNCTION: MonitorFromRect
-! FUNCTION: MonitorFromWindow
-! FUNCTION: mouse_event
-
-
-
-FUNCTION: BOOL MoveWindow (
-    HWND hWnd,
-    int X,
-    int Y,
-    int nWidth,
-    int nHeight,
-    BOOL bRepaint ) ;
-
-
-! FUNCTION: MsgWaitForMultipleObjects
-! FUNCTION: MsgWaitForMultipleObjectsEx
-! FUNCTION: NotifyWinEvent
-! FUNCTION: OemKeyScan
-! FUNCTION: OemToCharA
-! FUNCTION: OemToCharBuffA
-! FUNCTION: OemToCharBuffW
-! FUNCTION: OemToCharW
-! FUNCTION: OffsetRect
-FUNCTION: BOOL OpenClipboard ( HWND hWndNewOwner ) ;
-! FUNCTION: OpenDesktopA
-! FUNCTION: OpenDesktopW
-! FUNCTION: OpenIcon
-! FUNCTION: OpenInputDesktop
-! FUNCTION: OpenWindowStationA
-! FUNCTION: OpenWindowStationW
-! FUNCTION: PackDDElParam
-! FUNCTION: PaintDesktop
-! FUNCTION: PaintMenuBar
-FUNCTION: BOOL PeekMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
-FUNCTION: BOOL PeekMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
-: PeekMessage \ PeekMessageW \ PeekMessageA unicode-exec ;
-
-! FUNCTION: PostMessageA
-! FUNCTION: PostMessageW
-FUNCTION: void PostQuitMessage ( int nExitCode ) ;
-! FUNCTION: PostThreadMessageA
-! FUNCTION: PostThreadMessageW
-! FUNCTION: PrintWindow
-! FUNCTION: PrivateExtractIconExA
-! FUNCTION: PrivateExtractIconExW
-! FUNCTION: PrivateExtractIconsA
-! FUNCTION: PrivateExtractIconsW
-! FUNCTION: PrivateSetDbgTag
-! FUNCTION: PrivateSetRipFlags
-! FUNCTION: PtInRect
-! FUNCTION: QuerySendMessage
-! FUNCTION: QueryUserCounters
-! FUNCTION: RealChildWindowFromPoint
-! FUNCTION: RealGetWindowClass
-! FUNCTION: RealGetWindowClassA
-! FUNCTION: RealGetWindowClassW
-! FUNCTION: ReasonCodeNeedsBugID
-! FUNCTION: ReasonCodeNeedsComment
-! FUNCTION: RecordShutdownReason
-! FUNCTION: RedrawWindow
-
-FUNCTION: ATOM RegisterClassA ( WNDCLASS* lpWndClass) ;
-FUNCTION: ATOM RegisterClassW ( WNDCLASS* lpWndClass ) ;
-FUNCTION: ATOM RegisterClassExA ( WNDCLASSEX* lpwcx ) ;
-FUNCTION: ATOM RegisterClassExW ( WNDCLASSEX* lpwcx ) ;
-
-: RegisterClass \ RegisterClassW \ RegisterClassA unicode-exec ;
-: RegisterClassEx \ RegisterClassExW \ RegisterClassExA unicode-exec ;
-
-! FUNCTION: RegisterClipboardFormatA
-! FUNCTION: RegisterClipboardFormatW
-! FUNCTION: RegisterDeviceNotificationA
-! FUNCTION: RegisterDeviceNotificationW
-! FUNCTION: RegisterHotKey
-! FUNCTION: RegisterLogonProcess
-! FUNCTION: RegisterMessagePumpHook
-! FUNCTION: RegisterRawInputDevices
-! FUNCTION: RegisterServicesProcess
-! FUNCTION: RegisterShellHookWindow
-! FUNCTION: RegisterSystemThread
-! FUNCTION: RegisterTasklist
-! FUNCTION: RegisterUserApiHook
-! FUNCTION: RegisterWindowMessageA
-! FUNCTION: RegisterWindowMessageW
-FUNCTION: BOOL ReleaseCapture ( ) ;
-FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC ) ;
-! FUNCTION: RemoveMenu
-! FUNCTION: RemovePropA
-! FUNCTION: RemovePropW
-! FUNCTION: ReplyMessage
-! FUNCTION: ResolveDesktopForWOW
-! FUNCTION: ReuseDDElParam
-! FUNCTION: ScreenToClient
-! FUNCTION: ScrollChildren
-! FUNCTION: ScrollDC
-! FUNCTION: ScrollWindow
-! FUNCTION: ScrollWindowEx
-! FUNCTION: SendDlgItemMessageA
-! FUNCTION: SendDlgItemMessageW
-! FUNCTION: SendIMEMessageExA
-! FUNCTION: SendIMEMessageExW
-! FUNCTION: UINT SendInput ( UINT nInputs, LPINPUT pInputs, int cbSize ) ;
-FUNCTION: LRESULT SendMessageA ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) ;
-FUNCTION: LRESULT SendMessageW ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) ;
-: SendMessage \ SendMessageW \ SendMessageA unicode-exec ;
-! FUNCTION: SendMessageCallbackA
-! FUNCTION: SendMessageCallbackW
-! FUNCTION: SendMessageTimeoutA
-! FUNCTION: SendMessageTimeoutW
-! FUNCTION: SendNotifyMessageA
-! FUNCTION: SendNotifyMessageW
-! FUNCTION: SetActiveWindow
-FUNCTION: HWND SetCapture ( HWND hWnd ) ;
-! FUNCTION: SetCaretBlinkTime
-! FUNCTION: SetCaretPos
-
-FUNCTION: ULONG_PTR SetClassLongW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong ) ;
-FUNCTION: ULONG_PTR SetClassLongA ( HWND hWnd, int nIndex, LONG_PTR dwNewLong ) ;
-: SetClassLongPtr \ SetClassLongW \ SetClassLongA unicode-exec ;
-: SetClassLong \ SetClassLongW \ SetClassLongA unicode-exec ;
-
-! FUNCTION: SetClassWord
-FUNCTION: HANDLE SetClipboardData ( UINT uFormat, HANDLE hMem ) ;
-! FUNCTION: SetClipboardViewer
-! FUNCTION: SetConsoleReserveKeys
-! FUNCTION: SetCursor
-! FUNCTION: SetCursorContents
-! FUNCTION: SetCursorPos
-! FUNCTION: SetDebugErrorLevel
-! FUNCTION: SetDeskWallpaper
-! FUNCTION: SetDlgItemInt
-! FUNCTION: SetDlgItemTextA
-! FUNCTION: SetDlgItemTextW
-! FUNCTION: SetDoubleClickTime
-FUNCTION: HWND SetFocus ( HWND hWnd ) ;
-FUNCTION: BOOL SetForegroundWindow ( HWND hWnd ) ;
-! FUNCTION: SetInternalWindowPos
-! FUNCTION: SetKeyboardState
-! type is ignored
-FUNCTION: void SetLastErrorEx ( DWORD dwErrCode, DWORD dwType ) ; 
-: SetLastError 0 SetLastErrorEx ;
-! FUNCTION: SetLayeredWindowAttributes
-! FUNCTION: SetLogonNotifyWindow
-! FUNCTION: SetMenu
-! FUNCTION: SetMenuContextHelpId
-! FUNCTION: SetMenuDefaultItem
-! FUNCTION: SetMenuInfo
-! FUNCTION: SetMenuItemBitmaps
-! FUNCTION: SetMenuItemInfoA
-! FUNCTION: SetMenuItemInfoW
-! FUNCTION: SetMessageExtraInfo
-! FUNCTION: SetMessageQueue
-! FUNCTION: SetParent
-! FUNCTION: SetProcessDefaultLayout
-! FUNCTION: SetProcessWindowStation
-! FUNCTION: SetProgmanWindow
-! FUNCTION: SetPropA
-! FUNCTION: SetPropW
-! FUNCTION: SetRect
-! FUNCTION: SetRectEmpty
-! FUNCTION: SetScrollInfo
-! FUNCTION: SetScrollPos
-! FUNCTION: SetScrollRange
-! FUNCTION: SetShellWindow
-! FUNCTION: SetShellWindowEx
-! FUNCTION: SetSysColors
-! FUNCTION: SetSysColorsTemp
-! FUNCTION: SetSystemCursor
-! FUNCTION: SetSystemMenu
-! FUNCTION: SetSystemTimer
-! FUNCTION: SetTaskmanWindow
-! FUNCTION: SetThreadDesktop
-! FUNCTION: SetTimer
-! FUNCTION: SetUserObjectInformationA
-! FUNCTION: SetUserObjectInformationW
-! FUNCTION: SetUserObjectSecurity
-! FUNCTION: SetWindowContextHelpId
-! FUNCTION: SetWindowLongA
-! FUNCTION: SetWindowLongW
-! FUNCTION: SetWindowPlacement
-! FUNCTION: SetWindowPos
-! FUNCTION: SetWindowRgn
-! FUNCTION: SetWindowsHookA
-! FUNCTION: SetWindowsHookExA
-! FUNCTION: SetWindowsHookExW
-! FUNCTION: SetWindowsHookW
-! FUNCTION: SetWindowStationUser
-! FUNCTION: SetWindowTextA
-! FUNCTION: SetWindowTextW
-! FUNCTION: SetWindowWord
-! FUNCTION: SetWinEventHook
-! FUNCTION: ShowCaret
-! FUNCTION: ShowCursor
-! FUNCTION: ShowOwnedPopups
-! FUNCTION: ShowScrollBar
-! FUNCTION: ShowStartGlass
-
-FUNCTION: BOOL ShowWindow ( HWND hWnd, int nCmdShow ) ;
-
-! FUNCTION: ShowWindowAsync
-! FUNCTION: SoftModalMessageBox
-! FUNCTION: SubtractRect
-! FUNCTION: SwapMouseButton
-! FUNCTION: SwitchDesktop
-! FUNCTION: SwitchToThisWindow
-! FUNCTION: SystemParametersInfoA
-! FUNCTION: SystemParametersInfoW
-! FUNCTION: TabbedTextOutA
-! FUNCTION: TabbedTextOutW
-! FUNCTION: TileChildWindows
-! FUNCTION: TileWindows
-! FUNCTION: ToAscii
-! FUNCTION: ToAsciiEx
-! FUNCTION: ToUnicode
-! FUNCTION: ToUnicodeEx
-! FUNCTION: TrackMouseEvent
-! FUNCTION: TrackPopupMenu
-! FUNCTION: TrackPopupMenuEx
-! FUNCTION: TranslateAccelerator
-! FUNCTION: TranslateAcceleratorA
-! FUNCTION: TranslateAcceleratorW
-! FUNCTION: TranslateMDISysAccel
-FUNCTION: BOOL TranslateMessage ( MSG* lpMsg ) ;
-
-! FUNCTION: UnhookWindowsHook
-! FUNCTION: UnhookWindowsHookEx
-! FUNCTION: UnhookWinEvent
-! FUNCTION: UnionRect
-! FUNCTION: UnloadKeyboardLayout
-! FUNCTION: UnlockWindowStation
-! FUNCTION: UnpackDDElParam
-FUNCTION: BOOL UnregisterClassA ( LPCTSTR lpClassName, HINSTANCE hInstance ) ;
-FUNCTION: BOOL UnregisterClassW ( LPCWSTR lpClassName, HINSTANCE hInstance ) ;
-: UnregisterClass \ UnregisterClassW \ UnregisterClassA unicode-exec ;
-! FUNCTION: UnregisterDeviceNotification
-! FUNCTION: UnregisterHotKey
-! FUNCTION: UnregisterMessagePumpHook
-! FUNCTION: UnregisterUserApiHook
-! FUNCTION: UpdateLayeredWindow
-! FUNCTION: UpdatePerUserSystemParameters
-
-
-FUNCTION: BOOL UpdateWindow ( HWND hWnd ) ;
-
-! FUNCTION: User32InitializeImmEntryTable
-! FUNCTION: UserClientDllInitialize
-! FUNCTION: UserHandleGrantAccess
-! FUNCTION: UserLpkPSMTextOut
-! FUNCTION: UserLpkTabbedTextOut
-! FUNCTION: UserRealizePalette
-! FUNCTION: UserRegisterWowHandlers
-! FUNCTION: ValidateRect
-! FUNCTION: ValidateRgn
-! FUNCTION: VkKeyScanA
-! FUNCTION: VkKeyScanExA
-! FUNCTION: VkKeyScanExW
-! FUNCTION: VkKeyScanW
-! FUNCTION: VRipOutput
-! FUNCTION: VTagOutput
-! FUNCTION: WaitForInputIdle
-! FUNCTION: WaitMessage
-! FUNCTION: WCSToMBEx
-! FUNCTION: Win32PoolAllocationStats
-! FUNCTION: WindowFromDC
-! FUNCTION: WindowFromPoint
-! FUNCTION: WinHelpA
-! FUNCTION: WinHelpW
-! FUNCTION: WINNLSEnableIME
-! FUNCTION: WINNLSGetEnableStatus
-! FUNCTION: WINNLSGetIMEHotkey
-! FUNCTION: wsprintfA
-! FUNCTION: wsprintfW
-! FUNCTION: wvsprintfA
-! FUNCTION: wvsprintfW
-
diff --git a/library/ui/windows/utils.factor b/library/ui/windows/utils.factor
deleted file mode 100644 (file)
index ee878f4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-! Copyright (C) 2005, 2006 Doug Coleman.
-! See http://factor.sf.net/license.txt for BSD license.
-USING: alien parser namespaces kernel syntax words math io prettyprint ;
-IN: win32-api
-
-: win32-error=0 zero? [ win32-error ] when ;
-: win32-error>0 0 > [ win32-error ] when ;
-: win32-error<0 0 < [ win32-error ] when ;
-: win32-error<>0 zero? [ win32-error ] unless ;
-
-: lo-word ( wparam -- lo ) HEX: ffff bitand ;
-: hi-word ( wparam -- hi ) -16 shift ;
-
-: msgbox ( str -- )
-    f swap "DebugMsg" MB_OK MessageBox drop ;
-
diff --git a/library/ui/windows/windows-messages.factor b/library/ui/windows/windows-messages.factor
deleted file mode 100644 (file)
index cd20ec6..0000000
+++ /dev/null
@@ -1,1005 +0,0 @@
-! Copyright (C) 2005, 2006 Doug Coleman.
-! See http://factor.sf.net/license.txt for BSD license.
-USING: hashtables kernel math namespaces parser prettyprint words ;
-IN: win32-api-messages
-
-SYMBOL: windows-messages
-
-USE: inspector
-
-: maybe-create-windows-messages
-    windows-messages get hashtable? 
-    [ H{ } clone global [ windows-messages set ] bind ] unless ;
-
-: add-windows-message ( -- )
-    word [ unparse ] keep execute maybe-create-windows-messages
-    windows-messages get set-hash ; parsing
-
-: get-windows-message-name ( n -- name )
-    windows-messages get hash* [ drop "unknown message" ] unless ;
-
-: WM_NULL HEX: 0000 ; inline add-windows-message
-: WM_CREATE HEX: 0001 ; inline add-windows-message
-: WM_DESTROY HEX: 0002 ; inline add-windows-message
-: WM_MOVE HEX: 0003 ; inline add-windows-message
-: WM_SIZE HEX: 0005 ; inline add-windows-message
-: WM_ACTIVATE HEX: 0006 ; inline add-windows-message
-: WM_SETFOCUS HEX: 0007 ; inline add-windows-message
-: WM_KILLFOCUS HEX: 0008 ; inline add-windows-message
-: WM_ENABLE HEX: 000A ; inline add-windows-message
-: WM_SETREDRAW HEX: 000B ; inline add-windows-message
-: WM_SETTEXT HEX: 000C ; inline add-windows-message
-: WM_GETTEXT HEX: 000D ; inline add-windows-message
-: WM_GETTEXTLENGTH HEX: 000E ; inline add-windows-message
-: WM_PAINT HEX: 000F ; inline add-windows-message
-: WM_CLOSE HEX: 0010 ; inline add-windows-message
-: WM_QUERYENDSESSION HEX: 0011 ; inline add-windows-message
-: WM_QUERYOPEN HEX: 0013 ; inline add-windows-message
-: WM_ENDSESSION HEX: 0016 ; inline add-windows-message
-: WM_QUIT HEX: 0012 ; inline add-windows-message
-: WM_ERASEBKGND HEX: 0014 ; inline add-windows-message
-: WM_SYSCOLORCHANGE HEX: 0015 ; inline add-windows-message
-: WM_SHOWWINDOW HEX: 0018 ; inline add-windows-message
-: WM_WININICHANGE HEX: 001A ; inline add-windows-message
-: WM_SETTINGCHANGE HEX: 001A ; inline add-windows-message
-: WM_DEVMODECHANGE HEX: 001B ; inline add-windows-message
-: WM_ACTIVATEAPP HEX: 001C ; inline add-windows-message
-: WM_FONTCHANGE HEX: 001D ; inline add-windows-message
-: WM_TIMECHANGE HEX: 001E ; inline add-windows-message
-: WM_CANCELMODE HEX: 001F ; inline add-windows-message
-: WM_SETCURSOR HEX: 0020 ; inline add-windows-message
-: WM_MOUSEACTIVATE HEX: 0021 ; inline add-windows-message
-: WM_CHILDACTIVATE HEX: 0022 ; inline add-windows-message
-: WM_QUEUESYNC HEX: 0023 ; inline add-windows-message
-: WM_GETMINMAXINFO HEX: 0024 ; inline add-windows-message
-: WM_PAINTICON HEX: 0026 ; inline add-windows-message
-: WM_ICONERASEBKGND HEX: 0027 ; inline add-windows-message
-: WM_NEXTDLGCTL HEX: 0028 ; inline add-windows-message
-: WM_SPOOLERSTATUS HEX: 002A ; inline add-windows-message
-: WM_DRAWITEM HEX: 002B ; inline add-windows-message
-: WM_MEASUREITEM HEX: 002C ; inline add-windows-message
-: WM_DELETEITEM HEX: 002D ; inline add-windows-message
-: WM_VKEYTOITEM HEX: 002E ; inline add-windows-message
-: WM_CHARTOITEM HEX: 002F ; inline add-windows-message
-: WM_SETFONT HEX: 0030 ; inline add-windows-message
-: WM_GETFONT HEX: 0031 ; inline add-windows-message
-: WM_SETHOTKEY HEX: 0032 ; inline add-windows-message
-: WM_GETHOTKEY HEX: 0033 ; inline add-windows-message
-: WM_QUERYDRAGICON HEX: 0037 ; inline add-windows-message
-: WM_COMPAREITEM HEX: 0039 ; inline add-windows-message
-: WM_GETOBJECT HEX: 003D ; inline add-windows-message
-: WM_COMPACTING HEX: 0041 ; inline add-windows-message
-: WM_COMMNOTIFY HEX: 0044 ; inline add-windows-message
-: WM_WINDOWPOSCHANGING HEX: 0046 ; inline add-windows-message
-: WM_WINDOWPOSCHANGED HEX: 0047 ; inline add-windows-message
-: WM_POWER HEX: 0048 ; inline add-windows-message
-: WM_COPYDATA HEX: 004A ; inline add-windows-message
-: WM_CANCELJOURNAL HEX: 004B ; inline add-windows-message
-: WM_NOTIFY HEX: 004E ; inline add-windows-message
-: WM_INPUTLANGCHANGEREQUEST HEX: 0050 ; inline add-windows-message
-: WM_INPUTLANGCHANGE HEX: 0051 ; inline add-windows-message
-: WM_TCARD HEX: 0052 ; inline add-windows-message
-: WM_HELP HEX: 0053 ; inline add-windows-message
-: WM_USERCHANGED HEX: 0054 ; inline add-windows-message
-: WM_NOTIFYFORMAT HEX: 0055 ; inline add-windows-message
-: WM_CONTEXTMENU HEX: 007B ; inline add-windows-message
-: WM_STYLECHANGING HEX: 007C ; inline add-windows-message
-: WM_STYLECHANGED HEX: 007D ; inline add-windows-message
-: WM_DISPLAYCHANGE HEX: 007E ; inline add-windows-message
-: WM_GETICON HEX: 007F ; inline add-windows-message
-: WM_SETICON HEX: 0080 ; inline add-windows-message
-: WM_NCCREATE HEX: 0081 ; inline add-windows-message
-: WM_NCDESTROY HEX: 0082 ; inline add-windows-message
-: WM_NCCALCSIZE HEX: 0083 ; inline add-windows-message
-: WM_NCHITTEST HEX: 0084 ; inline add-windows-message
-: WM_NCPAINT HEX: 0085 ; inline add-windows-message
-: WM_NCACTIVATE HEX: 0086 ; inline add-windows-message
-: WM_GETDLGCODE HEX: 0087 ; inline add-windows-message
-: WM_SYNCPAINT HEX: 0088 ; inline add-windows-message
-: WM_NCMOUSEMOVE HEX: 00A0 ; inline add-windows-message
-: WM_NCLBUTTONDOWN HEX: 00A1 ; inline add-windows-message
-: WM_NCLBUTTONUP HEX: 00A2 ; inline add-windows-message
-: WM_NCLBUTTONDBLCLK HEX: 00A3 ; inline add-windows-message
-: WM_NCRBUTTONDOWN HEX: 00A4 ; inline add-windows-message
-: WM_NCRBUTTONUP HEX: 00A5 ; inline add-windows-message
-: WM_NCRBUTTONDBLCLK HEX: 00A6 ; inline add-windows-message
-: WM_NCMBUTTONDOWN HEX: 00A7 ; inline add-windows-message
-: WM_NCMBUTTONUP HEX: 00A8 ; inline add-windows-message
-: WM_NCMBUTTONDBLCLK HEX: 00A9 ; inline add-windows-message
-: WM_NCXBUTTONDOWN HEX: 00AB ; inline add-windows-message
-: WM_NCXBUTTONUP HEX: 00AC ; inline add-windows-message
-: WM_NCXBUTTONDBLCLK HEX: 00AD ; inline add-windows-message
-: WM_INPUT HEX: 00FF ; inline add-windows-message
-: WM_KEYFIRST HEX: 0100 ; inline add-windows-message
-: WM_KEYDOWN HEX: 0100 ; inline add-windows-message
-: WM_KEYUP HEX: 0101 ; inline add-windows-message
-: WM_CHAR HEX: 0102 ; inline add-windows-message
-: WM_DEADCHAR HEX: 0103 ; inline add-windows-message
-: WM_SYSKEYDOWN HEX: 0104 ; inline add-windows-message
-: WM_SYSKEYUP HEX: 0105 ; inline add-windows-message
-: WM_SYSCHAR HEX: 0106 ; inline add-windows-message
-: WM_SYSDEADCHAR HEX: 0107 ; inline add-windows-message
-: WM_UNICHAR HEX: 0109 ; inline add-windows-message
-: WM_KEYLAST_NT501 HEX: 0109 ; inline add-windows-message
-: UNICODE_NOCHAR HEX: FFFF ; inline add-windows-message
-: WM_KEYLAST_PRE501 HEX: 0108 ; inline add-windows-message
-: WM_IME_STARTCOMPOSITION HEX: 010D ; inline add-windows-message
-: WM_IME_ENDCOMPOSITION HEX: 010E ; inline add-windows-message
-: WM_IME_COMPOSITION HEX: 010F ; inline add-windows-message
-: WM_IME_KEYLAST HEX: 010F ; inline add-windows-message
-: WM_INITDIALOG HEX: 0110 ; inline add-windows-message
-: WM_COMMAND HEX: 0111 ; inline add-windows-message
-: WM_SYSCOMMAND HEX: 0112 ; inline add-windows-message
-: WM_TIMER HEX: 0113 ; inline add-windows-message
-: WM_HSCROLL HEX: 0114 ; inline add-windows-message
-: WM_VSCROLL HEX: 0115 ; inline add-windows-message
-: WM_INITMENU HEX: 0116 ; inline add-windows-message
-: WM_INITMENUPOPUP HEX: 0117 ; inline add-windows-message
-: WM_MENUSELECT HEX: 011F ; inline add-windows-message
-: WM_MENUCHAR HEX: 0120 ; inline add-windows-message
-: WM_ENTERIDLE HEX: 0121 ; inline add-windows-message
-: WM_MENURBUTTONUP HEX: 0122 ; inline add-windows-message
-: WM_MENUDRAG HEX: 0123 ; inline add-windows-message
-: WM_MENUGETOBJECT HEX: 0124 ; inline add-windows-message
-: WM_UNINITMENUPOPUP HEX: 0125 ; inline add-windows-message
-: WM_MENUCOMMAND HEX: 0126 ; inline add-windows-message
-: WM_CHANGEUISTATE HEX: 0127 ; inline add-windows-message
-: WM_UPDATEUISTATE HEX: 0128 ; inline add-windows-message
-: WM_QUERYUISTATE HEX: 0129 ; inline add-windows-message
-: WM_CTLCOLORMSGBOX HEX: 0132 ; inline add-windows-message
-: WM_CTLCOLOREDIT HEX: 0133 ; inline add-windows-message
-: WM_CTLCOLORLISTBOX HEX: 0134 ; inline add-windows-message
-: WM_CTLCOLORBTN HEX: 0135 ; inline add-windows-message
-: WM_CTLCOLORDLG HEX: 0136 ; inline add-windows-message
-: WM_CTLCOLORSCROLLBAR HEX: 0137 ; inline add-windows-message
-: WM_CTLCOLORSTATIC HEX: 0138 ; inline add-windows-message
-: WM_MOUSEFIRST HEX: 0200 ; inline add-windows-message
-: WM_MOUSEMOVE HEX: 0200 ; inline add-windows-message
-: WM_LBUTTONDOWN HEX: 0201 ; inline add-windows-message
-: WM_LBUTTONUP HEX: 0202 ; inline add-windows-message
-: WM_LBUTTONDBLCLK HEX: 0203 ; inline add-windows-message
-: WM_RBUTTONDOWN HEX: 0204 ; inline add-windows-message
-: WM_RBUTTONUP HEX: 0205 ; inline add-windows-message
-: WM_RBUTTONDBLCLK HEX: 0206 ; inline add-windows-message
-: WM_MBUTTONDOWN HEX: 0207 ; inline add-windows-message
-: WM_MBUTTONUP HEX: 0208 ; inline add-windows-message
-: WM_MBUTTONDBLCLK HEX: 0209 ; inline add-windows-message
-: WM_MOUSEWHEEL HEX: 020A ; inline add-windows-message
-: WM_XBUTTONDOWN HEX: 020B ; inline add-windows-message
-: WM_XBUTTONUP HEX: 020C ; inline add-windows-message
-: WM_XBUTTONDBLCLK HEX: 020D ; inline add-windows-message
-: WM_MOUSELAST_5 HEX: 020D ; inline add-windows-message
-: WM_MOUSELAST_4 HEX: 020A ; inline add-windows-message
-: WM_MOUSELAST_PRE_4 HEX: 0209 ; inline add-windows-message
-: WM_PARENTNOTIFY HEX: 0210 ; inline add-windows-message
-: WM_ENTERMENULOOP HEX: 0211 ; inline add-windows-message
-: WM_EXITMENULOOP HEX: 0212 ; inline add-windows-message
-: WM_NEXTMENU HEX: 0213 ; inline add-windows-message
-: WM_SIZING HEX: 0214 ; inline add-windows-message
-: WM_CAPTURECHANGED HEX: 0215 ; inline add-windows-message
-: WM_MOVING HEX: 0216 ; inline add-windows-message
-: WM_POWERBROADCAST HEX: 0218 ; inline add-windows-message
-: WM_DEVICECHANGE HEX: 0219 ; inline add-windows-message
-: WM_MDICREATE HEX: 0220 ; inline add-windows-message
-: WM_MDIDESTROY HEX: 0221 ; inline add-windows-message
-: WM_MDIACTIVATE HEX: 0222 ; inline add-windows-message
-: WM_MDIRESTORE HEX: 0223 ; inline add-windows-message
-: WM_MDINEXT HEX: 0224 ; inline add-windows-message
-: WM_MDIMAXIMIZE HEX: 0225 ; inline add-windows-message
-: WM_MDITILE HEX: 0226 ; inline add-windows-message
-: WM_MDICASCADE HEX: 0227 ; inline add-windows-message
-: WM_MDIICONARRANGE HEX: 0228 ; inline add-windows-message
-: WM_MDIGETACTIVE HEX: 0229 ; inline add-windows-message
-: WM_MDISETMENU HEX: 0230 ; inline add-windows-message
-: WM_ENTERSIZEMOVE HEX: 0231 ; inline add-windows-message
-: WM_EXITSIZEMOVE HEX: 0232 ; inline add-windows-message
-: WM_DROPFILES HEX: 0233 ; inline add-windows-message
-: WM_MDIREFRESHMENU HEX: 0234 ; inline add-windows-message
-: WM_IME_SETCONTEXT HEX: 0281 ; inline add-windows-message
-: WM_IME_NOTIFY HEX: 0282 ; inline add-windows-message
-: WM_IME_CONTROL HEX: 0283 ; inline add-windows-message
-: WM_IME_COMPOSITIONFULL HEX: 0284 ; inline add-windows-message
-: WM_IME_SELECT HEX: 0285 ; inline add-windows-message
-: WM_IME_CHAR HEX: 0286 ; inline add-windows-message
-: WM_IME_REQUEST HEX: 0288 ; inline add-windows-message
-: WM_IME_KEYDOWN HEX: 0290 ; inline add-windows-message
-: WM_IME_KEYUP HEX: 0291 ; inline add-windows-message
-: WM_MOUSEHOVER HEX: 02A1 ; inline add-windows-message
-: WM_MOUSELEAVE HEX: 02A3 ; inline add-windows-message
-: WM_NCMOUSEHOVER HEX: 02A0 ; inline add-windows-message
-: WM_NCMOUSELEAVE HEX: 02A2 ; inline add-windows-message
-: WM_WTSSESSION_CHANGE HEX: 02B1 ; inline add-windows-message
-: WM_TABLET_FIRST HEX: 02c0 ; inline add-windows-message
-: WM_TABLET_LAST HEX: 02df ; inline add-windows-message
-: WM_CUT HEX: 0300 ; inline add-windows-message
-: WM_COPY HEX: 0301 ; inline add-windows-message
-: WM_PASTE HEX: 0302 ; inline add-windows-message
-: WM_CLEAR HEX: 0303 ; inline add-windows-message
-: WM_UNDO HEX: 0304 ; inline add-windows-message
-: WM_RENDERFORMAT HEX: 0305 ; inline add-windows-message
-: WM_RENDERALLFORMATS HEX: 0306 ; inline add-windows-message
-: WM_DESTROYCLIPBOARD HEX: 0307 ; inline add-windows-message
-: WM_DRAWCLIPBOARD HEX: 0308 ; inline add-windows-message
-: WM_PAINTCLIPBOARD HEX: 0309 ; inline add-windows-message
-: WM_VSCROLLCLIPBOARD HEX: 030A ; inline add-windows-message
-: WM_SIZECLIPBOARD HEX: 030B ; inline add-windows-message
-: WM_ASKCBFORMATNAME HEX: 030C ; inline add-windows-message
-: WM_CHANGECBCHAIN HEX: 030D ; inline add-windows-message
-: WM_HSCROLLCLIPBOARD HEX: 030E ; inline add-windows-message
-: WM_QUERYNEWPALETTE HEX: 030F ; inline add-windows-message
-: WM_PALETTEISCHANGING HEX: 0310 ; inline add-windows-message
-: WM_PALETTECHANGED HEX: 0311 ; inline add-windows-message
-: WM_HOTKEY HEX: 0312 ; inline add-windows-message
-: WM_PRINT HEX: 0317 ; inline add-windows-message
-: WM_PRINTCLIENT HEX: 0318 ; inline add-windows-message
-: WM_APPCOMMAND HEX: 0319 ; inline add-windows-message
-: WM_THEMECHANGED HEX: 031A ; inline add-windows-message
-: WM_HANDHELDFIRST HEX: 0358 ; inline add-windows-message
-: WM_HANDHELDLAST HEX: 035F ; inline add-windows-message
-: WM_AFXFIRST HEX: 0360 ; inline add-windows-message
-: WM_AFXLAST HEX: 037F ; inline add-windows-message
-: WM_PENWINFIRST HEX: 0380 ; inline add-windows-message
-: WM_PENWINLAST HEX: 038F ; inline add-windows-message
-: WM_APP HEX: 8000 ; inline add-windows-message
-: WM_USER HEX: 0400 ; inline add-windows-message
-: EM_GETSEL HEX: 00B0 ; inline add-windows-message
-: EM_SETSEL HEX: 00B1 ; inline add-windows-message
-: EM_GETRECT HEX: 00B2 ; inline add-windows-message
-: EM_SETRECT HEX: 00B3 ; inline add-windows-message
-: EM_SETRECTNP HEX: 00B4 ; inline add-windows-message
-: EM_SCROLL HEX: 00B5 ; inline add-windows-message
-: EM_LINESCROLL HEX: 00B6 ; inline add-windows-message
-: EM_SCROLLCARET HEX: 00B7 ; inline add-windows-message
-: EM_GETMODIFY HEX: 00B8 ; inline add-windows-message
-: EM_SETMODIFY HEX: 00B9 ; inline add-windows-message
-: EM_GETLINECOUNT HEX: 00BA ; inline add-windows-message
-: EM_LINEINDEX HEX: 00BB ; inline add-windows-message
-: EM_SETHANDLE HEX: 00BC ; inline add-windows-message
-: EM_GETHANDLE HEX: 00BD ; inline add-windows-message
-: EM_GETTHUMB HEX: 00BE ; inline add-windows-message
-: EM_LINELENGTH HEX: 00C1 ; inline add-windows-message
-: EM_REPLACESEL HEX: 00C2 ; inline add-windows-message
-: EM_GETLINE HEX: 00C4 ; inline add-windows-message
-: EM_LIMITTEXT HEX: 00C5 ; inline add-windows-message
-: EM_CANUNDO HEX: 00C6 ; inline add-windows-message
-: EM_UNDO HEX: 00C7 ; inline add-windows-message
-: EM_FMTLINES HEX: 00C8 ; inline add-windows-message
-: EM_LINEFROMCHAR HEX: 00C9 ; inline add-windows-message
-: EM_SETTABSTOPS HEX: 00CB ; inline add-windows-message
-: EM_SETPASSWORDCHAR HEX: 00CC ; inline add-windows-message
-: EM_EMPTYUNDOBUFFER HEX: 00CD ; inline add-windows-message
-: EM_GETFIRSTVISIBLELINE HEX: 00CE ; inline add-windows-message
-: EM_SETREADONLY HEX: 00CF ; inline add-windows-message
-: EM_SETWORDBREAKPROC HEX: 00D0 ; inline add-windows-message
-: EM_GETWORDBREAKPROC HEX: 00D1 ; inline add-windows-message
-: EM_GETPASSWORDCHAR HEX: 00D2 ; inline add-windows-message
-: EM_SETMARGINS HEX: 00D3 ; inline add-windows-message
-: EM_GETMARGINS HEX: 00D4 ; inline add-windows-message
-: EM_SETLIMITTEXT EM_LIMITTEXT ; inline add-windows-message
-: EM_GETLIMITTEXT HEX: 00D5 ; inline add-windows-message
-: EM_POSFROMCHAR HEX: 00D6 ; inline add-windows-message
-: EM_CHARFROMPOS HEX: 00D7 ; inline add-windows-message
-: EM_SETIMESTATUS HEX: 00D8 ; inline add-windows-message
-: EM_GETIMESTATUS HEX: 00D9 ; inline add-windows-message
-: BM_GETCHECK HEX: 00F0 ; inline add-windows-message
-: BM_SETCHECK HEX: 00F1 ; inline add-windows-message
-: BM_GETSTATE HEX: 00F2 ; inline add-windows-message
-: BM_SETSTATE HEX: 00F3 ; inline add-windows-message
-: BM_SETSTYLE HEX: 00F4 ; inline add-windows-message
-: BM_CLICK HEX: 00F5 ; inline add-windows-message
-: BM_GETIMAGE HEX: 00F6 ; inline add-windows-message
-: BM_SETIMAGE HEX: 00F7 ; inline add-windows-message
-: STM_SETICON HEX: 0170 ; inline add-windows-message
-: STM_GETICON HEX: 0171 ; inline add-windows-message
-: STM_SETIMAGE HEX: 0172 ; inline add-windows-message
-: STM_GETIMAGE HEX: 0173 ; inline add-windows-message
-: STM_MSGMAX HEX: 0174 ; inline add-windows-message
-: DM_GETDEFID WM_USER ; inline add-windows-message
-: DM_SETDEFID  WM_USER 1 + ; inline add-windows-message
-: DM_REPOSITION WM_USER 2 + ; inline add-windows-message
-: LB_ADDSTRING HEX: 0180 ; inline add-windows-message
-: LB_INSERTSTRING HEX: 0181 ; inline add-windows-message
-: LB_DELETESTRING HEX: 0182 ; inline add-windows-message
-: LB_SELITEMRANGEEX HEX: 0183 ; inline add-windows-message
-: LB_RESETCONTENT HEX: 0184 ; inline add-windows-message
-: LB_SETSEL HEX: 0185 ; inline add-windows-message
-: LB_SETCURSEL HEX: 0186 ; inline add-windows-message
-: LB_GETSEL HEX: 0187 ; inline add-windows-message
-: LB_GETCURSEL HEX: 0188 ; inline add-windows-message
-: LB_GETTEXT HEX: 0189 ; inline add-windows-message
-: LB_GETTEXTLEN HEX: 018A ; inline add-windows-message
-: LB_GETCOUNT HEX: 018B ; inline add-windows-message
-: LB_SELECTSTRING HEX: 018C ; inline add-windows-message
-: LB_DIR HEX: 018D ; inline add-windows-message
-: LB_GETTOPINDEX HEX: 018E ; inline add-windows-message
-: LB_FINDSTRING HEX: 018F ; inline add-windows-message
-: LB_GETSELCOUNT HEX: 0190 ; inline add-windows-message
-: LB_GETSELITEMS HEX: 0191 ; inline add-windows-message
-: LB_SETTABSTOPS HEX: 0192 ; inline add-windows-message
-: LB_GETHORIZONTALEXTENT HEX: 0193 ; inline add-windows-message
-: LB_SETHORIZONTALEXTENT HEX: 0194 ; inline add-windows-message
-: LB_SETCOLUMNWIDTH HEX: 0195 ; inline add-windows-message
-: LB_ADDFILE HEX: 0196 ; inline add-windows-message
-: LB_SETTOPINDEX HEX: 0197 ; inline add-windows-message
-: LB_GETITEMRECT HEX: 0198 ; inline add-windows-message
-: LB_GETITEMDATA HEX: 0199 ; inline add-windows-message
-: LB_SETITEMDATA HEX: 019A ; inline add-windows-message
-: LB_SELITEMRANGE HEX: 019B ; inline add-windows-message
-: LB_SETANCHORINDEX HEX: 019C ; inline add-windows-message
-: LB_GETANCHORINDEX HEX: 019D ; inline add-windows-message
-: LB_SETCARETINDEX HEX: 019E ; inline add-windows-message
-: LB_GETCARETINDEX HEX: 019F ; inline add-windows-message
-: LB_SETITEMHEIGHT HEX: 01A0 ; inline add-windows-message
-: LB_GETITEMHEIGHT HEX: 01A1 ; inline add-windows-message
-: LB_FINDSTRINGEXACT HEX: 01A2 ; inline add-windows-message
-: LB_SETLOCALE HEX: 01A5 ; inline add-windows-message
-: LB_GETLOCALE HEX: 01A6 ; inline add-windows-message
-: LB_SETCOUNT HEX: 01A7 ; inline add-windows-message
-: LB_INITSTORAGE HEX: 01A8 ; inline add-windows-message
-: LB_ITEMFROMPOINT HEX: 01A9 ; inline add-windows-message
-: LB_MULTIPLEADDSTRING HEX: 01B1 ; inline add-windows-message
-: LB_GETLISTBOXINFO HEX: 01B2 ; inline add-windows-message
-: LB_MSGMAX_501 HEX: 01B3 ; inline add-windows-message
-: LB_MSGMAX_WCE4 HEX: 01B1 ; inline add-windows-message
-: LB_MSGMAX_4 HEX: 01B0 ; inline add-windows-message
-: LB_MSGMAX_PRE4 HEX: 01A8 ; inline add-windows-message
-: CB_GETEDITSEL HEX: 0140 ; inline add-windows-message
-: CB_LIMITTEXT HEX: 0141 ; inline add-windows-message
-: CB_SETEDITSEL HEX: 0142 ; inline add-windows-message
-: CB_ADDSTRING HEX: 0143 ; inline add-windows-message
-: CB_DELETESTRING HEX: 0144 ; inline add-windows-message
-: CB_DIR HEX: 0145 ; inline add-windows-message
-: CB_GETCOUNT HEX: 0146 ; inline add-windows-message
-: CB_GETCURSEL HEX: 0147 ; inline add-windows-message
-: CB_GETLBTEXT HEX: 0148 ; inline add-windows-message
-: CB_GETLBTEXTLEN HEX: 0149 ; inline add-windows-message
-: CB_INSERTSTRING HEX: 014A ; inline add-windows-message
-: CB_RESETCONTENT HEX: 014B ; inline add-windows-message
-: CB_FINDSTRING HEX: 014C ; inline add-windows-message
-: CB_SELECTSTRING HEX: 014D ; inline add-windows-message
-: CB_SETCURSEL HEX: 014E ; inline add-windows-message
-: CB_SHOWDROPDOWN HEX: 014F ; inline add-windows-message
-: CB_GETITEMDATA HEX: 0150 ; inline add-windows-message
-: CB_SETITEMDATA HEX: 0151 ; inline add-windows-message
-: CB_GETDROPPEDCONTROLRECT HEX: 0152 ; inline add-windows-message
-: CB_SETITEMHEIGHT HEX: 0153 ; inline add-windows-message
-: CB_GETITEMHEIGHT HEX: 0154 ; inline add-windows-message
-: CB_SETEXTENDEDUI HEX: 0155 ; inline add-windows-message
-: CB_GETEXTENDEDUI HEX: 0156 ; inline add-windows-message
-: CB_GETDROPPEDSTATE HEX: 0157 ; inline add-windows-message
-: CB_FINDSTRINGEXACT HEX: 0158 ; inline add-windows-message
-: CB_SETLOCALE HEX: 0159 ; inline add-windows-message
-: CB_GETLOCALE HEX: 015A ; inline add-windows-message
-: CB_GETTOPINDEX HEX: 015B ; inline add-windows-message
-: CB_SETTOPINDEX HEX: 015C ; inline add-windows-message
-: CB_GETHORIZONTALEXTENT HEX: 015d ; inline add-windows-message
-: CB_SETHORIZONTALEXTENT HEX: 015e ; inline add-windows-message
-: CB_GETDROPPEDWIDTH HEX: 015f ; inline add-windows-message
-: CB_SETDROPPEDWIDTH HEX: 0160 ; inline add-windows-message
-: CB_INITSTORAGE HEX: 0161 ; inline add-windows-message
-: CB_MULTIPLEADDSTRING HEX: 0163 ; inline add-windows-message
-: CB_GETCOMBOBOXINFO HEX: 0164 ; inline add-windows-message
-: CB_MSGMAX_501 HEX: 0165 ; inline add-windows-message
-: CB_MSGMAX_WCE400 HEX: 0163 ; inline add-windows-message
-: CB_MSGMAX_400 HEX: 0162 ; inline add-windows-message
-: CB_MSGMAX_PRE400 HEX: 015B ; inline add-windows-message
-: SBM_SETPOS HEX: 00E0 ; inline add-windows-message 
-: SBM_GETPOS HEX: 00E1 ; inline add-windows-message 
-: SBM_SETRANGE HEX: 00E2 ; inline add-windows-message 
-: SBM_SETRANGEREDRAW HEX: 00E6 ; inline add-windows-message
-: SBM_GETRANGE HEX: 00E3 ; inline add-windows-message
-: SBM_ENABLE_ARROWS HEX: 00E4 ; inline add-windows-message
-: SBM_SETSCROLLINFO HEX: 00E9 ; inline add-windows-message
-: SBM_GETSCROLLINFO HEX: 00EA ; inline add-windows-message
-: SBM_GETSCROLLBARINFO HEX: 00EB ; inline add-windows-message
-: LVM_FIRST HEX: 1000 ; inline add-windows-message ! ListView messages
-: TV_FIRST HEX: 1100 ; inline add-windows-message ! TreeView messages
-: HDM_FIRST HEX: 1200 ; inline add-windows-message ! Header messages
-: TCM_FIRST HEX: 1300 ; inline add-windows-message ! Tab control messages
-: PGM_FIRST HEX: 1400 ; inline add-windows-message ! Pager control messages
-: ECM_FIRST HEX: 1500 ; inline add-windows-message ! Edit control messages
-: BCM_FIRST HEX: 1600 ; inline add-windows-message ! Button control messages
-: CBM_FIRST HEX: 1700 ; inline add-windows-message ! Combobox control messages
-: CCM_FIRST HEX: 2000 ; inline add-windows-message ! Common control shared messages
-: CCM_LAST CCM_FIRST HEX: 0200 + ; inline add-windows-message
-: CCM_SETBKCOLOR CCM_FIRST  1 +  ; inline add-windows-message
-: CCM_SETCOLORSCHEME CCM_FIRST  2 +  ; inline add-windows-message
-: CCM_GETCOLORSCHEME CCM_FIRST  3 +  ; inline add-windows-message
-: CCM_GETDROPTARGET CCM_FIRST  4 +  ; inline add-windows-message
-: CCM_SETUNICODEFORMAT CCM_FIRST  5 +  ; inline add-windows-message
-: CCM_GETUNICODEFORMAT CCM_FIRST  6 +  ; inline add-windows-message
-: CCM_SETVERSION CCM_FIRST  7 +  ; inline add-windows-message
-: CCM_GETVERSION CCM_FIRST  8 +  ; inline add-windows-message
-: CCM_SETNOTIFYWINDOW CCM_FIRST  9 +  ; inline add-windows-message
-: CCM_SETWINDOWTHEME CCM_FIRST  HEX: b +  ; inline add-windows-message
-: CCM_DPISCALE CCM_FIRST  HEX: c +  ; inline add-windows-message
-: HDM_GETITEMCOUNT HDM_FIRST  0 +  ; inline add-windows-message
-: HDM_INSERTITEMA HDM_FIRST  1 +  ; inline add-windows-message
-: HDM_INSERTITEMW HDM_FIRST  10 +  ; inline add-windows-message
-: HDM_DELETEITEM HDM_FIRST  2 +  ; inline add-windows-message
-: HDM_GETITEMA HDM_FIRST  3 +  ; inline add-windows-message
-: HDM_GETITEMW HDM_FIRST  11 +  ; inline add-windows-message
-: HDM_SETITEMA HDM_FIRST  4 +  ; inline add-windows-message
-: HDM_SETITEMW HDM_FIRST  12 +  ; inline add-windows-message
-: HDM_LAYOUT HDM_FIRST  5 +  ; inline add-windows-message
-: HDM_HITTEST HDM_FIRST  6 +  ; inline add-windows-message
-: HDM_GETITEMRECT HDM_FIRST  7 +  ; inline add-windows-message
-: HDM_SETIMAGELIST HDM_FIRST  8 +  ; inline add-windows-message
-: HDM_GETIMAGELIST HDM_FIRST  9 +  ; inline add-windows-message
-: HDM_ORDERTOINDEX HDM_FIRST  15 +  ; inline add-windows-message
-: HDM_CREATEDRAGIMAGE HDM_FIRST  16 +  ; inline add-windows-message
-: HDM_GETORDERARRAY HDM_FIRST  17 +  ; inline add-windows-message
-: HDM_SETORDERARRAY HDM_FIRST  18 +  ; inline add-windows-message
-: HDM_SETHOTDIVIDER HDM_FIRST  19 +  ; inline add-windows-message
-: HDM_SETBITMAPMARGIN HDM_FIRST  20 +  ; inline add-windows-message
-: HDM_GETBITMAPMARGIN HDM_FIRST  21 +  ; inline add-windows-message
-: HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: HDM_SETFILTERCHANGETIMEOUT HDM_FIRST 22 + ; inline add-windows-message
-: HDM_EDITFILTER HDM_FIRST 23 + ; inline add-windows-message
-: HDM_CLEARFILTER HDM_FIRST 24 + ; inline add-windows-message
-: TB_ENABLEBUTTON WM_USER 1 + ; inline add-windows-message
-: TB_CHECKBUTTON WM_USER 2 + ; inline add-windows-message
-: TB_PRESSBUTTON WM_USER 3 + ; inline add-windows-message
-: TB_HIDEBUTTON WM_USER  4 +  ; inline add-windows-message
-: TB_INDETERMINATE WM_USER  5 +  ; inline add-windows-message
-: TB_MARKBUTTON WM_USER  6 +  ; inline add-windows-message
-: TB_ISBUTTONENABLED WM_USER  9 +  ; inline add-windows-message
-: TB_ISBUTTONCHECKED WM_USER  10 +  ; inline add-windows-message
-: TB_ISBUTTONPRESSED WM_USER  11 +  ; inline add-windows-message
-: TB_ISBUTTONHIDDEN WM_USER  12 +  ; inline add-windows-message
-: TB_ISBUTTONINDETERMINATE WM_USER  13 +  ; inline add-windows-message
-: TB_ISBUTTONHIGHLIGHTED WM_USER  14 +  ; inline add-windows-message
-: TB_SETSTATE WM_USER  17 +  ; inline add-windows-message
-: TB_GETSTATE WM_USER  18 +  ; inline add-windows-message
-: TB_ADDBITMAP WM_USER  19 +  ; inline add-windows-message
-: TB_ADDBUTTONSA WM_USER  20 +  ; inline add-windows-message
-: TB_INSERTBUTTONA WM_USER  21 +  ; inline add-windows-message
-: TB_ADDBUTTONS WM_USER  20 +  ; inline add-windows-message
-: TB_INSERTBUTTON WM_USER  21 +  ; inline add-windows-message
-: TB_DELETEBUTTON WM_USER  22 +  ; inline add-windows-message
-: TB_GETBUTTON WM_USER  23 +  ; inline add-windows-message
-: TB_BUTTONCOUNT WM_USER  24 +  ; inline add-windows-message
-: TB_COMMANDTOINDEX WM_USER  25 +  ; inline add-windows-message
-: TB_SAVERESTOREA WM_USER  26 +  ; inline add-windows-message
-: TB_SAVERESTOREW WM_USER  76 +  ; inline add-windows-message
-: TB_CUSTOMIZE WM_USER  27 +  ; inline add-windows-message
-: TB_ADDSTRINGA WM_USER  28 +  ; inline add-windows-message
-: TB_ADDSTRINGW WM_USER  77 +  ; inline add-windows-message
-: TB_GETITEMRECT WM_USER  29 +  ; inline add-windows-message
-: TB_BUTTONSTRUCTSIZE WM_USER  30 +  ; inline add-windows-message
-: TB_SETBUTTONSIZE WM_USER  31 +  ; inline add-windows-message
-: TB_SETBITMAPSIZE WM_USER  32 +  ; inline add-windows-message
-: TB_AUTOSIZE WM_USER  33 +  ; inline add-windows-message
-: TB_GETTOOLTIPS WM_USER  35 +  ; inline add-windows-message
-: TB_SETTOOLTIPS WM_USER  36 +  ; inline add-windows-message
-: TB_SETPARENT WM_USER  37 +  ; inline add-windows-message
-: TB_SETROWS WM_USER  39 +  ; inline add-windows-message
-: TB_GETROWS WM_USER  40 +  ; inline add-windows-message
-: TB_SETCMDID WM_USER  42 +  ; inline add-windows-message
-: TB_CHANGEBITMAP WM_USER  43 +  ; inline add-windows-message
-: TB_GETBITMAP WM_USER  44 +  ; inline add-windows-message
-: TB_GETBUTTONTEXTA WM_USER  45 +  ; inline add-windows-message
-: TB_GETBUTTONTEXTW WM_USER  75 +  ; inline add-windows-message
-: TB_REPLACEBITMAP WM_USER  46 +  ; inline add-windows-message
-: TB_SETINDENT WM_USER  47 +  ; inline add-windows-message
-: TB_SETIMAGELIST WM_USER  48 +  ; inline add-windows-message
-: TB_GETIMAGELIST WM_USER  49 +  ; inline add-windows-message
-: TB_LOADIMAGES WM_USER  50 +  ; inline add-windows-message
-: TB_GETRECT WM_USER  51 +  ; inline add-windows-message
-: TB_SETHOTIMAGELIST WM_USER  52 +  ; inline add-windows-message
-: TB_GETHOTIMAGELIST WM_USER  53 +  ; inline add-windows-message
-: TB_SETDISABLEDIMAGELIST WM_USER  54 +  ; inline add-windows-message
-: TB_GETDISABLEDIMAGELIST WM_USER  55 +  ; inline add-windows-message
-: TB_SETSTYLE WM_USER  56 +  ; inline add-windows-message
-: TB_GETSTYLE WM_USER  57 +  ; inline add-windows-message
-: TB_GETBUTTONSIZE WM_USER  58 +  ; inline add-windows-message
-: TB_SETBUTTONWIDTH WM_USER  59 +  ; inline add-windows-message
-: TB_SETMAXTEXTROWS WM_USER  60 +  ; inline add-windows-message
-: TB_GETTEXTROWS WM_USER  61 +  ; inline add-windows-message
-: TB_GETOBJECT WM_USER  62 +  ; inline add-windows-message
-: TB_GETHOTITEM WM_USER  71 +  ; inline add-windows-message
-: TB_SETHOTITEM WM_USER  72 +  ; inline add-windows-message 
-: TB_SETANCHORHIGHLIGHT WM_USER  73 +  ; inline add-windows-message 
-: TB_GETANCHORHIGHLIGHT WM_USER  74 +  ; inline add-windows-message
-: TB_MAPACCELERATORA WM_USER  78 +  ; inline add-windows-message 
-: TB_GETINSERTMARK WM_USER  79 +  ; inline add-windows-message 
-: TB_SETINSERTMARK WM_USER  80 +  ; inline add-windows-message 
-: TB_INSERTMARKHITTEST WM_USER  81 +  ; inline add-windows-message
-: TB_MOVEBUTTON WM_USER  82 +  ; inline add-windows-message
-: TB_GETMAXSIZE WM_USER  83 +  ; inline add-windows-message
-: TB_SETEXTENDEDSTYLE WM_USER  84 +  ; inline add-windows-message
-: TB_GETEXTENDEDSTYLE WM_USER  85 +  ; inline add-windows-message
-: TB_GETPADDING WM_USER  86 +  ; inline add-windows-message
-: TB_SETPADDING WM_USER  87 +  ; inline add-windows-message
-: TB_SETINSERTMARKCOLOR WM_USER  88 +  ; inline add-windows-message
-: TB_GETINSERTMARKCOLOR WM_USER  89 +  ; inline add-windows-message
-: TB_SETCOLORSCHEME CCM_SETCOLORSCHEME ; inline add-windows-message
-: TB_GETCOLORSCHEME CCM_GETCOLORSCHEME ; inline add-windows-message
-: TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: TB_MAPACCELERATORW WM_USER  90 +  ; inline add-windows-message
-: TB_GETBITMAPFLAGS WM_USER  41 +  ; inline add-windows-message
-: TB_GETBUTTONINFOW WM_USER  63 +  ; inline add-windows-message
-: TB_SETBUTTONINFOW WM_USER  64 +  ; inline add-windows-message
-: TB_GETBUTTONINFOA WM_USER  65 +  ; inline add-windows-message
-: TB_SETBUTTONINFOA WM_USER  66 +  ; inline add-windows-message
-: TB_INSERTBUTTONW WM_USER  67 +  ; inline add-windows-message
-: TB_ADDBUTTONSW WM_USER  68 +  ; inline add-windows-message
-: TB_HITTEST WM_USER  69 +  ; inline add-windows-message
-: TB_SETDRAWTEXTFLAGS WM_USER  70 +  ; inline add-windows-message
-: TB_GETSTRINGW WM_USER  91 +  ; inline add-windows-message
-: TB_GETSTRINGA WM_USER  92 +  ; inline add-windows-message
-: TB_GETMETRICS WM_USER  101 +  ; inline add-windows-message
-: TB_SETMETRICS WM_USER  102 +  ; inline add-windows-message
-: TB_SETWINDOWTHEME CCM_SETWINDOWTHEME ; inline add-windows-message
-: RB_INSERTBANDA WM_USER  1 +  ; inline add-windows-message
-: RB_DELETEBAND WM_USER  2 +  ; inline add-windows-message
-: RB_GETBARINFO WM_USER  3 +  ; inline add-windows-message
-: RB_SETBARINFO WM_USER  4 +  ; inline add-windows-message
-: RB_GETBANDINFO WM_USER  5 +  ; inline add-windows-message
-: RB_SETBANDINFOA WM_USER  6 +  ; inline add-windows-message
-: RB_SETPARENT WM_USER  7 +  ; inline add-windows-message
-: RB_HITTEST WM_USER  8 +  ; inline add-windows-message
-: RB_GETRECT WM_USER  9 +  ; inline add-windows-message
-: RB_INSERTBANDW WM_USER  10 +  ; inline add-windows-message
-: RB_SETBANDINFOW WM_USER  11 +  ; inline add-windows-message
-: RB_GETBANDCOUNT WM_USER  12 +  ; inline add-windows-message
-: RB_GETROWCOUNT WM_USER  13 +  ; inline add-windows-message
-: RB_GETROWHEIGHT WM_USER  14 +  ; inline add-windows-message
-: RB_IDTOINDEX WM_USER  16 +  ; inline add-windows-message 
-: RB_GETTOOLTIPS WM_USER  17 +  ; inline add-windows-message
-: RB_SETTOOLTIPS WM_USER  18 +  ; inline add-windows-message
-: RB_SETBKCOLOR WM_USER  19 +  ; inline add-windows-message
-: RB_GETBKCOLOR WM_USER  20 +  ; inline add-windows-message
-: RB_SETTEXTCOLOR WM_USER  21 +  ; inline add-windows-message
-: RB_GETTEXTCOLOR WM_USER  22 +  ; inline add-windows-message
-: RB_SIZETORECT WM_USER  23 +  ; inline add-windows-message
-: RB_SETCOLORSCHEME CCM_SETCOLORSCHEME ; inline add-windows-message
-: RB_GETCOLORSCHEME CCM_GETCOLORSCHEME ; inline add-windows-message
-: RB_BEGINDRAG WM_USER  24 +  ; inline add-windows-message
-: RB_ENDDRAG WM_USER  25 +  ; inline add-windows-message
-: RB_DRAGMOVE WM_USER  26 +  ; inline add-windows-message
-: RB_GETBARHEIGHT WM_USER  27 +  ; inline add-windows-message
-: RB_GETBANDINFOW WM_USER  28 +  ; inline add-windows-message
-: RB_GETBANDINFOA WM_USER  29 +  ; inline add-windows-message
-: RB_MINIMIZEBAND WM_USER  30 +  ; inline add-windows-message
-: RB_MAXIMIZEBAND WM_USER  31 +  ; inline add-windows-message
-: RB_GETDROPTARGET CCM_GETDROPTARGET ; inline add-windows-message
-: RB_GETBANDBORDERS WM_USER  34 +  ; inline add-windows-message 
-: RB_SHOWBAND WM_USER  35 +  ; inline add-windows-message 
-: RB_SETPALETTE WM_USER  37 +  ; inline add-windows-message
-: RB_GETPALETTE WM_USER  38 +  ; inline add-windows-message
-: RB_MOVEBAND WM_USER  39 +  ; inline add-windows-message
-: RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: RB_GETBANDMARGINS WM_USER  40 +  ; inline add-windows-message
-: RB_SETWINDOWTHEME CCM_SETWINDOWTHEME ; inline add-windows-message
-: RB_PUSHCHEVRON WM_USER  43 +  ; inline add-windows-message
-: TTM_ACTIVATE WM_USER  1 +  ; inline add-windows-message
-: TTM_SETDELAYTIME WM_USER  3 +  ; inline add-windows-message
-: TTM_ADDTOOLA WM_USER  4 +  ; inline add-windows-message
-: TTM_ADDTOOLW WM_USER  50 +  ; inline add-windows-message
-: TTM_DELTOOLA WM_USER  5 +  ; inline add-windows-message
-: TTM_DELTOOLW WM_USER  51 +  ; inline add-windows-message
-: TTM_NEWTOOLRECTA WM_USER  6 +  ; inline add-windows-message
-: TTM_NEWTOOLRECTW WM_USER  52 +  ; inline add-windows-message
-: TTM_RELAYEVENT WM_USER  7 +  ; inline add-windows-message
-: TTM_GETTOOLINFOA WM_USER  8 +  ; inline add-windows-message
-: TTM_GETTOOLINFOW WM_USER  53 +  ; inline add-windows-message
-: TTM_SETTOOLINFOA WM_USER  9 +  ; inline add-windows-message
-: TTM_SETTOOLINFOW WM_USER  54 +  ; inline add-windows-message
-: TTM_HITTESTA WM_USER 10 + ; inline add-windows-message
-: TTM_HITTESTW WM_USER 55 + ; inline add-windows-message
-: TTM_GETTEXTA WM_USER 11 + ; inline add-windows-message
-: TTM_GETTEXTW WM_USER 56 + ; inline add-windows-message
-: TTM_UPDATETIPTEXTA WM_USER 12 + ; inline add-windows-message
-: TTM_UPDATETIPTEXTW WM_USER 57 + ; inline add-windows-message
-: TTM_GETTOOLCOUNT WM_USER 13 + ; inline add-windows-message
-: TTM_ENUMTOOLSA WM_USER 14 + ; inline add-windows-message
-: TTM_ENUMTOOLSW WM_USER 58 + ; inline add-windows-message
-: TTM_GETCURRENTTOOLA WM_USER  15 +  ; inline add-windows-message
-: TTM_GETCURRENTTOOLW WM_USER  59 +  ; inline add-windows-message
-: TTM_WINDOWFROMPOINT WM_USER  16 +  ; inline add-windows-message
-: TTM_TRACKACTIVATE WM_USER  17 +  ; inline add-windows-message
-: TTM_TRACKPOSITION WM_USER  18 +  ; inline add-windows-message
-: TTM_SETTIPBKCOLOR WM_USER  19 +  ; inline add-windows-message
-: TTM_SETTIPTEXTCOLOR WM_USER  20 +  ; inline add-windows-message
-: TTM_GETDELAYTIME WM_USER  21 +  ; inline add-windows-message
-: TTM_GETTIPBKCOLOR WM_USER  22 +  ; inline add-windows-message
-: TTM_GETTIPTEXTCOLOR WM_USER  23 +  ; inline add-windows-message
-: TTM_SETMAXTIPWIDTH WM_USER  24 +  ; inline add-windows-message
-: TTM_GETMAXTIPWIDTH WM_USER  25 +  ; inline add-windows-message
-: TTM_SETMARGIN WM_USER  26 +  ; inline add-windows-message
-: TTM_GETMARGIN WM_USER  27 +  ; inline add-windows-message
-: TTM_POP WM_USER  28 +  ; inline add-windows-message
-: TTM_UPDATE WM_USER  29 +  ; inline add-windows-message
-: TTM_GETBUBBLESIZE WM_USER  30 +  ; inline add-windows-message
-: TTM_ADJUSTRECT WM_USER  31 +  ; inline add-windows-message
-: TTM_SETTITLEA WM_USER  32 +  ; inline add-windows-message
-: TTM_SETTITLEW WM_USER  33 +  ; inline add-windows-message
-: TTM_POPUP WM_USER  34 +  ; inline add-windows-message
-: TTM_GETTITLE WM_USER  35 +  ; inline add-windows-message
-: TTM_SETWINDOWTHEME CCM_SETWINDOWTHEME ; inline add-windows-message
-: SB_SETTEXTA WM_USER 1+  ; inline add-windows-message
-: SB_SETTEXTW WM_USER 11 +  ; inline add-windows-message
-: SB_GETTEXTA WM_USER 2 +  ; inline add-windows-message
-: SB_GETTEXTW WM_USER 13 +  ; inline add-windows-message
-: SB_GETTEXTLENGTHA WM_USER 3 +  ; inline add-windows-message
-: SB_GETTEXTLENGTHW WM_USER 12 +  ; inline add-windows-message
-: SB_SETPARTS WM_USER 4 +  ; inline add-windows-message
-: SB_GETPARTS WM_USER 6 +  ; inline add-windows-message
-: SB_GETBORDERS WM_USER 7 +  ; inline add-windows-message
-: SB_SETMINHEIGHT WM_USER 8 +  ; inline add-windows-message
-: SB_SIMPLE WM_USER 9 +  ; inline add-windows-message
-: SB_GETRECT WM_USER 10 +  ; inline add-windows-message
-: SB_ISSIMPLE WM_USER 14 +  ; inline add-windows-message
-: SB_SETICON WM_USER 15 +  ; inline add-windows-message
-: SB_SETTIPTEXTA WM_USER 16 +  ; inline add-windows-message
-: SB_SETTIPTEXTW WM_USER 17 +  ; inline add-windows-message
-: SB_GETTIPTEXTA WM_USER 18 +  ; inline add-windows-message
-: SB_GETTIPTEXTW WM_USER 19 +  ; inline add-windows-message
-: SB_GETICON WM_USER 20 +  ; inline add-windows-message
-: SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: SB_SETBKCOLOR CCM_SETBKCOLOR ; inline add-windows-message
-: SB_SIMPLEID HEX: 00ff ; inline add-windows-message
-: TBM_GETPOS WM_USER ; inline add-windows-message
-: TBM_GETRANGEMIN WM_USER 1 +  ; inline add-windows-message
-: TBM_GETRANGEMAX WM_USER 2 +  ; inline add-windows-message
-: TBM_GETTIC WM_USER 3 +  ; inline add-windows-message
-: TBM_SETTIC WM_USER 4 +  ; inline add-windows-message
-: TBM_SETPOS WM_USER 5 +  ; inline add-windows-message
-: TBM_SETRANGE WM_USER 6 +  ; inline add-windows-message
-: TBM_SETRANGEMIN WM_USER 7 +  ; inline add-windows-message
-: TBM_SETRANGEMAX WM_USER 8 +  ; inline add-windows-message
-: TBM_CLEARTICS WM_USER 9 +  ; inline add-windows-message
-: TBM_SETSEL WM_USER 10 +  ; inline add-windows-message
-: TBM_SETSELSTART WM_USER 11 +  ; inline add-windows-message
-: TBM_SETSELEND WM_USER 12 +  ; inline add-windows-message
-: TBM_GETPTICS WM_USER 14 +  ; inline add-windows-message
-: TBM_GETTICPOS WM_USER 15 +  ; inline add-windows-message
-: TBM_GETNUMTICS WM_USER 16 +  ; inline add-windows-message
-: TBM_GETSELSTART WM_USER 17 +  ; inline add-windows-message
-: TBM_GETSELEND WM_USER 18 +  ; inline add-windows-message
-: TBM_CLEARSEL WM_USER 19 +  ; inline add-windows-message
-: TBM_SETTICFREQ WM_USER 20 +  ; inline add-windows-message
-: TBM_SETPAGESIZE WM_USER 21 +  ; inline add-windows-message
-: TBM_GETPAGESIZE WM_USER 22 +  ; inline add-windows-message
-: TBM_SETLINESIZE WM_USER 23 +  ; inline add-windows-message
-: TBM_GETLINESIZE WM_USER 24 +  ; inline add-windows-message
-: TBM_GETTHUMBRECT WM_USER 25 +  ; inline add-windows-message
-: TBM_GETCHANNELRECT WM_USER 26 +  ; inline add-windows-message
-: TBM_SETTHUMBLENGTH WM_USER 27 +  ; inline add-windows-message
-: TBM_GETTHUMBLENGTH WM_USER 28 +  ; inline add-windows-message
-: TBM_SETTOOLTIPS WM_USER 29 +  ; inline add-windows-message
-: TBM_GETTOOLTIPS WM_USER 30 +  ; inline add-windows-message
-: TBM_SETTIPSIDE WM_USER 31 +  ; inline add-windows-message
-: TBM_SETBUDDY WM_USER 32 +  ; inline add-windows-message 
-: TBM_GETBUDDY WM_USER 33 +  ; inline add-windows-message 
-: TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: DL_BEGINDRAG WM_USER 133 +  ; inline add-windows-message
-: DL_DRAGGING WM_USER 134 +  ; inline add-windows-message
-: DL_DROPPED WM_USER 135 +  ; inline add-windows-message
-: DL_CANCELDRAG WM_USER 136 +  ; inline add-windows-message
-: UDM_SETRANGE WM_USER 101 +  ; inline add-windows-message
-: UDM_GETRANGE WM_USER 102 +  ; inline add-windows-message
-: UDM_SETPOS WM_USER 103 +  ; inline add-windows-message
-: UDM_GETPOS WM_USER 104 +  ; inline add-windows-message
-: UDM_SETBUDDY WM_USER 105 +  ; inline add-windows-message
-: UDM_GETBUDDY WM_USER 106 +  ; inline add-windows-message
-: UDM_SETACCEL WM_USER 107 +  ; inline add-windows-message
-: UDM_GETACCEL WM_USER 108 +  ; inline add-windows-message
-: UDM_SETBASE WM_USER 109 +  ; inline add-windows-message
-: UDM_GETBASE WM_USER 110 +  ; inline add-windows-message
-: UDM_SETRANGE32 WM_USER 111 +  ; inline add-windows-message
-: UDM_GETRANGE32 WM_USER 112 +  ; inline add-windows-message
-: UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: UDM_SETPOS32 WM_USER 113 +  ; inline add-windows-message
-: UDM_GETPOS32 WM_USER 114 +  ; inline add-windows-message
-: PBM_SETRANGE WM_USER 1 +  ; inline add-windows-message
-: PBM_SETPOS WM_USER 2 +  ; inline add-windows-message
-: PBM_DELTAPOS WM_USER 3 +  ; inline add-windows-message
-: PBM_SETSTEP WM_USER 4 +  ; inline add-windows-message
-: PBM_STEPIT WM_USER 5 +  ; inline add-windows-message
-: PBM_SETRANGE32 WM_USER 6 +  ; inline add-windows-message
-: PBM_GETRANGE WM_USER 7 +  ; inline add-windows-message 
-: PBM_GETPOS WM_USER 8 +  ; inline add-windows-message
-: PBM_SETBARCOLOR WM_USER 9 +  ; inline add-windows-message
-: PBM_SETBKCOLOR CCM_SETBKCOLOR ; inline add-windows-message 
-: HKM_SETHOTKEY WM_USER 1 +  ; inline add-windows-message
-: HKM_GETHOTKEY WM_USER 2 +  ; inline add-windows-message
-: HKM_SETRULES WM_USER 3 +  ; inline add-windows-message
-: LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: LVM_GETBKCOLOR LVM_FIRST  0 +  ; inline add-windows-message
-: LVM_SETBKCOLOR LVM_FIRST  1 +  ; inline add-windows-message
-: LVM_GETIMAGELIST LVM_FIRST  2 +  ; inline add-windows-message
-: LVM_SETIMAGELIST LVM_FIRST  3 +  ; inline add-windows-message
-: LVM_GETITEMCOUNT LVM_FIRST  4 +  ; inline add-windows-message
-: LVM_GETITEMA LVM_FIRST  5 +  ; inline add-windows-message
-: LVM_GETITEMW LVM_FIRST  75 +  ; inline add-windows-message
-: LVM_SETITEMA LVM_FIRST  6 +  ; inline add-windows-message
-: LVM_SETITEMW LVM_FIRST  76 +  ; inline add-windows-message
-: LVM_INSERTITEMA LVM_FIRST  7 +  ; inline add-windows-message
-: LVM_INSERTITEMW LVM_FIRST  77 +  ; inline add-windows-message
-: LVM_DELETEITEM LVM_FIRST  8 +  ; inline add-windows-message
-: LVM_DELETEALLITEMS LVM_FIRST  9 +  ; inline add-windows-message
-: LVM_GETCALLBACKMASK LVM_FIRST  10 +  ; inline add-windows-message
-: LVM_SETCALLBACKMASK LVM_FIRST  11 +  ; inline add-windows-message
-: LVM_FINDITEMA LVM_FIRST  13 +  ; inline add-windows-message
-: LVM_FINDITEMW LVM_FIRST  83 +  ; inline add-windows-message
-: LVM_GETITEMRECT LVM_FIRST  14 +  ; inline add-windows-message
-: LVM_SETITEMPOSITION LVM_FIRST  15 +  ; inline add-windows-message
-: LVM_GETITEMPOSITION LVM_FIRST  16 +  ; inline add-windows-message
-: LVM_GETSTRINGWIDTHA LVM_FIRST  17 +  ; inline add-windows-message
-: LVM_GETSTRINGWIDTHW LVM_FIRST  87 +  ; inline add-windows-message
-: LVM_HITTEST LVM_FIRST  18 +  ; inline add-windows-message
-: LVM_ENSUREVISIBLE LVM_FIRST  19 +  ; inline add-windows-message
-: LVM_SCROLL LVM_FIRST  20 +  ; inline add-windows-message
-: LVM_REDRAWITEMS LVM_FIRST  21 +  ; inline add-windows-message
-: LVM_ARRANGE LVM_FIRST  22 +  ; inline add-windows-message
-: LVM_EDITLABELA LVM_FIRST  23 +  ; inline add-windows-message
-: LVM_EDITLABELW LVM_FIRST  118 +  ; inline add-windows-message
-: LVM_GETEDITCONTROL LVM_FIRST  24 +  ; inline add-windows-message
-: LVM_GETCOLUMNA LVM_FIRST  25 +  ; inline add-windows-message
-: LVM_GETCOLUMNW LVM_FIRST  95 +  ; inline add-windows-message
-: LVM_SETCOLUMNA LVM_FIRST  26 +  ; inline add-windows-message
-: LVM_SETCOLUMNW LVM_FIRST  96 +  ; inline add-windows-message
-: LVM_INSERTCOLUMNA LVM_FIRST  27 +  ; inline add-windows-message
-: LVM_INSERTCOLUMNW LVM_FIRST  97 +  ; inline add-windows-message
-: LVM_DELETECOLUMN LVM_FIRST  28 +  ; inline add-windows-message
-: LVM_GETCOLUMNWIDTH LVM_FIRST  29 +  ; inline add-windows-message
-: LVM_SETCOLUMNWIDTH LVM_FIRST  30 +  ; inline add-windows-message
-: LVM_CREATEDRAGIMAGE LVM_FIRST  33 +  ; inline add-windows-message
-: LVM_GETVIEWRECT LVM_FIRST  34 +  ; inline add-windows-message
-: LVM_GETTEXTCOLOR LVM_FIRST  35 +  ; inline add-windows-message
-: LVM_SETTEXTCOLOR LVM_FIRST  36 +  ; inline add-windows-message
-: LVM_GETTEXTBKCOLOR LVM_FIRST  37 +  ; inline add-windows-message
-: LVM_SETTEXTBKCOLOR LVM_FIRST  38 +  ; inline add-windows-message
-: LVM_GETTOPINDEX LVM_FIRST  39 +  ; inline add-windows-message
-: LVM_GETCOUNTPERPAGE LVM_FIRST  40 +  ; inline add-windows-message
-: LVM_GETORIGIN LVM_FIRST  41 +  ; inline add-windows-message
-: LVM_UPDATE LVM_FIRST  42 +  ; inline add-windows-message
-: LVM_SETITEMSTATE LVM_FIRST  43 +  ; inline add-windows-message
-: LVM_GETITEMSTATE LVM_FIRST  44 +  ; inline add-windows-message
-: LVM_GETITEMTEXTA LVM_FIRST  45 +  ; inline add-windows-message
-: LVM_GETITEMTEXTW LVM_FIRST  115 +  ; inline add-windows-message
-: LVM_SETITEMTEXTA LVM_FIRST  46 +  ; inline add-windows-message
-: LVM_SETITEMTEXTW LVM_FIRST  116 +  ; inline add-windows-message
-: LVM_SETITEMCOUNT LVM_FIRST  47 +  ; inline add-windows-message
-: LVM_SORTITEMS LVM_FIRST  48 +  ; inline add-windows-message
-: LVM_SETITEMPOSITION32 LVM_FIRST  49 +  ; inline add-windows-message
-: LVM_GETSELECTEDCOUNT LVM_FIRST  50 +  ; inline add-windows-message
-: LVM_GETITEMSPACING LVM_FIRST  51 +  ; inline add-windows-message
-: LVM_GETISEARCHSTRINGA LVM_FIRST  52 +  ; inline add-windows-message
-: LVM_GETISEARCHSTRINGW LVM_FIRST  117 +  ; inline add-windows-message
-: LVM_SETICONSPACING LVM_FIRST  53 +  ; inline add-windows-message
-: LVM_SETEXTENDEDLISTVIEWSTYLE LVM_FIRST  54 +  ; inline add-windows-message
-: LVM_GETEXTENDEDLISTVIEWSTYLE LVM_FIRST  55 +  ; inline add-windows-message
-: LVM_GETSUBITEMRECT LVM_FIRST  56 +  ; inline add-windows-message
-: LVM_SUBITEMHITTEST LVM_FIRST  57 +  ; inline add-windows-message
-: LVM_SETCOLUMNORDERARRAY LVM_FIRST  58 +  ; inline add-windows-message
-: LVM_GETCOLUMNORDERARRAY LVM_FIRST  59 +  ; inline add-windows-message
-: LVM_SETHOTITEM LVM_FIRST  60 +  ; inline add-windows-message
-: LVM_GETHOTITEM LVM_FIRST  61 +  ; inline add-windows-message
-: LVM_SETHOTCURSOR LVM_FIRST  62 +  ; inline add-windows-message
-: LVM_GETHOTCURSOR LVM_FIRST  63 +  ; inline add-windows-message
-: LVM_APPROXIMATEVIEWRECT LVM_FIRST  64 +  ; inline add-windows-message
-: LVM_SETWORKAREAS LVM_FIRST  65 +  ; inline add-windows-message
-: LVM_GETWORKAREAS LVM_FIRST  70 +  ; inline add-windows-message
-: LVM_GETNUMBEROFWORKAREAS LVM_FIRST  73 +  ; inline add-windows-message
-: LVM_GETSELECTIONMARK LVM_FIRST  66 +  ; inline add-windows-message
-: LVM_SETSELECTIONMARK LVM_FIRST  67 +  ; inline add-windows-message
-: LVM_SETHOVERTIME LVM_FIRST  71 +  ; inline add-windows-message
-: LVM_GETHOVERTIME LVM_FIRST  72 +  ; inline add-windows-message
-: LVM_SETTOOLTIPS LVM_FIRST  74 +  ; inline add-windows-message
-: LVM_GETTOOLTIPS LVM_FIRST  78 +  ; inline add-windows-message
-: LVM_SORTITEMSEX LVM_FIRST  81 +  ; inline add-windows-message
-: LVM_SETBKIMAGEA LVM_FIRST  68 +  ; inline add-windows-message
-: LVM_SETBKIMAGEW LVM_FIRST  138 +  ; inline add-windows-message
-: LVM_GETBKIMAGEA LVM_FIRST  69 +  ; inline add-windows-message
-: LVM_GETBKIMAGEW LVM_FIRST  139 +  ; inline add-windows-message
-: LVM_SETSELECTEDCOLUMN LVM_FIRST  140 +  ; inline add-windows-message
-: LVM_SETTILEWIDTH LVM_FIRST  141 +  ; inline add-windows-message
-: LVM_SETVIEW LVM_FIRST  142 +  ; inline add-windows-message
-: LVM_GETVIEW LVM_FIRST  143 +  ; inline add-windows-message
-: LVM_INSERTGROUP LVM_FIRST  145 +  ; inline add-windows-message
-: LVM_SETGROUPINFO LVM_FIRST  147 +  ; inline add-windows-message
-: LVM_GETGROUPINFO LVM_FIRST  149 +  ; inline add-windows-message
-: LVM_REMOVEGROUP LVM_FIRST  150 +  ; inline add-windows-message
-: LVM_MOVEGROUP LVM_FIRST  151 +  ; inline add-windows-message
-: LVM_MOVEITEMTOGROUP LVM_FIRST  154 +  ; inline add-windows-message
-: LVM_SETGROUPMETRICS LVM_FIRST  155 +  ; inline add-windows-message
-: LVM_GETGROUPMETRICS LVM_FIRST  156 +  ; inline add-windows-message
-: LVM_ENABLEGROUPVIEW LVM_FIRST  157 +  ; inline add-windows-message
-: LVM_SORTGROUPS LVM_FIRST  158 +  ; inline add-windows-message
-: LVM_INSERTGROUPSORTED LVM_FIRST  159 +  ; inline add-windows-message
-: LVM_REMOVEALLGROUPS LVM_FIRST  160 +  ; inline add-windows-message
-: LVM_HASGROUP LVM_FIRST  161 +  ; inline add-windows-message
-: LVM_SETTILEVIEWINFO LVM_FIRST  162 +  ; inline add-windows-message
-: LVM_GETTILEVIEWINFO LVM_FIRST  163 +  ; inline add-windows-message
-: LVM_SETTILEINFO LVM_FIRST  164 +  ; inline add-windows-message
-: LVM_GETTILEINFO LVM_FIRST  165 +  ; inline add-windows-message
-: LVM_SETINSERTMARK LVM_FIRST  166 +  ; inline add-windows-message
-: LVM_GETINSERTMARK LVM_FIRST  167 +  ; inline add-windows-message
-: LVM_INSERTMARKHITTEST LVM_FIRST  168 +  ; inline add-windows-message
-: LVM_GETINSERTMARKRECT LVM_FIRST  169 +  ; inline add-windows-message
-: LVM_SETINSERTMARKCOLOR LVM_FIRST  170 +  ; inline add-windows-message
-: LVM_GETINSERTMARKCOLOR LVM_FIRST  171 +  ; inline add-windows-message
-: LVM_SETINFOTIP LVM_FIRST  173 +  ; inline add-windows-message
-: LVM_GETSELECTEDCOLUMN LVM_FIRST  174 +  ; inline add-windows-message
-: LVM_ISGROUPVIEWENABLED LVM_FIRST  175 +  ; inline add-windows-message
-: LVM_GETOUTLINECOLOR LVM_FIRST  176 +  ; inline add-windows-message
-: LVM_SETOUTLINECOLOR LVM_FIRST  177 +  ; inline add-windows-message
-: LVM_CANCELEDITLABEL LVM_FIRST  179 +  ; inline add-windows-message
-: LVM_MAPINDEXTOID LVM_FIRST  180 +  ; inline add-windows-message
-: LVM_MAPIDTOINDEX LVM_FIRST  181 +  ; inline add-windows-message
-: TVM_INSERTITEMA TV_FIRST  0 +  ; inline add-windows-message
-: TVM_INSERTITEMW TV_FIRST  50 +  ; inline add-windows-message
-: TVM_DELETEITEM TV_FIRST  1 +  ; inline add-windows-message
-: TVM_EXPAND TV_FIRST  2 +  ; inline add-windows-message
-: TVM_GETITEMRECT TV_FIRST  4 +  ; inline add-windows-message
-: TVM_GETCOUNT TV_FIRST  5 +  ; inline add-windows-message
-: TVM_GETINDENT TV_FIRST  6 +  ; inline add-windows-message
-: TVM_SETINDENT TV_FIRST  7 +  ; inline add-windows-message
-: TVM_GETIMAGELIST TV_FIRST  8 +  ; inline add-windows-message
-: TVM_SETIMAGELIST TV_FIRST  9 +  ; inline add-windows-message
-: TVM_GETNEXTITEM TV_FIRST  10 +  ; inline add-windows-message
-: TVM_SELECTITEM TV_FIRST  11 +  ; inline add-windows-message
-: TVM_GETITEMA TV_FIRST  12 +  ; inline add-windows-message
-: TVM_GETITEMW TV_FIRST  62 +  ; inline add-windows-message
-: TVM_SETITEMA TV_FIRST  13 +  ; inline add-windows-message
-: TVM_SETITEMW TV_FIRST  63 +  ; inline add-windows-message
-: TVM_EDITLABELA TV_FIRST  14 +  ; inline add-windows-message
-: TVM_EDITLABELW TV_FIRST  65 +  ; inline add-windows-message
-: TVM_GETEDITCONTROL TV_FIRST  15 +  ; inline add-windows-message
-: TVM_GETVISIBLECOUNT TV_FIRST  16 +  ; inline add-windows-message
-: TVM_HITTEST TV_FIRST  17 +  ; inline add-windows-message
-: TVM_CREATEDRAGIMAGE TV_FIRST  18 +  ; inline add-windows-message
-: TVM_SORTCHILDREN TV_FIRST  19 +  ; inline add-windows-message
-: TVM_ENSUREVISIBLE TV_FIRST  20 +  ; inline add-windows-message
-: TVM_SORTCHILDRENCB TV_FIRST  21 +  ; inline add-windows-message
-: TVM_ENDEDITLABELNOW TV_FIRST  22 +  ; inline add-windows-message
-: TVM_GETISEARCHSTRINGA TV_FIRST  23 +  ; inline add-windows-message
-: TVM_GETISEARCHSTRINGW TV_FIRST  64 +  ; inline add-windows-message
-: TVM_SETTOOLTIPS TV_FIRST  24 +  ; inline add-windows-message
-: TVM_GETTOOLTIPS TV_FIRST  25 +  ; inline add-windows-message
-: TVM_SETINSERTMARK TV_FIRST  26 +  ; inline add-windows-message
-: TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: TVM_SETITEMHEIGHT TV_FIRST  27 +  ; inline add-windows-message
-: TVM_GETITEMHEIGHT TV_FIRST  28 +  ; inline add-windows-message
-: TVM_SETBKCOLOR TV_FIRST  29 +  ; inline add-windows-message
-: TVM_SETTEXTCOLOR TV_FIRST  30 +  ; inline add-windows-message
-: TVM_GETBKCOLOR TV_FIRST  31 +  ; inline add-windows-message
-: TVM_GETTEXTCOLOR TV_FIRST  32 +  ; inline add-windows-message
-: TVM_SETSCROLLTIME TV_FIRST  33 +  ; inline add-windows-message
-: TVM_GETSCROLLTIME TV_FIRST  34 +  ; inline add-windows-message
-: TVM_SETINSERTMARKCOLOR TV_FIRST  37 +  ; inline add-windows-message
-: TVM_GETINSERTMARKCOLOR TV_FIRST  38 +  ; inline add-windows-message
-: TVM_GETITEMSTATE TV_FIRST  39 +  ; inline add-windows-message
-: TVM_SETLINECOLOR TV_FIRST  40 +  ; inline add-windows-message
-: TVM_GETLINECOLOR TV_FIRST  41 +  ; inline add-windows-message
-: TVM_MAPACCIDTOHTREEITEM TV_FIRST  42 +  ; inline add-windows-message
-: TVM_MAPHTREEITEMTOACCID TV_FIRST  43 +  ; inline add-windows-message
-: CBEM_INSERTITEMA WM_USER  1 +  ; inline add-windows-message
-: CBEM_SETIMAGELIST WM_USER  2 +  ; inline add-windows-message
-: CBEM_GETIMAGELIST WM_USER  3 +  ; inline add-windows-message
-: CBEM_GETITEMA WM_USER  4 +  ; inline add-windows-message
-: CBEM_SETITEMA WM_USER  5 +  ; inline add-windows-message
-: CBEM_DELETEITEM CB_DELETESTRING ; inline add-windows-message
-: CBEM_GETCOMBOCONTROL WM_USER  6 +  ; inline add-windows-message
-: CBEM_GETEDITCONTROL WM_USER  7 +  ; inline add-windows-message
-: CBEM_SETEXTENDEDSTYLE WM_USER  14 +  ; inline add-windows-message
-: CBEM_GETEXTENDEDSTYLE WM_USER  9 +  ; inline add-windows-message
-: CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: CBEM_SETEXSTYLE WM_USER  8 +  ; inline add-windows-message
-: CBEM_GETEXSTYLE WM_USER  9 +  ; inline add-windows-message
-: CBEM_HASEDITCHANGED WM_USER  10 +  ; inline add-windows-message
-: CBEM_INSERTITEMW WM_USER  11 +  ; inline add-windows-message
-: CBEM_SETITEMW WM_USER  12 +  ; inline add-windows-message
-: CBEM_GETITEMW WM_USER  13 +  ; inline add-windows-message
-: TCM_GETIMAGELIST TCM_FIRST  2 +  ; inline add-windows-message
-: TCM_SETIMAGELIST TCM_FIRST  3 +  ; inline add-windows-message
-: TCM_GETITEMCOUNT TCM_FIRST  4 +  ; inline add-windows-message
-: TCM_GETITEMA TCM_FIRST  5 +  ; inline add-windows-message
-: TCM_GETITEMW TCM_FIRST  60 +  ; inline add-windows-message
-: TCM_SETITEMA TCM_FIRST  6 +  ; inline add-windows-message
-: TCM_SETITEMW TCM_FIRST  61 +  ; inline add-windows-message
-: TCM_INSERTITEMA TCM_FIRST  7 +  ; inline add-windows-message
-: TCM_INSERTITEMW TCM_FIRST  62 +  ; inline add-windows-message
-: TCM_DELETEITEM TCM_FIRST  8 +  ; inline add-windows-message
-: TCM_DELETEALLITEMS TCM_FIRST  9 +  ; inline add-windows-message
-: TCM_GETITEMRECT TCM_FIRST  10 +  ; inline add-windows-message
-: TCM_GETCURSEL TCM_FIRST  11 +  ; inline add-windows-message
-: TCM_SETCURSEL TCM_FIRST  12 +  ; inline add-windows-message
-: TCM_HITTEST TCM_FIRST  13 +  ; inline add-windows-message
-: TCM_SETITEMEXTRA TCM_FIRST  14 +  ; inline add-windows-message
-: TCM_ADJUSTRECT TCM_FIRST  40 +  ; inline add-windows-message
-: TCM_SETITEMSIZE TCM_FIRST  41 +  ; inline add-windows-message
-: TCM_REMOVEIMAGE TCM_FIRST  42 +  ; inline add-windows-message
-: TCM_SETPADDING TCM_FIRST  43 +  ; inline add-windows-message
-: TCM_GETROWCOUNT TCM_FIRST  44 +  ; inline add-windows-message
-: TCM_GETTOOLTIPS TCM_FIRST  45 +  ; inline add-windows-message
-: TCM_SETTOOLTIPS TCM_FIRST  46 +  ; inline add-windows-message
-: TCM_GETCURFOCUS TCM_FIRST  47 +  ; inline add-windows-message
-: TCM_SETCURFOCUS TCM_FIRST  48 +  ; inline add-windows-message
-: TCM_SETMINTABWIDTH TCM_FIRST  49 +  ; inline add-windows-message
-: TCM_DESELECTALL TCM_FIRST  50 +  ; inline add-windows-message
-: TCM_HIGHLIGHTITEM TCM_FIRST  51 +  ; inline add-windows-message
-: TCM_SETEXTENDEDSTYLE TCM_FIRST  52 +  ; inline add-windows-message
-: TCM_GETEXTENDEDSTYLE TCM_FIRST  53 +  ; inline add-windows-message
-: TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: ACM_OPENA WM_USER 100 +  ; inline add-windows-message
-: ACM_OPENW WM_USER 103 +  ; inline add-windows-message
-: ACM_PLAY WM_USER 101 +  ; inline add-windows-message
-: ACM_STOP WM_USER 102 +  ; inline add-windows-message
-: MCM_FIRST HEX: 1000 ; inline add-windows-message
-: MCM_GETCURSEL MCM_FIRST  1 +  ; inline add-windows-message
-: MCM_SETCURSEL MCM_FIRST  2 +  ; inline add-windows-message
-: MCM_GETMAXSELCOUNT MCM_FIRST  3 +  ; inline add-windows-message
-: MCM_SETMAXSELCOUNT MCM_FIRST  4 +  ; inline add-windows-message
-: MCM_GETSELRANGE MCM_FIRST  5 +  ; inline add-windows-message
-: MCM_SETSELRANGE MCM_FIRST  6 +  ; inline add-windows-message
-: MCM_GETMONTHRANGE MCM_FIRST  7 +  ; inline add-windows-message
-: MCM_SETDAYSTATE MCM_FIRST  8 +  ; inline add-windows-message
-: MCM_GETMINREQRECT MCM_FIRST  9 +  ; inline add-windows-message
-: MCM_SETCOLOR MCM_FIRST  10 +  ; inline add-windows-message
-: MCM_GETCOLOR MCM_FIRST  11 +  ; inline add-windows-message
-: MCM_SETTODAY MCM_FIRST  12 +  ; inline add-windows-message
-: MCM_GETTODAY MCM_FIRST  13 +  ; inline add-windows-message
-: MCM_HITTEST MCM_FIRST  14 +  ; inline add-windows-message
-: MCM_SETFIRSTDAYOFWEEK MCM_FIRST  15 +  ; inline add-windows-message
-: MCM_GETFIRSTDAYOFWEEK MCM_FIRST  16 +  ; inline add-windows-message
-: MCM_GETRANGE MCM_FIRST  17 +  ; inline add-windows-message
-: MCM_SETRANGE MCM_FIRST  18 +  ; inline add-windows-message
-: MCM_GETMONTHDELTA MCM_FIRST  19 +  ; inline add-windows-message
-: MCM_SETMONTHDELTA MCM_FIRST  20 +  ; inline add-windows-message
-: MCM_GETMAXTODAYWIDTH MCM_FIRST  21 +  ; inline add-windows-message
-: MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
-: MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
-: DTM_FIRST HEX: 1000 ; inline add-windows-message
-: DTM_GETSYSTEMTIME DTM_FIRST  1 +  ; inline add-windows-message
-: DTM_SETSYSTEMTIME DTM_FIRST  2 +  ; inline add-windows-message
-: DTM_GETRANGE DTM_FIRST  3 +  ; inline add-windows-message
-: DTM_SETRANGE DTM_FIRST  4 +  ; inline add-windows-message
-: DTM_SETFORMATA DTM_FIRST  5 +  ; inline add-windows-message
-: DTM_SETFORMATW DTM_FIRST  50 +  ; inline add-windows-message
-: DTM_SETMCCOLOR DTM_FIRST  6 +  ; inline add-windows-message
-: DTM_GETMCCOLOR DTM_FIRST  7 +  ; inline add-windows-message
-: DTM_GETMONTHCAL DTM_FIRST  8 +  ; inline add-windows-message
-: DTM_SETMCFONT DTM_FIRST  9 +  ; inline add-windows-message
-: DTM_GETMCFONT DTM_FIRST  10 +  ; inline add-windows-message
-: PGM_SETCHILD PGM_FIRST  1 +  ; inline add-windows-message
-: PGM_RECALCSIZE PGM_FIRST  2 +  ; inline add-windows-message
-: PGM_FORWARDMOUSE PGM_FIRST  3 +  ; inline add-windows-message
-: PGM_SETBKCOLOR PGM_FIRST  4 +  ; inline add-windows-message
-: PGM_GETBKCOLOR PGM_FIRST  5 +  ; inline add-windows-message
-: PGM_SETBORDER PGM_FIRST  6 +  ; inline add-windows-message
-: PGM_GETBORDER PGM_FIRST  7 +  ; inline add-windows-message
-: PGM_SETPOS PGM_FIRST  8 +  ; inline add-windows-message
-: PGM_GETPOS PGM_FIRST  9 +  ; inline add-windows-message
-: PGM_SETBUTTONSIZE PGM_FIRST  10 +  ; inline add-windows-message
-: PGM_GETBUTTONSIZE PGM_FIRST  11 +  ; inline add-windows-message
-: PGM_GETBUTTONSTATE PGM_FIRST  12 +  ; inline add-windows-message
-: PGM_GETDROPTARGET CCM_GETDROPTARGET ; inline add-windows-message
-: BCM_GETIDEALSIZE BCM_FIRST  1 +  ; inline add-windows-message
-: BCM_SETIMAGELIST BCM_FIRST  2 +  ; inline add-windows-message
-: BCM_GETIMAGELIST BCM_FIRST  3 +  ; inline add-windows-message
-: BCM_SETTEXTMARGIN BCM_FIRST 4 +  ; inline add-windows-message
-: BCM_GETTEXTMARGIN BCM_FIRST 5 +  ; inline add-windows-message
-: EM_SETCUEBANNER       ECM_FIRST  1 +  ; inline add-windows-message
-: EM_GETCUEBANNER       ECM_FIRST  2 +  ; inline add-windows-message
-: EM_SHOWBALLOONTIP ECM_FIRST  3 +  ; inline add-windows-message
-: EM_HIDEBALLOONTIP ECM_FIRST  4 +  ; inline add-windows-message 
-: CB_SETMINVISIBLE CBM_FIRST  1 +  ; inline add-windows-message
-: CB_GETMINVISIBLE CBM_FIRST  2 +  ; inline add-windows-message
-: LM_HITTEST WM_USER  HEX: 0300 +  ; inline add-windows-message 
-: LM_GETIDEALHEIGHT WM_USER  HEX: 0301 +  ; inline add-windows-message
-: LM_SETITEM WM_USER  HEX: 0302 + ; inline add-windows-message 
-: LM_GETITEM WM_USER  HEX: 0303 + ; inline add-windows-message
diff --git a/library/windows/gdi32-constants.factor b/library/windows/gdi32-constants.factor
new file mode 100644 (file)
index 0000000..35ca121
--- /dev/null
@@ -0,0 +1,30 @@
+! Copyright (C) 2005, 2006 Doug Coleman.
+! See http://factor.sf.net/license.txt for BSD license.
+USING: alien kernel errors ;
+IN: win32-api
+
+LIBRARY: gdi32
+
+! Stock Logical Objects
+: WHITE_BRUSH         0 ; inline
+: LTGRAY_BRUSH        1 ; inline
+: GRAY_BRUSH          2 ; inline
+: DKGRAY_BRUSH        3 ; inline
+: BLACK_BRUSH         4 ; inline
+: NULL_BRUSH          5 ; inline
+: HOLLOW_BRUSH        NULL_BRUSH ; inline
+: WHITE_PEN           6 ; inline
+: BLACK_PEN           7 ; inline
+: NULL_PEN            8 ; inline
+: OEM_FIXED_FONT      10 ; inline
+: ANSI_FIXED_FONT     11 ; inline
+: ANSI_VAR_FONT       12 ; inline
+: SYSTEM_FONT         13 ; inline
+: DEVICE_DEFAULT_FONT 14 ; inline
+: DEFAULT_PALETTE     15 ; inline
+: SYSTEM_FIXED_FONT   16 ; inline
+: DEFAULT_GUI_FONT    17 ; inline
+: DC_BRUSH            18 ; inline
+: DC_PEN              19 ; inline
+
+
diff --git a/library/windows/gdi32.factor b/library/windows/gdi32.factor
new file mode 100644 (file)
index 0000000..2f915cf
--- /dev/null
@@ -0,0 +1,616 @@
+! FUNCTION: AbortDoc\r
+! Copyright (C) 2005, 2006 Doug Coleman.\r
+! See http://factor.sf.net/license.txt for BSD license.\r
+USING: alien kernel errors ;\r
+IN: win32-api\r
+\r
+LIBRARY: gdi32\r
+\r
+! FUNCTION: AbortPath\r
+! FUNCTION: AddFontMemResourceEx\r
+! FUNCTION: AddFontResourceA\r
+! FUNCTION: AddFontResourceExA\r
+! FUNCTION: AddFontResourceExW\r
+! FUNCTION: AddFontResourceTracking\r
+! FUNCTION: AddFontResourceW\r
+! FUNCTION: AngleArc\r
+! FUNCTION: AnimatePalette\r
+! FUNCTION: AnyLinkedFonts\r
+! FUNCTION: Arc\r
+! FUNCTION: ArcTo\r
+! FUNCTION: BeginPath\r
+! FUNCTION: bInitSystemAndFontsDirectoriesW\r
+! FUNCTION: BitBlt\r
+! FUNCTION: bMakePathNameW\r
+! FUNCTION: BRUSHOBJ_hGetColorTransform\r
+! FUNCTION: BRUSHOBJ_pvAllocRbrush\r
+! FUNCTION: BRUSHOBJ_pvGetRbrush\r
+! FUNCTION: BRUSHOBJ_ulGetBrushColor\r
+! FUNCTION: CancelDC\r
+! FUNCTION: cGetTTFFromFOT\r
+! FUNCTION: CheckColorsInGamut\r
+FUNCTION: int ChoosePixelFormat ( HDC hDC, PFD* ppfd ) ;\r
+! FUNCTION: Chord\r
+! FUNCTION: ClearBitmapAttributes\r
+! FUNCTION: ClearBrushAttributes\r
+! FUNCTION: CLIPOBJ_bEnum\r
+! FUNCTION: CLIPOBJ_cEnumStart\r
+! FUNCTION: CLIPOBJ_ppoGetPath\r
+! FUNCTION: CloseEnhMetaFile\r
+! FUNCTION: CloseFigure\r
+! FUNCTION: CloseMetaFile\r
+! FUNCTION: ColorCorrectPalette\r
+! FUNCTION: ColorMatchToTarget\r
+! FUNCTION: CombineRgn\r
+! FUNCTION: CombineTransform\r
+! FUNCTION: CopyEnhMetaFileA\r
+! FUNCTION: CopyEnhMetaFileW\r
+! FUNCTION: CopyMetaFileA\r
+! FUNCTION: CopyMetaFileW\r
+! FUNCTION: CreateBitmap\r
+! FUNCTION: CreateBitmapIndirect\r
+! FUNCTION: CreateBrushIndirect\r
+! FUNCTION: CreateColorSpaceA\r
+! FUNCTION: CreateColorSpaceW\r
+! FUNCTION: CreateCompatibleBitmap\r
+! FUNCTION: CreateCompatibleDC\r
+! FUNCTION: CreateDCA\r
+! FUNCTION: CreateDCW\r
+! FUNCTION: CreateDIBitmap\r
+! FUNCTION: CreateDIBPatternBrush\r
+! FUNCTION: CreateDIBPatternBrushPt\r
+! FUNCTION: CreateDIBSection\r
+! FUNCTION: CreateDiscardableBitmap\r
+! FUNCTION: CreateEllipticRgn\r
+! FUNCTION: CreateEllipticRgnIndirect\r
+! FUNCTION: CreateEnhMetaFileA\r
+! FUNCTION: CreateEnhMetaFileW\r
+! FUNCTION: CreateFontA\r
+! FUNCTION: CreateFontIndirectA\r
+! FUNCTION: CreateFontIndirectExA\r
+! FUNCTION: CreateFontIndirectExW\r
+! FUNCTION: CreateFontIndirectW\r
+! FUNCTION: CreateFontW\r
+! FUNCTION: CreateHalftonePalette\r
+! FUNCTION: CreateHatchBrush\r
+! FUNCTION: CreateICA\r
+! FUNCTION: CreateICW\r
+! FUNCTION: CreateMetaFileA\r
+! FUNCTION: CreateMetaFileW\r
+! FUNCTION: CreatePalette\r
+! FUNCTION: CreatePatternBrush\r
+! FUNCTION: CreatePen\r
+! FUNCTION: CreatePenIndirect\r
+! FUNCTION: CreatePolygonRgn\r
+! FUNCTION: CreatePolyPolygonRgn\r
+! FUNCTION: CreateRectRgn\r
+! FUNCTION: CreateRectRgnIndirect\r
+! FUNCTION: CreateRoundRectRgn\r
+! FUNCTION: CreateScalableFontResourceA\r
+! FUNCTION: CreateScalableFontResourceW\r
+! FUNCTION: CreateSolidBrush\r
+! FUNCTION: DdEntry0\r
+! FUNCTION: DdEntry1\r
+! FUNCTION: DdEntry10\r
+! FUNCTION: DdEntry11\r
+! FUNCTION: DdEntry12\r
+! FUNCTION: DdEntry13\r
+! FUNCTION: DdEntry14\r
+! FUNCTION: DdEntry15\r
+! FUNCTION: DdEntry16\r
+! FUNCTION: DdEntry17\r
+! FUNCTION: DdEntry18\r
+! FUNCTION: DdEntry19\r
+! FUNCTION: DdEntry2\r
+! FUNCTION: DdEntry20\r
+! FUNCTION: DdEntry21\r
+! FUNCTION: DdEntry22\r
+! FUNCTION: DdEntry23\r
+! FUNCTION: DdEntry24\r
+! FUNCTION: DdEntry25\r
+! FUNCTION: DdEntry26\r
+! FUNCTION: DdEntry27\r
+! FUNCTION: DdEntry28\r
+! FUNCTION: DdEntry29\r
+! FUNCTION: DdEntry3\r
+! FUNCTION: DdEntry30\r
+! FUNCTION: DdEntry31\r
+! FUNCTION: DdEntry32\r
+! FUNCTION: DdEntry33\r
+! FUNCTION: DdEntry34\r
+! FUNCTION: DdEntry35\r
+! FUNCTION: DdEntry36\r
+! FUNCTION: DdEntry37\r
+! FUNCTION: DdEntry38\r
+! FUNCTION: DdEntry39\r
+! FUNCTION: DdEntry4\r
+! FUNCTION: DdEntry40\r
+! FUNCTION: DdEntry41\r
+! FUNCTION: DdEntry42\r
+! FUNCTION: DdEntry43\r
+! FUNCTION: DdEntry44\r
+! FUNCTION: DdEntry45\r
+! FUNCTION: DdEntry46\r
+! FUNCTION: DdEntry47\r
+! FUNCTION: DdEntry48\r
+! FUNCTION: DdEntry49\r
+! FUNCTION: DdEntry5\r
+! FUNCTION: DdEntry50\r
+! FUNCTION: DdEntry51\r
+! FUNCTION: DdEntry52\r
+! FUNCTION: DdEntry53\r
+! FUNCTION: DdEntry54\r
+! FUNCTION: DdEntry55\r
+! FUNCTION: DdEntry56\r
+! FUNCTION: DdEntry6\r
+! FUNCTION: DdEntry7\r
+! FUNCTION: DdEntry8\r
+! FUNCTION: DdEntry9\r
+! FUNCTION: DeleteColorSpace\r
+! FUNCTION: DeleteDC\r
+! FUNCTION: DeleteEnhMetaFile\r
+! FUNCTION: DeleteMetaFile\r
+! FUNCTION: DeleteObject\r
+! FUNCTION: DescribePixelFormat\r
+! FUNCTION: DeviceCapabilitiesExA\r
+! FUNCTION: DeviceCapabilitiesExW\r
+! FUNCTION: DPtoLP\r
+! FUNCTION: DrawEscape\r
+! FUNCTION: Ellipse\r
+! FUNCTION: EnableEUDC\r
+! FUNCTION: EndDoc\r
+! FUNCTION: EndFormPage\r
+! FUNCTION: EndPage\r
+! FUNCTION: EndPath\r
+! FUNCTION: EngAcquireSemaphore\r
+! FUNCTION: EngAlphaBlend\r
+! FUNCTION: EngAssociateSurface\r
+! FUNCTION: EngBitBlt\r
+! FUNCTION: EngCheckAbort\r
+! FUNCTION: EngComputeGlyphSet\r
+! FUNCTION: EngCopyBits\r
+! FUNCTION: EngCreateBitmap\r
+! FUNCTION: EngCreateClip\r
+! FUNCTION: EngCreateDeviceBitmap\r
+! FUNCTION: EngCreateDeviceSurface\r
+! FUNCTION: EngCreatePalette\r
+! FUNCTION: EngCreateSemaphore\r
+! FUNCTION: EngDeleteClip\r
+! FUNCTION: EngDeletePalette\r
+! FUNCTION: EngDeletePath\r
+! FUNCTION: EngDeleteSemaphore\r
+! FUNCTION: EngDeleteSurface\r
+! FUNCTION: EngEraseSurface\r
+! FUNCTION: EngFillPath\r
+! FUNCTION: EngFindResource\r
+! FUNCTION: EngFreeModule\r
+! FUNCTION: EngGetCurrentCodePage\r
+! FUNCTION: EngGetDriverName\r
+! FUNCTION: EngGetPrinterDataFileName\r
+! FUNCTION: EngGradientFill\r
+! FUNCTION: EngLineTo\r
+! FUNCTION: EngLoadModule\r
+! FUNCTION: EngLockSurface\r
+! FUNCTION: EngMarkBandingSurface\r
+! FUNCTION: EngMultiByteToUnicodeN\r
+! FUNCTION: EngMultiByteToWideChar\r
+! FUNCTION: EngPaint\r
+! FUNCTION: EngPlgBlt\r
+! FUNCTION: EngQueryEMFInfo\r
+! FUNCTION: EngQueryLocalTime\r
+! FUNCTION: EngReleaseSemaphore\r
+! FUNCTION: EngStretchBlt\r
+! FUNCTION: EngStretchBltROP\r
+! FUNCTION: EngStrokeAndFillPath\r
+! FUNCTION: EngStrokePath\r
+! FUNCTION: EngTextOut\r
+! FUNCTION: EngTransparentBlt\r
+! FUNCTION: EngUnicodeToMultiByteN\r
+! FUNCTION: EngUnlockSurface\r
+! FUNCTION: EngWideCharToMultiByte\r
+! FUNCTION: EnumEnhMetaFile\r
+! FUNCTION: EnumFontFamiliesA\r
+! FUNCTION: EnumFontFamiliesExA\r
+! FUNCTION: EnumFontFamiliesExW\r
+! FUNCTION: EnumFontFamiliesW\r
+! FUNCTION: EnumFontsA\r
+! FUNCTION: EnumFontsW\r
+! FUNCTION: EnumICMProfilesA\r
+! FUNCTION: EnumICMProfilesW\r
+! FUNCTION: EnumMetaFile\r
+! FUNCTION: EnumObjects\r
+! FUNCTION: EqualRgn\r
+! FUNCTION: Escape\r
+! FUNCTION: EudcLoadLinkW\r
+! FUNCTION: EudcUnloadLinkW\r
+! FUNCTION: ExcludeClipRect\r
+! FUNCTION: ExtCreatePen\r
+! FUNCTION: ExtCreateRegion\r
+! FUNCTION: ExtEscape\r
+! FUNCTION: ExtFloodFill\r
+! FUNCTION: ExtSelectClipRgn\r
+! FUNCTION: ExtTextOutA\r
+! FUNCTION: ExtTextOutW\r
+! FUNCTION: FillPath\r
+! FUNCTION: FillRgn\r
+! FUNCTION: FixBrushOrgEx\r
+! FUNCTION: FlattenPath\r
+! FUNCTION: FloodFill\r
+! FUNCTION: FontIsLinked\r
+! FUNCTION: FONTOBJ_cGetAllGlyphHandles\r
+! FUNCTION: FONTOBJ_cGetGlyphs\r
+! FUNCTION: FONTOBJ_pfdg\r
+! FUNCTION: FONTOBJ_pifi\r
+! FUNCTION: FONTOBJ_pQueryGlyphAttrs\r
+! FUNCTION: FONTOBJ_pvTrueTypeFontFile\r
+! FUNCTION: FONTOBJ_pxoGetXform\r
+! FUNCTION: FONTOBJ_vGetInfo\r
+! FUNCTION: FrameRgn\r
+! FUNCTION: GdiAddFontResourceW\r
+! FUNCTION: GdiAddGlsBounds\r
+! FUNCTION: GdiAddGlsRecord\r
+! FUNCTION: GdiAlphaBlend\r
+! FUNCTION: GdiArtificialDecrementDriver\r
+! FUNCTION: GdiCleanCacheDC\r
+! FUNCTION: GdiComment\r
+! FUNCTION: GdiConsoleTextOut\r
+! FUNCTION: GdiConvertAndCheckDC\r
+! FUNCTION: GdiConvertBitmap\r
+! FUNCTION: GdiConvertBitmapV5\r
+! FUNCTION: GdiConvertBrush\r
+! FUNCTION: GdiConvertDC\r
+! FUNCTION: GdiConvertEnhMetaFile\r
+! FUNCTION: GdiConvertFont\r
+! FUNCTION: GdiConvertMetaFilePict\r
+! FUNCTION: GdiConvertPalette\r
+! FUNCTION: GdiConvertRegion\r
+! FUNCTION: GdiConvertToDevmodeW\r
+! FUNCTION: GdiCreateLocalEnhMetaFile\r
+! FUNCTION: GdiCreateLocalMetaFilePict\r
+! FUNCTION: GdiDeleteLocalDC\r
+! FUNCTION: GdiDeleteSpoolFileHandle\r
+! FUNCTION: GdiDescribePixelFormat\r
+! FUNCTION: GdiDllInitialize\r
+! FUNCTION: GdiDrawStream\r
+! FUNCTION: GdiEndDocEMF\r
+! FUNCTION: GdiEndPageEMF\r
+! FUNCTION: GdiEntry1\r
+! FUNCTION: GdiEntry10\r
+! FUNCTION: GdiEntry11\r
+! FUNCTION: GdiEntry12\r
+! FUNCTION: GdiEntry13\r
+! FUNCTION: GdiEntry14\r
+! FUNCTION: GdiEntry15\r
+! FUNCTION: GdiEntry16\r
+! FUNCTION: GdiEntry2\r
+! FUNCTION: GdiEntry3\r
+! FUNCTION: GdiEntry4\r
+! FUNCTION: GdiEntry5\r
+! FUNCTION: GdiEntry6\r
+! FUNCTION: GdiEntry7\r
+! FUNCTION: GdiEntry8\r
+! FUNCTION: GdiEntry9\r
+! FUNCTION: GdiFixUpHandle\r
+! FUNCTION: GdiFlush\r
+! FUNCTION: GdiFullscreenControl\r
+! FUNCTION: GdiGetBatchLimit\r
+! FUNCTION: GdiGetCharDimensions\r
+! FUNCTION: GdiGetCodePage\r
+! FUNCTION: GdiGetDC\r
+! FUNCTION: GdiGetDevmodeForPage\r
+! FUNCTION: GdiGetLocalBrush\r
+! FUNCTION: GdiGetLocalDC\r
+! FUNCTION: GdiGetLocalFont\r
+! FUNCTION: GdiGetPageCount\r
+! FUNCTION: GdiGetPageHandle\r
+! FUNCTION: GdiGetSpoolFileHandle\r
+! FUNCTION: GdiGetSpoolMessage\r
+! FUNCTION: GdiGradientFill\r
+! FUNCTION: GdiInitializeLanguagePack\r
+! FUNCTION: GdiInitSpool\r
+! FUNCTION: GdiIsMetaFileDC\r
+! FUNCTION: GdiIsMetaPrintDC\r
+! FUNCTION: GdiIsPlayMetafileDC\r
+! FUNCTION: GdiPlayDCScript\r
+! FUNCTION: GdiPlayEMF\r
+! FUNCTION: GdiPlayJournal\r
+! FUNCTION: GdiPlayPageEMF\r
+! FUNCTION: GdiPlayPrivatePageEMF\r
+! FUNCTION: GdiPlayScript\r
+! FUNCTION: gdiPlaySpoolStream\r
+! FUNCTION: GdiPrinterThunk\r
+! FUNCTION: GdiProcessSetup\r
+! FUNCTION: GdiQueryFonts\r
+! FUNCTION: GdiQueryTable\r
+! FUNCTION: GdiRealizationInfo\r
+! FUNCTION: GdiReleaseDC\r
+! FUNCTION: GdiReleaseLocalDC\r
+! FUNCTION: GdiResetDCEMF\r
+! FUNCTION: GdiSetAttrs\r
+! FUNCTION: GdiSetBatchLimit\r
+! FUNCTION: GdiSetLastError\r
+FUNCTION: BOOL GdiSetPixelFormat ( HDC hDC, int iPixelFormat, PFD* ppfd ) ;\r
+! FUNCTION: GdiSetServerAttr\r
+! FUNCTION: GdiStartDocEMF\r
+! FUNCTION: GdiStartPageEMF\r
+! FUNCTION: GdiSwapBuffers\r
+! FUNCTION: GdiTransparentBlt\r
+! FUNCTION: GdiValidateHandle\r
+! FUNCTION: GetArcDirection\r
+! FUNCTION: GetAspectRatioFilterEx\r
+! FUNCTION: GetBitmapAttributes\r
+! FUNCTION: GetBitmapBits\r
+! FUNCTION: GetBitmapDimensionEx\r
+! FUNCTION: GetBkColor\r
+! FUNCTION: GetBkMode\r
+! FUNCTION: GetBoundsRect\r
+! FUNCTION: GetBrushAttributes\r
+! FUNCTION: GetBrushOrgEx\r
+! FUNCTION: GetCharABCWidthsA\r
+! FUNCTION: GetCharABCWidthsFloatA\r
+! FUNCTION: GetCharABCWidthsFloatW\r
+! FUNCTION: GetCharABCWidthsI\r
+! FUNCTION: GetCharABCWidthsW\r
+! FUNCTION: GetCharacterPlacementA\r
+! FUNCTION: GetCharacterPlacementW\r
+! FUNCTION: GetCharWidth32A\r
+! FUNCTION: GetCharWidth32W\r
+! FUNCTION: GetCharWidthA\r
+! FUNCTION: GetCharWidthFloatA\r
+! FUNCTION: GetCharWidthFloatW\r
+! FUNCTION: GetCharWidthI\r
+! FUNCTION: GetCharWidthInfo\r
+! FUNCTION: GetCharWidthW\r
+! FUNCTION: GetClipBox\r
+! FUNCTION: GetClipRgn\r
+! FUNCTION: GetColorAdjustment\r
+! FUNCTION: GetColorSpace\r
+! FUNCTION: GetCurrentObject\r
+! FUNCTION: GetCurrentPositionEx\r
+! FUNCTION: GetDCBrushColor\r
+! FUNCTION: GetDCOrgEx\r
+! FUNCTION: GetDCPenColor\r
+! FUNCTION: GetDeviceCaps\r
+! FUNCTION: GetDeviceGammaRamp\r
+! FUNCTION: GetDIBColorTable\r
+! FUNCTION: GetDIBits\r
+! FUNCTION: GetEnhMetaFileA\r
+! FUNCTION: GetEnhMetaFileBits\r
+! FUNCTION: GetEnhMetaFileDescriptionA\r
+! FUNCTION: GetEnhMetaFileDescriptionW\r
+! FUNCTION: GetEnhMetaFileHeader\r
+! FUNCTION: GetEnhMetaFilePaletteEntries\r
+! FUNCTION: GetEnhMetaFilePixelFormat\r
+! FUNCTION: GetEnhMetaFileW\r
+! FUNCTION: GetETM\r
+! FUNCTION: GetEUDCTimeStamp\r
+! FUNCTION: GetEUDCTimeStampExW\r
+! FUNCTION: GetFontAssocStatus\r
+! FUNCTION: GetFontData\r
+! FUNCTION: GetFontLanguageInfo\r
+! FUNCTION: GetFontResourceInfoW\r
+! FUNCTION: GetFontUnicodeRanges\r
+! FUNCTION: GetGlyphIndicesA\r
+! FUNCTION: GetGlyphIndicesW\r
+! FUNCTION: GetGlyphOutline\r
+! FUNCTION: GetGlyphOutlineA\r
+! FUNCTION: GetGlyphOutlineW\r
+! FUNCTION: GetGlyphOutlineWow\r
+! FUNCTION: GetGraphicsMode\r
+! FUNCTION: GetHFONT\r
+! FUNCTION: GetICMProfileA\r
+! FUNCTION: GetICMProfileW\r
+! FUNCTION: GetKerningPairs\r
+! FUNCTION: GetKerningPairsA\r
+! FUNCTION: GetKerningPairsW\r
+! FUNCTION: GetLayout\r
+! FUNCTION: GetLogColorSpaceA\r
+! FUNCTION: GetLogColorSpaceW\r
+! FUNCTION: GetMapMode\r
+! FUNCTION: GetMetaFileA\r
+! FUNCTION: GetMetaFileBitsEx\r
+! FUNCTION: GetMetaFileW\r
+! FUNCTION: GetMetaRgn\r
+! FUNCTION: GetMiterLimit\r
+! FUNCTION: GetNearestColor\r
+! FUNCTION: GetNearestPaletteIndex\r
+! FUNCTION: GetObjectA\r
+! FUNCTION: GetObjectType\r
+! FUNCTION: GetObjectW\r
+! FUNCTION: GetOutlineTextMetricsA\r
+! FUNCTION: GetOutlineTextMetricsW\r
+! FUNCTION: GetPaletteEntries\r
+! FUNCTION: GetPath\r
+! FUNCTION: GetPixel\r
+! FUNCTION: GetPixelFormat\r
+! FUNCTION: GetPolyFillMode\r
+! FUNCTION: GetRandomRgn\r
+! FUNCTION: GetRasterizerCaps\r
+! FUNCTION: GetRegionData\r
+! FUNCTION: GetRelAbs\r
+! FUNCTION: GetRgnBox\r
+! FUNCTION: GetROP2\r
+FUNCTION: HGDIOBJ GetStockObject ( int fnObject ) ;\r
+! FUNCTION: GetStretchBltMode\r
+! FUNCTION: GetStringBitmapA\r
+! FUNCTION: GetStringBitmapW\r
+! FUNCTION: GetSystemPaletteEntries\r
+! FUNCTION: GetSystemPaletteUse\r
+! FUNCTION: GetTextAlign\r
+! FUNCTION: GetTextCharacterExtra\r
+! FUNCTION: GetTextCharset\r
+! FUNCTION: GetTextCharsetInfo\r
+! FUNCTION: GetTextColor\r
+! FUNCTION: GetTextExtentExPointA\r
+! FUNCTION: GetTextExtentExPointI\r
+! FUNCTION: GetTextExtentExPointW\r
+! FUNCTION: GetTextExtentExPointWPri\r
+! FUNCTION: GetTextExtentPoint32A\r
+! FUNCTION: GetTextExtentPoint32W\r
+! FUNCTION: GetTextExtentPointA\r
+! FUNCTION: GetTextExtentPointI\r
+! FUNCTION: GetTextExtentPointW\r
+! FUNCTION: GetTextFaceA\r
+! FUNCTION: GetTextFaceAliasW\r
+! FUNCTION: GetTextFaceW\r
+! FUNCTION: GetTextMetricsA\r
+! FUNCTION: GetTextMetricsW\r
+! FUNCTION: GetTransform\r
+! FUNCTION: GetViewportExtEx\r
+! FUNCTION: GetViewportOrgEx\r
+! FUNCTION: GetWindowExtEx\r
+! FUNCTION: GetWindowOrgEx\r
+! FUNCTION: GetWinMetaFileBits\r
+! FUNCTION: GetWorldTransform\r
+! FUNCTION: HT_Get8BPPFormatPalette\r
+! FUNCTION: HT_Get8BPPMaskPalette\r
+! FUNCTION: IntersectClipRect\r
+! FUNCTION: InvertRgn\r
+! FUNCTION: IsValidEnhMetaRecord\r
+! FUNCTION: IsValidEnhMetaRecordOffExt\r
+! FUNCTION: LineDDA\r
+! FUNCTION: LineTo\r
+! FUNCTION: LPtoDP\r
+! FUNCTION: MaskBlt\r
+! FUNCTION: MirrorRgn\r
+! FUNCTION: ModifyWorldTransform\r
+! FUNCTION: MoveToEx\r
+! FUNCTION: NamedEscape\r
+! FUNCTION: OffsetClipRgn\r
+! FUNCTION: OffsetRgn\r
+! FUNCTION: OffsetViewportOrgEx\r
+! FUNCTION: OffsetWindowOrgEx\r
+! FUNCTION: PaintRgn\r
+! FUNCTION: PatBlt\r
+! FUNCTION: PATHOBJ_bEnum\r
+! FUNCTION: PATHOBJ_bEnumClipLines\r
+! FUNCTION: PATHOBJ_vEnumStart\r
+! FUNCTION: PATHOBJ_vEnumStartClipLines\r
+! FUNCTION: PATHOBJ_vGetBounds\r
+! FUNCTION: PathToRegion\r
+! FUNCTION: Pie\r
+! FUNCTION: PlayEnhMetaFile\r
+! FUNCTION: PlayEnhMetaFileRecord\r
+! FUNCTION: PlayMetaFile\r
+! FUNCTION: PlayMetaFileRecord\r
+! FUNCTION: PlgBlt\r
+! FUNCTION: PolyBezier\r
+! FUNCTION: PolyBezierTo\r
+! FUNCTION: PolyDraw\r
+! FUNCTION: Polygon\r
+! FUNCTION: Polyline\r
+! FUNCTION: PolylineTo\r
+! FUNCTION: PolyPatBlt\r
+! FUNCTION: PolyPolygon\r
+! FUNCTION: PolyPolyline\r
+! FUNCTION: PolyTextOutA\r
+! FUNCTION: PolyTextOutW\r
+! FUNCTION: PtInRegion\r
+! FUNCTION: PtVisible\r
+! FUNCTION: QueryFontAssocStatus\r
+! FUNCTION: RealizePalette\r
+! FUNCTION: Rectangle\r
+! FUNCTION: RectInRegion\r
+! FUNCTION: RectVisible\r
+! FUNCTION: RemoveFontMemResourceEx\r
+! FUNCTION: RemoveFontResourceA\r
+! FUNCTION: RemoveFontResourceExA\r
+! FUNCTION: RemoveFontResourceExW\r
+! FUNCTION: RemoveFontResourceTracking\r
+! FUNCTION: RemoveFontResourceW\r
+! FUNCTION: ResetDCA\r
+! FUNCTION: ResetDCW\r
+! FUNCTION: ResizePalette\r
+! FUNCTION: RestoreDC\r
+! FUNCTION: RoundRect\r
+! FUNCTION: SaveDC\r
+! FUNCTION: ScaleViewportExtEx\r
+! FUNCTION: ScaleWindowExtEx\r
+! FUNCTION: SelectBrushLocal\r
+! FUNCTION: SelectClipPath\r
+! FUNCTION: SelectClipRgn\r
+! FUNCTION: SelectFontLocal\r
+! FUNCTION: SelectObject\r
+! FUNCTION: SelectPalette\r
+! FUNCTION: SetAbortProc\r
+! FUNCTION: SetArcDirection\r
+! FUNCTION: SetBitmapAttributes\r
+! FUNCTION: SetBitmapBits\r
+! FUNCTION: SetBitmapDimensionEx\r
+! FUNCTION: SetBkColor\r
+! FUNCTION: SetBkMode\r
+! FUNCTION: SetBoundsRect\r
+! FUNCTION: SetBrushAttributes\r
+! FUNCTION: SetBrushOrgEx\r
+! FUNCTION: SetColorAdjustment\r
+! FUNCTION: SetColorSpace\r
+! FUNCTION: SetDCBrushColor\r
+! FUNCTION: SetDCPenColor\r
+! FUNCTION: SetDeviceGammaRamp\r
+! FUNCTION: SetDIBColorTable\r
+! FUNCTION: SetDIBits\r
+! FUNCTION: SetDIBitsToDevice\r
+! FUNCTION: SetEnhMetaFileBits\r
+! FUNCTION: SetFontEnumeration\r
+! FUNCTION: SetGraphicsMode\r
+! FUNCTION: SetICMMode\r
+! FUNCTION: SetICMProfileA\r
+! FUNCTION: SetICMProfileW\r
+! FUNCTION: SetLayout\r
+! FUNCTION: SetLayoutWidth\r
+! FUNCTION: SetMagicColors\r
+! FUNCTION: SetMapMode\r
+! FUNCTION: SetMapperFlags\r
+! FUNCTION: SetMetaFileBitsEx\r
+! FUNCTION: SetMetaRgn\r
+! FUNCTION: SetMiterLimit\r
+! FUNCTION: SetPaletteEntries\r
+! FUNCTION: SetPixel\r
+! FUNCTION: SetPixelFormat\r
+! FUNCTION: SetPixelV\r
+! FUNCTION: SetPolyFillMode\r
+! FUNCTION: SetRectRgn\r
+! FUNCTION: SetRelAbs\r
+! FUNCTION: SetROP2\r
+! FUNCTION: SetStretchBltMode\r
+! FUNCTION: SetSystemPaletteUse\r
+! FUNCTION: SetTextAlign\r
+! FUNCTION: SetTextCharacterExtra\r
+! FUNCTION: SetTextColor\r
+! FUNCTION: SetTextJustification\r
+! FUNCTION: SetViewportExtEx\r
+! FUNCTION: SetViewportOrgEx\r
+! FUNCTION: SetVirtualResolution\r
+! FUNCTION: SetWindowExtEx\r
+! FUNCTION: SetWindowOrgEx\r
+! FUNCTION: SetWinMetaFileBits\r
+! FUNCTION: SetWorldTransform\r
+! FUNCTION: StartDocA\r
+! FUNCTION: StartDocW\r
+! FUNCTION: StartFormPage\r
+! FUNCTION: StartPage\r
+! FUNCTION: StretchBlt\r
+! FUNCTION: StretchDIBits\r
+! FUNCTION: STROBJ_bEnum\r
+! FUNCTION: STROBJ_bEnumPositionsOnly\r
+! FUNCTION: STROBJ_bGetAdvanceWidths\r
+! FUNCTION: STROBJ_dwGetCodePage\r
+! FUNCTION: STROBJ_vEnumStart\r
+! FUNCTION: StrokeAndFillPath\r
+! FUNCTION: StrokePath\r
+FUNCTION: BOOL SwapBuffers ( HDC hDC ) ;\r
+! FUNCTION: TextOutA\r
+! FUNCTION: TextOutW\r
+! FUNCTION: TranslateCharsetInfo\r
+! FUNCTION: UnloadNetworkFonts\r
+! FUNCTION: UnrealizeObject\r
+! FUNCTION: UpdateColors\r
+! FUNCTION: UpdateICMRegKeyA\r
+! FUNCTION: UpdateICMRegKeyW\r
+! FUNCTION: WidenPath\r
+! FUNCTION: XFORMOBJ_bApplyXform\r
+! FUNCTION: XFORMOBJ_iGetXform\r
+! FUNCTION: XLATEOBJ_cGetPalette\r
+! FUNCTION: XLATEOBJ_hGetColorTransform\r
+! FUNCTION: XLATEOBJ_iXlate\r
+! FUNCTION: XLATEOBJ_piVector\r
diff --git a/library/windows/kernel32.factor b/library/windows/kernel32.factor
new file mode 100644 (file)
index 0000000..f6f1d46
--- /dev/null
@@ -0,0 +1,57 @@
+! Copyright (C) 2005, 2006 Doug Coleman.
+! See http://factor.sf.net/license.txt for BSD license.
+USING: alien kernel errors ;
+IN: win32-api
+
+LIBRARY: kernel32
+
+
+! FUNCTION: DWORD FormatMessage(
+    ! DWORD dwFlags,
+    ! LPCVOID lpSource,
+    ! DWORD dwMessageId,
+    ! DWORD dwLanguageId,
+    ! LPTSTR lpBuffer,
+    ! DWORD nSize,
+    ! va_list* Arguments
+! ) ;
+
+
+! FUNCTION: HMODULE GetModuleHandleA ( LPCTSTR lpModulename ) ;
+! FUNCTION: HMODULE GetModuleHandleW ( LPCWSTR lpModulename ) ;
+
+FUNCTION: HMODULE GetModuleHandleA ( void* lpModulename ) ;
+FUNCTION: HMODULE GetModuleHandleW ( void* lpModulename ) ;
+
+: GetModuleHandle \ GetModuleHandleW \ GetModuleHandleA unicode-exec ;
+
+
+! FUNCTION: HMODULE GetModuleHandleEx (
+!    DWORD dwFlags,
+!    LPCTSTR lpModulename,
+!    HMODULE* phModule ) ;
+
+
+
+FUNCTION: DWORD GetLastError ( ) ;
+
+: (win32-error) ( id -- string )
+    "char*" f "error_message" [ "int" ] alien-invoke ;
+
+: win32-error ( -- )
+    GetLastError dup 0 = [ (win32-error) throw ] unless drop ;
+
+: GHND HEX: 40 ; inline
+: GMEM_FIXED 0 ; inline
+: GMEM_MOVEABLE 2 ; inline
+: GMEM_ZEROINIT HEX: 40 ; inline
+: GPTR HEX: 40 ; inline
+
+FUNCTION: HGLOBAL GlobalAlloc ( UINT uFlags, SIZE_T dwBytes ) ;
+FUNCTION: LPVOID GlobalLock ( HGLOBAL hMem ) ;
+! FUNCTION: char* GlobalLock ( HGLOBAL hMem ) ;
+FUNCTION: BOOL GlobalUnlock ( HGLOBAL hMem ) ;
+
+FUNCTION: DWORD SleepEx ( DWORD dwMilliSeconds, BOOL bAlertable ) ;
+
+
diff --git a/library/windows/load.factor b/library/windows/load.factor
new file mode 100644 (file)
index 0000000..67af88c
--- /dev/null
@@ -0,0 +1,30 @@
+IN: scratchpad
+USING: alien compiler kernel namespaces parser sequences words ;
+
+{
+    { "gdi32"    "gdi32.dll"    "stdcall" }
+    { "user32"   "user32.dll"   "stdcall" }
+    { "kernel32" "kernel32.dll" "stdcall" }
+    { "winsock"  "ws2_32.dll"   "stdcall" }
+    { "mswsock"  "mswsock.dll"  "stdcall" }
+    { "libc"     "msvcrt.dll"   "cdecl"   }
+} [ first3 add-library ] each
+
+{ 
+    "windows-messages"
+    "types"
+    "gdi32"
+    "kernel32-types"
+    "kernel32-constants"
+    "kernel32-structs"
+    "kernel32"
+    "user32-types"
+    "user32-constants"
+    "user32-structs"
+    "user32"
+    "opengl32"
+    "utils"
+} [ "/windows/" swap ".factor" append3 run-resource ] each
+    
+IN: kernel
+: default-shell "tty" ;
diff --git a/library/windows/opengl32.factor b/library/windows/opengl32.factor
new file mode 100644 (file)
index 0000000..ecbfad5
--- /dev/null
@@ -0,0 +1,102 @@
+! Copyright (C) 2005, 2006 Doug Coleman.
+! See http://factor.sf.net/license.txt for BSD license.
+USING: alien parser namespaces kernel syntax words math io prettyprint ;
+IN: win32-api
+
+! PIXELFORMATDESCRIPTOR flags
+: PFD_DOUBLEBUFFER            HEX: 00000001 ; inline
+: PFD_STEREO                  HEX: 00000002 ; inline
+: PFD_DRAW_TO_WINDOW          HEX: 00000004 ; inline
+: PFD_DRAW_TO_BITMAP          HEX: 00000008 ; inline
+: PFD_SUPPORT_GDI             HEX: 00000010 ; inline
+: PFD_SUPPORT_OPENGL          HEX: 00000020 ; inline
+: PFD_GENERIC_FORMAT          HEX: 00000040 ; inline
+: PFD_NEED_PALETTE            HEX: 00000080 ; inline
+: PFD_NEED_SYSTEM_PALETTE     HEX: 00000100 ; inline
+: PFD_SWAP_EXCHANGE           HEX: 00000200 ; inline
+: PFD_SWAP_COPY               HEX: 00000400 ; inline
+: PFD_SWAP_LAYER_BUFFERS      HEX: 00000800 ; inline
+: PFD_GENERIC_ACCELERATED     HEX: 00001000 ; inline
+: PFD_SUPPORT_DIRECTDRAW      HEX: 00002000 ; inline
+
+! PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only
+: PFD_DEPTH_DONTCARE          HEX: 20000000 ; inline
+: PFD_DOUBLEBUFFER_DONTCARE   HEX: 40000000 ; inline
+: PFD_STEREO_DONTCARE         HEX: 80000000 ; inline
+
+! pixel types
+: PFD_TYPE_RGBA        0 ; inline
+: PFD_TYPE_COLORINDEX  1 ; inline
+! layer types
+: PFD_MAIN_PLANE       0 ; inline
+: PFD_OVERLAY_PLANE    1 ; inline
+: PFD_UNDERLAY_PLANE   -1 ; inline
+
+: LPD_TYPE_RGBA        0 ; inline
+: LPD_TYPE_COLORINDEX  1 ; inline
+
+! wglSwapLayerBuffers flags
+: WGL_SWAP_MAIN_PLANE     HEX: 00000001 ; inline
+: WGL_SWAP_OVERLAY1       HEX: 00000002 ; inline
+: WGL_SWAP_OVERLAY2       HEX: 00000004 ; inline
+: WGL_SWAP_OVERLAY3       HEX: 00000008 ; inline
+: WGL_SWAP_OVERLAY4       HEX: 00000010 ; inline
+: WGL_SWAP_OVERLAY5       HEX: 00000020 ; inline
+: WGL_SWAP_OVERLAY6       HEX: 00000040 ; inline
+: WGL_SWAP_OVERLAY7       HEX: 00000080 ; inline
+: WGL_SWAP_OVERLAY8       HEX: 00000100 ; inline
+: WGL_SWAP_OVERLAY9       HEX: 00000200 ; inline
+: WGL_SWAP_OVERLAY10      HEX: 00000400 ; inline
+: WGL_SWAP_OVERLAY11      HEX: 00000800 ; inline
+: WGL_SWAP_OVERLAY12      HEX: 00001000 ; inline
+: WGL_SWAP_OVERLAY13      HEX: 00002000 ; inline
+: WGL_SWAP_OVERLAY14      HEX: 00004000 ; inline
+: WGL_SWAP_OVERLAY15      HEX: 00008000 ; inline
+: WGL_SWAP_UNDERLAY1      HEX: 00010000 ; inline
+: WGL_SWAP_UNDERLAY2      HEX: 00020000 ; inline
+: WGL_SWAP_UNDERLAY3      HEX: 00040000 ; inline
+: WGL_SWAP_UNDERLAY4      HEX: 00080000 ; inline
+: WGL_SWAP_UNDERLAY5      HEX: 00100000 ; inline
+: WGL_SWAP_UNDERLAY6      HEX: 00200000 ; inline
+: WGL_SWAP_UNDERLAY7      HEX: 00400000 ; inline
+: WGL_SWAP_UNDERLAY8      HEX: 00800000 ; inline
+: WGL_SWAP_UNDERLAY9      HEX: 01000000 ; inline
+: WGL_SWAP_UNDERLAY10     HEX: 02000000 ; inline
+: WGL_SWAP_UNDERLAY11     HEX: 04000000 ; inline
+: WGL_SWAP_UNDERLAY12     HEX: 08000000 ; inline
+: WGL_SWAP_UNDERLAY13     HEX: 10000000 ; inline
+: WGL_SWAP_UNDERLAY14     HEX: 20000000 ; inline
+: WGL_SWAP_UNDERLAY15     HEX: 40000000 ; inline
+
+
+
+: pfd-dwFlags
+    PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL bitor PFD_DOUBLEBUFFER bitor ;
+
+! TODO: compare to http://www.nullterminator.net/opengl32.html
+: make-pfd ( bits -- pfd )
+    "PIXELFORMATDESCRIPTOR" <c-object>
+    "PIXELFORMATDESCRIPTOR" c-size over set-PIXELFORMATDESCRIPTOR-nSize
+    1 over set-PIXELFORMATDESCRIPTOR-nVersion
+    pfd-dwFlags over set-PIXELFORMATDESCRIPTOR-dwFlags
+    PFD_TYPE_RGBA over set-PIXELFORMATDESCRIPTOR-iPixelType
+    [ set-PIXELFORMATDESCRIPTOR-cColorBits ] keep
+    16 over set-PIXELFORMATDESCRIPTOR-cDepthBits
+    PFD_MAIN_PLANE over set-PIXELFORMATDESCRIPTOR-dwLayerMask ;
+
+
+LIBRARY: gl
+
+
+! FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC ) ;
+! FUNCTION: HDC ResetDC ( HDC hdc, DEVMODE* lpInitData ) ;
+! FUNCTION: BOOL RestoreDC ( HDC hdc, int nSavedDC ) ;
+! FUNCTION: int SaveDC( HDC hDC ) ;
+! FUNCTION: HGDIOBJ SelectObject ( HDC hDC, HGDIOBJ hgdiobj ) ;
+
+FUNCTION: HGLRC wglCreateContext ( HDC hDC ) ;
+FUNCTION: BOOL wglDeleteContext ( HGLRC hRC ) ;
+FUNCTION: BOOL wglMakeCurrent ( HDC hDC, HGLRC hglrc ) ;
+
+
diff --git a/library/windows/types.factor b/library/windows/types.factor
new file mode 100644 (file)
index 0000000..c52a85a
--- /dev/null
@@ -0,0 +1,367 @@
+! Copyright (C) 2005, 2006 Doug Coleman.
+! See http://factor.sf.net/license.txt for BSD license.
+USING: alien namespaces kernel words ;
+IN: win32-api
+
+! http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_data_types.asp
+
+SYMBOL: unicode f unicode set
+: unicode-exec ( unicode-func ascii-func -- func )
+       unicode get [
+               drop execute
+       ] [
+               nip execute
+       ] if ; inline
+
+: unicode? unicode get ; inline
+
+: win64? f ;
+
+! win64
+! char uchar short ushort int uint long ulong longlong ulonglong
+! 1    1     2     2      *   *    ?
+! win32
+! char uchar short ushort int uint long ulong longlong ulonglong
+! 1    1     2     2      *   *    4    4     8        8
+
+
+TYPEDEF: char                CHAR
+TYPEDEF: uchar               UCHAR
+TYPEDEF: uchar               BYTE
+
+TYPEDEF: short               wchar_t
+TYPEDEF: wchar_t             WCHAR
+
+TYPEDEF: short               SHORT
+TYPEDEF: ushort              USHORT
+
+TYPEDEF: ushort              WORD
+TYPEDEF: ulong               DWORD
+
+TYPEDEF: int                 INT
+TYPEDEF: uint                UINT
+
+TYPEDEF: int                 BOOL
+
+TYPEDEF: int*                PINT
+TYPEDEF: int*                LPINT
+TYPEDEF: int                 HFILE
+
+TYPEDEF: long                LONG
+TYPEDEF: long*               LPLONG
+TYPEDEF: long                LONG_PTR
+TYPEDEF: long*               PLONG_PTR
+
+TYPEDEF: uint                ULONG
+TYPEDEF: ulong               ULONG_PTR
+TYPEDEF: ulong*              PULONG_PTR
+
+TYPEDEF: void                VOID
+TYPEDEF: void*               PVOID
+TYPEDEF: void*               LPVOID
+TYPEDEF: void*               LPCVOID
+
+TYPEDEF: float               FLOAT
+! The following is commented out for two reasons.
+! 1) all of the code in both branches will be run because TYPEDEF: is a 
+!    parsing word
+! 2) we are waiting on gcc to be ported to win64/msys
+! 3) the TYPEDEF:s are probably wrong.
+
+! win64? [
+    ! ! TODO: check these!
+        ! TYPEDEF: INT32       HALF_PTR
+        ! TYPEDEF: UINT32      UHALF_PTR
+        ! TYPEDEF: long        INT_PTR
+        ! TYPEDEF: ulong       UINT_PTR
+        ! TYPEDEF: longlong    LONG_PTR ! 64bit
+        ! TYPEDEF: ulonglong   ULONG_PTR ! 64bit
+        ! TYPEDEF: int         INT32
+        ! TYPEDEF: uint        UINT32
+        ! TYPEDEF: uint        DWORD32
+        ! TYPEDEF: uint        ULONG32
+        ! TYPEDEF: ulong       ULONG64
+        ! TYPEDEF: int*        POINTER_32
+        ! TYPEDEF: long*       POINTER_64
+        ! TYPEDEF: longlong    INT64
+        ! TYPEDEF: ulonglong   UINT64
+        ! TYPEDEF: longlong    LONGLONG ! 64bit
+        ! TYPEDEF: ulonglong   ULONGLONG
+        ! TYPEDEF: longlong    LONG64
+        ! TYPEDEF: ulonglong   DWORD64
+    ! ] [
+! Correct for win32
+        TYPEDEF: short       HALF_PTR
+        TYPEDEF: ushort      UHALF_PTR
+        TYPEDEF: int         INT_PTR
+        TYPEDEF: uint        UINT_PTR
+
+        TYPEDEF: int         LONG_PTR
+        TYPEDEF: ulong       ULONG_PTR
+
+        TYPEDEF: int         INT32
+        TYPEDEF: uint        UINT32
+        TYPEDEF: uint        DWORD32
+        TYPEDEF: ulong       ULONG32
+        TYPEDEF: ulonglong   ULONG64
+        TYPEDEF: long*       POINTER_32
+        TYPEDEF: longlong*   POINTER_64
+        TYPEDEF: longlong    INT64
+        TYPEDEF: ulonglong   UINT64
+        TYPEDEF: longlong    LONGLONG
+        TYPEDEF: ulonglong   ULONGLONG
+        TYPEDEF: longlong    LONG64
+        TYPEDEF: ulonglong   DWORD64
+! ] if
+
+! unicode? [
+        ! TYPEDEF: WCHAR       TBYTE
+        ! TYPEDEF: WCHAR       TCHAR
+    ! ] [
+        TYPEDEF: uchar       TBYTE
+        TYPEDEF: char        TCHAR
+! ] if
+
+! Below down is based on the above definitions
+! There should be no 32/64bit issues
+
+TYPEDEF: WORD                ATOM
+TYPEDEF: BYTE                BOOLEAN
+! TYPEDEF: __stdcall           CALLBACK
+TYPEDEF: DWORD               COLORREF
+TYPEDEF: ULONGLONG           DWORDLONG
+TYPEDEF: ULONG_PTR           DWORD_PTR
+TYPEDEF: PVOID               HANDLE
+TYPEDEF: HANDLE              HACCEL
+TYPEDEF: HANDLE              HBITMAP
+TYPEDEF: HANDLE              HBRUSH
+TYPEDEF: HANDLE              HCOLORSPACE
+TYPEDEF: HANDLE              HCONV
+TYPEDEF: HANDLE              HCONVLIST
+TYPEDEF: HANDLE              HICON
+TYPEDEF: HICON               HCURSOR
+TYPEDEF: HANDLE              HDC
+TYPEDEF: HANDLE              HDDEDATA
+TYPEDEF: HANDLE              HDESK
+TYPEDEF: HANDLE              HDROP
+TYPEDEF: HANDLE              HDWP
+TYPEDEF: HANDLE              HENMETAFILE
+TYPEDEF: HANDLE              HFONT
+TYPEDEF: HANDLE              HGDIOBJ
+TYPEDEF: HANDLE              HGLOBAL
+TYPEDEF: HANDLE              HHOOK
+TYPEDEF: HANDLE              HINSTANCE
+TYPEDEF: HANDLE              HKEY
+TYPEDEF: HANDLE              HKL
+TYPEDEF: HANDLE              HLOCAL
+TYPEDEF: HANDLE              HMENU
+TYPEDEF: HANDLE              HMETAFILE
+TYPEDEF: HINSTANCE           HMODULE
+TYPEDEF: HANDLE              HMONITOR
+TYPEDEF: HANDLE              HPALETTE
+TYPEDEF: HANDLE              HPEN
+TYPEDEF: LONG                HRESULT
+TYPEDEF: HANDLE              HRGN
+TYPEDEF: HANDLE              HRSRC
+TYPEDEF: HANDLE              HSZ
+TYPEDEF: HANDLE              WINSTA   ! MS docs say  typedef HANDLE WINSTA ;
+TYPEDEF: HANDLE              HWINSTA  ! typo??
+TYPEDEF: HANDLE              HWND
+TYPEDEF: WORD                LANGID
+TYPEDEF: DWORD               LCID
+TYPEDEF: DWORD               LCTYPE
+TYPEDEF: DWORD               LGRPID
+TYPEDEF: LONG_PTR            LPARAM
+TYPEDEF: BOOL*               LPBOOL
+TYPEDEF: BYTE*               LPBYTE
+TYPEDEF: DWORD*              LPCOLORREF
+! TYPEDEF: CHAR*               LPCSTR
+TYPEDEF: VOID*               LPCSTR
+TYPEDEF: WCHAR*              LPCWSTR
+TYPEDEF: WCHAR*              LPWSTR
+unicode? [
+        TYPEDEF: LPCWSTR     LPCTSTR
+        TYPEDEF: LPWSTR      LPTSTR
+        TYPEDEF: LPCWSTR     PCTSTR
+        TYPEDEF: LPWSTR      PTSTR
+    ] [
+        TYPEDEF: LPCSTR      LPCTSTR
+        TYPEDEF: LPSTR       LPTSTR
+        TYPEDEF: LPCSTR      PCTSTR
+        TYPEDEF: LPSTR       PTSTR
+] if
+TYPEDEF: DWORD*              LPDWORD
+TYPEDEF: HANDLE*             LPHANDLE
+TYPEDEF: CHAR*               LPSTR
+TYPEDEF: WORD*               LPWORD
+TYPEDEF: WCHAR*              LPWSTR
+TYPEDEF: LONG_PTR            LRESULT
+TYPEDEF: BOOL*               PBOOL
+TYPEDEF: BOOLEAN*            PBOOLEAN
+TYPEDEF: BYTE*               PBYTE
+TYPEDEF: CHAR*               PCHAR
+TYPEDEF: CHAR*               PCSTR
+TYPEDEF: WCHAR*              PCWSTR
+TYPEDEF: DWORD*              PDWORD
+TYPEDEF: DWORDLONG*          PDWORDLONG
+TYPEDEF: DWORD_PTR*          PDWORD_PTR
+TYPEDEF: DWORD32*            PDWORD32
+TYPEDEF: DWORD64*            PDWORD64
+TYPEDEF: FLOAT*              PFLOAT
+TYPEDEF: HALF_PTR*           PHALF_PTR
+TYPEDEF: HANDLE*             PHANDLE
+TYPEDEF: HKEY*               PHKEY
+TYPEDEF: INT_PTR*            PINT_PTR
+TYPEDEF: INT32*              PINT32
+TYPEDEF: INT64*              PINT64
+TYPEDEF: PDWORD              PLCID
+TYPEDEF: LONG*               PLONG
+TYPEDEF: LONGLONG*           PLONGLONG
+TYPEDEF: LONG_PTR*           PLONG_PTR
+TYPEDEF: LONG32*             PLONG32
+TYPEDEF: LONG64*             PLONG64
+TYPEDEF: SHORT*              PSHORT
+TYPEDEF: SIZE_T*             PSIZE_T
+TYPEDEF: SSIZE_T*            PSSIZE_T
+TYPEDEF: CHAR*               PSTR
+TYPEDEF: TBYTE*              PTBYTE
+TYPEDEF: TCHAR*              PTCHAR
+TYPEDEF: UCHAR*              PUCHAR
+TYPEDEF: UHALF_PTR*          PUHALF_PTR
+TYPEDEF: UINT*               PUINT
+TYPEDEF: UINT_PTR*           PUINT_PTR
+TYPEDEF: UINT32*             PUINT32
+TYPEDEF: UINT64*             PUINT64
+TYPEDEF: ULONG*              PULONG
+TYPEDEF: ULONGLONG*          PULONGLONG
+TYPEDEF: ULONG_PTR*          PULONG_PTR
+TYPEDEF: ULONG32*            PULONG32
+TYPEDEF: ULONG64*            PULONG64
+TYPEDEF: USHORT*             PUSHORT
+TYPEDEF: WCHAR*              PWCHAR
+TYPEDEF: WORD*               PWORD
+TYPEDEF: WCHAR*              PWSTR
+TYPEDEF: HANDLE              SC_HANDLE
+TYPEDEF: LPVOID              SC_LOCK
+TYPEDEF: HANDLE              SERVICE_STATUS_HANDLE
+TYPEDEF: ULONG_PTR           SIZE_T
+TYPEDEF: LONG_PTR            SSIZE_T
+TYPEDEF: LONGLONG            USN
+TYPEDEF: UINT_PTR            WPARAM
+
+
+TYPEDEF: RECT* LPRECT
+TYPEDEF: void* PWNDCLASS
+TYPEDEF: void* PWNDCLASSEX
+
+TYPEDEF: void* WNDPROC
+TYPEDEF: void* MSGBOXPARAMSA
+TYPEDEF: void* MSGBOXPARAMSW
+
+! typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
+
+BEGIN-STRUCT: WNDCLASS
+    FIELD: UINT style
+    FIELD: WNDPROC lpfnWndProc
+    FIELD: int cbClsExtra
+    FIELD: int cbWndExtra
+    FIELD: HINSTANCE hInstance
+    FIELD: HICON hIcon
+    FIELD: HCURSOR hCursor
+    FIELD: HBRUSH hbrBackground
+    FIELD: LPCTSTR lpszMenuName
+    FIELD: LPCTSTR lpszClassName
+END-STRUCT
+
+BEGIN-STRUCT: WNDCLASSEX
+    FIELD: UINT cbSize
+    FIELD: UINT style
+    FIELD: WNDPROC lpfnWndProc
+    FIELD: int cbClsExtra
+    FIELD: int cbWndExtra
+    FIELD: HINSTANCE hInstance
+    FIELD: HICON hIcon
+    FIELD: HCURSOR hCursor
+    FIELD: HBRUSH hbrBackground
+    FIELD: LPCTSTR lpszMenuName
+    FIELD: LPCTSTR lpszClassName
+    FIELD: HICON hIconSm
+END-STRUCT
+
+BEGIN-STRUCT: RECT
+    FIELD: LONG left
+    FIELD: LONG top
+    FIELD: LONG right
+    FIELD: LONG bottom
+END-STRUCT
+
+BEGIN-STRUCT: PAINTSTRUCT
+    FIELD: HDC  hdc
+    FIELD: BOOL fErase
+    FIELD: RECT rcPaint
+    FIELD: BOOL fRestore
+    FIELD: BOOL fIncUpdate
+    FIELD: BYTE rgbReserved[32]
+END-STRUCT
+
+TYPEDEF: PAINTSTRUCT* LPPAINTSTRUCT
+
+BEGIN-STRUCT: POINT
+    FIELD: LONG x
+    FIELD: LONG y
+END-STRUCT 
+
+BEGIN-STRUCT: MSG
+    FIELD: HWND        hWnd
+    FIELD: UINT        message
+    FIELD: WPARAM      wParam
+    FIELD: LPARAM      lParam
+    FIELD: DWORD       time
+    FIELD: POINT       pt
+END-STRUCT
+TYPEDEF: MSG*                LPMSG
+
+BEGIN-STRUCT: PIXELFORMATDESCRIPTOR
+  FIELD: WORD  nSize
+  FIELD: WORD  nVersion
+  FIELD: DWORD dwFlags 
+  FIELD: BYTE  iPixelType
+  FIELD: BYTE  cColorBits
+  FIELD: BYTE  cRedBits
+  FIELD: BYTE  cRedShift
+  FIELD: BYTE  cGreenBits
+  FIELD: BYTE  cGreenShift
+  FIELD: BYTE  cBlueBits
+  FIELD: BYTE  cBlueShift
+  FIELD: BYTE  cAlphaBits
+  FIELD: BYTE  cAlphaShift
+  FIELD: BYTE  cAccumBits
+  FIELD: BYTE  cAccumRedBits
+  FIELD: BYTE  cAccumGreenBits
+  FIELD: BYTE  cAccumBlueBits
+  FIELD: BYTE  cAccumAlphaBits
+  FIELD: BYTE  cDepthBits
+  FIELD: BYTE  cStencilBits
+  FIELD: BYTE  cAuxBuffers
+  FIELD: BYTE  iLayerType
+  FIELD: BYTE  bReserved
+  FIELD: DWORD dwLayerMask
+  FIELD: DWORD dwVisibleMask
+  FIELD: DWORD dwDamageMask
+END-STRUCT
+
+BEGIN-STRUCT: RECT
+    FIELD: LONG left
+    FIELD: LONG top
+    FIELD: LONG right
+    FIELD: LONG bottom
+END-STRUCT
+
+TYPEDEF: RECT* PRECT
+TYPEDEF: RECT* LPRECT
+TYPEDEF: PIXELFORMATDESCRIPTOR PFD
+TYPEDEF: PFD* LPPFD
+TYPEDEF: HANDLE HGLRC
+TYPEDEF: HANDLE HRGN
diff --git a/library/windows/user32.factor b/library/windows/user32.factor
new file mode 100644 (file)
index 0000000..7d6545d
--- /dev/null
@@ -0,0 +1,888 @@
+! Copyright (C) 2005, 2006 Doug Coleman.
+! See http://factor.sf.net/license.txt for BSD license.
+USING: alien parser namespaces kernel syntax words math io prettyprint ;
+IN: win32-api
+
+
+
+
+LIBRARY: user32
+FUNCTION: HKL ActivateKeyboardLayout ( HKL hkl, UINT Flags ) ;
+
+FUNCTION: BOOL AdjustWindowRect ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu ) ;
+FUNCTION: BOOL AdjustWindowRectEx ( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle ) ;
+! FUNCTION: AlignRects
+! FUNCTION: AllowForegroundActivation
+! FUNCTION: AllowSetForegroundWindow
+! FUNCTION: AnimateWindow
+
+
+
+FUNCTION: BOOL AnyPopup ( ) ;
+
+! FUNCTION: AppendMenuA
+! FUNCTION: AppendMenuW
+! FUNCTION: ArrangeIconicWindows
+! FUNCTION: AttachThreadInput
+! FUNCTION: BeginDeferWindowPos
+
+
+FUNCTION: HDC BeginPaint ( HWND hwnd, LPPAINTSTRUCT lpPaint ) ;
+
+! FUNCTION: BlockInput
+! FUNCTION: BringWindowToTop
+! FUNCTION: BroadcastSystemMessage
+! FUNCTION: BroadcastSystemMessageA
+! FUNCTION: BroadcastSystemMessageExA
+! FUNCTION: BroadcastSystemMessageExW
+! FUNCTION: BroadcastSystemMessageW
+! FUNCTION: BuildReasonArray
+! FUNCTION: CalcMenuBar
+! FUNCTION: CallMsgFilter
+! FUNCTION: CallMsgFilterA
+! FUNCTION: CallMsgFilterW
+! FUNCTION: CallNextHookEx
+! FUNCTION: CallWindowProcA
+! FUNCTION: CallWindowProcW
+! FUNCTION: CascadeChildWindows
+! FUNCTION: CascadeWindows
+! FUNCTION: ChangeClipboardChain
+! FUNCTION: ChangeDisplaySettingsA
+! FUNCTION: ChangeDisplaySettingsExA
+! FUNCTION: ChangeDisplaySettingsExW
+! FUNCTION: ChangeDisplaySettingsW
+! FUNCTION: ChangeMenuA
+! FUNCTION: ChangeMenuW
+! FUNCTION: CharLowerA
+! FUNCTION: CharLowerBuffA
+! FUNCTION: CharLowerBuffW
+! FUNCTION: CharLowerW
+! FUNCTION: CharNextA
+! FUNCTION: CharNextExA
+! FUNCTION: CharNextW
+! FUNCTION: CharPrevA
+! FUNCTION: CharPrevExA
+! FUNCTION: CharPrevW
+! FUNCTION: CharToOemA
+! FUNCTION: CharToOemBuffA
+! FUNCTION: CharToOemBuffW
+! FUNCTION: CharToOemW
+! FUNCTION: CharUpperA
+! FUNCTION: CharUpperBuffA
+! FUNCTION: CharUpperBuffW
+! FUNCTION: CharUpperW
+! FUNCTION: CheckDlgButton
+! FUNCTION: CheckMenuItem
+! FUNCTION: CheckMenuRadioItem
+! FUNCTION: CheckRadioButton
+! FUNCTION: ChildWindowFromPoint
+! FUNCTION: ChildWindowFromPointEx
+! FUNCTION: ClientThreadSetup
+! FUNCTION: ClientToScreen
+! FUNCTION: CliImmSetHotKey
+! FUNCTION: ClipCursor
+FUNCTION: BOOL CloseClipboard ( ) ;
+! FUNCTION: CloseDesktop
+! FUNCTION: CloseWindow
+! FUNCTION: CloseWindowStation
+! FUNCTION: CopyAcceleratorTableA
+! FUNCTION: CopyAcceleratorTableW
+! FUNCTION: CopyIcon
+! FUNCTION: CopyImage
+! FUNCTION: CopyRect
+! FUNCTION: CountClipboardFormats
+! FUNCTION: CreateAcceleratorTableA
+! FUNCTION: CreateAcceleratorTableW
+! FUNCTION: CreateCaret
+! FUNCTION: CreateCursor
+! FUNCTION: CreateDesktopA
+! FUNCTION: CreateDesktopW
+! FUNCTION: CreateDialogIndirectParamA
+! FUNCTION: CreateDialogIndirectParamAorW
+! FUNCTION: CreateDialogIndirectParamW
+! FUNCTION: CreateDialogParamA
+! FUNCTION: CreateDialogParamW
+! FUNCTION: CreateIcon
+! FUNCTION: CreateIconFromResource
+! FUNCTION: CreateIconFromResourceEx
+! FUNCTION: CreateIconIndirect
+! FUNCTION: CreateMDIWindowA
+! FUNCTION: CreateMDIWindowW
+! FUNCTION: CreateMenu
+! FUNCTION: CreatePopupMenu
+! FUNCTION: CreateSystemThreads
+
+FUNCTION: HWND CreateWindowExA (
+                DWORD dwExStyle,
+                LPCSTR lpClassName,
+                LPCSTR lpWindowName,
+                DWORD dwStyle,
+                uint X,
+                uint Y,
+                uint nWidth,
+                uint nHeight,
+                HWND hWndParent,
+                HMENU hMenu,
+                HINSTANCE hInstance,
+                LPVOID lpParam ) ;
+
+FUNCTION: HWND CreateWindowExW (
+                DWORD dwExStyle,
+                LPCWSTR lpClassName,
+                LPCWSTR lpWindowName,
+                DWORD dwStyle,
+                uint X,
+                uint Y,
+                uint nWidth,
+                uint nHeight,
+                HWND hWndParent,
+                HMENU hMenu,
+                HINSTANCE hInstance,
+                LPVOID lpParam ) ;
+
+: CreateWindowEx \ CreateWindowExW \ CreateWindowExA unicode-exec ;
+
+! 11 >r <r
+: CreateWindow >r >r >r >r >r >r >r >r >r >r >r 0 r> r> r> r> r> r> r> r> r> r> r> CreateWindowEx ;
+
+
+! FUNCTION: CreateWindowStationA
+! FUNCTION: CreateWindowStationW
+! FUNCTION: CsrBroadcastSystemMessageExW
+! FUNCTION: CtxInitUser32
+! FUNCTION: DdeAbandonTransaction
+! FUNCTION: DdeAccessData
+! FUNCTION: DdeAddData
+! FUNCTION: DdeClientTransaction
+! FUNCTION: DdeCmpStringHandles
+! FUNCTION: DdeConnect
+! FUNCTION: DdeConnectList
+! FUNCTION: DdeCreateDataHandle
+! FUNCTION: DdeCreateStringHandleA
+! FUNCTION: DdeCreateStringHandleW
+! FUNCTION: DdeDisconnect
+! FUNCTION: DdeDisconnectList
+! FUNCTION: DdeEnableCallback
+! FUNCTION: DdeFreeDataHandle
+! FUNCTION: DdeFreeStringHandle
+! FUNCTION: DdeGetData
+! FUNCTION: DdeGetLastError
+! FUNCTION: DdeGetQualityOfService
+! FUNCTION: DdeImpersonateClient
+! FUNCTION: DdeInitializeA
+! FUNCTION: DdeInitializeW
+! FUNCTION: DdeKeepStringHandle
+! FUNCTION: DdeNameService
+! FUNCTION: DdePostAdvise
+! FUNCTION: DdeQueryConvInfo
+! FUNCTION: DdeQueryNextServer
+! FUNCTION: DdeQueryStringA
+! FUNCTION: DdeQueryStringW
+! FUNCTION: DdeReconnect
+! FUNCTION: DdeSetQualityOfService
+! FUNCTION: DdeSetUserHandle
+! FUNCTION: DdeUnaccessData
+! FUNCTION: DdeUninitialize
+! FUNCTION: DefDlgProcA
+! FUNCTION: DefDlgProcW
+! FUNCTION: DeferWindowPos
+! FUNCTION: DefFrameProcA
+! FUNCTION: DefFrameProcW
+! FUNCTION: DefMDIChildProcA
+! FUNCTION: DefMDIChildProcW
+! FUNCTION: DefRawInputProc
+FUNCTION: LRESULT DefWindowProcA ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ) ;
+FUNCTION: LRESULT DefWindowProcW ( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ) ;
+: DefWindowProc \ DefWindowProcW \ DefWindowProcA unicode-exec ;
+! FUNCTION: DeleteMenu
+! FUNCTION: DeregisterShellHookWindow
+! FUNCTION: DestroyAcceleratorTable
+! FUNCTION: DestroyCaret
+! FUNCTION: DestroyCursor
+! FUNCTION: DestroyIcon
+! FUNCTION: DestroyMenu
+! FUNCTION: DestroyReasons
+FUNCTION: BOOL DestroyWindow ( HWND hWnd ) ;
+! FUNCTION: DeviceEventWorker
+! FUNCTION: DialogBoxIndirectParamA
+! FUNCTION: DialogBoxIndirectParamAorW
+! FUNCTION: DialogBoxIndirectParamW
+! FUNCTION: DialogBoxParamA
+! FUNCTION: DialogBoxParamW
+! FUNCTION: DisableProcessWindowsGhosting
+
+FUNCTION: LONG DispatchMessageA ( MSG* lpMsg ) ;
+FUNCTION: LONG DispatchMessageW ( MSG* lpMsg ) ;
+: DispatchMessage \ DispatchMessageW \ DispatchMessageA unicode-exec ;
+
+! FUNCTION: DisplayExitWindowsWarnings
+! FUNCTION: DlgDirListA
+! FUNCTION: DlgDirListComboBoxA
+! FUNCTION: DlgDirListComboBoxW
+! FUNCTION: DlgDirListW
+! FUNCTION: DlgDirSelectComboBoxExA
+! FUNCTION: DlgDirSelectComboBoxExW
+! FUNCTION: DlgDirSelectExA
+! FUNCTION: DlgDirSelectExW
+! FUNCTION: DragDetect
+! FUNCTION: DragObject
+
+
+FUNCTION: BOOL DrawAnimatedRects ( HWND hWnd, int idAni, RECT* lprcFrom, RECT* lprcTo ) ;
+! FUNCTION: BOOL DrawCaption ( HWND hWnd, HDC hdc, LPRECT lprc, UINT uFlags ) ;
+
+! FUNCTION: DrawEdge
+! FUNCTION: DrawFocusRect
+! FUNCTION: DrawFrame
+! FUNCTION: DrawFrameControl
+! FUNCTION: DrawIcon
+! FUNCTION: DrawIconEx
+! FUNCTION: DrawMenuBar
+! FUNCTION: DrawMenuBarTemp
+! FUNCTION: DrawStateA
+! FUNCTION: DrawStateW
+! FUNCTION: DrawTextA
+! FUNCTION: DrawTextExA
+! FUNCTION: DrawTextExW
+! FUNCTION: DrawTextW
+! FUNCTION: EditWndProc
+FUNCTION: BOOL EmptyClipboard ( ) ;
+! FUNCTION: EnableMenuItem
+! FUNCTION: EnableScrollBar
+! FUNCTION: EnableWindow
+! FUNCTION: EndDeferWindowPos
+! FUNCTION: EndDialog
+! FUNCTION: EndMenu
+
+FUNCTION: BOOL EndPaint ( HWND hWnd, PAINTSTRUCT* lpPaint) ;
+
+! FUNCTION: EndTask
+! FUNCTION: EnterReaderModeHelper
+! FUNCTION: EnumChildWindows
+FUNCTION: UINT EnumClipboardFormats ( UINT format ) ;
+! FUNCTION: EnumDesktopsA
+! FUNCTION: EnumDesktopsW
+! FUNCTION: EnumDesktopWindows
+! FUNCTION: EnumDisplayDevicesA
+! FUNCTION: EnumDisplayDevicesW
+! FUNCTION: EnumDisplayMonitors
+! FUNCTION: EnumDisplaySettingsA
+! FUNCTION: EnumDisplaySettingsExA
+! FUNCTION: EnumDisplaySettingsExW
+! FUNCTION: EnumDisplaySettingsW
+! FUNCTION: EnumPropsA
+! FUNCTION: EnumPropsExA
+! FUNCTION: EnumPropsExW
+! FUNCTION: EnumPropsW
+! FUNCTION: EnumThreadWindows
+! FUNCTION: EnumWindows
+! FUNCTION: EnumWindowStationsA
+! FUNCTION: EnumWindowStationsW
+! FUNCTION: EqualRect
+! FUNCTION: ExcludeUpdateRgn
+! FUNCTION: ExitWindowsEx
+! FUNCTION: FillRect
+! FUNCTION: FindWindowA
+! FUNCTION: FindWindowExA
+! FUNCTION: FindWindowExW
+! FUNCTION: FindWindowW
+! FUNCTION: FlashWindow
+! FUNCTION: FlashWindowEx
+! FUNCTION: FrameRect
+! FUNCTION: FreeDDElParam
+! FUNCTION: GetActiveWindow
+! FUNCTION: GetAltTabInfo
+! FUNCTION: GetAltTabInfoA
+! FUNCTION: GetAltTabInfoW
+! FUNCTION: GetAncestor
+! FUNCTION: GetAppCompatFlags
+! FUNCTION: GetAppCompatFlags2
+! FUNCTION: GetAsyncKeyState
+FUNCTION: HWND GetCapture ( ) ;
+! FUNCTION: GetCaretBlinkTime
+! FUNCTION: GetCaretPos
+FUNCTION: BOOL GetClassInfoA ( HINSTANCE hInst, LPCTSTR lpszClass, LPWNDCLASS lpwcx ) ;
+FUNCTION: BOOL GetClassInfoW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASS lpwcx ) ;
+: GetClassInfo \ GetClassInfoW \ GetClassInfoA unicode-exec ;
+
+FUNCTION: BOOL GetClassInfoExA ( HINSTANCE hInst, LPCTSTR lpszClass, LPWNDCLASSEX lpwcx ) ;
+FUNCTION: BOOL GetClassInfoExW ( HINSTANCE hInst, LPCWSTR lpszClass, LPWNDCLASSEX lpwcx ) ;
+: GetClassInfoEx \ GetClassInfoExW \ GetClassInfoExA unicode-exec ;
+
+FUNCTION: ULONG_PTR GetClassLongA ( HWND hWnd, int nIndex ) ;
+FUNCTION: ULONG_PTR GetClassLongW ( HWND hWnd, int nIndex ) ;
+: GetClassLong \ GetClassLongW \ GetClassLongA unicode-exec ;
+: GetClassLongPtr \ GetClassLongW \ GetClassLongA unicode-exec ;
+
+
+! FUNCTION: GetClassNameA
+! FUNCTION: GetClassNameW
+! FUNCTION: GetClassWord
+! FUNCTION: BOOL GetClientRect ( HWND hWnd, LPRECT lpRect ) ;
+
+FUNCTION: HANDLE GetClipboardData ( UINT uFormat ) ;
+
+! FUNCTION: GetClipboardFormatNameA
+! FUNCTION: GetClipboardFormatNameW
+FUNCTION: HWND GetClipboardOwner ( ) ;
+FUNCTION: DWORD GetClipboardSequenceNumber ( ) ;
+! FUNCTION: GetClipboardViewer
+! FUNCTION: GetClipCursor
+! FUNCTION: GetComboBoxInfo
+! FUNCTION: GetCursor
+! FUNCTION: GetCursorFrameInfo
+! FUNCTION: GetCursorInfo
+! FUNCTION: GetCursorPos
+FUNCTION: HDC GetDC ( HWND hWnd ) ;
+FUNCTION: HDC GetDCEx ( HWND hWnd, HRGN hrgnClip, DWORD flags ) ;
+! FUNCTION: GetDesktopWindow
+! FUNCTION: GetDialogBaseUnits
+! FUNCTION: GetDlgCtrlID
+! FUNCTION: GetDlgItem
+! FUNCTION: GetDlgItemInt
+! FUNCTION: GetDlgItemTextA
+! FUNCTION: GetDlgItemTextW
+! FUNCTION: GetDoubleClickTime
+FUNCTION: HWND GetFocus ( ) ;
+! FUNCTION: GetForegroundWindow
+! FUNCTION: GetGuiResources
+! FUNCTION: GetGUIThreadInfo
+! FUNCTION: GetIconInfo
+! FUNCTION: GetInputDesktop
+! FUNCTION: GetInputState
+! FUNCTION: GetInternalWindowPos
+! FUNCTION: GetKBCodePage
+! FUNCTION: GetKeyboardLayout
+! FUNCTION: GetKeyboardLayoutList
+! FUNCTION: GetKeyboardLayoutNameA
+! FUNCTION: GetKeyboardLayoutNameW
+! FUNCTION: GetKeyboardState
+! FUNCTION: GetKeyboardType
+! FUNCTION: GetKeyNameTextA
+! FUNCTION: GetKeyNameTextW
+FUNCTION: SHORT GetKeyState ( int nVirtKey ) ;
+! FUNCTION: GetLastActivePopup
+! FUNCTION: GetLastInputInfo
+! FUNCTION: GetLayeredWindowAttributes
+! FUNCTION: GetListBoxInfo
+! FUNCTION: GetMenu
+! FUNCTION: GetMenuBarInfo
+! FUNCTION: GetMenuCheckMarkDimensions
+! FUNCTION: GetMenuContextHelpId
+! FUNCTION: GetMenuDefaultItem
+! FUNCTION: GetMenuInfo
+! FUNCTION: GetMenuItemCount
+! FUNCTION: GetMenuItemID
+! FUNCTION: GetMenuItemInfoA
+! FUNCTION: GetMenuItemInfoW
+! FUNCTION: GetMenuItemRect
+! FUNCTION: GetMenuState
+! FUNCTION: GetMenuStringA
+! FUNCTION: GetMenuStringW
+
+FUNCTION: BOOL GetMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax ) ;
+FUNCTION: BOOL GetMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax ) ;
+: GetMessage \ GetMessageW \ GetMessageA unicode-exec ;
+
+! FUNCTION: GetMessageExtraInfo
+! FUNCTION: GetMessagePos
+! FUNCTION: GetMessageTime
+! FUNCTION: GetMonitorInfoA
+! FUNCTION: GetMonitorInfoW
+! FUNCTION: GetMouseMovePointsEx
+! FUNCTION: GetNextDlgGroupItem
+! FUNCTION: GetNextDlgTabItem
+! FUNCTION: GetOpenClipboardWindow
+FUNCTION: HWND GetParent ( HWND hWnd ) ;
+FUNCTION: int GetPriorityClipboardFormat ( UINT* paFormatPriorityList, int cFormats ) ;
+! FUNCTION: GetProcessDefaultLayout
+! FUNCTION: GetProcessWindowStation
+! FUNCTION: GetProgmanWindow
+! FUNCTION: GetPropA
+! FUNCTION: GetPropW
+! FUNCTION: GetQueueStatus
+! FUNCTION: GetRawInputBuffer
+! FUNCTION: GetRawInputData
+! FUNCTION: GetRawInputDeviceInfoA
+! FUNCTION: GetRawInputDeviceInfoW
+! FUNCTION: GetRawInputDeviceList
+! FUNCTION: GetReasonTitleFromReasonCode
+! FUNCTION: GetRegisteredRawInputDevices
+! FUNCTION: GetScrollBarInfo
+! FUNCTION: GetScrollInfo
+! FUNCTION: GetScrollPos
+! FUNCTION: GetScrollRange
+! FUNCTION: GetShellWindow
+! FUNCTION: GetSubMenu
+! FUNCTION: GetSysColor
+FUNCTION: HBRUSH GetSysColorBrush ( int nIndex ) ;
+! FUNCTION: GetSystemMenu
+! FUNCTION: GetSystemMetrics
+! FUNCTION: GetTabbedTextExtentA
+! FUNCTION: GetTabbedTextExtentW
+! FUNCTION: GetTaskmanWindow
+! FUNCTION: GetThreadDesktop
+! FUNCTION: GetTitleBarInfo
+
+
+FUNCTION: HWND GetTopWindow ( HWND hWnd ) ;
+! FUNCTION: BOOL GetUpdateRect ( HWND hWnd, LPRECT lpRect, BOOL bErase ) ;
+FUNCTION: int GetUpdateRgn ( HWND hWnd, HRGN hRgn, BOOL bErase ) ;
+
+
+! FUNCTION: GetUserObjectInformationA
+! FUNCTION: GetUserObjectInformationW
+! FUNCTION: GetUserObjectSecurity
+FUNCTION: HWND GetWindow ( HWND hWnd, UINT uCmd ) ;
+! FUNCTION: GetWindowContextHelpId
+! FUNCTION: GetWindowDC
+! FUNCTION: GetWindowInfo
+! FUNCTION: GetWindowLongA
+! FUNCTION: GetWindowLongW
+! FUNCTION: GetWindowModuleFileName
+! FUNCTION: GetWindowModuleFileNameA
+! FUNCTION: GetWindowModuleFileNameW
+! FUNCTION: GetWindowPlacement
+! FUNCTION: BOOL GetWindowRect ( HWND hWnd, LPRECT lpRect ) ;
+! FUNCTION: GetWindowRgn
+! FUNCTION: GetWindowRgnBox
+! FUNCTION: GetWindowTextA
+! FUNCTION: GetWindowTextLengthA
+! FUNCTION: GetWindowTextLengthW
+! FUNCTION: GetWindowTextW
+! FUNCTION: GetWindowThreadProcessId
+! FUNCTION: GetWindowWord
+! FUNCTION: GetWinStationInfo
+! FUNCTION: GrayStringA
+! FUNCTION: GrayStringW
+! FUNCTION: HideCaret
+! FUNCTION: HiliteMenuItem
+! FUNCTION: ImpersonateDdeClientWindow
+! FUNCTION: IMPGetIMEA
+! FUNCTION: IMPGetIMEW
+! FUNCTION: IMPQueryIMEA
+! FUNCTION: IMPQueryIMEW
+! FUNCTION: IMPSetIMEA
+! FUNCTION: IMPSetIMEW
+! FUNCTION: InflateRect
+! FUNCTION: InitializeLpkHooks
+! FUNCTION: InitializeWin32EntryTable
+! FUNCTION: InSendMessage
+! FUNCTION: InSendMessageEx
+! FUNCTION: InsertMenuA
+! FUNCTION: InsertMenuItemA
+! FUNCTION: InsertMenuItemW
+! FUNCTION: InsertMenuW
+! FUNCTION: InternalGetWindowText
+! FUNCTION: IntersectRect
+! FUNCTION: InvalidateRect
+! FUNCTION: InvalidateRgn
+! FUNCTION: InvertRect
+! FUNCTION: IsCharAlphaA
+! FUNCTION: IsCharAlphaNumericA
+! FUNCTION: IsCharAlphaNumericW
+! FUNCTION: IsCharAlphaW
+! FUNCTION: IsCharLowerA
+! FUNCTION: IsCharLowerW
+! FUNCTION: IsCharUpperA
+! FUNCTION: IsCharUpperW
+FUNCTION: BOOL IsChild ( HWND hWndParent, HWND hWnd ) ;
+FUNCTION: BOOL IsClipboardFormatAvailable ( UINT format ) ;
+! FUNCTION: IsDialogMessage
+! FUNCTION: IsDialogMessageA
+! FUNCTION: IsDialogMessageW
+! FUNCTION: IsDlgButtonChecked
+FUNCTION: BOOL IsGUIThread ( BOOL bConvert ) ;
+FUNCTION: BOOL IsHungAppWindow ( HWND hWnd ) ;
+FUNCTION: BOOL IsIconic ( HWND hWnd ) ;
+FUNCTION: BOOL IsMenu ( HMENU hMenu ) ;
+! FUNCTION: BOOL IsRectEmpty
+! FUNCTION: BOOL IsServerSideWindow
+FUNCTION: BOOL IsWindow ( HWND hWnd ) ;
+! FUNCTION: BOOL IsWindowEnabled
+! FUNCTION: BOOL IsWindowInDestroy
+FUNCTION: BOOL IsWindowUnicode ( HWND hWnd ) ;
+FUNCTION: BOOL IsWindowVisible ( HWND hWnd ) ;
+! FUNCTION: BOOL IsWinEventHookInstalled
+FUNCTION: BOOL IsZoomed ( HWND hWnd ) ;
+! FUNCTION: keybd_event
+! FUNCTION: KillSystemTimer
+! FUNCTION: KillTimer
+! FUNCTION: LoadAcceleratorsA
+! FUNCTION: LoadAcceleratorsW
+! FUNCTION: LoadBitmapA
+! FUNCTION: LoadBitmapW
+! FUNCTION: LoadCursorFromFileA
+! FUNCTION: LoadCursorFromFileW
+
+
+! FUNCTION: HCURSOR LoadCursorA ( HINSTANCE hInstance, LPCTSTR lpCursorName ) ;
+! FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, LPCWSTR lpCursorName ) ;
+FUNCTION: HCURSOR LoadCursorA ( HINSTANCE hInstance, ushort lpCursorName ) ;
+FUNCTION: HCURSOR LoadCursorW ( HINSTANCE hInstance, ushort lpCursorName ) ;
+: LoadCursor \ LoadCursorW \ LoadCursorA unicode-exec ;
+
+! FUNCTION: HICON LoadIconA ( HINSTANCE hInstance, LPCTSTR lpIconName ) ;
+! FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, LPCWSTR lpIconName ) ;
+FUNCTION: HICON LoadIconA ( HINSTANCE hInstance, ushort lpIconName ) ;
+FUNCTION: HICON LoadIconW ( HINSTANCE hInstance, ushort lpIconName ) ;
+: LoadIcon \ LoadIconW \ LoadIconA unicode-exec ;
+
+! FUNCTION: LoadImageA
+! FUNCTION: LoadImageW
+! FUNCTION: LoadKeyboardLayoutA
+! FUNCTION: LoadKeyboardLayoutEx
+! FUNCTION: LoadKeyboardLayoutW
+! FUNCTION: LoadLocalFonts
+! FUNCTION: LoadMenuA
+! FUNCTION: LoadMenuIndirectA
+! FUNCTION: LoadMenuIndirectW
+! FUNCTION: LoadMenuW
+! FUNCTION: LoadRemoteFonts
+! FUNCTION: LoadStringA
+! FUNCTION: LoadStringW
+! FUNCTION: LockSetForegroundWindow
+! FUNCTION: LockWindowStation
+! FUNCTION: LockWindowUpdate
+! FUNCTION: LockWorkStation
+! FUNCTION: LookupIconIdFromDirectory
+! FUNCTION: LookupIconIdFromDirectoryEx
+! FUNCTION: MapDialogRect
+! FUNCTION: MapVirtualKeyA
+! FUNCTION: MapVirtualKeyExA
+! FUNCTION: MapVirtualKeyExW
+! FUNCTION: MapVirtualKeyW
+! FUNCTION: MapWindowPoints
+! FUNCTION: MB_GetString
+! FUNCTION: MBToWCSEx
+! FUNCTION: MenuItemFromPoint
+! FUNCTION: MenuWindowProcA
+! FUNCTION: MenuWindowProcW
+
+! -1 is Simple beep
+FUNCTION: BOOL MessageBeep ( UINT uType ) ;
+
+FUNCTION: int MessageBoxA ( 
+                HWND hWnd,
+                LPCSTR lpText,
+                LPCSTR lpCaption,
+                UINT uType ) ;
+
+FUNCTION: int MessageBoxW (
+                HWND hWnd,
+                LPCWSTR lpText,
+                LPCWSTR lpCaption,
+                UINT uType) ;
+
+FUNCTION: int MessageBoxExA ( HWND hWnd,
+                LPCSTR lpText,
+                LPCSTR lpCaption,
+                UINT uType,
+                WORD wLanguageId
+                ) ;
+
+FUNCTION: int MessageBoxExW (
+                HWND hWnd,
+                LPCWSTR lpText,
+                LPCWSTR lpCaption,
+                UINT uType,
+                WORD wLanguageId ) ;
+
+FUNCTION: int MessageBoxIndirectA (
+                 MSGBOXPARAMSA* params ) ;
+
+FUNCTION: int MessageBoxIndirectW (
+                 MSGBOXPARAMSW* params ) ;
+
+
+: MessageBox ( -- )
+    \ MessageBoxW \ MessageBoxA unicode-exec ;
+
+: MessageBoxEx ( -- )
+    \ MessageBoxExW \ MessageBoxExA unicode-exec ;
+
+: MessageBoxIndirect ( -- )
+    \ MessageBoxIndirectW \ MessageBoxIndirectA unicode-exec ;
+
+! FUNCTION: MessageBoxTimeoutA ! dllexported, not in header
+! FUNCTION: MessageBoxTimeoutW ! dllexported, not in header
+
+! FUNCTION: ModifyMenuA
+! FUNCTION: ModifyMenuW
+! FUNCTION: MonitorFromPoint
+! FUNCTION: MonitorFromRect
+! FUNCTION: MonitorFromWindow
+! FUNCTION: mouse_event
+
+
+
+FUNCTION: BOOL MoveWindow (
+    HWND hWnd,
+    int X,
+    int Y,
+    int nWidth,
+    int nHeight,
+    BOOL bRepaint ) ;
+
+
+! FUNCTION: MsgWaitForMultipleObjects
+! FUNCTION: MsgWaitForMultipleObjectsEx
+! FUNCTION: NotifyWinEvent
+! FUNCTION: OemKeyScan
+! FUNCTION: OemToCharA
+! FUNCTION: OemToCharBuffA
+! FUNCTION: OemToCharBuffW
+! FUNCTION: OemToCharW
+! FUNCTION: OffsetRect
+FUNCTION: BOOL OpenClipboard ( HWND hWndNewOwner ) ;
+! FUNCTION: OpenDesktopA
+! FUNCTION: OpenDesktopW
+! FUNCTION: OpenIcon
+! FUNCTION: OpenInputDesktop
+! FUNCTION: OpenWindowStationA
+! FUNCTION: OpenWindowStationW
+! FUNCTION: PackDDElParam
+! FUNCTION: PaintDesktop
+! FUNCTION: PaintMenuBar
+FUNCTION: BOOL PeekMessageA ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
+FUNCTION: BOOL PeekMessageW ( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ) ;
+: PeekMessage \ PeekMessageW \ PeekMessageA unicode-exec ;
+
+! FUNCTION: PostMessageA
+! FUNCTION: PostMessageW
+FUNCTION: void PostQuitMessage ( int nExitCode ) ;
+! FUNCTION: PostThreadMessageA
+! FUNCTION: PostThreadMessageW
+! FUNCTION: PrintWindow
+! FUNCTION: PrivateExtractIconExA
+! FUNCTION: PrivateExtractIconExW
+! FUNCTION: PrivateExtractIconsA
+! FUNCTION: PrivateExtractIconsW
+! FUNCTION: PrivateSetDbgTag
+! FUNCTION: PrivateSetRipFlags
+! FUNCTION: PtInRect
+! FUNCTION: QuerySendMessage
+! FUNCTION: QueryUserCounters
+! FUNCTION: RealChildWindowFromPoint
+! FUNCTION: RealGetWindowClass
+! FUNCTION: RealGetWindowClassA
+! FUNCTION: RealGetWindowClassW
+! FUNCTION: ReasonCodeNeedsBugID
+! FUNCTION: ReasonCodeNeedsComment
+! FUNCTION: RecordShutdownReason
+! FUNCTION: RedrawWindow
+
+FUNCTION: ATOM RegisterClassA ( WNDCLASS* lpWndClass) ;
+FUNCTION: ATOM RegisterClassW ( WNDCLASS* lpWndClass ) ;
+FUNCTION: ATOM RegisterClassExA ( WNDCLASSEX* lpwcx ) ;
+FUNCTION: ATOM RegisterClassExW ( WNDCLASSEX* lpwcx ) ;
+
+: RegisterClass \ RegisterClassW \ RegisterClassA unicode-exec ;
+: RegisterClassEx \ RegisterClassExW \ RegisterClassExA unicode-exec ;
+
+! FUNCTION: RegisterClipboardFormatA
+! FUNCTION: RegisterClipboardFormatW
+! FUNCTION: RegisterDeviceNotificationA
+! FUNCTION: RegisterDeviceNotificationW
+! FUNCTION: RegisterHotKey
+! FUNCTION: RegisterLogonProcess
+! FUNCTION: RegisterMessagePumpHook
+! FUNCTION: RegisterRawInputDevices
+! FUNCTION: RegisterServicesProcess
+! FUNCTION: RegisterShellHookWindow
+! FUNCTION: RegisterSystemThread
+! FUNCTION: RegisterTasklist
+! FUNCTION: RegisterUserApiHook
+! FUNCTION: RegisterWindowMessageA
+! FUNCTION: RegisterWindowMessageW
+FUNCTION: BOOL ReleaseCapture ( ) ;
+FUNCTION: int ReleaseDC ( HWND hWnd, HDC hDC ) ;
+! FUNCTION: RemoveMenu
+! FUNCTION: RemovePropA
+! FUNCTION: RemovePropW
+! FUNCTION: ReplyMessage
+! FUNCTION: ResolveDesktopForWOW
+! FUNCTION: ReuseDDElParam
+! FUNCTION: ScreenToClient
+! FUNCTION: ScrollChildren
+! FUNCTION: ScrollDC
+! FUNCTION: ScrollWindow
+! FUNCTION: ScrollWindowEx
+! FUNCTION: SendDlgItemMessageA
+! FUNCTION: SendDlgItemMessageW
+! FUNCTION: SendIMEMessageExA
+! FUNCTION: SendIMEMessageExW
+! FUNCTION: UINT SendInput ( UINT nInputs, LPINPUT pInputs, int cbSize ) ;
+FUNCTION: LRESULT SendMessageA ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) ;
+FUNCTION: LRESULT SendMessageW ( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) ;
+: SendMessage \ SendMessageW \ SendMessageA unicode-exec ;
+! FUNCTION: SendMessageCallbackA
+! FUNCTION: SendMessageCallbackW
+! FUNCTION: SendMessageTimeoutA
+! FUNCTION: SendMessageTimeoutW
+! FUNCTION: SendNotifyMessageA
+! FUNCTION: SendNotifyMessageW
+! FUNCTION: SetActiveWindow
+FUNCTION: HWND SetCapture ( HWND hWnd ) ;
+! FUNCTION: SetCaretBlinkTime
+! FUNCTION: SetCaretPos
+
+FUNCTION: ULONG_PTR SetClassLongW ( HWND hWnd, int nIndex, LONG_PTR dwNewLong ) ;
+FUNCTION: ULONG_PTR SetClassLongA ( HWND hWnd, int nIndex, LONG_PTR dwNewLong ) ;
+: SetClassLongPtr \ SetClassLongW \ SetClassLongA unicode-exec ;
+: SetClassLong \ SetClassLongW \ SetClassLongA unicode-exec ;
+
+! FUNCTION: SetClassWord
+FUNCTION: HANDLE SetClipboardData ( UINT uFormat, HANDLE hMem ) ;
+! FUNCTION: SetClipboardViewer
+! FUNCTION: SetConsoleReserveKeys
+! FUNCTION: SetCursor
+! FUNCTION: SetCursorContents
+! FUNCTION: SetCursorPos
+! FUNCTION: SetDebugErrorLevel
+! FUNCTION: SetDeskWallpaper
+! FUNCTION: SetDlgItemInt
+! FUNCTION: SetDlgItemTextA
+! FUNCTION: SetDlgItemTextW
+! FUNCTION: SetDoubleClickTime
+FUNCTION: HWND SetFocus ( HWND hWnd ) ;
+FUNCTION: BOOL SetForegroundWindow ( HWND hWnd ) ;
+! FUNCTION: SetInternalWindowPos
+! FUNCTION: SetKeyboardState
+! type is ignored
+FUNCTION: void SetLastErrorEx ( DWORD dwErrCode, DWORD dwType ) ; 
+: SetLastError 0 SetLastErrorEx ;
+! FUNCTION: SetLayeredWindowAttributes
+! FUNCTION: SetLogonNotifyWindow
+! FUNCTION: SetMenu
+! FUNCTION: SetMenuContextHelpId
+! FUNCTION: SetMenuDefaultItem
+! FUNCTION: SetMenuInfo
+! FUNCTION: SetMenuItemBitmaps
+! FUNCTION: SetMenuItemInfoA
+! FUNCTION: SetMenuItemInfoW
+! FUNCTION: SetMessageExtraInfo
+! FUNCTION: SetMessageQueue
+! FUNCTION: SetParent
+! FUNCTION: SetProcessDefaultLayout
+! FUNCTION: SetProcessWindowStation
+! FUNCTION: SetProgmanWindow
+! FUNCTION: SetPropA
+! FUNCTION: SetPropW
+! FUNCTION: SetRect
+! FUNCTION: SetRectEmpty
+! FUNCTION: SetScrollInfo
+! FUNCTION: SetScrollPos
+! FUNCTION: SetScrollRange
+! FUNCTION: SetShellWindow
+! FUNCTION: SetShellWindowEx
+! FUNCTION: SetSysColors
+! FUNCTION: SetSysColorsTemp
+! FUNCTION: SetSystemCursor
+! FUNCTION: SetSystemMenu
+! FUNCTION: SetSystemTimer
+! FUNCTION: SetTaskmanWindow
+! FUNCTION: SetThreadDesktop
+! FUNCTION: SetTimer
+! FUNCTION: SetUserObjectInformationA
+! FUNCTION: SetUserObjectInformationW
+! FUNCTION: SetUserObjectSecurity
+! FUNCTION: SetWindowContextHelpId
+! FUNCTION: SetWindowLongA
+! FUNCTION: SetWindowLongW
+! FUNCTION: SetWindowPlacement
+! FUNCTION: SetWindowPos
+! FUNCTION: SetWindowRgn
+! FUNCTION: SetWindowsHookA
+! FUNCTION: SetWindowsHookExA
+! FUNCTION: SetWindowsHookExW
+! FUNCTION: SetWindowsHookW
+! FUNCTION: SetWindowStationUser
+! FUNCTION: SetWindowTextA
+! FUNCTION: SetWindowTextW
+! FUNCTION: SetWindowWord
+! FUNCTION: SetWinEventHook
+! FUNCTION: ShowCaret
+! FUNCTION: ShowCursor
+! FUNCTION: ShowOwnedPopups
+! FUNCTION: ShowScrollBar
+! FUNCTION: ShowStartGlass
+
+FUNCTION: BOOL ShowWindow ( HWND hWnd, int nCmdShow ) ;
+
+! FUNCTION: ShowWindowAsync
+! FUNCTION: SoftModalMessageBox
+! FUNCTION: SubtractRect
+! FUNCTION: SwapMouseButton
+! FUNCTION: SwitchDesktop
+! FUNCTION: SwitchToThisWindow
+! FUNCTION: SystemParametersInfoA
+! FUNCTION: SystemParametersInfoW
+! FUNCTION: TabbedTextOutA
+! FUNCTION: TabbedTextOutW
+! FUNCTION: TileChildWindows
+! FUNCTION: TileWindows
+! FUNCTION: ToAscii
+! FUNCTION: ToAsciiEx
+! FUNCTION: ToUnicode
+! FUNCTION: ToUnicodeEx
+! FUNCTION: TrackMouseEvent
+! FUNCTION: TrackPopupMenu
+! FUNCTION: TrackPopupMenuEx
+! FUNCTION: TranslateAccelerator
+! FUNCTION: TranslateAcceleratorA
+! FUNCTION: TranslateAcceleratorW
+! FUNCTION: TranslateMDISysAccel
+FUNCTION: BOOL TranslateMessage ( MSG* lpMsg ) ;
+
+! FUNCTION: UnhookWindowsHook
+! FUNCTION: UnhookWindowsHookEx
+! FUNCTION: UnhookWinEvent
+! FUNCTION: UnionRect
+! FUNCTION: UnloadKeyboardLayout
+! FUNCTION: UnlockWindowStation
+! FUNCTION: UnpackDDElParam
+FUNCTION: BOOL UnregisterClassA ( LPCTSTR lpClassName, HINSTANCE hInstance ) ;
+FUNCTION: BOOL UnregisterClassW ( LPCWSTR lpClassName, HINSTANCE hInstance ) ;
+: UnregisterClass \ UnregisterClassW \ UnregisterClassA unicode-exec ;
+! FUNCTION: UnregisterDeviceNotification
+! FUNCTION: UnregisterHotKey
+! FUNCTION: UnregisterMessagePumpHook
+! FUNCTION: UnregisterUserApiHook
+! FUNCTION: UpdateLayeredWindow
+! FUNCTION: UpdatePerUserSystemParameters
+
+
+FUNCTION: BOOL UpdateWindow ( HWND hWnd ) ;
+
+! FUNCTION: User32InitializeImmEntryTable
+! FUNCTION: UserClientDllInitialize
+! FUNCTION: UserHandleGrantAccess
+! FUNCTION: UserLpkPSMTextOut
+! FUNCTION: UserLpkTabbedTextOut
+! FUNCTION: UserRealizePalette
+! FUNCTION: UserRegisterWowHandlers
+! FUNCTION: ValidateRect
+! FUNCTION: ValidateRgn
+! FUNCTION: VkKeyScanA
+! FUNCTION: VkKeyScanExA
+! FUNCTION: VkKeyScanExW
+! FUNCTION: VkKeyScanW
+! FUNCTION: VRipOutput
+! FUNCTION: VTagOutput
+! FUNCTION: WaitForInputIdle
+! FUNCTION: WaitMessage
+! FUNCTION: WCSToMBEx
+! FUNCTION: Win32PoolAllocationStats
+! FUNCTION: WindowFromDC
+! FUNCTION: WindowFromPoint
+! FUNCTION: WinHelpA
+! FUNCTION: WinHelpW
+! FUNCTION: WINNLSEnableIME
+! FUNCTION: WINNLSGetEnableStatus
+! FUNCTION: WINNLSGetIMEHotkey
+! FUNCTION: wsprintfA
+! FUNCTION: wsprintfW
+! FUNCTION: wvsprintfA
+! FUNCTION: wvsprintfW
+
diff --git a/library/windows/utils.factor b/library/windows/utils.factor
new file mode 100644 (file)
index 0000000..ee878f4
--- /dev/null
@@ -0,0 +1,16 @@
+! Copyright (C) 2005, 2006 Doug Coleman.
+! See http://factor.sf.net/license.txt for BSD license.
+USING: alien parser namespaces kernel syntax words math io prettyprint ;
+IN: win32-api
+
+: win32-error=0 zero? [ win32-error ] when ;
+: win32-error>0 0 > [ win32-error ] when ;
+: win32-error<0 0 < [ win32-error ] when ;
+: win32-error<>0 zero? [ win32-error ] unless ;
+
+: lo-word ( wparam -- lo ) HEX: ffff bitand ;
+: hi-word ( wparam -- hi ) -16 shift ;
+
+: msgbox ( str -- )
+    f swap "DebugMsg" MB_OK MessageBox drop ;
+
diff --git a/library/windows/windows-messages.factor b/library/windows/windows-messages.factor
new file mode 100644 (file)
index 0000000..2ceee65
--- /dev/null
@@ -0,0 +1,1001 @@
+! Copyright (C) 2005, 2006 Doug Coleman.
+! See http://factor.sf.net/license.txt for BSD license.
+USING: hashtables kernel math namespaces parser prettyprint words ;
+IN: win32-api-messages
+
+SYMBOL: windows-messages
+H{ } clone windows-messaage set-global
+
+USE: inspector
+
+: add-windows-message ( -- )
+    word [ unparse ] keep execute windows-messages get set-hash ; parsing
+
+: get-windows-message-name ( n -- name )
+    windows-messages get hash* [ drop "unknown message" ] unless ;
+
+: WM_NULL HEX: 0000 ; inline add-windows-message
+: WM_CREATE HEX: 0001 ; inline add-windows-message
+: WM_DESTROY HEX: 0002 ; inline add-windows-message
+: WM_MOVE HEX: 0003 ; inline add-windows-message
+: WM_SIZE HEX: 0005 ; inline add-windows-message
+: WM_ACTIVATE HEX: 0006 ; inline add-windows-message
+: WM_SETFOCUS HEX: 0007 ; inline add-windows-message
+: WM_KILLFOCUS HEX: 0008 ; inline add-windows-message
+: WM_ENABLE HEX: 000A ; inline add-windows-message
+: WM_SETREDRAW HEX: 000B ; inline add-windows-message
+: WM_SETTEXT HEX: 000C ; inline add-windows-message
+: WM_GETTEXT HEX: 000D ; inline add-windows-message
+: WM_GETTEXTLENGTH HEX: 000E ; inline add-windows-message
+: WM_PAINT HEX: 000F ; inline add-windows-message
+: WM_CLOSE HEX: 0010 ; inline add-windows-message
+: WM_QUERYENDSESSION HEX: 0011 ; inline add-windows-message
+: WM_QUERYOPEN HEX: 0013 ; inline add-windows-message
+: WM_ENDSESSION HEX: 0016 ; inline add-windows-message
+: WM_QUIT HEX: 0012 ; inline add-windows-message
+: WM_ERASEBKGND HEX: 0014 ; inline add-windows-message
+: WM_SYSCOLORCHANGE HEX: 0015 ; inline add-windows-message
+: WM_SHOWWINDOW HEX: 0018 ; inline add-windows-message
+: WM_WININICHANGE HEX: 001A ; inline add-windows-message
+: WM_SETTINGCHANGE HEX: 001A ; inline add-windows-message
+: WM_DEVMODECHANGE HEX: 001B ; inline add-windows-message
+: WM_ACTIVATEAPP HEX: 001C ; inline add-windows-message
+: WM_FONTCHANGE HEX: 001D ; inline add-windows-message
+: WM_TIMECHANGE HEX: 001E ; inline add-windows-message
+: WM_CANCELMODE HEX: 001F ; inline add-windows-message
+: WM_SETCURSOR HEX: 0020 ; inline add-windows-message
+: WM_MOUSEACTIVATE HEX: 0021 ; inline add-windows-message
+: WM_CHILDACTIVATE HEX: 0022 ; inline add-windows-message
+: WM_QUEUESYNC HEX: 0023 ; inline add-windows-message
+: WM_GETMINMAXINFO HEX: 0024 ; inline add-windows-message
+: WM_PAINTICON HEX: 0026 ; inline add-windows-message
+: WM_ICONERASEBKGND HEX: 0027 ; inline add-windows-message
+: WM_NEXTDLGCTL HEX: 0028 ; inline add-windows-message
+: WM_SPOOLERSTATUS HEX: 002A ; inline add-windows-message
+: WM_DRAWITEM HEX: 002B ; inline add-windows-message
+: WM_MEASUREITEM HEX: 002C ; inline add-windows-message
+: WM_DELETEITEM HEX: 002D ; inline add-windows-message
+: WM_VKEYTOITEM HEX: 002E ; inline add-windows-message
+: WM_CHARTOITEM HEX: 002F ; inline add-windows-message
+: WM_SETFONT HEX: 0030 ; inline add-windows-message
+: WM_GETFONT HEX: 0031 ; inline add-windows-message
+: WM_SETHOTKEY HEX: 0032 ; inline add-windows-message
+: WM_GETHOTKEY HEX: 0033 ; inline add-windows-message
+: WM_QUERYDRAGICON HEX: 0037 ; inline add-windows-message
+: WM_COMPAREITEM HEX: 0039 ; inline add-windows-message
+: WM_GETOBJECT HEX: 003D ; inline add-windows-message
+: WM_COMPACTING HEX: 0041 ; inline add-windows-message
+: WM_COMMNOTIFY HEX: 0044 ; inline add-windows-message
+: WM_WINDOWPOSCHANGING HEX: 0046 ; inline add-windows-message
+: WM_WINDOWPOSCHANGED HEX: 0047 ; inline add-windows-message
+: WM_POWER HEX: 0048 ; inline add-windows-message
+: WM_COPYDATA HEX: 004A ; inline add-windows-message
+: WM_CANCELJOURNAL HEX: 004B ; inline add-windows-message
+: WM_NOTIFY HEX: 004E ; inline add-windows-message
+: WM_INPUTLANGCHANGEREQUEST HEX: 0050 ; inline add-windows-message
+: WM_INPUTLANGCHANGE HEX: 0051 ; inline add-windows-message
+: WM_TCARD HEX: 0052 ; inline add-windows-message
+: WM_HELP HEX: 0053 ; inline add-windows-message
+: WM_USERCHANGED HEX: 0054 ; inline add-windows-message
+: WM_NOTIFYFORMAT HEX: 0055 ; inline add-windows-message
+: WM_CONTEXTMENU HEX: 007B ; inline add-windows-message
+: WM_STYLECHANGING HEX: 007C ; inline add-windows-message
+: WM_STYLECHANGED HEX: 007D ; inline add-windows-message
+: WM_DISPLAYCHANGE HEX: 007E ; inline add-windows-message
+: WM_GETICON HEX: 007F ; inline add-windows-message
+: WM_SETICON HEX: 0080 ; inline add-windows-message
+: WM_NCCREATE HEX: 0081 ; inline add-windows-message
+: WM_NCDESTROY HEX: 0082 ; inline add-windows-message
+: WM_NCCALCSIZE HEX: 0083 ; inline add-windows-message
+: WM_NCHITTEST HEX: 0084 ; inline add-windows-message
+: WM_NCPAINT HEX: 0085 ; inline add-windows-message
+: WM_NCACTIVATE HEX: 0086 ; inline add-windows-message
+: WM_GETDLGCODE HEX: 0087 ; inline add-windows-message
+: WM_SYNCPAINT HEX: 0088 ; inline add-windows-message
+: WM_NCMOUSEMOVE HEX: 00A0 ; inline add-windows-message
+: WM_NCLBUTTONDOWN HEX: 00A1 ; inline add-windows-message
+: WM_NCLBUTTONUP HEX: 00A2 ; inline add-windows-message
+: WM_NCLBUTTONDBLCLK HEX: 00A3 ; inline add-windows-message
+: WM_NCRBUTTONDOWN HEX: 00A4 ; inline add-windows-message
+: WM_NCRBUTTONUP HEX: 00A5 ; inline add-windows-message
+: WM_NCRBUTTONDBLCLK HEX: 00A6 ; inline add-windows-message
+: WM_NCMBUTTONDOWN HEX: 00A7 ; inline add-windows-message
+: WM_NCMBUTTONUP HEX: 00A8 ; inline add-windows-message
+: WM_NCMBUTTONDBLCLK HEX: 00A9 ; inline add-windows-message
+: WM_NCXBUTTONDOWN HEX: 00AB ; inline add-windows-message
+: WM_NCXBUTTONUP HEX: 00AC ; inline add-windows-message
+: WM_NCXBUTTONDBLCLK HEX: 00AD ; inline add-windows-message
+: WM_INPUT HEX: 00FF ; inline add-windows-message
+: WM_KEYFIRST HEX: 0100 ; inline add-windows-message
+: WM_KEYDOWN HEX: 0100 ; inline add-windows-message
+: WM_KEYUP HEX: 0101 ; inline add-windows-message
+: WM_CHAR HEX: 0102 ; inline add-windows-message
+: WM_DEADCHAR HEX: 0103 ; inline add-windows-message
+: WM_SYSKEYDOWN HEX: 0104 ; inline add-windows-message
+: WM_SYSKEYUP HEX: 0105 ; inline add-windows-message
+: WM_SYSCHAR HEX: 0106 ; inline add-windows-message
+: WM_SYSDEADCHAR HEX: 0107 ; inline add-windows-message
+: WM_UNICHAR HEX: 0109 ; inline add-windows-message
+: WM_KEYLAST_NT501 HEX: 0109 ; inline add-windows-message
+: UNICODE_NOCHAR HEX: FFFF ; inline add-windows-message
+: WM_KEYLAST_PRE501 HEX: 0108 ; inline add-windows-message
+: WM_IME_STARTCOMPOSITION HEX: 010D ; inline add-windows-message
+: WM_IME_ENDCOMPOSITION HEX: 010E ; inline add-windows-message
+: WM_IME_COMPOSITION HEX: 010F ; inline add-windows-message
+: WM_IME_KEYLAST HEX: 010F ; inline add-windows-message
+: WM_INITDIALOG HEX: 0110 ; inline add-windows-message
+: WM_COMMAND HEX: 0111 ; inline add-windows-message
+: WM_SYSCOMMAND HEX: 0112 ; inline add-windows-message
+: WM_TIMER HEX: 0113 ; inline add-windows-message
+: WM_HSCROLL HEX: 0114 ; inline add-windows-message
+: WM_VSCROLL HEX: 0115 ; inline add-windows-message
+: WM_INITMENU HEX: 0116 ; inline add-windows-message
+: WM_INITMENUPOPUP HEX: 0117 ; inline add-windows-message
+: WM_MENUSELECT HEX: 011F ; inline add-windows-message
+: WM_MENUCHAR HEX: 0120 ; inline add-windows-message
+: WM_ENTERIDLE HEX: 0121 ; inline add-windows-message
+: WM_MENURBUTTONUP HEX: 0122 ; inline add-windows-message
+: WM_MENUDRAG HEX: 0123 ; inline add-windows-message
+: WM_MENUGETOBJECT HEX: 0124 ; inline add-windows-message
+: WM_UNINITMENUPOPUP HEX: 0125 ; inline add-windows-message
+: WM_MENUCOMMAND HEX: 0126 ; inline add-windows-message
+: WM_CHANGEUISTATE HEX: 0127 ; inline add-windows-message
+: WM_UPDATEUISTATE HEX: 0128 ; inline add-windows-message
+: WM_QUERYUISTATE HEX: 0129 ; inline add-windows-message
+: WM_CTLCOLORMSGBOX HEX: 0132 ; inline add-windows-message
+: WM_CTLCOLOREDIT HEX: 0133 ; inline add-windows-message
+: WM_CTLCOLORLISTBOX HEX: 0134 ; inline add-windows-message
+: WM_CTLCOLORBTN HEX: 0135 ; inline add-windows-message
+: WM_CTLCOLORDLG HEX: 0136 ; inline add-windows-message
+: WM_CTLCOLORSCROLLBAR HEX: 0137 ; inline add-windows-message
+: WM_CTLCOLORSTATIC HEX: 0138 ; inline add-windows-message
+: WM_MOUSEFIRST HEX: 0200 ; inline add-windows-message
+: WM_MOUSEMOVE HEX: 0200 ; inline add-windows-message
+: WM_LBUTTONDOWN HEX: 0201 ; inline add-windows-message
+: WM_LBUTTONUP HEX: 0202 ; inline add-windows-message
+: WM_LBUTTONDBLCLK HEX: 0203 ; inline add-windows-message
+: WM_RBUTTONDOWN HEX: 0204 ; inline add-windows-message
+: WM_RBUTTONUP HEX: 0205 ; inline add-windows-message
+: WM_RBUTTONDBLCLK HEX: 0206 ; inline add-windows-message
+: WM_MBUTTONDOWN HEX: 0207 ; inline add-windows-message
+: WM_MBUTTONUP HEX: 0208 ; inline add-windows-message
+: WM_MBUTTONDBLCLK HEX: 0209 ; inline add-windows-message
+: WM_MOUSEWHEEL HEX: 020A ; inline add-windows-message
+: WM_XBUTTONDOWN HEX: 020B ; inline add-windows-message
+: WM_XBUTTONUP HEX: 020C ; inline add-windows-message
+: WM_XBUTTONDBLCLK HEX: 020D ; inline add-windows-message
+: WM_MOUSELAST_5 HEX: 020D ; inline add-windows-message
+: WM_MOUSELAST_4 HEX: 020A ; inline add-windows-message
+: WM_MOUSELAST_PRE_4 HEX: 0209 ; inline add-windows-message
+: WM_PARENTNOTIFY HEX: 0210 ; inline add-windows-message
+: WM_ENTERMENULOOP HEX: 0211 ; inline add-windows-message
+: WM_EXITMENULOOP HEX: 0212 ; inline add-windows-message
+: WM_NEXTMENU HEX: 0213 ; inline add-windows-message
+: WM_SIZING HEX: 0214 ; inline add-windows-message
+: WM_CAPTURECHANGED HEX: 0215 ; inline add-windows-message
+: WM_MOVING HEX: 0216 ; inline add-windows-message
+: WM_POWERBROADCAST HEX: 0218 ; inline add-windows-message
+: WM_DEVICECHANGE HEX: 0219 ; inline add-windows-message
+: WM_MDICREATE HEX: 0220 ; inline add-windows-message
+: WM_MDIDESTROY HEX: 0221 ; inline add-windows-message
+: WM_MDIACTIVATE HEX: 0222 ; inline add-windows-message
+: WM_MDIRESTORE HEX: 0223 ; inline add-windows-message
+: WM_MDINEXT HEX: 0224 ; inline add-windows-message
+: WM_MDIMAXIMIZE HEX: 0225 ; inline add-windows-message
+: WM_MDITILE HEX: 0226 ; inline add-windows-message
+: WM_MDICASCADE HEX: 0227 ; inline add-windows-message
+: WM_MDIICONARRANGE HEX: 0228 ; inline add-windows-message
+: WM_MDIGETACTIVE HEX: 0229 ; inline add-windows-message
+: WM_MDISETMENU HEX: 0230 ; inline add-windows-message
+: WM_ENTERSIZEMOVE HEX: 0231 ; inline add-windows-message
+: WM_EXITSIZEMOVE HEX: 0232 ; inline add-windows-message
+: WM_DROPFILES HEX: 0233 ; inline add-windows-message
+: WM_MDIREFRESHMENU HEX: 0234 ; inline add-windows-message
+: WM_IME_SETCONTEXT HEX: 0281 ; inline add-windows-message
+: WM_IME_NOTIFY HEX: 0282 ; inline add-windows-message
+: WM_IME_CONTROL HEX: 0283 ; inline add-windows-message
+: WM_IME_COMPOSITIONFULL HEX: 0284 ; inline add-windows-message
+: WM_IME_SELECT HEX: 0285 ; inline add-windows-message
+: WM_IME_CHAR HEX: 0286 ; inline add-windows-message
+: WM_IME_REQUEST HEX: 0288 ; inline add-windows-message
+: WM_IME_KEYDOWN HEX: 0290 ; inline add-windows-message
+: WM_IME_KEYUP HEX: 0291 ; inline add-windows-message
+: WM_MOUSEHOVER HEX: 02A1 ; inline add-windows-message
+: WM_MOUSELEAVE HEX: 02A3 ; inline add-windows-message
+: WM_NCMOUSEHOVER HEX: 02A0 ; inline add-windows-message
+: WM_NCMOUSELEAVE HEX: 02A2 ; inline add-windows-message
+: WM_WTSSESSION_CHANGE HEX: 02B1 ; inline add-windows-message
+: WM_TABLET_FIRST HEX: 02c0 ; inline add-windows-message
+: WM_TABLET_LAST HEX: 02df ; inline add-windows-message
+: WM_CUT HEX: 0300 ; inline add-windows-message
+: WM_COPY HEX: 0301 ; inline add-windows-message
+: WM_PASTE HEX: 0302 ; inline add-windows-message
+: WM_CLEAR HEX: 0303 ; inline add-windows-message
+: WM_UNDO HEX: 0304 ; inline add-windows-message
+: WM_RENDERFORMAT HEX: 0305 ; inline add-windows-message
+: WM_RENDERALLFORMATS HEX: 0306 ; inline add-windows-message
+: WM_DESTROYCLIPBOARD HEX: 0307 ; inline add-windows-message
+: WM_DRAWCLIPBOARD HEX: 0308 ; inline add-windows-message
+: WM_PAINTCLIPBOARD HEX: 0309 ; inline add-windows-message
+: WM_VSCROLLCLIPBOARD HEX: 030A ; inline add-windows-message
+: WM_SIZECLIPBOARD HEX: 030B ; inline add-windows-message
+: WM_ASKCBFORMATNAME HEX: 030C ; inline add-windows-message
+: WM_CHANGECBCHAIN HEX: 030D ; inline add-windows-message
+: WM_HSCROLLCLIPBOARD HEX: 030E ; inline add-windows-message
+: WM_QUERYNEWPALETTE HEX: 030F ; inline add-windows-message
+: WM_PALETTEISCHANGING HEX: 0310 ; inline add-windows-message
+: WM_PALETTECHANGED HEX: 0311 ; inline add-windows-message
+: WM_HOTKEY HEX: 0312 ; inline add-windows-message
+: WM_PRINT HEX: 0317 ; inline add-windows-message
+: WM_PRINTCLIENT HEX: 0318 ; inline add-windows-message
+: WM_APPCOMMAND HEX: 0319 ; inline add-windows-message
+: WM_THEMECHANGED HEX: 031A ; inline add-windows-message
+: WM_HANDHELDFIRST HEX: 0358 ; inline add-windows-message
+: WM_HANDHELDLAST HEX: 035F ; inline add-windows-message
+: WM_AFXFIRST HEX: 0360 ; inline add-windows-message
+: WM_AFXLAST HEX: 037F ; inline add-windows-message
+: WM_PENWINFIRST HEX: 0380 ; inline add-windows-message
+: WM_PENWINLAST HEX: 038F ; inline add-windows-message
+: WM_APP HEX: 8000 ; inline add-windows-message
+: WM_USER HEX: 0400 ; inline add-windows-message
+: EM_GETSEL HEX: 00B0 ; inline add-windows-message
+: EM_SETSEL HEX: 00B1 ; inline add-windows-message
+: EM_GETRECT HEX: 00B2 ; inline add-windows-message
+: EM_SETRECT HEX: 00B3 ; inline add-windows-message
+: EM_SETRECTNP HEX: 00B4 ; inline add-windows-message
+: EM_SCROLL HEX: 00B5 ; inline add-windows-message
+: EM_LINESCROLL HEX: 00B6 ; inline add-windows-message
+: EM_SCROLLCARET HEX: 00B7 ; inline add-windows-message
+: EM_GETMODIFY HEX: 00B8 ; inline add-windows-message
+: EM_SETMODIFY HEX: 00B9 ; inline add-windows-message
+: EM_GETLINECOUNT HEX: 00BA ; inline add-windows-message
+: EM_LINEINDEX HEX: 00BB ; inline add-windows-message
+: EM_SETHANDLE HEX: 00BC ; inline add-windows-message
+: EM_GETHANDLE HEX: 00BD ; inline add-windows-message
+: EM_GETTHUMB HEX: 00BE ; inline add-windows-message
+: EM_LINELENGTH HEX: 00C1 ; inline add-windows-message
+: EM_REPLACESEL HEX: 00C2 ; inline add-windows-message
+: EM_GETLINE HEX: 00C4 ; inline add-windows-message
+: EM_LIMITTEXT HEX: 00C5 ; inline add-windows-message
+: EM_CANUNDO HEX: 00C6 ; inline add-windows-message
+: EM_UNDO HEX: 00C7 ; inline add-windows-message
+: EM_FMTLINES HEX: 00C8 ; inline add-windows-message
+: EM_LINEFROMCHAR HEX: 00C9 ; inline add-windows-message
+: EM_SETTABSTOPS HEX: 00CB ; inline add-windows-message
+: EM_SETPASSWORDCHAR HEX: 00CC ; inline add-windows-message
+: EM_EMPTYUNDOBUFFER HEX: 00CD ; inline add-windows-message
+: EM_GETFIRSTVISIBLELINE HEX: 00CE ; inline add-windows-message
+: EM_SETREADONLY HEX: 00CF ; inline add-windows-message
+: EM_SETWORDBREAKPROC HEX: 00D0 ; inline add-windows-message
+: EM_GETWORDBREAKPROC HEX: 00D1 ; inline add-windows-message
+: EM_GETPASSWORDCHAR HEX: 00D2 ; inline add-windows-message
+: EM_SETMARGINS HEX: 00D3 ; inline add-windows-message
+: EM_GETMARGINS HEX: 00D4 ; inline add-windows-message
+: EM_SETLIMITTEXT EM_LIMITTEXT ; inline add-windows-message
+: EM_GETLIMITTEXT HEX: 00D5 ; inline add-windows-message
+: EM_POSFROMCHAR HEX: 00D6 ; inline add-windows-message
+: EM_CHARFROMPOS HEX: 00D7 ; inline add-windows-message
+: EM_SETIMESTATUS HEX: 00D8 ; inline add-windows-message
+: EM_GETIMESTATUS HEX: 00D9 ; inline add-windows-message
+: BM_GETCHECK HEX: 00F0 ; inline add-windows-message
+: BM_SETCHECK HEX: 00F1 ; inline add-windows-message
+: BM_GETSTATE HEX: 00F2 ; inline add-windows-message
+: BM_SETSTATE HEX: 00F3 ; inline add-windows-message
+: BM_SETSTYLE HEX: 00F4 ; inline add-windows-message
+: BM_CLICK HEX: 00F5 ; inline add-windows-message
+: BM_GETIMAGE HEX: 00F6 ; inline add-windows-message
+: BM_SETIMAGE HEX: 00F7 ; inline add-windows-message
+: STM_SETICON HEX: 0170 ; inline add-windows-message
+: STM_GETICON HEX: 0171 ; inline add-windows-message
+: STM_SETIMAGE HEX: 0172 ; inline add-windows-message
+: STM_GETIMAGE HEX: 0173 ; inline add-windows-message
+: STM_MSGMAX HEX: 0174 ; inline add-windows-message
+: DM_GETDEFID WM_USER ; inline add-windows-message
+: DM_SETDEFID  WM_USER 1 + ; inline add-windows-message
+: DM_REPOSITION WM_USER 2 + ; inline add-windows-message
+: LB_ADDSTRING HEX: 0180 ; inline add-windows-message
+: LB_INSERTSTRING HEX: 0181 ; inline add-windows-message
+: LB_DELETESTRING HEX: 0182 ; inline add-windows-message
+: LB_SELITEMRANGEEX HEX: 0183 ; inline add-windows-message
+: LB_RESETCONTENT HEX: 0184 ; inline add-windows-message
+: LB_SETSEL HEX: 0185 ; inline add-windows-message
+: LB_SETCURSEL HEX: 0186 ; inline add-windows-message
+: LB_GETSEL HEX: 0187 ; inline add-windows-message
+: LB_GETCURSEL HEX: 0188 ; inline add-windows-message
+: LB_GETTEXT HEX: 0189 ; inline add-windows-message
+: LB_GETTEXTLEN HEX: 018A ; inline add-windows-message
+: LB_GETCOUNT HEX: 018B ; inline add-windows-message
+: LB_SELECTSTRING HEX: 018C ; inline add-windows-message
+: LB_DIR HEX: 018D ; inline add-windows-message
+: LB_GETTOPINDEX HEX: 018E ; inline add-windows-message
+: LB_FINDSTRING HEX: 018F ; inline add-windows-message
+: LB_GETSELCOUNT HEX: 0190 ; inline add-windows-message
+: LB_GETSELITEMS HEX: 0191 ; inline add-windows-message
+: LB_SETTABSTOPS HEX: 0192 ; inline add-windows-message
+: LB_GETHORIZONTALEXTENT HEX: 0193 ; inline add-windows-message
+: LB_SETHORIZONTALEXTENT HEX: 0194 ; inline add-windows-message
+: LB_SETCOLUMNWIDTH HEX: 0195 ; inline add-windows-message
+: LB_ADDFILE HEX: 0196 ; inline add-windows-message
+: LB_SETTOPINDEX HEX: 0197 ; inline add-windows-message
+: LB_GETITEMRECT HEX: 0198 ; inline add-windows-message
+: LB_GETITEMDATA HEX: 0199 ; inline add-windows-message
+: LB_SETITEMDATA HEX: 019A ; inline add-windows-message
+: LB_SELITEMRANGE HEX: 019B ; inline add-windows-message
+: LB_SETANCHORINDEX HEX: 019C ; inline add-windows-message
+: LB_GETANCHORINDEX HEX: 019D ; inline add-windows-message
+: LB_SETCARETINDEX HEX: 019E ; inline add-windows-message
+: LB_GETCARETINDEX HEX: 019F ; inline add-windows-message
+: LB_SETITEMHEIGHT HEX: 01A0 ; inline add-windows-message
+: LB_GETITEMHEIGHT HEX: 01A1 ; inline add-windows-message
+: LB_FINDSTRINGEXACT HEX: 01A2 ; inline add-windows-message
+: LB_SETLOCALE HEX: 01A5 ; inline add-windows-message
+: LB_GETLOCALE HEX: 01A6 ; inline add-windows-message
+: LB_SETCOUNT HEX: 01A7 ; inline add-windows-message
+: LB_INITSTORAGE HEX: 01A8 ; inline add-windows-message
+: LB_ITEMFROMPOINT HEX: 01A9 ; inline add-windows-message
+: LB_MULTIPLEADDSTRING HEX: 01B1 ; inline add-windows-message
+: LB_GETLISTBOXINFO HEX: 01B2 ; inline add-windows-message
+: LB_MSGMAX_501 HEX: 01B3 ; inline add-windows-message
+: LB_MSGMAX_WCE4 HEX: 01B1 ; inline add-windows-message
+: LB_MSGMAX_4 HEX: 01B0 ; inline add-windows-message
+: LB_MSGMAX_PRE4 HEX: 01A8 ; inline add-windows-message
+: CB_GETEDITSEL HEX: 0140 ; inline add-windows-message
+: CB_LIMITTEXT HEX: 0141 ; inline add-windows-message
+: CB_SETEDITSEL HEX: 0142 ; inline add-windows-message
+: CB_ADDSTRING HEX: 0143 ; inline add-windows-message
+: CB_DELETESTRING HEX: 0144 ; inline add-windows-message
+: CB_DIR HEX: 0145 ; inline add-windows-message
+: CB_GETCOUNT HEX: 0146 ; inline add-windows-message
+: CB_GETCURSEL HEX: 0147 ; inline add-windows-message
+: CB_GETLBTEXT HEX: 0148 ; inline add-windows-message
+: CB_GETLBTEXTLEN HEX: 0149 ; inline add-windows-message
+: CB_INSERTSTRING HEX: 014A ; inline add-windows-message
+: CB_RESETCONTENT HEX: 014B ; inline add-windows-message
+: CB_FINDSTRING HEX: 014C ; inline add-windows-message
+: CB_SELECTSTRING HEX: 014D ; inline add-windows-message
+: CB_SETCURSEL HEX: 014E ; inline add-windows-message
+: CB_SHOWDROPDOWN HEX: 014F ; inline add-windows-message
+: CB_GETITEMDATA HEX: 0150 ; inline add-windows-message
+: CB_SETITEMDATA HEX: 0151 ; inline add-windows-message
+: CB_GETDROPPEDCONTROLRECT HEX: 0152 ; inline add-windows-message
+: CB_SETITEMHEIGHT HEX: 0153 ; inline add-windows-message
+: CB_GETITEMHEIGHT HEX: 0154 ; inline add-windows-message
+: CB_SETEXTENDEDUI HEX: 0155 ; inline add-windows-message
+: CB_GETEXTENDEDUI HEX: 0156 ; inline add-windows-message
+: CB_GETDROPPEDSTATE HEX: 0157 ; inline add-windows-message
+: CB_FINDSTRINGEXACT HEX: 0158 ; inline add-windows-message
+: CB_SETLOCALE HEX: 0159 ; inline add-windows-message
+: CB_GETLOCALE HEX: 015A ; inline add-windows-message
+: CB_GETTOPINDEX HEX: 015B ; inline add-windows-message
+: CB_SETTOPINDEX HEX: 015C ; inline add-windows-message
+: CB_GETHORIZONTALEXTENT HEX: 015d ; inline add-windows-message
+: CB_SETHORIZONTALEXTENT HEX: 015e ; inline add-windows-message
+: CB_GETDROPPEDWIDTH HEX: 015f ; inline add-windows-message
+: CB_SETDROPPEDWIDTH HEX: 0160 ; inline add-windows-message
+: CB_INITSTORAGE HEX: 0161 ; inline add-windows-message
+: CB_MULTIPLEADDSTRING HEX: 0163 ; inline add-windows-message
+: CB_GETCOMBOBOXINFO HEX: 0164 ; inline add-windows-message
+: CB_MSGMAX_501 HEX: 0165 ; inline add-windows-message
+: CB_MSGMAX_WCE400 HEX: 0163 ; inline add-windows-message
+: CB_MSGMAX_400 HEX: 0162 ; inline add-windows-message
+: CB_MSGMAX_PRE400 HEX: 015B ; inline add-windows-message
+: SBM_SETPOS HEX: 00E0 ; inline add-windows-message 
+: SBM_GETPOS HEX: 00E1 ; inline add-windows-message 
+: SBM_SETRANGE HEX: 00E2 ; inline add-windows-message 
+: SBM_SETRANGEREDRAW HEX: 00E6 ; inline add-windows-message
+: SBM_GETRANGE HEX: 00E3 ; inline add-windows-message
+: SBM_ENABLE_ARROWS HEX: 00E4 ; inline add-windows-message
+: SBM_SETSCROLLINFO HEX: 00E9 ; inline add-windows-message
+: SBM_GETSCROLLINFO HEX: 00EA ; inline add-windows-message
+: SBM_GETSCROLLBARINFO HEX: 00EB ; inline add-windows-message
+: LVM_FIRST HEX: 1000 ; inline add-windows-message ! ListView messages
+: TV_FIRST HEX: 1100 ; inline add-windows-message ! TreeView messages
+: HDM_FIRST HEX: 1200 ; inline add-windows-message ! Header messages
+: TCM_FIRST HEX: 1300 ; inline add-windows-message ! Tab control messages
+: PGM_FIRST HEX: 1400 ; inline add-windows-message ! Pager control messages
+: ECM_FIRST HEX: 1500 ; inline add-windows-message ! Edit control messages
+: BCM_FIRST HEX: 1600 ; inline add-windows-message ! Button control messages
+: CBM_FIRST HEX: 1700 ; inline add-windows-message ! Combobox control messages
+: CCM_FIRST HEX: 2000 ; inline add-windows-message ! Common control shared messages
+: CCM_LAST CCM_FIRST HEX: 0200 + ; inline add-windows-message
+: CCM_SETBKCOLOR CCM_FIRST  1 +  ; inline add-windows-message
+: CCM_SETCOLORSCHEME CCM_FIRST  2 +  ; inline add-windows-message
+: CCM_GETCOLORSCHEME CCM_FIRST  3 +  ; inline add-windows-message
+: CCM_GETDROPTARGET CCM_FIRST  4 +  ; inline add-windows-message
+: CCM_SETUNICODEFORMAT CCM_FIRST  5 +  ; inline add-windows-message
+: CCM_GETUNICODEFORMAT CCM_FIRST  6 +  ; inline add-windows-message
+: CCM_SETVERSION CCM_FIRST  7 +  ; inline add-windows-message
+: CCM_GETVERSION CCM_FIRST  8 +  ; inline add-windows-message
+: CCM_SETNOTIFYWINDOW CCM_FIRST  9 +  ; inline add-windows-message
+: CCM_SETWINDOWTHEME CCM_FIRST  HEX: b +  ; inline add-windows-message
+: CCM_DPISCALE CCM_FIRST  HEX: c +  ; inline add-windows-message
+: HDM_GETITEMCOUNT HDM_FIRST  0 +  ; inline add-windows-message
+: HDM_INSERTITEMA HDM_FIRST  1 +  ; inline add-windows-message
+: HDM_INSERTITEMW HDM_FIRST  10 +  ; inline add-windows-message
+: HDM_DELETEITEM HDM_FIRST  2 +  ; inline add-windows-message
+: HDM_GETITEMA HDM_FIRST  3 +  ; inline add-windows-message
+: HDM_GETITEMW HDM_FIRST  11 +  ; inline add-windows-message
+: HDM_SETITEMA HDM_FIRST  4 +  ; inline add-windows-message
+: HDM_SETITEMW HDM_FIRST  12 +  ; inline add-windows-message
+: HDM_LAYOUT HDM_FIRST  5 +  ; inline add-windows-message
+: HDM_HITTEST HDM_FIRST  6 +  ; inline add-windows-message
+: HDM_GETITEMRECT HDM_FIRST  7 +  ; inline add-windows-message
+: HDM_SETIMAGELIST HDM_FIRST  8 +  ; inline add-windows-message
+: HDM_GETIMAGELIST HDM_FIRST  9 +  ; inline add-windows-message
+: HDM_ORDERTOINDEX HDM_FIRST  15 +  ; inline add-windows-message
+: HDM_CREATEDRAGIMAGE HDM_FIRST  16 +  ; inline add-windows-message
+: HDM_GETORDERARRAY HDM_FIRST  17 +  ; inline add-windows-message
+: HDM_SETORDERARRAY HDM_FIRST  18 +  ; inline add-windows-message
+: HDM_SETHOTDIVIDER HDM_FIRST  19 +  ; inline add-windows-message
+: HDM_SETBITMAPMARGIN HDM_FIRST  20 +  ; inline add-windows-message
+: HDM_GETBITMAPMARGIN HDM_FIRST  21 +  ; inline add-windows-message
+: HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: HDM_SETFILTERCHANGETIMEOUT HDM_FIRST 22 + ; inline add-windows-message
+: HDM_EDITFILTER HDM_FIRST 23 + ; inline add-windows-message
+: HDM_CLEARFILTER HDM_FIRST 24 + ; inline add-windows-message
+: TB_ENABLEBUTTON WM_USER 1 + ; inline add-windows-message
+: TB_CHECKBUTTON WM_USER 2 + ; inline add-windows-message
+: TB_PRESSBUTTON WM_USER 3 + ; inline add-windows-message
+: TB_HIDEBUTTON WM_USER  4 +  ; inline add-windows-message
+: TB_INDETERMINATE WM_USER  5 +  ; inline add-windows-message
+: TB_MARKBUTTON WM_USER  6 +  ; inline add-windows-message
+: TB_ISBUTTONENABLED WM_USER  9 +  ; inline add-windows-message
+: TB_ISBUTTONCHECKED WM_USER  10 +  ; inline add-windows-message
+: TB_ISBUTTONPRESSED WM_USER  11 +  ; inline add-windows-message
+: TB_ISBUTTONHIDDEN WM_USER  12 +  ; inline add-windows-message
+: TB_ISBUTTONINDETERMINATE WM_USER  13 +  ; inline add-windows-message
+: TB_ISBUTTONHIGHLIGHTED WM_USER  14 +  ; inline add-windows-message
+: TB_SETSTATE WM_USER  17 +  ; inline add-windows-message
+: TB_GETSTATE WM_USER  18 +  ; inline add-windows-message
+: TB_ADDBITMAP WM_USER  19 +  ; inline add-windows-message
+: TB_ADDBUTTONSA WM_USER  20 +  ; inline add-windows-message
+: TB_INSERTBUTTONA WM_USER  21 +  ; inline add-windows-message
+: TB_ADDBUTTONS WM_USER  20 +  ; inline add-windows-message
+: TB_INSERTBUTTON WM_USER  21 +  ; inline add-windows-message
+: TB_DELETEBUTTON WM_USER  22 +  ; inline add-windows-message
+: TB_GETBUTTON WM_USER  23 +  ; inline add-windows-message
+: TB_BUTTONCOUNT WM_USER  24 +  ; inline add-windows-message
+: TB_COMMANDTOINDEX WM_USER  25 +  ; inline add-windows-message
+: TB_SAVERESTOREA WM_USER  26 +  ; inline add-windows-message
+: TB_SAVERESTOREW WM_USER  76 +  ; inline add-windows-message
+: TB_CUSTOMIZE WM_USER  27 +  ; inline add-windows-message
+: TB_ADDSTRINGA WM_USER  28 +  ; inline add-windows-message
+: TB_ADDSTRINGW WM_USER  77 +  ; inline add-windows-message
+: TB_GETITEMRECT WM_USER  29 +  ; inline add-windows-message
+: TB_BUTTONSTRUCTSIZE WM_USER  30 +  ; inline add-windows-message
+: TB_SETBUTTONSIZE WM_USER  31 +  ; inline add-windows-message
+: TB_SETBITMAPSIZE WM_USER  32 +  ; inline add-windows-message
+: TB_AUTOSIZE WM_USER  33 +  ; inline add-windows-message
+: TB_GETTOOLTIPS WM_USER  35 +  ; inline add-windows-message
+: TB_SETTOOLTIPS WM_USER  36 +  ; inline add-windows-message
+: TB_SETPARENT WM_USER  37 +  ; inline add-windows-message
+: TB_SETROWS WM_USER  39 +  ; inline add-windows-message
+: TB_GETROWS WM_USER  40 +  ; inline add-windows-message
+: TB_SETCMDID WM_USER  42 +  ; inline add-windows-message
+: TB_CHANGEBITMAP WM_USER  43 +  ; inline add-windows-message
+: TB_GETBITMAP WM_USER  44 +  ; inline add-windows-message
+: TB_GETBUTTONTEXTA WM_USER  45 +  ; inline add-windows-message
+: TB_GETBUTTONTEXTW WM_USER  75 +  ; inline add-windows-message
+: TB_REPLACEBITMAP WM_USER  46 +  ; inline add-windows-message
+: TB_SETINDENT WM_USER  47 +  ; inline add-windows-message
+: TB_SETIMAGELIST WM_USER  48 +  ; inline add-windows-message
+: TB_GETIMAGELIST WM_USER  49 +  ; inline add-windows-message
+: TB_LOADIMAGES WM_USER  50 +  ; inline add-windows-message
+: TB_GETRECT WM_USER  51 +  ; inline add-windows-message
+: TB_SETHOTIMAGELIST WM_USER  52 +  ; inline add-windows-message
+: TB_GETHOTIMAGELIST WM_USER  53 +  ; inline add-windows-message
+: TB_SETDISABLEDIMAGELIST WM_USER  54 +  ; inline add-windows-message
+: TB_GETDISABLEDIMAGELIST WM_USER  55 +  ; inline add-windows-message
+: TB_SETSTYLE WM_USER  56 +  ; inline add-windows-message
+: TB_GETSTYLE WM_USER  57 +  ; inline add-windows-message
+: TB_GETBUTTONSIZE WM_USER  58 +  ; inline add-windows-message
+: TB_SETBUTTONWIDTH WM_USER  59 +  ; inline add-windows-message
+: TB_SETMAXTEXTROWS WM_USER  60 +  ; inline add-windows-message
+: TB_GETTEXTROWS WM_USER  61 +  ; inline add-windows-message
+: TB_GETOBJECT WM_USER  62 +  ; inline add-windows-message
+: TB_GETHOTITEM WM_USER  71 +  ; inline add-windows-message
+: TB_SETHOTITEM WM_USER  72 +  ; inline add-windows-message 
+: TB_SETANCHORHIGHLIGHT WM_USER  73 +  ; inline add-windows-message 
+: TB_GETANCHORHIGHLIGHT WM_USER  74 +  ; inline add-windows-message
+: TB_MAPACCELERATORA WM_USER  78 +  ; inline add-windows-message 
+: TB_GETINSERTMARK WM_USER  79 +  ; inline add-windows-message 
+: TB_SETINSERTMARK WM_USER  80 +  ; inline add-windows-message 
+: TB_INSERTMARKHITTEST WM_USER  81 +  ; inline add-windows-message
+: TB_MOVEBUTTON WM_USER  82 +  ; inline add-windows-message
+: TB_GETMAXSIZE WM_USER  83 +  ; inline add-windows-message
+: TB_SETEXTENDEDSTYLE WM_USER  84 +  ; inline add-windows-message
+: TB_GETEXTENDEDSTYLE WM_USER  85 +  ; inline add-windows-message
+: TB_GETPADDING WM_USER  86 +  ; inline add-windows-message
+: TB_SETPADDING WM_USER  87 +  ; inline add-windows-message
+: TB_SETINSERTMARKCOLOR WM_USER  88 +  ; inline add-windows-message
+: TB_GETINSERTMARKCOLOR WM_USER  89 +  ; inline add-windows-message
+: TB_SETCOLORSCHEME CCM_SETCOLORSCHEME ; inline add-windows-message
+: TB_GETCOLORSCHEME CCM_GETCOLORSCHEME ; inline add-windows-message
+: TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: TB_MAPACCELERATORW WM_USER  90 +  ; inline add-windows-message
+: TB_GETBITMAPFLAGS WM_USER  41 +  ; inline add-windows-message
+: TB_GETBUTTONINFOW WM_USER  63 +  ; inline add-windows-message
+: TB_SETBUTTONINFOW WM_USER  64 +  ; inline add-windows-message
+: TB_GETBUTTONINFOA WM_USER  65 +  ; inline add-windows-message
+: TB_SETBUTTONINFOA WM_USER  66 +  ; inline add-windows-message
+: TB_INSERTBUTTONW WM_USER  67 +  ; inline add-windows-message
+: TB_ADDBUTTONSW WM_USER  68 +  ; inline add-windows-message
+: TB_HITTEST WM_USER  69 +  ; inline add-windows-message
+: TB_SETDRAWTEXTFLAGS WM_USER  70 +  ; inline add-windows-message
+: TB_GETSTRINGW WM_USER  91 +  ; inline add-windows-message
+: TB_GETSTRINGA WM_USER  92 +  ; inline add-windows-message
+: TB_GETMETRICS WM_USER  101 +  ; inline add-windows-message
+: TB_SETMETRICS WM_USER  102 +  ; inline add-windows-message
+: TB_SETWINDOWTHEME CCM_SETWINDOWTHEME ; inline add-windows-message
+: RB_INSERTBANDA WM_USER  1 +  ; inline add-windows-message
+: RB_DELETEBAND WM_USER  2 +  ; inline add-windows-message
+: RB_GETBARINFO WM_USER  3 +  ; inline add-windows-message
+: RB_SETBARINFO WM_USER  4 +  ; inline add-windows-message
+: RB_GETBANDINFO WM_USER  5 +  ; inline add-windows-message
+: RB_SETBANDINFOA WM_USER  6 +  ; inline add-windows-message
+: RB_SETPARENT WM_USER  7 +  ; inline add-windows-message
+: RB_HITTEST WM_USER  8 +  ; inline add-windows-message
+: RB_GETRECT WM_USER  9 +  ; inline add-windows-message
+: RB_INSERTBANDW WM_USER  10 +  ; inline add-windows-message
+: RB_SETBANDINFOW WM_USER  11 +  ; inline add-windows-message
+: RB_GETBANDCOUNT WM_USER  12 +  ; inline add-windows-message
+: RB_GETROWCOUNT WM_USER  13 +  ; inline add-windows-message
+: RB_GETROWHEIGHT WM_USER  14 +  ; inline add-windows-message
+: RB_IDTOINDEX WM_USER  16 +  ; inline add-windows-message 
+: RB_GETTOOLTIPS WM_USER  17 +  ; inline add-windows-message
+: RB_SETTOOLTIPS WM_USER  18 +  ; inline add-windows-message
+: RB_SETBKCOLOR WM_USER  19 +  ; inline add-windows-message
+: RB_GETBKCOLOR WM_USER  20 +  ; inline add-windows-message
+: RB_SETTEXTCOLOR WM_USER  21 +  ; inline add-windows-message
+: RB_GETTEXTCOLOR WM_USER  22 +  ; inline add-windows-message
+: RB_SIZETORECT WM_USER  23 +  ; inline add-windows-message
+: RB_SETCOLORSCHEME CCM_SETCOLORSCHEME ; inline add-windows-message
+: RB_GETCOLORSCHEME CCM_GETCOLORSCHEME ; inline add-windows-message
+: RB_BEGINDRAG WM_USER  24 +  ; inline add-windows-message
+: RB_ENDDRAG WM_USER  25 +  ; inline add-windows-message
+: RB_DRAGMOVE WM_USER  26 +  ; inline add-windows-message
+: RB_GETBARHEIGHT WM_USER  27 +  ; inline add-windows-message
+: RB_GETBANDINFOW WM_USER  28 +  ; inline add-windows-message
+: RB_GETBANDINFOA WM_USER  29 +  ; inline add-windows-message
+: RB_MINIMIZEBAND WM_USER  30 +  ; inline add-windows-message
+: RB_MAXIMIZEBAND WM_USER  31 +  ; inline add-windows-message
+: RB_GETDROPTARGET CCM_GETDROPTARGET ; inline add-windows-message
+: RB_GETBANDBORDERS WM_USER  34 +  ; inline add-windows-message 
+: RB_SHOWBAND WM_USER  35 +  ; inline add-windows-message 
+: RB_SETPALETTE WM_USER  37 +  ; inline add-windows-message
+: RB_GETPALETTE WM_USER  38 +  ; inline add-windows-message
+: RB_MOVEBAND WM_USER  39 +  ; inline add-windows-message
+: RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: RB_GETBANDMARGINS WM_USER  40 +  ; inline add-windows-message
+: RB_SETWINDOWTHEME CCM_SETWINDOWTHEME ; inline add-windows-message
+: RB_PUSHCHEVRON WM_USER  43 +  ; inline add-windows-message
+: TTM_ACTIVATE WM_USER  1 +  ; inline add-windows-message
+: TTM_SETDELAYTIME WM_USER  3 +  ; inline add-windows-message
+: TTM_ADDTOOLA WM_USER  4 +  ; inline add-windows-message
+: TTM_ADDTOOLW WM_USER  50 +  ; inline add-windows-message
+: TTM_DELTOOLA WM_USER  5 +  ; inline add-windows-message
+: TTM_DELTOOLW WM_USER  51 +  ; inline add-windows-message
+: TTM_NEWTOOLRECTA WM_USER  6 +  ; inline add-windows-message
+: TTM_NEWTOOLRECTW WM_USER  52 +  ; inline add-windows-message
+: TTM_RELAYEVENT WM_USER  7 +  ; inline add-windows-message
+: TTM_GETTOOLINFOA WM_USER  8 +  ; inline add-windows-message
+: TTM_GETTOOLINFOW WM_USER  53 +  ; inline add-windows-message
+: TTM_SETTOOLINFOA WM_USER  9 +  ; inline add-windows-message
+: TTM_SETTOOLINFOW WM_USER  54 +  ; inline add-windows-message
+: TTM_HITTESTA WM_USER 10 + ; inline add-windows-message
+: TTM_HITTESTW WM_USER 55 + ; inline add-windows-message
+: TTM_GETTEXTA WM_USER 11 + ; inline add-windows-message
+: TTM_GETTEXTW WM_USER 56 + ; inline add-windows-message
+: TTM_UPDATETIPTEXTA WM_USER 12 + ; inline add-windows-message
+: TTM_UPDATETIPTEXTW WM_USER 57 + ; inline add-windows-message
+: TTM_GETTOOLCOUNT WM_USER 13 + ; inline add-windows-message
+: TTM_ENUMTOOLSA WM_USER 14 + ; inline add-windows-message
+: TTM_ENUMTOOLSW WM_USER 58 + ; inline add-windows-message
+: TTM_GETCURRENTTOOLA WM_USER  15 +  ; inline add-windows-message
+: TTM_GETCURRENTTOOLW WM_USER  59 +  ; inline add-windows-message
+: TTM_WINDOWFROMPOINT WM_USER  16 +  ; inline add-windows-message
+: TTM_TRACKACTIVATE WM_USER  17 +  ; inline add-windows-message
+: TTM_TRACKPOSITION WM_USER  18 +  ; inline add-windows-message
+: TTM_SETTIPBKCOLOR WM_USER  19 +  ; inline add-windows-message
+: TTM_SETTIPTEXTCOLOR WM_USER  20 +  ; inline add-windows-message
+: TTM_GETDELAYTIME WM_USER  21 +  ; inline add-windows-message
+: TTM_GETTIPBKCOLOR WM_USER  22 +  ; inline add-windows-message
+: TTM_GETTIPTEXTCOLOR WM_USER  23 +  ; inline add-windows-message
+: TTM_SETMAXTIPWIDTH WM_USER  24 +  ; inline add-windows-message
+: TTM_GETMAXTIPWIDTH WM_USER  25 +  ; inline add-windows-message
+: TTM_SETMARGIN WM_USER  26 +  ; inline add-windows-message
+: TTM_GETMARGIN WM_USER  27 +  ; inline add-windows-message
+: TTM_POP WM_USER  28 +  ; inline add-windows-message
+: TTM_UPDATE WM_USER  29 +  ; inline add-windows-message
+: TTM_GETBUBBLESIZE WM_USER  30 +  ; inline add-windows-message
+: TTM_ADJUSTRECT WM_USER  31 +  ; inline add-windows-message
+: TTM_SETTITLEA WM_USER  32 +  ; inline add-windows-message
+: TTM_SETTITLEW WM_USER  33 +  ; inline add-windows-message
+: TTM_POPUP WM_USER  34 +  ; inline add-windows-message
+: TTM_GETTITLE WM_USER  35 +  ; inline add-windows-message
+: TTM_SETWINDOWTHEME CCM_SETWINDOWTHEME ; inline add-windows-message
+: SB_SETTEXTA WM_USER 1+  ; inline add-windows-message
+: SB_SETTEXTW WM_USER 11 +  ; inline add-windows-message
+: SB_GETTEXTA WM_USER 2 +  ; inline add-windows-message
+: SB_GETTEXTW WM_USER 13 +  ; inline add-windows-message
+: SB_GETTEXTLENGTHA WM_USER 3 +  ; inline add-windows-message
+: SB_GETTEXTLENGTHW WM_USER 12 +  ; inline add-windows-message
+: SB_SETPARTS WM_USER 4 +  ; inline add-windows-message
+: SB_GETPARTS WM_USER 6 +  ; inline add-windows-message
+: SB_GETBORDERS WM_USER 7 +  ; inline add-windows-message
+: SB_SETMINHEIGHT WM_USER 8 +  ; inline add-windows-message
+: SB_SIMPLE WM_USER 9 +  ; inline add-windows-message
+: SB_GETRECT WM_USER 10 +  ; inline add-windows-message
+: SB_ISSIMPLE WM_USER 14 +  ; inline add-windows-message
+: SB_SETICON WM_USER 15 +  ; inline add-windows-message
+: SB_SETTIPTEXTA WM_USER 16 +  ; inline add-windows-message
+: SB_SETTIPTEXTW WM_USER 17 +  ; inline add-windows-message
+: SB_GETTIPTEXTA WM_USER 18 +  ; inline add-windows-message
+: SB_GETTIPTEXTW WM_USER 19 +  ; inline add-windows-message
+: SB_GETICON WM_USER 20 +  ; inline add-windows-message
+: SB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: SB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: SB_SETBKCOLOR CCM_SETBKCOLOR ; inline add-windows-message
+: SB_SIMPLEID HEX: 00ff ; inline add-windows-message
+: TBM_GETPOS WM_USER ; inline add-windows-message
+: TBM_GETRANGEMIN WM_USER 1 +  ; inline add-windows-message
+: TBM_GETRANGEMAX WM_USER 2 +  ; inline add-windows-message
+: TBM_GETTIC WM_USER 3 +  ; inline add-windows-message
+: TBM_SETTIC WM_USER 4 +  ; inline add-windows-message
+: TBM_SETPOS WM_USER 5 +  ; inline add-windows-message
+: TBM_SETRANGE WM_USER 6 +  ; inline add-windows-message
+: TBM_SETRANGEMIN WM_USER 7 +  ; inline add-windows-message
+: TBM_SETRANGEMAX WM_USER 8 +  ; inline add-windows-message
+: TBM_CLEARTICS WM_USER 9 +  ; inline add-windows-message
+: TBM_SETSEL WM_USER 10 +  ; inline add-windows-message
+: TBM_SETSELSTART WM_USER 11 +  ; inline add-windows-message
+: TBM_SETSELEND WM_USER 12 +  ; inline add-windows-message
+: TBM_GETPTICS WM_USER 14 +  ; inline add-windows-message
+: TBM_GETTICPOS WM_USER 15 +  ; inline add-windows-message
+: TBM_GETNUMTICS WM_USER 16 +  ; inline add-windows-message
+: TBM_GETSELSTART WM_USER 17 +  ; inline add-windows-message
+: TBM_GETSELEND WM_USER 18 +  ; inline add-windows-message
+: TBM_CLEARSEL WM_USER 19 +  ; inline add-windows-message
+: TBM_SETTICFREQ WM_USER 20 +  ; inline add-windows-message
+: TBM_SETPAGESIZE WM_USER 21 +  ; inline add-windows-message
+: TBM_GETPAGESIZE WM_USER 22 +  ; inline add-windows-message
+: TBM_SETLINESIZE WM_USER 23 +  ; inline add-windows-message
+: TBM_GETLINESIZE WM_USER 24 +  ; inline add-windows-message
+: TBM_GETTHUMBRECT WM_USER 25 +  ; inline add-windows-message
+: TBM_GETCHANNELRECT WM_USER 26 +  ; inline add-windows-message
+: TBM_SETTHUMBLENGTH WM_USER 27 +  ; inline add-windows-message
+: TBM_GETTHUMBLENGTH WM_USER 28 +  ; inline add-windows-message
+: TBM_SETTOOLTIPS WM_USER 29 +  ; inline add-windows-message
+: TBM_GETTOOLTIPS WM_USER 30 +  ; inline add-windows-message
+: TBM_SETTIPSIDE WM_USER 31 +  ; inline add-windows-message
+: TBM_SETBUDDY WM_USER 32 +  ; inline add-windows-message 
+: TBM_GETBUDDY WM_USER 33 +  ; inline add-windows-message 
+: TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: DL_BEGINDRAG WM_USER 133 +  ; inline add-windows-message
+: DL_DRAGGING WM_USER 134 +  ; inline add-windows-message
+: DL_DROPPED WM_USER 135 +  ; inline add-windows-message
+: DL_CANCELDRAG WM_USER 136 +  ; inline add-windows-message
+: UDM_SETRANGE WM_USER 101 +  ; inline add-windows-message
+: UDM_GETRANGE WM_USER 102 +  ; inline add-windows-message
+: UDM_SETPOS WM_USER 103 +  ; inline add-windows-message
+: UDM_GETPOS WM_USER 104 +  ; inline add-windows-message
+: UDM_SETBUDDY WM_USER 105 +  ; inline add-windows-message
+: UDM_GETBUDDY WM_USER 106 +  ; inline add-windows-message
+: UDM_SETACCEL WM_USER 107 +  ; inline add-windows-message
+: UDM_GETACCEL WM_USER 108 +  ; inline add-windows-message
+: UDM_SETBASE WM_USER 109 +  ; inline add-windows-message
+: UDM_GETBASE WM_USER 110 +  ; inline add-windows-message
+: UDM_SETRANGE32 WM_USER 111 +  ; inline add-windows-message
+: UDM_GETRANGE32 WM_USER 112 +  ; inline add-windows-message
+: UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: UDM_SETPOS32 WM_USER 113 +  ; inline add-windows-message
+: UDM_GETPOS32 WM_USER 114 +  ; inline add-windows-message
+: PBM_SETRANGE WM_USER 1 +  ; inline add-windows-message
+: PBM_SETPOS WM_USER 2 +  ; inline add-windows-message
+: PBM_DELTAPOS WM_USER 3 +  ; inline add-windows-message
+: PBM_SETSTEP WM_USER 4 +  ; inline add-windows-message
+: PBM_STEPIT WM_USER 5 +  ; inline add-windows-message
+: PBM_SETRANGE32 WM_USER 6 +  ; inline add-windows-message
+: PBM_GETRANGE WM_USER 7 +  ; inline add-windows-message 
+: PBM_GETPOS WM_USER 8 +  ; inline add-windows-message
+: PBM_SETBARCOLOR WM_USER 9 +  ; inline add-windows-message
+: PBM_SETBKCOLOR CCM_SETBKCOLOR ; inline add-windows-message 
+: HKM_SETHOTKEY WM_USER 1 +  ; inline add-windows-message
+: HKM_GETHOTKEY WM_USER 2 +  ; inline add-windows-message
+: HKM_SETRULES WM_USER 3 +  ; inline add-windows-message
+: LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: LVM_GETBKCOLOR LVM_FIRST  0 +  ; inline add-windows-message
+: LVM_SETBKCOLOR LVM_FIRST  1 +  ; inline add-windows-message
+: LVM_GETIMAGELIST LVM_FIRST  2 +  ; inline add-windows-message
+: LVM_SETIMAGELIST LVM_FIRST  3 +  ; inline add-windows-message
+: LVM_GETITEMCOUNT LVM_FIRST  4 +  ; inline add-windows-message
+: LVM_GETITEMA LVM_FIRST  5 +  ; inline add-windows-message
+: LVM_GETITEMW LVM_FIRST  75 +  ; inline add-windows-message
+: LVM_SETITEMA LVM_FIRST  6 +  ; inline add-windows-message
+: LVM_SETITEMW LVM_FIRST  76 +  ; inline add-windows-message
+: LVM_INSERTITEMA LVM_FIRST  7 +  ; inline add-windows-message
+: LVM_INSERTITEMW LVM_FIRST  77 +  ; inline add-windows-message
+: LVM_DELETEITEM LVM_FIRST  8 +  ; inline add-windows-message
+: LVM_DELETEALLITEMS LVM_FIRST  9 +  ; inline add-windows-message
+: LVM_GETCALLBACKMASK LVM_FIRST  10 +  ; inline add-windows-message
+: LVM_SETCALLBACKMASK LVM_FIRST  11 +  ; inline add-windows-message
+: LVM_FINDITEMA LVM_FIRST  13 +  ; inline add-windows-message
+: LVM_FINDITEMW LVM_FIRST  83 +  ; inline add-windows-message
+: LVM_GETITEMRECT LVM_FIRST  14 +  ; inline add-windows-message
+: LVM_SETITEMPOSITION LVM_FIRST  15 +  ; inline add-windows-message
+: LVM_GETITEMPOSITION LVM_FIRST  16 +  ; inline add-windows-message
+: LVM_GETSTRINGWIDTHA LVM_FIRST  17 +  ; inline add-windows-message
+: LVM_GETSTRINGWIDTHW LVM_FIRST  87 +  ; inline add-windows-message
+: LVM_HITTEST LVM_FIRST  18 +  ; inline add-windows-message
+: LVM_ENSUREVISIBLE LVM_FIRST  19 +  ; inline add-windows-message
+: LVM_SCROLL LVM_FIRST  20 +  ; inline add-windows-message
+: LVM_REDRAWITEMS LVM_FIRST  21 +  ; inline add-windows-message
+: LVM_ARRANGE LVM_FIRST  22 +  ; inline add-windows-message
+: LVM_EDITLABELA LVM_FIRST  23 +  ; inline add-windows-message
+: LVM_EDITLABELW LVM_FIRST  118 +  ; inline add-windows-message
+: LVM_GETEDITCONTROL LVM_FIRST  24 +  ; inline add-windows-message
+: LVM_GETCOLUMNA LVM_FIRST  25 +  ; inline add-windows-message
+: LVM_GETCOLUMNW LVM_FIRST  95 +  ; inline add-windows-message
+: LVM_SETCOLUMNA LVM_FIRST  26 +  ; inline add-windows-message
+: LVM_SETCOLUMNW LVM_FIRST  96 +  ; inline add-windows-message
+: LVM_INSERTCOLUMNA LVM_FIRST  27 +  ; inline add-windows-message
+: LVM_INSERTCOLUMNW LVM_FIRST  97 +  ; inline add-windows-message
+: LVM_DELETECOLUMN LVM_FIRST  28 +  ; inline add-windows-message
+: LVM_GETCOLUMNWIDTH LVM_FIRST  29 +  ; inline add-windows-message
+: LVM_SETCOLUMNWIDTH LVM_FIRST  30 +  ; inline add-windows-message
+: LVM_CREATEDRAGIMAGE LVM_FIRST  33 +  ; inline add-windows-message
+: LVM_GETVIEWRECT LVM_FIRST  34 +  ; inline add-windows-message
+: LVM_GETTEXTCOLOR LVM_FIRST  35 +  ; inline add-windows-message
+: LVM_SETTEXTCOLOR LVM_FIRST  36 +  ; inline add-windows-message
+: LVM_GETTEXTBKCOLOR LVM_FIRST  37 +  ; inline add-windows-message
+: LVM_SETTEXTBKCOLOR LVM_FIRST  38 +  ; inline add-windows-message
+: LVM_GETTOPINDEX LVM_FIRST  39 +  ; inline add-windows-message
+: LVM_GETCOUNTPERPAGE LVM_FIRST  40 +  ; inline add-windows-message
+: LVM_GETORIGIN LVM_FIRST  41 +  ; inline add-windows-message
+: LVM_UPDATE LVM_FIRST  42 +  ; inline add-windows-message
+: LVM_SETITEMSTATE LVM_FIRST  43 +  ; inline add-windows-message
+: LVM_GETITEMSTATE LVM_FIRST  44 +  ; inline add-windows-message
+: LVM_GETITEMTEXTA LVM_FIRST  45 +  ; inline add-windows-message
+: LVM_GETITEMTEXTW LVM_FIRST  115 +  ; inline add-windows-message
+: LVM_SETITEMTEXTA LVM_FIRST  46 +  ; inline add-windows-message
+: LVM_SETITEMTEXTW LVM_FIRST  116 +  ; inline add-windows-message
+: LVM_SETITEMCOUNT LVM_FIRST  47 +  ; inline add-windows-message
+: LVM_SORTITEMS LVM_FIRST  48 +  ; inline add-windows-message
+: LVM_SETITEMPOSITION32 LVM_FIRST  49 +  ; inline add-windows-message
+: LVM_GETSELECTEDCOUNT LVM_FIRST  50 +  ; inline add-windows-message
+: LVM_GETITEMSPACING LVM_FIRST  51 +  ; inline add-windows-message
+: LVM_GETISEARCHSTRINGA LVM_FIRST  52 +  ; inline add-windows-message
+: LVM_GETISEARCHSTRINGW LVM_FIRST  117 +  ; inline add-windows-message
+: LVM_SETICONSPACING LVM_FIRST  53 +  ; inline add-windows-message
+: LVM_SETEXTENDEDLISTVIEWSTYLE LVM_FIRST  54 +  ; inline add-windows-message
+: LVM_GETEXTENDEDLISTVIEWSTYLE LVM_FIRST  55 +  ; inline add-windows-message
+: LVM_GETSUBITEMRECT LVM_FIRST  56 +  ; inline add-windows-message
+: LVM_SUBITEMHITTEST LVM_FIRST  57 +  ; inline add-windows-message
+: LVM_SETCOLUMNORDERARRAY LVM_FIRST  58 +  ; inline add-windows-message
+: LVM_GETCOLUMNORDERARRAY LVM_FIRST  59 +  ; inline add-windows-message
+: LVM_SETHOTITEM LVM_FIRST  60 +  ; inline add-windows-message
+: LVM_GETHOTITEM LVM_FIRST  61 +  ; inline add-windows-message
+: LVM_SETHOTCURSOR LVM_FIRST  62 +  ; inline add-windows-message
+: LVM_GETHOTCURSOR LVM_FIRST  63 +  ; inline add-windows-message
+: LVM_APPROXIMATEVIEWRECT LVM_FIRST  64 +  ; inline add-windows-message
+: LVM_SETWORKAREAS LVM_FIRST  65 +  ; inline add-windows-message
+: LVM_GETWORKAREAS LVM_FIRST  70 +  ; inline add-windows-message
+: LVM_GETNUMBEROFWORKAREAS LVM_FIRST  73 +  ; inline add-windows-message
+: LVM_GETSELECTIONMARK LVM_FIRST  66 +  ; inline add-windows-message
+: LVM_SETSELECTIONMARK LVM_FIRST  67 +  ; inline add-windows-message
+: LVM_SETHOVERTIME LVM_FIRST  71 +  ; inline add-windows-message
+: LVM_GETHOVERTIME LVM_FIRST  72 +  ; inline add-windows-message
+: LVM_SETTOOLTIPS LVM_FIRST  74 +  ; inline add-windows-message
+: LVM_GETTOOLTIPS LVM_FIRST  78 +  ; inline add-windows-message
+: LVM_SORTITEMSEX LVM_FIRST  81 +  ; inline add-windows-message
+: LVM_SETBKIMAGEA LVM_FIRST  68 +  ; inline add-windows-message
+: LVM_SETBKIMAGEW LVM_FIRST  138 +  ; inline add-windows-message
+: LVM_GETBKIMAGEA LVM_FIRST  69 +  ; inline add-windows-message
+: LVM_GETBKIMAGEW LVM_FIRST  139 +  ; inline add-windows-message
+: LVM_SETSELECTEDCOLUMN LVM_FIRST  140 +  ; inline add-windows-message
+: LVM_SETTILEWIDTH LVM_FIRST  141 +  ; inline add-windows-message
+: LVM_SETVIEW LVM_FIRST  142 +  ; inline add-windows-message
+: LVM_GETVIEW LVM_FIRST  143 +  ; inline add-windows-message
+: LVM_INSERTGROUP LVM_FIRST  145 +  ; inline add-windows-message
+: LVM_SETGROUPINFO LVM_FIRST  147 +  ; inline add-windows-message
+: LVM_GETGROUPINFO LVM_FIRST  149 +  ; inline add-windows-message
+: LVM_REMOVEGROUP LVM_FIRST  150 +  ; inline add-windows-message
+: LVM_MOVEGROUP LVM_FIRST  151 +  ; inline add-windows-message
+: LVM_MOVEITEMTOGROUP LVM_FIRST  154 +  ; inline add-windows-message
+: LVM_SETGROUPMETRICS LVM_FIRST  155 +  ; inline add-windows-message
+: LVM_GETGROUPMETRICS LVM_FIRST  156 +  ; inline add-windows-message
+: LVM_ENABLEGROUPVIEW LVM_FIRST  157 +  ; inline add-windows-message
+: LVM_SORTGROUPS LVM_FIRST  158 +  ; inline add-windows-message
+: LVM_INSERTGROUPSORTED LVM_FIRST  159 +  ; inline add-windows-message
+: LVM_REMOVEALLGROUPS LVM_FIRST  160 +  ; inline add-windows-message
+: LVM_HASGROUP LVM_FIRST  161 +  ; inline add-windows-message
+: LVM_SETTILEVIEWINFO LVM_FIRST  162 +  ; inline add-windows-message
+: LVM_GETTILEVIEWINFO LVM_FIRST  163 +  ; inline add-windows-message
+: LVM_SETTILEINFO LVM_FIRST  164 +  ; inline add-windows-message
+: LVM_GETTILEINFO LVM_FIRST  165 +  ; inline add-windows-message
+: LVM_SETINSERTMARK LVM_FIRST  166 +  ; inline add-windows-message
+: LVM_GETINSERTMARK LVM_FIRST  167 +  ; inline add-windows-message
+: LVM_INSERTMARKHITTEST LVM_FIRST  168 +  ; inline add-windows-message
+: LVM_GETINSERTMARKRECT LVM_FIRST  169 +  ; inline add-windows-message
+: LVM_SETINSERTMARKCOLOR LVM_FIRST  170 +  ; inline add-windows-message
+: LVM_GETINSERTMARKCOLOR LVM_FIRST  171 +  ; inline add-windows-message
+: LVM_SETINFOTIP LVM_FIRST  173 +  ; inline add-windows-message
+: LVM_GETSELECTEDCOLUMN LVM_FIRST  174 +  ; inline add-windows-message
+: LVM_ISGROUPVIEWENABLED LVM_FIRST  175 +  ; inline add-windows-message
+: LVM_GETOUTLINECOLOR LVM_FIRST  176 +  ; inline add-windows-message
+: LVM_SETOUTLINECOLOR LVM_FIRST  177 +  ; inline add-windows-message
+: LVM_CANCELEDITLABEL LVM_FIRST  179 +  ; inline add-windows-message
+: LVM_MAPINDEXTOID LVM_FIRST  180 +  ; inline add-windows-message
+: LVM_MAPIDTOINDEX LVM_FIRST  181 +  ; inline add-windows-message
+: TVM_INSERTITEMA TV_FIRST  0 +  ; inline add-windows-message
+: TVM_INSERTITEMW TV_FIRST  50 +  ; inline add-windows-message
+: TVM_DELETEITEM TV_FIRST  1 +  ; inline add-windows-message
+: TVM_EXPAND TV_FIRST  2 +  ; inline add-windows-message
+: TVM_GETITEMRECT TV_FIRST  4 +  ; inline add-windows-message
+: TVM_GETCOUNT TV_FIRST  5 +  ; inline add-windows-message
+: TVM_GETINDENT TV_FIRST  6 +  ; inline add-windows-message
+: TVM_SETINDENT TV_FIRST  7 +  ; inline add-windows-message
+: TVM_GETIMAGELIST TV_FIRST  8 +  ; inline add-windows-message
+: TVM_SETIMAGELIST TV_FIRST  9 +  ; inline add-windows-message
+: TVM_GETNEXTITEM TV_FIRST  10 +  ; inline add-windows-message
+: TVM_SELECTITEM TV_FIRST  11 +  ; inline add-windows-message
+: TVM_GETITEMA TV_FIRST  12 +  ; inline add-windows-message
+: TVM_GETITEMW TV_FIRST  62 +  ; inline add-windows-message
+: TVM_SETITEMA TV_FIRST  13 +  ; inline add-windows-message
+: TVM_SETITEMW TV_FIRST  63 +  ; inline add-windows-message
+: TVM_EDITLABELA TV_FIRST  14 +  ; inline add-windows-message
+: TVM_EDITLABELW TV_FIRST  65 +  ; inline add-windows-message
+: TVM_GETEDITCONTROL TV_FIRST  15 +  ; inline add-windows-message
+: TVM_GETVISIBLECOUNT TV_FIRST  16 +  ; inline add-windows-message
+: TVM_HITTEST TV_FIRST  17 +  ; inline add-windows-message
+: TVM_CREATEDRAGIMAGE TV_FIRST  18 +  ; inline add-windows-message
+: TVM_SORTCHILDREN TV_FIRST  19 +  ; inline add-windows-message
+: TVM_ENSUREVISIBLE TV_FIRST  20 +  ; inline add-windows-message
+: TVM_SORTCHILDRENCB TV_FIRST  21 +  ; inline add-windows-message
+: TVM_ENDEDITLABELNOW TV_FIRST  22 +  ; inline add-windows-message
+: TVM_GETISEARCHSTRINGA TV_FIRST  23 +  ; inline add-windows-message
+: TVM_GETISEARCHSTRINGW TV_FIRST  64 +  ; inline add-windows-message
+: TVM_SETTOOLTIPS TV_FIRST  24 +  ; inline add-windows-message
+: TVM_GETTOOLTIPS TV_FIRST  25 +  ; inline add-windows-message
+: TVM_SETINSERTMARK TV_FIRST  26 +  ; inline add-windows-message
+: TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: TVM_SETITEMHEIGHT TV_FIRST  27 +  ; inline add-windows-message
+: TVM_GETITEMHEIGHT TV_FIRST  28 +  ; inline add-windows-message
+: TVM_SETBKCOLOR TV_FIRST  29 +  ; inline add-windows-message
+: TVM_SETTEXTCOLOR TV_FIRST  30 +  ; inline add-windows-message
+: TVM_GETBKCOLOR TV_FIRST  31 +  ; inline add-windows-message
+: TVM_GETTEXTCOLOR TV_FIRST  32 +  ; inline add-windows-message
+: TVM_SETSCROLLTIME TV_FIRST  33 +  ; inline add-windows-message
+: TVM_GETSCROLLTIME TV_FIRST  34 +  ; inline add-windows-message
+: TVM_SETINSERTMARKCOLOR TV_FIRST  37 +  ; inline add-windows-message
+: TVM_GETINSERTMARKCOLOR TV_FIRST  38 +  ; inline add-windows-message
+: TVM_GETITEMSTATE TV_FIRST  39 +  ; inline add-windows-message
+: TVM_SETLINECOLOR TV_FIRST  40 +  ; inline add-windows-message
+: TVM_GETLINECOLOR TV_FIRST  41 +  ; inline add-windows-message
+: TVM_MAPACCIDTOHTREEITEM TV_FIRST  42 +  ; inline add-windows-message
+: TVM_MAPHTREEITEMTOACCID TV_FIRST  43 +  ; inline add-windows-message
+: CBEM_INSERTITEMA WM_USER  1 +  ; inline add-windows-message
+: CBEM_SETIMAGELIST WM_USER  2 +  ; inline add-windows-message
+: CBEM_GETIMAGELIST WM_USER  3 +  ; inline add-windows-message
+: CBEM_GETITEMA WM_USER  4 +  ; inline add-windows-message
+: CBEM_SETITEMA WM_USER  5 +  ; inline add-windows-message
+: CBEM_DELETEITEM CB_DELETESTRING ; inline add-windows-message
+: CBEM_GETCOMBOCONTROL WM_USER  6 +  ; inline add-windows-message
+: CBEM_GETEDITCONTROL WM_USER  7 +  ; inline add-windows-message
+: CBEM_SETEXTENDEDSTYLE WM_USER  14 +  ; inline add-windows-message
+: CBEM_GETEXTENDEDSTYLE WM_USER  9 +  ; inline add-windows-message
+: CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: CBEM_SETEXSTYLE WM_USER  8 +  ; inline add-windows-message
+: CBEM_GETEXSTYLE WM_USER  9 +  ; inline add-windows-message
+: CBEM_HASEDITCHANGED WM_USER  10 +  ; inline add-windows-message
+: CBEM_INSERTITEMW WM_USER  11 +  ; inline add-windows-message
+: CBEM_SETITEMW WM_USER  12 +  ; inline add-windows-message
+: CBEM_GETITEMW WM_USER  13 +  ; inline add-windows-message
+: TCM_GETIMAGELIST TCM_FIRST  2 +  ; inline add-windows-message
+: TCM_SETIMAGELIST TCM_FIRST  3 +  ; inline add-windows-message
+: TCM_GETITEMCOUNT TCM_FIRST  4 +  ; inline add-windows-message
+: TCM_GETITEMA TCM_FIRST  5 +  ; inline add-windows-message
+: TCM_GETITEMW TCM_FIRST  60 +  ; inline add-windows-message
+: TCM_SETITEMA TCM_FIRST  6 +  ; inline add-windows-message
+: TCM_SETITEMW TCM_FIRST  61 +  ; inline add-windows-message
+: TCM_INSERTITEMA TCM_FIRST  7 +  ; inline add-windows-message
+: TCM_INSERTITEMW TCM_FIRST  62 +  ; inline add-windows-message
+: TCM_DELETEITEM TCM_FIRST  8 +  ; inline add-windows-message
+: TCM_DELETEALLITEMS TCM_FIRST  9 +  ; inline add-windows-message
+: TCM_GETITEMRECT TCM_FIRST  10 +  ; inline add-windows-message
+: TCM_GETCURSEL TCM_FIRST  11 +  ; inline add-windows-message
+: TCM_SETCURSEL TCM_FIRST  12 +  ; inline add-windows-message
+: TCM_HITTEST TCM_FIRST  13 +  ; inline add-windows-message
+: TCM_SETITEMEXTRA TCM_FIRST  14 +  ; inline add-windows-message
+: TCM_ADJUSTRECT TCM_FIRST  40 +  ; inline add-windows-message
+: TCM_SETITEMSIZE TCM_FIRST  41 +  ; inline add-windows-message
+: TCM_REMOVEIMAGE TCM_FIRST  42 +  ; inline add-windows-message
+: TCM_SETPADDING TCM_FIRST  43 +  ; inline add-windows-message
+: TCM_GETROWCOUNT TCM_FIRST  44 +  ; inline add-windows-message
+: TCM_GETTOOLTIPS TCM_FIRST  45 +  ; inline add-windows-message
+: TCM_SETTOOLTIPS TCM_FIRST  46 +  ; inline add-windows-message
+: TCM_GETCURFOCUS TCM_FIRST  47 +  ; inline add-windows-message
+: TCM_SETCURFOCUS TCM_FIRST  48 +  ; inline add-windows-message
+: TCM_SETMINTABWIDTH TCM_FIRST  49 +  ; inline add-windows-message
+: TCM_DESELECTALL TCM_FIRST  50 +  ; inline add-windows-message
+: TCM_HIGHLIGHTITEM TCM_FIRST  51 +  ; inline add-windows-message
+: TCM_SETEXTENDEDSTYLE TCM_FIRST  52 +  ; inline add-windows-message
+: TCM_GETEXTENDEDSTYLE TCM_FIRST  53 +  ; inline add-windows-message
+: TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: ACM_OPENA WM_USER 100 +  ; inline add-windows-message
+: ACM_OPENW WM_USER 103 +  ; inline add-windows-message
+: ACM_PLAY WM_USER 101 +  ; inline add-windows-message
+: ACM_STOP WM_USER 102 +  ; inline add-windows-message
+: MCM_FIRST HEX: 1000 ; inline add-windows-message
+: MCM_GETCURSEL MCM_FIRST  1 +  ; inline add-windows-message
+: MCM_SETCURSEL MCM_FIRST  2 +  ; inline add-windows-message
+: MCM_GETMAXSELCOUNT MCM_FIRST  3 +  ; inline add-windows-message
+: MCM_SETMAXSELCOUNT MCM_FIRST  4 +  ; inline add-windows-message
+: MCM_GETSELRANGE MCM_FIRST  5 +  ; inline add-windows-message
+: MCM_SETSELRANGE MCM_FIRST  6 +  ; inline add-windows-message
+: MCM_GETMONTHRANGE MCM_FIRST  7 +  ; inline add-windows-message
+: MCM_SETDAYSTATE MCM_FIRST  8 +  ; inline add-windows-message
+: MCM_GETMINREQRECT MCM_FIRST  9 +  ; inline add-windows-message
+: MCM_SETCOLOR MCM_FIRST  10 +  ; inline add-windows-message
+: MCM_GETCOLOR MCM_FIRST  11 +  ; inline add-windows-message
+: MCM_SETTODAY MCM_FIRST  12 +  ; inline add-windows-message
+: MCM_GETTODAY MCM_FIRST  13 +  ; inline add-windows-message
+: MCM_HITTEST MCM_FIRST  14 +  ; inline add-windows-message
+: MCM_SETFIRSTDAYOFWEEK MCM_FIRST  15 +  ; inline add-windows-message
+: MCM_GETFIRSTDAYOFWEEK MCM_FIRST  16 +  ; inline add-windows-message
+: MCM_GETRANGE MCM_FIRST  17 +  ; inline add-windows-message
+: MCM_SETRANGE MCM_FIRST  18 +  ; inline add-windows-message
+: MCM_GETMONTHDELTA MCM_FIRST  19 +  ; inline add-windows-message
+: MCM_SETMONTHDELTA MCM_FIRST  20 +  ; inline add-windows-message
+: MCM_GETMAXTODAYWIDTH MCM_FIRST  21 +  ; inline add-windows-message
+: MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT ; inline add-windows-message
+: MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT ; inline add-windows-message
+: DTM_FIRST HEX: 1000 ; inline add-windows-message
+: DTM_GETSYSTEMTIME DTM_FIRST  1 +  ; inline add-windows-message
+: DTM_SETSYSTEMTIME DTM_FIRST  2 +  ; inline add-windows-message
+: DTM_GETRANGE DTM_FIRST  3 +  ; inline add-windows-message
+: DTM_SETRANGE DTM_FIRST  4 +  ; inline add-windows-message
+: DTM_SETFORMATA DTM_FIRST  5 +  ; inline add-windows-message
+: DTM_SETFORMATW DTM_FIRST  50 +  ; inline add-windows-message
+: DTM_SETMCCOLOR DTM_FIRST  6 +  ; inline add-windows-message
+: DTM_GETMCCOLOR DTM_FIRST  7 +  ; inline add-windows-message
+: DTM_GETMONTHCAL DTM_FIRST  8 +  ; inline add-windows-message
+: DTM_SETMCFONT DTM_FIRST  9 +  ; inline add-windows-message
+: DTM_GETMCFONT DTM_FIRST  10 +  ; inline add-windows-message
+: PGM_SETCHILD PGM_FIRST  1 +  ; inline add-windows-message
+: PGM_RECALCSIZE PGM_FIRST  2 +  ; inline add-windows-message
+: PGM_FORWARDMOUSE PGM_FIRST  3 +  ; inline add-windows-message
+: PGM_SETBKCOLOR PGM_FIRST  4 +  ; inline add-windows-message
+: PGM_GETBKCOLOR PGM_FIRST  5 +  ; inline add-windows-message
+: PGM_SETBORDER PGM_FIRST  6 +  ; inline add-windows-message
+: PGM_GETBORDER PGM_FIRST  7 +  ; inline add-windows-message
+: PGM_SETPOS PGM_FIRST  8 +  ; inline add-windows-message
+: PGM_GETPOS PGM_FIRST  9 +  ; inline add-windows-message
+: PGM_SETBUTTONSIZE PGM_FIRST  10 +  ; inline add-windows-message
+: PGM_GETBUTTONSIZE PGM_FIRST  11 +  ; inline add-windows-message
+: PGM_GETBUTTONSTATE PGM_FIRST  12 +  ; inline add-windows-message
+: PGM_GETDROPTARGET CCM_GETDROPTARGET ; inline add-windows-message
+: BCM_GETIDEALSIZE BCM_FIRST  1 +  ; inline add-windows-message
+: BCM_SETIMAGELIST BCM_FIRST  2 +  ; inline add-windows-message
+: BCM_GETIMAGELIST BCM_FIRST  3 +  ; inline add-windows-message
+: BCM_SETTEXTMARGIN BCM_FIRST 4 +  ; inline add-windows-message
+: BCM_GETTEXTMARGIN BCM_FIRST 5 +  ; inline add-windows-message
+: EM_SETCUEBANNER       ECM_FIRST  1 +  ; inline add-windows-message
+: EM_GETCUEBANNER       ECM_FIRST  2 +  ; inline add-windows-message
+: EM_SHOWBALLOONTIP ECM_FIRST  3 +  ; inline add-windows-message
+: EM_HIDEBALLOONTIP ECM_FIRST  4 +  ; inline add-windows-message 
+: CB_SETMINVISIBLE CBM_FIRST  1 +  ; inline add-windows-message
+: CB_GETMINVISIBLE CBM_FIRST  2 +  ; inline add-windows-message
+: LM_HITTEST WM_USER  HEX: 0300 +  ; inline add-windows-message 
+: LM_GETIDEALHEIGHT WM_USER  HEX: 0301 +  ; inline add-windows-message
+: LM_SETITEM WM_USER  HEX: 0302 + ; inline add-windows-message 
+: LM_GETITEM WM_USER  HEX: 0303 + ; inline add-windows-message