\ Copyright 2022 Bradley D. Nelson \ \ Licensed under the Apache License, Version 2.0 (the "License"); \ you may not use this file except in compliance with the License. \ You may obtain a copy of the License at \ \ http://www.apache.org/licenses/LICENSE-2.0 \ \ Unless required by applicable law or agreed to in writing, software \ distributed under the License is distributed on an "AS IS" BASIS, \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \ See the License for the specific language governing permissions and \ limitations under the License. windows definitions also structures also internals z" User32.dll" dll User32 z" MessageBoxA" 4 User32 MessageBoxA 0 constant MB_OK 1 constant MB_OKCANCEL 2 constant MB_ABORTRETRYIGNORE 3 constant MB_YESNOCANCEL 4 constant MB_YESNO 5 constant MB_RETRYCANCEL 6 constant MB_CANCELTRYCONTINUE z" RegisterClassA" 1 User32 RegisterClassA struct WINDCLASSA i16 field ->style ptr field ->lpfnWndProc i32 field ->cbClsExtra i32 field ->cbWndExtra ptr field ->hInstance ptr field ->hIcon ptr field ->hCursor ptr field ->hbrBackground ptr field ->lpszMenuName ptr field ->lpszClassName z" ShowWindow" 2 User32 ShowWindow 0 constant SW_HIDE 1 constant SW_NORMAL 2 constant SW_SHOWMINIMIZED 3 constant SW_MAXIMIZED 4 constant SW_SHOWNOACTIVATE 5 constant SW_SHOW 6 constant SW_MINIMIZE 7 constant SW_SHWOMINNOACTIVE 8 constant SW_SHOWNA 9 constant SW_RESTORE 10 constant SW_SHOWDEFAULT 11 constant SW_FORCEMINIMIZE SW_NORMAL constant SW_SHOWNORMAL SW_MAXIMIZED constant SW_SHOWMAXIMIZED z" SetForegroundWindow" 1 User32 SetForegroundWindow z" DefWindowProcA" 4 User32 DefWindowProcA : callback ( xt -- ) here >r , ['] yield , r> ; z" CreateWindowExA" 12 User32 CreateWindowExA $00000000 constant WS_OVERLAPPED $00010000 constant WS_MAXIMIZEBOX $00020000 constant WS_MINIMIZEBOX $00040000 constant WS_THICKFRAME $00080000 constant WS_SYSMENU $00100000 constant WS_HSCROLL $00200000 constant WS_VSCROLL $00400000 constant WS_DLGFRAME $00800000 constant WS_BORDER $01000000 constant WS_MAXIMIZE $02000000 constant WS_CLIPCHILDREN $04000000 constant WS_CLIPSIBLINGS $08000000 constant WS_DISABLED $10000000 constant WS_VISIBLE $20000000 constant WS_MINIMIZE $40000000 constant WS_CHILD $80000000 constant WS_POPUP WS_MAXIMIZEBOX constant WS_TABSTOP ( With dialog boxes ) WS_MINIMIZEBOX constant WS_GROUP ( With dialog boxes ) WS_CHILD constant WS_CHILDWINDOW WS_MINIMIZE constant WS_ICONIC WS_OVERLAPPED constant WS_TILED WS_DLGFRAME WS_BORDER or constant WS_CAPTION WS_OVERLAPPED WS_CAPTION or WS_SYSMENU or WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or constant WS_OVERLAPPEDWINDOW WS_POPUP WS_BORDER or WS_SYSMENU or constant WS_POPUPWINDOW WS_OVERLAPPEDWINDOW constant WS_TILEDWINDOW ( General use ) $400000 constant DefaultInstance 1001 constant IDI_MAIN_ICON $80000000 constant CW_USEDEFAULT struct POINT i32 field ->x i32 field ->y struct RECT i32 field ->left i32 field ->top i32 field ->right i32 field ->bottom z" GetMessageA" 4 User32 GetMessageA z" PeekMessageA" 5 User32 PeekMessageA z" TranslateMessage" 1 User32 TranslateMessage z" DispatchMessageA" 1 User32 DispatchMessageA struct MSG ptr field ->hwnd i32 field ->message i16 field ->wParam i32 field ->lParam i32 field ->time POINT field ->pt i32 field ->lPrivate 0 constant PM_NOREMOVE 1 constant PM_REMOVE 2 constant PM_NOYIELD z" GetDC" 1 User32 GetDC z" BeginPaint" 2 User32 BeginPaint z" EndPaint" 2 User32 EndPaint struct PAINTSTRUCT ptr field ->hdc i32 field ->fErase RECT field ->rcPaint i32 field ->fRestore i32 field ->fIncUpdate 32 field ->rgbReserved z" FillRect" 3 User32 FillRect z" PostQuitMessage" 1 User32 PostQuitMessage z" LoadCursorA" 2 User32 LoadCursorA 32512 constant IDC_ARROW 32513 constant IDC_IBEAM 32514 constant IDC_WAIT 32515 constant IDC_CROSS 32516 constant IDC_UPARROW 32640 constant IDC_SIZE 32641 constant IDC_ICON 32642 constant IDC_SIZENWSE 32643 constant IDC_SIZENESW 32644 constant IDC_SIZEWE 32645 constant IDC_SIZENS 32646 constant IDC_SIZEALL 32648 constant IDC_NO 32649 constant IDC_HAND 32650 constant IDC_APPSTARTING 32651 constant IDC_HELP z" LoadIconA" 2 User32 LoadIconA 32512 constant IDI_APPLICATION 32513 constant IDI_HAND 32514 constant IDI_QUESTION 32515 constant IDI_EXCLAMATION 32516 constant IDI_ASTERISK 32517 constant IDI_WINLOGO 32518 constant IDI_SHIELD IDI_EXCLAMATION constant IDI_WARNING IDI_HAND constant IDI_ERROR IDI_ASTERISK constant IDI_INFORMATION : GET_Y_LPARAM ( n -- n ) >r rp@ 2 + sw@ rdrop ; : GET_X_LPARAM ( n -- n ) >r rp@ sw@ rdrop ; 18 constant VK_ALT ( Check for Windows 10 DPI awareness ) z" SetThreadDpiAwarenessContext" ' User32 contains? [IF] z" SetThreadDpiAwarenessContext" 1 User32 SetThreadDpiAwarenessContext : dpi-aware -2 SetThreadDpiAwarenessContext drop ; [ELSE] : dpi-aware ; [THEN] only forth definitions
Legal: site web personnel sans commerce / personal site without seling