1 #[cfg_attr(windows, link(name = "windows"))]
3 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
4 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
5 pub fn AdjustWindowRectExForDpi(lprect
: *mut super::super::Foundation
::RECT
, dwstyle
: super::WindowsAndMessaging
::WINDOW_STYLE
, bmenu
: super::super::Foundation
::BOOL
, dwexstyle
: super::WindowsAndMessaging
::WINDOW_EX_STYLE
, dpi
: u32) -> super::super::Foundation
::BOOL
;
6 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
7 #[cfg(feature = "Win32_Foundation")]
8 pub fn AreDpiAwarenessContextsEqual(dpicontexta
: DPI_AWARENESS_CONTEXT
, dpicontextb
: DPI_AWARENESS_CONTEXT
) -> super::super::Foundation
::BOOL
;
9 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn EnableNonClientDpiScaling(hwnd
: super::super::Foundation
::HWND
) -> super::super::Foundation
::BOOL
;
12 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
13 pub fn GetAwarenessFromDpiAwarenessContext(value
: DPI_AWARENESS_CONTEXT
) -> DPI_AWARENESS
;
14 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
15 #[cfg(feature = "Win32_Foundation")]
16 pub fn GetDialogControlDpiChangeBehavior(hwnd
: super::super::Foundation
::HWND
) -> DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
;
17 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
18 #[cfg(feature = "Win32_Foundation")]
19 pub fn GetDialogDpiChangeBehavior(hdlg
: super::super::Foundation
::HWND
) -> DIALOG_DPI_CHANGE_BEHAVIORS
;
20 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
21 #[cfg(feature = "Win32_Foundation")]
22 pub fn GetDpiAwarenessContextForProcess(hprocess
: super::super::Foundation
::HANDLE
) -> DPI_AWARENESS_CONTEXT
;
23 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Graphics_Gdi\"`*"]
24 #[cfg(feature = "Win32_Graphics_Gdi")]
25 pub fn GetDpiForMonitor(hmonitor
: super::super::Graphics
::Gdi
::HMONITOR
, dpitype
: MONITOR_DPI_TYPE
, dpix
: *mut u32, dpiy
: *mut u32) -> ::windows_sys
::core
::HRESULT
;
26 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
27 pub fn GetDpiForSystem() -> u32;
28 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
29 #[cfg(feature = "Win32_Foundation")]
30 pub fn GetDpiForWindow(hwnd
: super::super::Foundation
::HWND
) -> u32;
31 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
32 pub fn GetDpiFromDpiAwarenessContext(value
: DPI_AWARENESS_CONTEXT
) -> u32;
33 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
34 #[cfg(feature = "Win32_Foundation")]
35 pub fn GetProcessDpiAwareness(hprocess
: super::super::Foundation
::HANDLE
, value
: *mut PROCESS_DPI_AWARENESS
) -> ::windows_sys
::core
::HRESULT
;
36 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
37 #[cfg(feature = "Win32_Foundation")]
38 pub fn GetSystemDpiForProcess(hprocess
: super::super::Foundation
::HANDLE
) -> u32;
39 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
40 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
41 pub fn GetSystemMetricsForDpi(nindex
: super::WindowsAndMessaging
::SYSTEM_METRICS_INDEX
, dpi
: u32) -> i32;
42 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
43 pub fn GetThreadDpiAwarenessContext() -> DPI_AWARENESS_CONTEXT
;
44 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
45 pub fn GetThreadDpiHostingBehavior() -> DPI_HOSTING_BEHAVIOR
;
46 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
47 #[cfg(feature = "Win32_Foundation")]
48 pub fn GetWindowDpiAwarenessContext(hwnd
: super::super::Foundation
::HWND
) -> DPI_AWARENESS_CONTEXT
;
49 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
50 #[cfg(feature = "Win32_Foundation")]
51 pub fn GetWindowDpiHostingBehavior(hwnd
: super::super::Foundation
::HWND
) -> DPI_HOSTING_BEHAVIOR
;
52 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
53 #[cfg(feature = "Win32_Foundation")]
54 pub fn IsValidDpiAwarenessContext(value
: DPI_AWARENESS_CONTEXT
) -> super::super::Foundation
::BOOL
;
55 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
56 #[cfg(feature = "Win32_Foundation")]
57 pub fn LogicalToPhysicalPointForPerMonitorDPI(hwnd
: super::super::Foundation
::HWND
, lppoint
: *mut super::super::Foundation
::POINT
) -> super::super::Foundation
::BOOL
;
58 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
59 #[cfg(feature = "Win32_Foundation")]
60 pub fn OpenThemeDataForDpi(hwnd
: super::super::Foundation
::HWND
, pszclasslist
: ::windows_sys
::core
::PCWSTR
, dpi
: u32) -> isize;
61 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
62 #[cfg(feature = "Win32_Foundation")]
63 pub fn PhysicalToLogicalPointForPerMonitorDPI(hwnd
: super::super::Foundation
::HWND
, lppoint
: *mut super::super::Foundation
::POINT
) -> super::super::Foundation
::BOOL
;
64 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
65 #[cfg(feature = "Win32_Foundation")]
66 pub fn SetDialogControlDpiChangeBehavior(hwnd
: super::super::Foundation
::HWND
, mask
: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
, values
: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
) -> super::super::Foundation
::BOOL
;
67 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
68 #[cfg(feature = "Win32_Foundation")]
69 pub fn SetDialogDpiChangeBehavior(hdlg
: super::super::Foundation
::HWND
, mask
: DIALOG_DPI_CHANGE_BEHAVIORS
, values
: DIALOG_DPI_CHANGE_BEHAVIORS
) -> super::super::Foundation
::BOOL
;
70 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
71 pub fn SetProcessDpiAwareness(value
: PROCESS_DPI_AWARENESS
) -> ::windows_sys
::core
::HRESULT
;
72 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
73 #[cfg(feature = "Win32_Foundation")]
74 pub fn SetProcessDpiAwarenessContext(value
: DPI_AWARENESS_CONTEXT
) -> super::super::Foundation
::BOOL
;
75 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
76 pub fn SetThreadDpiAwarenessContext(dpicontext
: DPI_AWARENESS_CONTEXT
) -> DPI_AWARENESS_CONTEXT
;
77 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
78 pub fn SetThreadDpiHostingBehavior(value
: DPI_HOSTING_BEHAVIOR
) -> DPI_HOSTING_BEHAVIOR
;
79 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`, `\"Win32_Foundation\"`*"]
80 #[cfg(feature = "Win32_Foundation")]
81 pub fn SystemParametersInfoForDpi(uiaction
: u32, uiparam
: u32, pvparam
: *mut ::core
::ffi
::c_void
, fwinini
: u32, dpi
: u32) -> super::super::Foundation
::BOOL
;
83 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
84 pub const DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE
: DPI_AWARENESS_CONTEXT
= -3i32 as _
;
85 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
86 pub const DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2
: DPI_AWARENESS_CONTEXT
= -4i32 as _
;
87 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
88 pub const DPI_AWARENESS_CONTEXT_SYSTEM_AWARE
: DPI_AWARENESS_CONTEXT
= -2i32 as _
;
89 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
90 pub const DPI_AWARENESS_CONTEXT_UNAWARE
: DPI_AWARENESS_CONTEXT
= -1i32 as _
;
91 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
92 pub const DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED
: DPI_AWARENESS_CONTEXT
= -5i32 as _
;
93 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
94 pub type DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
= u32;
95 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
96 pub const DCDC_DEFAULT
: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
= 0u32;
97 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
98 pub const DCDC_DISABLE_FONT_UPDATE
: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
= 1u32;
99 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
100 pub const DCDC_DISABLE_RELAYOUT
: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
= 2u32;
101 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
102 pub type DIALOG_DPI_CHANGE_BEHAVIORS
= u32;
103 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
104 pub const DDC_DEFAULT
: DIALOG_DPI_CHANGE_BEHAVIORS
= 0u32;
105 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
106 pub const DDC_DISABLE_ALL
: DIALOG_DPI_CHANGE_BEHAVIORS
= 1u32;
107 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
108 pub const DDC_DISABLE_RESIZE
: DIALOG_DPI_CHANGE_BEHAVIORS
= 2u32;
109 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
110 pub const DDC_DISABLE_CONTROL_RELAYOUT
: DIALOG_DPI_CHANGE_BEHAVIORS
= 4u32;
111 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
112 pub type DPI_AWARENESS
= i32;
113 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
114 pub const DPI_AWARENESS_INVALID
: DPI_AWARENESS
= -1i32;
115 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
116 pub const DPI_AWARENESS_UNAWARE
: DPI_AWARENESS
= 0i32;
117 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
118 pub const DPI_AWARENESS_SYSTEM_AWARE
: DPI_AWARENESS
= 1i32;
119 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
120 pub const DPI_AWARENESS_PER_MONITOR_AWARE
: DPI_AWARENESS
= 2i32;
121 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
122 pub type DPI_HOSTING_BEHAVIOR
= i32;
123 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
124 pub const DPI_HOSTING_BEHAVIOR_INVALID
: DPI_HOSTING_BEHAVIOR
= -1i32;
125 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
126 pub const DPI_HOSTING_BEHAVIOR_DEFAULT
: DPI_HOSTING_BEHAVIOR
= 0i32;
127 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
128 pub const DPI_HOSTING_BEHAVIOR_MIXED
: DPI_HOSTING_BEHAVIOR
= 1i32;
129 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
130 pub type MONITOR_DPI_TYPE
= i32;
131 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
132 pub const MDT_EFFECTIVE_DPI
: MONITOR_DPI_TYPE
= 0i32;
133 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
134 pub const MDT_ANGULAR_DPI
: MONITOR_DPI_TYPE
= 1i32;
135 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
136 pub const MDT_RAW_DPI
: MONITOR_DPI_TYPE
= 2i32;
137 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
138 pub const MDT_DEFAULT
: MONITOR_DPI_TYPE
= 0i32;
139 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
140 pub type PROCESS_DPI_AWARENESS
= i32;
141 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
142 pub const PROCESS_DPI_UNAWARE
: PROCESS_DPI_AWARENESS
= 0i32;
143 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
144 pub const PROCESS_SYSTEM_DPI_AWARE
: PROCESS_DPI_AWARENESS
= 1i32;
145 #[doc = "*Required features: `\"Win32_UI_HiDpi\"`*"]
146 pub const PROCESS_PER_MONITOR_DPI_AWARE
: PROCESS_DPI_AWARENESS
= 2i32;
147 pub type DPI_AWARENESS_CONTEXT
= isize;