1 ! Copyright (C) 2017 Benjamin Pollack.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.syntax windows.types ;
14 ENUM: PROCESS_DPI_AWARENESS
15 { PROCESS_DPI_UNAWARE 0 }
16 { PROCESS_SYSTEM_DPI_AWARE 1 }
17 { PROCESS_PER_MONITOR_DPI_AWARE 2 } ;
19 ENUM: SCALE_CHANGE_FLAGS
24 FUNCTION: HRESULT GetDpiForMonitor ( HMONITOR hMonitor, MONITOR_DPI_TYPE dpiType, UINT* dpiX, UINT *dpiY )
26 ENUM: DEVICE_SCALE_FACTOR
27 { DEVICE_SCALE_FACTOR_INVALID 0 }
28 { SCALE_100_PERCENT 100 }
29 { SCALE_120_PERCENT 120 }
30 { SCALE_125_PERCENT 125 }
31 { SCALE_140_PERCENT 140 }
32 { SCALE_150_PERCENT 150 }
33 { SCALE_160_PERCENT 160 }
34 { SCALE_175_PERCENT 175 }
35 { SCALE_180_PERCENT 180 }
36 { SCALE_200_PERCENT 200 }
37 { SCALE_225_PERCENT 223 }
38 { SCALE_250_PERCENT 250 }
39 { SCALE_300_PERCENT 300 }
40 { SCALE_350_PERCENT 350 }
41 { SCALE_400_PERCENT 400 }
42 { SCALE_450_PERCENT 450 }
43 { SCALE_500_PERCENT 500 } ;
45 FUNCTION: HRESULT GetScaleFactorForMonitor (
47 DEVICE_SCALE_FACTOR *pScale
50 FUNCTION: HRESULT RegisterScaleChangeEvent (
55 ENUM: DISPLAY_DEVICE_TYPE
57 { DEVICE_IMMERSIVE 1 } ;
60 FUNCTION: HRESULT RevokeScaleChangeNotifications (
61 DISPLAY_DEVICE_TYPE displayDevice,
65 FUNCTION: HRESULT UnregisterScaleChangeEvent (
69 FUNCTION: HRESULT GetProcessDpiAwareness ( HANDLE hprocess, PROCESS_DPI_AWARENESS* value )
70 FUNCTION: HRESULT SetProcessDpiAwareness ( PROCESS_DPI_AWARENESS value )
72 ENUM: SHELL_UI_COMPONENT
73 { SHELL_UI_COMPONENT_TASKBARS 0 }
74 { SHELL_UI_COMPONENT_NOTIFICATIONAREA 1 }
75 { SHELL_UI_COMPONENT_DESKBAND 2 } ;