]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys-0.42.0/src/Windows/Win32/Graphics/DirectComposition/mod.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / vendor / windows-sys-0.42.0 / src / Windows / Win32 / Graphics / DirectComposition / mod.rs
1 #[cfg_attr(windows, link(name = "windows"))]
2 extern "system" {
3 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn DCompositionAttachMouseDragToHwnd(visual: IDCompositionVisual, hwnd: super::super::Foundation::HWND, enable: super::super::Foundation::BOOL) -> ::windows_sys::core::HRESULT;
6 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`*"]
7 #[cfg(feature = "Win32_Foundation")]
8 pub fn DCompositionAttachMouseWheelToHwnd(visual: IDCompositionVisual, hwnd: super::super::Foundation::HWND, enable: super::super::Foundation::BOOL) -> ::windows_sys::core::HRESULT;
9 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn DCompositionBoostCompositorClock(enable: super::super::Foundation::BOOL) -> ::windows_sys::core::HRESULT;
12 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Graphics_Dxgi\"`*"]
13 #[cfg(feature = "Win32_Graphics_Dxgi")]
14 pub fn DCompositionCreateDevice(dxgidevice: super::Dxgi::IDXGIDevice, iid: *const ::windows_sys::core::GUID, dcompositiondevice: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
15 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
16 pub fn DCompositionCreateDevice2(renderingdevice: ::windows_sys::core::IUnknown, iid: *const ::windows_sys::core::GUID, dcompositiondevice: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
17 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
18 pub fn DCompositionCreateDevice3(renderingdevice: ::windows_sys::core::IUnknown, iid: *const ::windows_sys::core::GUID, dcompositiondevice: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
19 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"]
20 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
21 pub fn DCompositionCreateSurfaceHandle(desiredaccess: u32, securityattributes: *const super::super::Security::SECURITY_ATTRIBUTES, surfacehandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
22 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
23 pub fn DCompositionGetFrameId(frameidtype: COMPOSITION_FRAME_ID_TYPE, frameid: *mut u64) -> ::windows_sys::core::HRESULT;
24 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`*"]
25 #[cfg(feature = "Win32_Foundation")]
26 pub fn DCompositionGetStatistics(frameid: u64, framestats: *mut COMPOSITION_FRAME_STATS, targetidcount: u32, targetids: *mut COMPOSITION_TARGET_ID, actualtargetidcount: *mut u32) -> ::windows_sys::core::HRESULT;
27 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`*"]
28 #[cfg(feature = "Win32_Foundation")]
29 pub fn DCompositionGetTargetStatistics(frameid: u64, targetid: *const COMPOSITION_TARGET_ID, targetstats: *mut COMPOSITION_TARGET_STATS) -> ::windows_sys::core::HRESULT;
30 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`*"]
31 #[cfg(feature = "Win32_Foundation")]
32 pub fn DCompositionWaitForCompositorClock(count: u32, handles: *const super::super::Foundation::HANDLE, timeoutinms: u32) -> u32;
33 }
34 pub type IDCompositionAffineTransform2DEffect = *mut ::core::ffi::c_void;
35 pub type IDCompositionAnimation = *mut ::core::ffi::c_void;
36 pub type IDCompositionArithmeticCompositeEffect = *mut ::core::ffi::c_void;
37 pub type IDCompositionBlendEffect = *mut ::core::ffi::c_void;
38 pub type IDCompositionBrightnessEffect = *mut ::core::ffi::c_void;
39 pub type IDCompositionClip = *mut ::core::ffi::c_void;
40 pub type IDCompositionColorMatrixEffect = *mut ::core::ffi::c_void;
41 pub type IDCompositionCompositeEffect = *mut ::core::ffi::c_void;
42 pub type IDCompositionDelegatedInkTrail = *mut ::core::ffi::c_void;
43 pub type IDCompositionDesktopDevice = *mut ::core::ffi::c_void;
44 pub type IDCompositionDevice = *mut ::core::ffi::c_void;
45 pub type IDCompositionDevice2 = *mut ::core::ffi::c_void;
46 pub type IDCompositionDevice3 = *mut ::core::ffi::c_void;
47 pub type IDCompositionDeviceDebug = *mut ::core::ffi::c_void;
48 pub type IDCompositionEffect = *mut ::core::ffi::c_void;
49 pub type IDCompositionEffectGroup = *mut ::core::ffi::c_void;
50 pub type IDCompositionFilterEffect = *mut ::core::ffi::c_void;
51 pub type IDCompositionGaussianBlurEffect = *mut ::core::ffi::c_void;
52 pub type IDCompositionHueRotationEffect = *mut ::core::ffi::c_void;
53 pub type IDCompositionInkTrailDevice = *mut ::core::ffi::c_void;
54 pub type IDCompositionLinearTransferEffect = *mut ::core::ffi::c_void;
55 pub type IDCompositionMatrixTransform = *mut ::core::ffi::c_void;
56 pub type IDCompositionMatrixTransform3D = *mut ::core::ffi::c_void;
57 pub type IDCompositionRectangleClip = *mut ::core::ffi::c_void;
58 pub type IDCompositionRotateTransform = *mut ::core::ffi::c_void;
59 pub type IDCompositionRotateTransform3D = *mut ::core::ffi::c_void;
60 pub type IDCompositionSaturationEffect = *mut ::core::ffi::c_void;
61 pub type IDCompositionScaleTransform = *mut ::core::ffi::c_void;
62 pub type IDCompositionScaleTransform3D = *mut ::core::ffi::c_void;
63 pub type IDCompositionShadowEffect = *mut ::core::ffi::c_void;
64 pub type IDCompositionSkewTransform = *mut ::core::ffi::c_void;
65 pub type IDCompositionSurface = *mut ::core::ffi::c_void;
66 pub type IDCompositionSurfaceFactory = *mut ::core::ffi::c_void;
67 pub type IDCompositionTableTransferEffect = *mut ::core::ffi::c_void;
68 pub type IDCompositionTarget = *mut ::core::ffi::c_void;
69 pub type IDCompositionTransform = *mut ::core::ffi::c_void;
70 pub type IDCompositionTransform3D = *mut ::core::ffi::c_void;
71 pub type IDCompositionTranslateTransform = *mut ::core::ffi::c_void;
72 pub type IDCompositionTranslateTransform3D = *mut ::core::ffi::c_void;
73 pub type IDCompositionTurbulenceEffect = *mut ::core::ffi::c_void;
74 pub type IDCompositionVirtualSurface = *mut ::core::ffi::c_void;
75 pub type IDCompositionVisual = *mut ::core::ffi::c_void;
76 pub type IDCompositionVisual2 = *mut ::core::ffi::c_void;
77 pub type IDCompositionVisual3 = *mut ::core::ffi::c_void;
78 pub type IDCompositionVisualDebug = *mut ::core::ffi::c_void;
79 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
80 pub const COMPOSITIONOBJECT_READ: i32 = 1i32;
81 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
82 pub const COMPOSITIONOBJECT_WRITE: i32 = 2i32;
83 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
84 pub const COMPOSITION_STATS_MAX_TARGETS: u32 = 256u32;
85 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
86 pub const DCOMPOSITION_MAX_WAITFORCOMPOSITORCLOCK_OBJECTS: u32 = 32u32;
87 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
88 pub type COMPOSITION_FRAME_ID_TYPE = i32;
89 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
90 pub const COMPOSITION_FRAME_ID_CREATED: COMPOSITION_FRAME_ID_TYPE = 0i32;
91 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
92 pub const COMPOSITION_FRAME_ID_CONFIRMED: COMPOSITION_FRAME_ID_TYPE = 1i32;
93 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
94 pub const COMPOSITION_FRAME_ID_COMPLETED: COMPOSITION_FRAME_ID_TYPE = 2i32;
95 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
96 pub type DCOMPOSITION_BACKFACE_VISIBILITY = i32;
97 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
98 pub const DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE: DCOMPOSITION_BACKFACE_VISIBILITY = 0i32;
99 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
100 pub const DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN: DCOMPOSITION_BACKFACE_VISIBILITY = 1i32;
101 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
102 pub const DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT: DCOMPOSITION_BACKFACE_VISIBILITY = -1i32;
103 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
104 pub type DCOMPOSITION_BITMAP_INTERPOLATION_MODE = i32;
105 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
106 pub const DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR: DCOMPOSITION_BITMAP_INTERPOLATION_MODE = 0i32;
107 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
108 pub const DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR: DCOMPOSITION_BITMAP_INTERPOLATION_MODE = 1i32;
109 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
110 pub const DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT: DCOMPOSITION_BITMAP_INTERPOLATION_MODE = -1i32;
111 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
112 pub type DCOMPOSITION_BORDER_MODE = i32;
113 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
114 pub const DCOMPOSITION_BORDER_MODE_SOFT: DCOMPOSITION_BORDER_MODE = 0i32;
115 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
116 pub const DCOMPOSITION_BORDER_MODE_HARD: DCOMPOSITION_BORDER_MODE = 1i32;
117 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
118 pub const DCOMPOSITION_BORDER_MODE_INHERIT: DCOMPOSITION_BORDER_MODE = -1i32;
119 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
120 pub type DCOMPOSITION_COMPOSITE_MODE = i32;
121 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
122 pub const DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER: DCOMPOSITION_COMPOSITE_MODE = 0i32;
123 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
124 pub const DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT: DCOMPOSITION_COMPOSITE_MODE = 1i32;
125 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
126 pub const DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND: DCOMPOSITION_COMPOSITE_MODE = 2i32;
127 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
128 pub const DCOMPOSITION_COMPOSITE_MODE_INHERIT: DCOMPOSITION_COMPOSITE_MODE = -1i32;
129 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
130 pub type DCOMPOSITION_DEPTH_MODE = i32;
131 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
132 pub const DCOMPOSITION_DEPTH_MODE_TREE: DCOMPOSITION_DEPTH_MODE = 0i32;
133 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
134 pub const DCOMPOSITION_DEPTH_MODE_SPATIAL: DCOMPOSITION_DEPTH_MODE = 1i32;
135 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
136 pub const DCOMPOSITION_DEPTH_MODE_SORTED: DCOMPOSITION_DEPTH_MODE = 3i32;
137 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
138 pub const DCOMPOSITION_DEPTH_MODE_INHERIT: DCOMPOSITION_DEPTH_MODE = -1i32;
139 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
140 pub type DCOMPOSITION_OPACITY_MODE = i32;
141 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
142 pub const DCOMPOSITION_OPACITY_MODE_LAYER: DCOMPOSITION_OPACITY_MODE = 0i32;
143 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
144 pub const DCOMPOSITION_OPACITY_MODE_MULTIPLY: DCOMPOSITION_OPACITY_MODE = 1i32;
145 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
146 pub const DCOMPOSITION_OPACITY_MODE_INHERIT: DCOMPOSITION_OPACITY_MODE = -1i32;
147 #[repr(C)]
148 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
149 pub struct COMPOSITION_FRAME_STATS {
150 pub startTime: u64,
151 pub targetTime: u64,
152 pub framePeriod: u64,
153 }
154 impl ::core::marker::Copy for COMPOSITION_FRAME_STATS {}
155 impl ::core::clone::Clone for COMPOSITION_FRAME_STATS {
156 fn clone(&self) -> Self {
157 *self
158 }
159 }
160 #[repr(C)]
161 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
162 pub struct COMPOSITION_STATS {
163 pub presentCount: u32,
164 pub refreshCount: u32,
165 pub virtualRefreshCount: u32,
166 pub time: u64,
167 }
168 impl ::core::marker::Copy for COMPOSITION_STATS {}
169 impl ::core::clone::Clone for COMPOSITION_STATS {
170 fn clone(&self) -> Self {
171 *self
172 }
173 }
174 #[repr(C)]
175 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Foundation\"`*"]
176 #[cfg(feature = "Win32_Foundation")]
177 pub struct COMPOSITION_TARGET_ID {
178 pub displayAdapterLuid: super::super::Foundation::LUID,
179 pub renderAdapterLuid: super::super::Foundation::LUID,
180 pub vidPnSourceId: u32,
181 pub vidPnTargetId: u32,
182 pub uniqueId: u32,
183 }
184 #[cfg(feature = "Win32_Foundation")]
185 impl ::core::marker::Copy for COMPOSITION_TARGET_ID {}
186 #[cfg(feature = "Win32_Foundation")]
187 impl ::core::clone::Clone for COMPOSITION_TARGET_ID {
188 fn clone(&self) -> Self {
189 *self
190 }
191 }
192 #[repr(C)]
193 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
194 pub struct COMPOSITION_TARGET_STATS {
195 pub outstandingPresents: u32,
196 pub presentTime: u64,
197 pub vblankDuration: u64,
198 pub presentedStats: COMPOSITION_STATS,
199 pub completedStats: COMPOSITION_STATS,
200 }
201 impl ::core::marker::Copy for COMPOSITION_TARGET_STATS {}
202 impl ::core::clone::Clone for COMPOSITION_TARGET_STATS {
203 fn clone(&self) -> Self {
204 *self
205 }
206 }
207 #[repr(C)]
208 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`, `\"Win32_Graphics_Dxgi_Common\"`*"]
209 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
210 pub struct DCOMPOSITION_FRAME_STATISTICS {
211 pub lastFrameTime: i64,
212 pub currentCompositionRate: super::Dxgi::Common::DXGI_RATIONAL,
213 pub currentTime: i64,
214 pub timeFrequency: i64,
215 pub nextEstimatedFrameTime: i64,
216 }
217 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
218 impl ::core::marker::Copy for DCOMPOSITION_FRAME_STATISTICS {}
219 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
220 impl ::core::clone::Clone for DCOMPOSITION_FRAME_STATISTICS {
221 fn clone(&self) -> Self {
222 *self
223 }
224 }
225 #[repr(C)]
226 #[doc = "*Required features: `\"Win32_Graphics_DirectComposition\"`*"]
227 pub struct DCompositionInkTrailPoint {
228 pub x: f32,
229 pub y: f32,
230 pub radius: f32,
231 }
232 impl ::core::marker::Copy for DCompositionInkTrailPoint {}
233 impl ::core::clone::Clone for DCompositionInkTrailPoint {
234 fn clone(&self) -> Self {
235 *self
236 }
237 }