diff --git a/basis/ui/backend/windows/windows.factor b/basis/ui/backend/windows/windows.factor index 64e87e0a4c..6ccb53e8b2 100755 --- a/basis/ui/backend/windows/windows.factor +++ b/basis/ui/backend/windows/windows.factor @@ -589,19 +589,18 @@ M: windows-ui-backend do-events ] if ; :: register-window-class ( class-name-ptr -- ) - "WNDCLASSEX" f GetModuleHandle + WNDCLASSEX f GetModuleHandle class-name-ptr pick GetClassInfoEx 0 = [ - "WNDCLASSEX" heap-size over set-WNDCLASSEX-cbSize - { CS_HREDRAW CS_VREDRAW CS_OWNDC } flags over set-WNDCLASSEX-style - ui-wndproc over set-WNDCLASSEX-lpfnWndProc - 0 over set-WNDCLASSEX-cbClsExtra - 0 over set-WNDCLASSEX-cbWndExtra - f GetModuleHandle over set-WNDCLASSEX-hInstance - f GetModuleHandle "fraptor" utf16n string>alien LoadIcon - over set-WNDCLASSEX-hIcon - f IDC_ARROW LoadCursor over set-WNDCLASSEX-hCursor + WNDCLASSEX heap-size >>cbSize + { CS_HREDRAW CS_VREDRAW CS_OWNDC } flags >>style + ui-wndproc >>lpfnWndProc + 0 >>cbClsExtra + 0 >>cbWndExtra + f GetModuleHandle >>hInstance + f GetModuleHandle "fraptor" utf16n string>alien LoadIcon >>hIcon + f IDC_ARROW LoadCursor >>hCursor - class-name-ptr over set-WNDCLASSEX-lpszClassName + class-name-ptr >>lpszClassName RegisterClassEx win32-error=0/f ] [ drop ] if ; diff --git a/basis/windows/types/types.factor b/basis/windows/types/types.factor index 36823db424..37505210b5 100755 --- a/basis/windows/types/types.factor +++ b/basis/windows/types/types.factor @@ -228,19 +228,19 @@ C-STRUCT: WNDCLASS { "LPCTSTR" "lpszMenuName" } { "LPCTSTR" "lpszClassName" } ; -C-STRUCT: WNDCLASSEX - { "UINT" "cbSize" } - { "UINT" "style" } - { "WNDPROC" "lpfnWndProc" } - { "int" "cbClsExtra" } - { "int" "cbWndExtra" } - { "HINSTANCE" "hInstance" } - { "HICON" "hIcon" } - { "HCURSOR" "hCursor" } - { "HBRUSH" "hbrBackground" } - { "LPCTSTR" "lpszMenuName" } - { "LPCTSTR" "lpszClassName" } - { "HICON" "hIconSm" } ; +STRUCT: WNDCLASSEX + { cbSize UINT } + { style UINT } + { lpfnWndProc WNDPROC } + { cbClsExtra int } + { cbWndExtra int } + { hInstance HINSTANCE } + { hIcon HICON } + { hCursor HCURSOR } + { hbrBackground HBRUSH } + { lpszMenuName LPCTSTR } + { lpszClassName LPCTSTR } + { hIconSm HICON } ; C-STRUCT: RECT { "LONG" "left" }