windows: Add a bunch of HighDPI functions.
parent
fe83a4a164
commit
37871d87f4
|
@ -210,6 +210,7 @@ CONSTANT: WM_NCMOUSELEAVE 0x02A2
|
|||
CONSTANT: WM_WTSSESSION_CHANGE 0x02B1
|
||||
CONSTANT: WM_TABLET_FIRST 0x02c0
|
||||
CONSTANT: WM_TABLET_LAST 0x02df
|
||||
CONSTANT: WM_DPICHANGED 0x02E0
|
||||
CONSTANT: WM_CUT 0x0300
|
||||
CONSTANT: WM_COPY 0x0301
|
||||
CONSTANT: WM_PASTE 0x0302
|
||||
|
|
|
@ -2259,3 +2259,140 @@ STRUCT: POWERBROADCAST_SETTING
|
|||
|
||||
: msgbox ( str -- )
|
||||
f swap "DebugMsg" MB_OK MessageBox drop ;
|
||||
|
||||
! HighDPI
|
||||
TYPEDEF: HANDLE DPI_AWARENESS_CONTEXT
|
||||
|
||||
ENUM: PROCESS_DPI_AWARENESS
|
||||
{ PROCESS_DPI_UNAWARE 0 }
|
||||
{ PROCESS_SYSTEM_DPI_AWARE 1 }
|
||||
{ PROCESS_PER_MONITOR_DPI_AWARE 2 } ;
|
||||
|
||||
ENUM: DPI_AWARENESS
|
||||
{ DPI_AWARENESS_INVALID -1 }
|
||||
{ DPI_AWARENESS_UNAWARE 0 }
|
||||
{ DPI_AWARENESS_SYSTEM_AWARE 1 }
|
||||
{ DPI_AWARENESS_PER_MONITOR_AWARE 2 } ;
|
||||
|
||||
FUNCTION: BOOL AdjustWindowRectExForDpi (
|
||||
LPRECT lpRect,
|
||||
DWORD dwStyle,
|
||||
BOOL bMenu,
|
||||
DWORD dwExStyle,
|
||||
UINT dpi
|
||||
)
|
||||
|
||||
FUNCTION: BOOL EnableNonClientDpiScaling (
|
||||
HWND hwnd
|
||||
)
|
||||
|
||||
FUNCTION: BOOL AreDpiAwarenessContextsEqual (
|
||||
DPI_AWARENESS_CONTEXT dpiContextA,
|
||||
DPI_AWARENESS_CONTEXT dpiContextB
|
||||
)
|
||||
|
||||
ENUM: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
|
||||
DCDC_DEFAULT
|
||||
DCDC_DISABLE_FONT_UPDATE
|
||||
DCDC_DISABLE_RELAYOUT ;
|
||||
|
||||
FUNCTION: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS GetDialogControlDpiChangeBehavior (
|
||||
HWND hWnd
|
||||
)
|
||||
|
||||
ENUM: DIALOG_DPI_CHANGE_BEHAVIORS
|
||||
DDC_DEFAULT
|
||||
DDC_DISABLE_ALL
|
||||
DDC_DISABLE_RESIZE
|
||||
DDC_DISABLE_CONTROL_RELAYOUT ;
|
||||
|
||||
FUNCTION: DIALOG_DPI_CHANGE_BEHAVIORS GetDialogDpiChangeBehavior (
|
||||
HWND hDlg
|
||||
)
|
||||
|
||||
FUNCTION: UINT GetDpiForSystem ( )
|
||||
|
||||
FUNCTION: UINT GetDpiForWindow ( HWND hwnd )
|
||||
|
||||
FUNCTION: HRESULT GetProcessDpiAwareness ( HANDLE hprocess, PROCESS_DPI_AWARENESS* value )
|
||||
|
||||
FUNCTION: UINT GetSystemDpiForProcess (
|
||||
HANDLE hProcess
|
||||
)
|
||||
|
||||
FUNCTION: int GetSystemMetricsForDpi (
|
||||
int nIndex,
|
||||
UINT dpi
|
||||
)
|
||||
|
||||
FUNCTION: DPI_AWARENESS_CONTEXT GetThreadDpiAwarenessContext ( )
|
||||
FUNCTION: DPI_AWARENESS_CONTEXT SetThreadDpiAwarenessContext ( DPI_AWARENESS_CONTEXT dpiContext )
|
||||
|
||||
ENUM: DPI_HOSTING_BEHAVIOR
|
||||
DPI_HOSTING_BEHAVIOR_INVALID
|
||||
DPI_HOSTING_BEHAVIOR_DEFAULT
|
||||
DPI_HOSTING_BEHAVIOR_MIXED ;
|
||||
|
||||
FUNCTION: DPI_HOSTING_BEHAVIOR GetThreadDpiHostingBehavior ( )
|
||||
|
||||
FUNCTION: DPI_HOSTING_BEHAVIOR GetWindowDpiHostingBehavior (
|
||||
HWND hwnd
|
||||
)
|
||||
|
||||
FUNCTION: BOOL SetProcessDPIAware ( )
|
||||
FUNCTION: HRESULT SetProcessDpiAwareness ( PROCESS_DPI_AWARENESS value )
|
||||
FUNCTION: BOOL SetProcessDpiAwarenessContext ( DPI_AWARENESS_CONTEXT value )
|
||||
|
||||
FUNCTION: DPI_AWARENESS_CONTEXT GetWindowDpiAwarenessContext ( HWND hwnd )
|
||||
FUNCTION: DPI_AWARENESS GetAwarenessFromDpiAwarenessContext ( DPI_AWARENESS_CONTEXT value )
|
||||
|
||||
FUNCTION: BOOL IsValidDpiAwarenessContext (
|
||||
DPI_AWARENESS_CONTEXT value
|
||||
)
|
||||
|
||||
! Needs work
|
||||
! GetThreadDpiAwarenessContext -8 swap <displaced-alien> IsValidDpiAwarenessContext ! 0, should be 1
|
||||
! : DPI_AWARENESS_CONTEXT_UNAWARE ( -- DPI_AWARENESS_CONTEXT )
|
||||
! GetThreadDpiAwarenessContext -1 swap <displaced-alien> ;
|
||||
! : DPI_AWARENESS_CONTEXT_SYSTEM_AWARE ( -- DPI_AWARENESS_CONTEXT )
|
||||
! GetThreadDpiAwarenessContext -2 swap <displaced-alien> ;
|
||||
! : DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ( -- DPI_AWARENESS_CONTEXT )
|
||||
! GetThreadDpiAwarenessContext -3 swap <displaced-alien> ;
|
||||
! : DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ( -- DPI_AWARENESS_CONTEXT )
|
||||
! GetThreadDpiAwarenessContext -4 swap <displaced-alien> ;
|
||||
! : DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ( -- DPI_AWARENESS_CONTEXT )
|
||||
! GetThreadDpiAwarenessContext -5 swap <displaced-alien> ;
|
||||
|
||||
FUNCTION: BOOL LogicalToPhysicalPointForPerMonitorDPI (
|
||||
HWND hWnd,
|
||||
LPPOINT lpPoint
|
||||
)
|
||||
|
||||
FUNCTION: BOOL PhysicalToLogicalPointForPerMonitorDPI (
|
||||
HWND hWnd,
|
||||
LPPOINT lpPoint
|
||||
)
|
||||
|
||||
FUNCTION: BOOL SetDialogControlDpiChangeBehavior (
|
||||
HWND hWnd,
|
||||
DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS mask,
|
||||
DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS values
|
||||
)
|
||||
|
||||
FUNCTION: BOOL SetDialogDpiChangeBehavior (
|
||||
HWND hDlg,
|
||||
DIALOG_DPI_CHANGE_BEHAVIORS mask,
|
||||
DIALOG_DPI_CHANGE_BEHAVIORS values
|
||||
)
|
||||
|
||||
FUNCTION: DPI_HOSTING_BEHAVIOR SetThreadDpiHostingBehavior (
|
||||
DPI_HOSTING_BEHAVIOR value
|
||||
)
|
||||
|
||||
FUNCTION: BOOL SystemParametersInfoForDpi (
|
||||
UINT uiAction,
|
||||
UINT uiParam,
|
||||
PVOID pvParam,
|
||||
UINT fWinIni,
|
||||
UINT dpi
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue