! Copyright (C) 2005, 2006 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.syntax parser namespaces kernel math
-windows.types generalizations math.bitwise alias ;
+windows.types generalizations math.bitwise alias constants ;
IN: windows.user32
! HKL for ActivateKeyboardLayout
-: 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
+CONSTANT: HKL_PREV 0
+CONSTANT: HKL_NEXT 1
+
+CONSTANT: CW_USEDEFAULT HEX: 80000000
+
+CONSTANT: WS_OVERLAPPED HEX: 00000000
+CONSTANT: WS_POPUP HEX: 80000000
+CONSTANT: WS_CHILD HEX: 40000000
+CONSTANT: WS_MINIMIZE HEX: 20000000
+CONSTANT: WS_VISIBLE HEX: 10000000
+CONSTANT: WS_DISABLED HEX: 08000000
+CONSTANT: WS_CLIPSIBLINGS HEX: 04000000
+CONSTANT: WS_CLIPCHILDREN HEX: 02000000
+CONSTANT: WS_MAXIMIZE HEX: 01000000
+CONSTANT: WS_CAPTION HEX: 00C00000
+CONSTANT: WS_BORDER HEX: 00800000
+CONSTANT: WS_DLGFRAME HEX: 00400000
+CONSTANT: WS_VSCROLL HEX: 00200000
+CONSTANT: WS_HSCROLL HEX: 00100000
+CONSTANT: WS_SYSMENU HEX: 00080000
+CONSTANT: WS_THICKFRAME HEX: 00040000
+CONSTANT: WS_GROUP HEX: 00020000
+CONSTANT: WS_TABSTOP HEX: 00010000
+CONSTANT: WS_MINIMIZEBOX HEX: 00020000
+CONSTANT: WS_MAXIMIZEBOX HEX: 00010000
! Common window styles
: WS_OVERLAPPEDWINDOW ( -- n )
! 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
+CONSTANT: WS_EX_DLGMODALFRAME HEX: 00000001
+CONSTANT: WS_EX_NOPARENTNOTIFY HEX: 00000004
+CONSTANT: WS_EX_TOPMOST HEX: 00000008
+CONSTANT: WS_EX_ACCEPTFILES HEX: 00000010
+CONSTANT: WS_EX_TRANSPARENT HEX: 00000020
+CONSTANT: WS_EX_MDICHILD HEX: 00000040
+CONSTANT: WS_EX_TOOLWINDOW HEX: 00000080
+CONSTANT: WS_EX_WINDOWEDGE HEX: 00000100
+CONSTANT: WS_EX_CLIENTEDGE HEX: 00000200
+CONSTANT: WS_EX_CONTEXTHELP HEX: 00000400
+
+CONSTANT: WS_EX_RIGHT HEX: 00001000
+CONSTANT: WS_EX_LEFT HEX: 00000000
+CONSTANT: WS_EX_RTLREADING HEX: 00002000
+CONSTANT: WS_EX_LTRREADING HEX: 00000000
+CONSTANT: WS_EX_LEFTSCROLLBAR HEX: 00004000
+CONSTANT: WS_EX_RIGHTSCROLLBAR HEX: 00000000
+CONSTANT: WS_EX_CONTROLPARENT HEX: 00010000
+CONSTANT: WS_EX_STATICEDGE HEX: 00020000
+CONSTANT: WS_EX_APPWINDOW HEX: 00040000
: WS_EX_OVERLAPPEDWINDOW ( -- n )
WS_EX_WINDOWEDGE WS_EX_CLIENTEDGE bitor ; foldable
: WS_EX_PALETTEWINDOW ( -- n )
{ WS_EX_WINDOWEDGE WS_EX_TOOLWINDOW WS_EX_TOPMOST } flags ; foldable
-: 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
+CONSTANT: CS_VREDRAW HEX: 0001
+CONSTANT: CS_HREDRAW HEX: 0002
+CONSTANT: CS_DBLCLKS HEX: 0008
+CONSTANT: CS_OWNDC HEX: 0020
+CONSTANT: CS_CLASSDC HEX: 0040
+CONSTANT: CS_PARENTDC HEX: 0080
+CONSTANT: CS_NOCLOSE HEX: 0200
+CONSTANT: CS_SAVEBITS HEX: 0800
+CONSTANT: CS_BYTEALIGNCLIENT HEX: 1000
+CONSTANT: CS_BYTEALIGNWINDOW HEX: 2000
+CONSTANT: CS_GLOBALCLASS HEX: 4000
+
+CONSTANT: COLOR_SCROLLBAR 0
+CONSTANT: COLOR_BACKGROUND 1
+CONSTANT: COLOR_ACTIVECAPTION 2
+CONSTANT: COLOR_INACTIVECAPTION 3
+CONSTANT: COLOR_MENU 4
+CONSTANT: COLOR_WINDOW 5
+CONSTANT: COLOR_WINDOWFRAME 6
+CONSTANT: COLOR_MENUTEXT 7
+CONSTANT: COLOR_WINDOWTEXT 8
+CONSTANT: COLOR_CAPTIONTEXT 9
+CONSTANT: COLOR_ACTIVEBORDER 10
+CONSTANT: COLOR_INACTIVEBORDER 11
+CONSTANT: COLOR_APPWORKSPACE 12
+CONSTANT: COLOR_HIGHLIGHT 13
+CONSTANT: COLOR_HIGHLIGHTTEXT 14
+CONSTANT: COLOR_BTNFACE 15
+CONSTANT: COLOR_BTNSHADOW 16
+CONSTANT: COLOR_GRAYTEXT 17
+CONSTANT: COLOR_BTNTEXT 18
+CONSTANT: COLOR_INACTIVECAPTIONTEXT 19
+CONSTANT: COLOR_BTNHIGHLIGHT 20
+
+CONSTANT: IDI_APPLICATION 32512
+CONSTANT: IDI_HAND 32513
+CONSTANT: IDI_QUESTION 32514
+CONSTANT: IDI_EXCLAMATION 32515
+CONSTANT: IDI_ASTERISK 32516
+CONSTANT: IDI_WINLOGO 32517
! ShowWindow() Commands
-: 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
+CONSTANT: SW_HIDE 0
+CONSTANT: SW_SHOWNORMAL 1
+CONSTANT: SW_NORMAL 1
+CONSTANT: SW_SHOWMINIMIZED 2
+CONSTANT: SW_SHOWMAXIMIZED 3
+CONSTANT: SW_MAXIMIZE 3
+CONSTANT: SW_SHOWNOACTIVATE 4
+CONSTANT: SW_SHOW 5
+CONSTANT: SW_MINIMIZE 6
+CONSTANT: SW_SHOWMINNOACTIVE 7
+CONSTANT: SW_SHOWNA 8
+CONSTANT: SW_RESTORE 9
+CONSTANT: SW_SHOWDEFAULT 10
+CONSTANT: SW_FORCEMINIMIZE 11
+CONSTANT: SW_MAX 11
! PeekMessage
-: PM_NOREMOVE 0 ; inline
-: PM_REMOVE 1 ; inline
-: PM_NOYIELD 2 ; inline
+CONSTANT: PM_NOREMOVE 0
+CONSTANT: PM_REMOVE 1
+CONSTANT: 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) ;