IN: windows.user32
! 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 ;
+: HKL_PREV 0 ; inline
+: HKL_NEXT 1 ; inline
+
+: CW_USEDEFAULT HEX: 80000000 ; inline
+
+: WS_OVERLAPPED HEX: 00000000 ; inline
+: WS_POPUP HEX: 80000000 ; inline
+: WS_CHILD HEX: 40000000 ; inline
+: WS_MINIMIZE HEX: 20000000 ; inline
+: WS_VISIBLE HEX: 10000000 ; inline
+: WS_DISABLED HEX: 08000000 ; inline
+: WS_CLIPSIBLINGS HEX: 04000000 ; inline
+: WS_CLIPCHILDREN HEX: 02000000 ; inline
+: WS_MAXIMIZE HEX: 01000000 ; inline
+: WS_CAPTION HEX: 00C00000 ; inline
+: WS_BORDER HEX: 00800000 ; inline
+: WS_DLGFRAME HEX: 00400000 ; inline
+: WS_VSCROLL HEX: 00200000 ; inline
+: WS_HSCROLL HEX: 00100000 ; inline
+: WS_SYSMENU HEX: 00080000 ; inline
+: WS_THICKFRAME HEX: 00040000 ; inline
+: WS_GROUP HEX: 00020000 ; inline
+: WS_TABSTOP HEX: 00010000 ; inline
+: WS_MINIMIZEBOX HEX: 00020000 ; inline
+: WS_MAXIMIZEBOX HEX: 00010000 ; inline
! Common window styles
-: WS_OVERLAPPEDWINDOW WS_OVERLAPPED WS_CAPTION WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX bitor bitor bitor bitor bitor ;
+: WS_OVERLAPPEDWINDOW WS_OVERLAPPED WS_CAPTION WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX bitor bitor bitor bitor bitor ; foldable inline
-: WS_POPUPWINDOW WS_POPUP WS_BORDER WS_SYSMENU bitor bitor ;
+: WS_POPUPWINDOW WS_POPUP WS_BORDER WS_SYSMENU bitor bitor ; foldable inline
-: WS_CHILDWINDOW WS_CHILD ;
+: WS_CHILDWINDOW WS_CHILD ; inline
-: WS_TILED WS_OVERLAPPED ;
-: WS_ICONIC WS_MINIMIZE ;
-: WS_SIZEBOX WS_THICKFRAME ;
-: WS_TILEDWINDOW WS_OVERLAPPEDWINDOW ;
+: WS_TILED WS_OVERLAPPED ; inline
+: WS_ICONIC WS_MINIMIZE ; inline
+: WS_SIZEBOX WS_THICKFRAME ; inline
+: WS_TILEDWINDOW WS_OVERLAPPEDWINDOW ; inline
! Extended window styles
: 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 ;
+: WS_EX_OVERLAPPEDWINDOW ( -- n )
+ WS_EX_WINDOWEDGE WS_EX_CLIENTEDGE bitor ; foldable inline
+: WS_EX_PALETTEWINDOW ( -- n )
+ WS_EX_WINDOWEDGE WS_EX_TOOLWINDOW bitor
+ WS_EX_TOPMOST bitor ; foldable inline
+
+: CS_VREDRAW HEX: 0001 ; inline
+: CS_HREDRAW HEX: 0002 ; inline
+: CS_DBLCLKS HEX: 0008 ; inline
+: CS_OWNDC HEX: 0020 ; inline
+: CS_CLASSDC HEX: 0040 ; inline
+: CS_PARENTDC HEX: 0080 ; inline
+: CS_NOCLOSE HEX: 0200 ; inline
+: CS_SAVEBITS HEX: 0800 ; inline
+: CS_BYTEALIGNCLIENT HEX: 1000 ; inline
+: CS_BYTEALIGNWINDOW HEX: 2000 ; inline
+: CS_GLOBALCLASS HEX: 4000 ; inline
+
+: COLOR_SCROLLBAR 0 ; inline
+: COLOR_BACKGROUND 1 ; inline
+: COLOR_ACTIVECAPTION 2 ; inline
+: COLOR_INACTIVECAPTION 3 ; inline
+: COLOR_MENU 4 ; inline
+: COLOR_WINDOW 5 ; inline
+: COLOR_WINDOWFRAME 6 ; inline
+: COLOR_MENUTEXT 7 ; inline
+: COLOR_WINDOWTEXT 8 ; inline
+: COLOR_CAPTIONTEXT 9 ; inline
+: COLOR_ACTIVEBORDER 10 ; inline
+: COLOR_INACTIVEBORDER 11 ; inline
+: COLOR_APPWORKSPACE 12 ; inline
+: COLOR_HIGHLIGHT 13 ; inline
+: COLOR_HIGHLIGHTTEXT 14 ; inline
+: COLOR_BTNFACE 15 ; inline
+: COLOR_BTNSHADOW 16 ; inline
+: COLOR_GRAYTEXT 17 ; inline
+: COLOR_BTNTEXT 18 ; inline
+: COLOR_INACTIVECAPTIONTEXT 19 ; inline
+: COLOR_BTNHIGHLIGHT 20 ; inline
+
+: IDI_APPLICATION 32512 ; inline
+: IDI_HAND 32513 ; inline
+: IDI_QUESTION 32514 ; inline
+: IDI_EXCLAMATION 32515 ; inline
+: IDI_ASTERISK 32516 ; inline
+: IDI_WINLOGO 32517 ; inline
! 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 ;
+: SW_HIDE 0 ; inline
+: SW_SHOWNORMAL 1 ; inline
+: SW_NORMAL 1 ; inline
+: SW_SHOWMINIMIZED 2 ; inline
+: SW_SHOWMAXIMIZED 3 ; inline
+: SW_MAXIMIZE 3 ; inline
+: SW_SHOWNOACTIVATE 4 ; inline
+: SW_SHOW 5 ; inline
+: SW_MINIMIZE 6 ; inline
+: SW_SHOWMINNOACTIVE 7 ; inline
+: SW_SHOWNA 8 ; inline
+: SW_RESTORE 9 ; inline
+: SW_SHOWDEFAULT 10 ; inline
+: SW_FORCEMINIMIZE 11 ; inline
+: SW_MAX 11 ; inline
! PeekMessage
-: PM_NOREMOVE 0 ;
-: PM_REMOVE 1 ;
-: PM_NOYIELD 2 ;
+: PM_NOREMOVE 0 ; inline
+: PM_REMOVE 1 ; inline
+: PM_NOYIELD 2 ; inline
! : PM_QS_INPUT (QS_INPUT << 16) ;
! : PM_QS_POSTMESSAGE ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16) ;
! : PM_QS_PAINT (QS_PAINT << 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 ;
+: IDC_ARROW 32512 ; inline
+: IDC_IBEAM 32513 ; inline
+: IDC_WAIT 32514 ; inline
+: IDC_CROSS 32515 ; inline
+: IDC_UPARROW 32516 ; inline
+: IDC_SIZE 32640 ; inline ! OBSOLETE: use IDC_SIZEALL
+: IDC_ICON 32641 ; inline ! OBSOLETE: use IDC_ARROW
+: IDC_SIZENWSE 32642 ; inline
+: IDC_SIZENESW 32643 ; inline
+: IDC_SIZEWE 32644 ; inline
+: IDC_SIZENS 32645 ; inline
+: IDC_SIZEALL 32646 ; inline
+: IDC_NO 32648 ; inline ! not in win3.1
+: IDC_HAND 32649 ; inline
+: IDC_APPSTARTING 32650 ; inline ! not in win3.1
+: IDC_HELP 32651 ; inline
! Predefined Clipboard Formats
: CF_TEXT 1 ; 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_0 CHAR: 0 ; inline
+: VK_1 CHAR: 1 ; inline
+: VK_2 CHAR: 2 ; inline
+: VK_3 CHAR: 3 ; inline
+: VK_4 CHAR: 4 ; inline
+: VK_5 CHAR: 5 ; inline
+: VK_6 CHAR: 6 ; inline
+: VK_7 CHAR: 7 ; inline
+: VK_8 CHAR: 8 ; inline
+: VK_9 CHAR: 9 ; inline
+
+: VK_A CHAR: A ; inline
+: VK_B CHAR: B ; inline
+: VK_C CHAR: C ; inline
+: VK_D CHAR: D ; inline
+: VK_E CHAR: E ; inline
+: VK_F CHAR: F ; inline
+: VK_G CHAR: G ; inline
+: VK_H CHAR: H ; inline
+: VK_I CHAR: I ; inline
+: VK_J CHAR: J ; inline
+: VK_K CHAR: K ; inline
+: VK_L CHAR: L ; inline
+: VK_M CHAR: M ; inline
+: VK_N CHAR: N ; inline
+: VK_O CHAR: O ; inline
+: VK_P CHAR: P ; inline
+: VK_Q CHAR: Q ; inline
+: VK_R CHAR: R ; inline
+: VK_S CHAR: S ; inline
+: VK_T CHAR: T ; inline
+: VK_U CHAR: U ; inline
+: VK_V CHAR: V ; inline
+: VK_W CHAR: W ; inline
+: VK_X CHAR: X ; inline
+: VK_Y CHAR: Y ; inline
+: VK_Z CHAR: Z ; inline
: VK_LWIN HEX: 5B ; inline
: VK_RWIN HEX: 5C ; inline
! Some fields are not defined for win64
! Window field offsets for GetWindowLong()
-: GWL_WNDPROC -4 ;
-: GWL_HINSTANCE -6 ;
-: GWL_HWNDPARENT -8 ;
-: GWL_USERDATA -21 ;
-: GWL_ID -12 ;
+: GWL_WNDPROC -4 ; inline
+: GWL_HINSTANCE -6 ; inline
+: GWL_HWNDPARENT -8 ; inline
+: GWL_USERDATA -21 ; inline
+: GWL_ID -12 ; inline
-: GWL_STYLE -16 ;
-: GWL_EXSTYLE -20 ;
+: GWL_STYLE -16 ; inline
+: GWL_EXSTYLE -20 ; inline
-: GWLP_WNDPROC -4 ;
-: GWLP_HINSTANCE -6 ;
-: GWLP_HWNDPARENT -8 ;
-: GWLP_USERDATA -21 ;
-: GWLP_ID -12 ;
+: GWLP_WNDPROC -4 ; inline
+: GWLP_HINSTANCE -6 ; inline
+: GWLP_HWNDPARENT -8 ; inline
+: GWLP_USERDATA -21 ; inline
+: GWLP_ID -12 ; inline
! Class field offsets for GetClassLong()
-: GCL_MENUNAME -8 ;
-: GCL_HBRBACKGROUND -10 ;
-: GCL_HCURSOR -12 ;
-: GCL_HICON -14 ;
-: GCL_HMODULE -16 ;
-: GCL_WNDPROC -24 ;
-: GCL_HICONSM -34 ;
-: 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 ;
-
-: MB_ICONASTERISK HEX: 00000040 ;
-: MB_ICONEXCLAMATION HEX: 00000030 ;
-: MB_ICONHAND HEX: 00000010 ;
-: MB_ICONQUESTION HEX: 00000020 ;
-: MB_OK HEX: 00000000 ;
+: GCL_MENUNAME -8 ; inline
+: GCL_HBRBACKGROUND -10 ; inline
+: GCL_HCURSOR -12 ; inline
+: GCL_HICON -14 ; inline
+: GCL_HMODULE -16 ; inline
+: GCL_WNDPROC -24 ; inline
+: GCL_HICONSM -34 ; inline
+: GCL_CBWNDEXTRA -18 ; inline
+: GCL_CBCLSEXTRA -20 ; inline
+: GCL_STYLE -26 ; inline
+: GCW_ATOM -32 ; inline
+
+: GCLP_MENUNAME -8 ; inline
+: GCLP_HBRBACKGROUND -10 ; inline
+: GCLP_HCURSOR -12 ; inline
+: GCLP_HICON -14 ; inline
+: GCLP_HMODULE -16 ; inline
+: GCLP_WNDPROC -24 ; inline
+: GCLP_HICONSM -34 ; inline
+
+: MB_ICONASTERISK HEX: 00000040 ; inline
+: MB_ICONEXCLAMATION HEX: 00000030 ; inline
+: MB_ICONHAND HEX: 00000010 ; inline
+: MB_ICONQUESTION HEX: 00000020 ; inline
+: MB_OK HEX: 00000000 ; inline
+
+: FVIRTKEY TRUE ; inline
+: FNOINVERT 2 ; inline
+: FSHIFT 4 ; inline
+: FCONTROL 8 ; inline
+: FALT 16 ; inline
+
+: MAPVK_VK_TO_VSC 0 ; inline
+: MAPVK_VSC_TO_VK 1 ; inline
+: MAPVK_VK_TO_CHAR 2 ; inline
+: MAPVK_VSC_TO_VK_EX 3 ; inline
+: MAPVK_VK_TO_VSC_EX 3 ; inline
: TME_HOVER 1 ; inline
: TME_LEAVE 2 ; inline
! FUNCTION: CloseWindow
! FUNCTION: CloseWindowStation
! FUNCTION: CopyAcceleratorTableA
-! FUNCTION: CopyAcceleratorTableW
+FUNCTION: int CopyAcceleratorTableW ( HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries ) ;
+: CopyAcceleratorTable CopyAcceleratorTableW ; inline
! FUNCTION: CopyIcon
! FUNCTION: CopyImage
! FUNCTION: CopyRect
! FUNCTION: CountClipboardFormats
! FUNCTION: CreateAcceleratorTableA
-! FUNCTION: CreateAcceleratorTableW
+FUNCTION: HACCEL CreateAcceleratorTableW ( LPACCEL lpaccl, int cEntries ) ;
+: CreateAcceleratorTable CreateAcceleratorTableW ; inline
! FUNCTION: CreateCaret
! FUNCTION: CreateCursor
! FUNCTION: CreateDesktopA
: DefWindowProc DefWindowProcW ; inline
! FUNCTION: DeleteMenu
! FUNCTION: DeregisterShellHookWindow
-! FUNCTION: DestroyAcceleratorTable
+FUNCTION: BOOL DestroyAcceleratorTable ( HACCEL hAccel ) ;
! FUNCTION: DestroyCaret
! FUNCTION: DestroyCursor
! FUNCTION: DestroyIcon
! FUNCTION: KillSystemTimer
! FUNCTION: KillTimer
! FUNCTION: LoadAcceleratorsA
-! FUNCTION: LoadAcceleratorsW
+FUNCTION: HACCEL LoadAcceleratorsW ( HINSTANCE hInstance, LPCTSTR lpTableName ) ;
! FUNCTION: LoadBitmapA
! FUNCTION: LoadBitmapW
! FUNCTION: LoadCursorFromFileA
! FUNCTION: LookupIconIdFromDirectory
! FUNCTION: LookupIconIdFromDirectoryEx
! FUNCTION: MapDialogRect
-! FUNCTION: MapVirtualKeyA
-! FUNCTION: MapVirtualKeyExA
-! FUNCTION: MapVirtualKeyExW
-! FUNCTION: MapVirtualKeyW
+
+FUNCTION: UINT MapVirtualKeyW ( UINT uCode, UINT uMapType ) ;
+: MapVirtualKey MapVirtualKeyW ; inline
+
+FUNCTION: UINT MapVirtualKeyExW ( UINT uCode, UINT uMapType, HKL dwhkl ) ;
+: MapVirtualKeyEx MapVirtualKeyExW ; inline
+
! FUNCTION: MapWindowPoints
! FUNCTION: MB_GetString
! FUNCTION: MBToWCSEx
! FUNCTION: mouse_event
-
FUNCTION: BOOL MoveWindow (
HWND hWnd,
int X,
int nHeight,
BOOL bRepaint ) ;
-
! FUNCTION: MsgWaitForMultipleObjects
! FUNCTION: MsgWaitForMultipleObjectsEx
! FUNCTION: NotifyWinEvent
! FUNCTION: TrackPopupMenuEx
! FUNCTION: TranslateAccelerator
! FUNCTION: TranslateAcceleratorA
-! FUNCTION: TranslateAcceleratorW
+FUNCTION: int TranslateAcceleratorW ( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg ) ;
+: TranslateAccelerator TranslateAcceleratorW ; inline
+
! FUNCTION: TranslateMDISysAccel
FUNCTION: BOOL TranslateMessage ( MSG* lpMsg ) ;