1 ! Copyright (C) 2021 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors alien alien.data arrays classes.struct io
4 kernel namespaces prettyprint ui.backend.windows
5 ui.gadgets.worlds windows.errors windows.types windows.user32 ;
8 : monitor-enum-proc ( -- callback )
9 BOOL { HMONITOR HDC LPRECT LPARAM } stdcall [
12 MONITORINFOEX <struct> dup byte-length >>cbSize
13 [ GetMonitorInfo win32-error=0/f ] keep ... flush
17 : enum-monitors ( -- )
23 EnumDisplayMonitors win32-error=0/f ;
26 : desktop-enum-proc ( -- callback )
27 BOOL { LPWSTR LPARAM } stdcall [
32 : enum-desktops ( -- )
33 f desktop-enum-proc 0 EnumDesktopsW win32-error=0/f ;