]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/UI/Composition/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / UI / Composition / mod.rs
1 #[cfg(feature = "UI_Composition_Core")]
2 pub mod Core;
3 #[cfg(feature = "UI_Composition_Desktop")]
4 pub mod Desktop;
5 #[cfg(feature = "UI_Composition_Diagnostics")]
6 pub mod Diagnostics;
7 #[cfg(feature = "UI_Composition_Effects")]
8 pub mod Effects;
9 #[cfg(feature = "UI_Composition_Interactions")]
10 pub mod Interactions;
11 #[cfg(feature = "UI_Composition_Scenes")]
12 pub mod Scenes;
13 pub type AmbientLight = *mut ::core::ffi::c_void;
14 pub type AnimationController = *mut ::core::ffi::c_void;
15 #[doc = "*Required features: `\"UI_Composition\"`*"]
16 #[repr(transparent)]
17 pub struct AnimationControllerProgressBehavior(pub i32);
18 impl AnimationControllerProgressBehavior {
19 pub const Default: Self = Self(0i32);
20 pub const IncludesDelayTime: Self = Self(1i32);
21 }
22 impl ::core::marker::Copy for AnimationControllerProgressBehavior {}
23 impl ::core::clone::Clone for AnimationControllerProgressBehavior {
24 fn clone(&self) -> Self {
25 *self
26 }
27 }
28 #[doc = "*Required features: `\"UI_Composition\"`*"]
29 #[repr(transparent)]
30 pub struct AnimationDelayBehavior(pub i32);
31 impl AnimationDelayBehavior {
32 pub const SetInitialValueAfterDelay: Self = Self(0i32);
33 pub const SetInitialValueBeforeDelay: Self = Self(1i32);
34 }
35 impl ::core::marker::Copy for AnimationDelayBehavior {}
36 impl ::core::clone::Clone for AnimationDelayBehavior {
37 fn clone(&self) -> Self {
38 *self
39 }
40 }
41 #[doc = "*Required features: `\"UI_Composition\"`*"]
42 #[repr(transparent)]
43 pub struct AnimationDirection(pub i32);
44 impl AnimationDirection {
45 pub const Normal: Self = Self(0i32);
46 pub const Reverse: Self = Self(1i32);
47 pub const Alternate: Self = Self(2i32);
48 pub const AlternateReverse: Self = Self(3i32);
49 }
50 impl ::core::marker::Copy for AnimationDirection {}
51 impl ::core::clone::Clone for AnimationDirection {
52 fn clone(&self) -> Self {
53 *self
54 }
55 }
56 #[doc = "*Required features: `\"UI_Composition\"`*"]
57 #[repr(transparent)]
58 pub struct AnimationIterationBehavior(pub i32);
59 impl AnimationIterationBehavior {
60 pub const Count: Self = Self(0i32);
61 pub const Forever: Self = Self(1i32);
62 }
63 impl ::core::marker::Copy for AnimationIterationBehavior {}
64 impl ::core::clone::Clone for AnimationIterationBehavior {
65 fn clone(&self) -> Self {
66 *self
67 }
68 }
69 #[doc = "*Required features: `\"UI_Composition\"`*"]
70 #[repr(transparent)]
71 pub struct AnimationPropertyAccessMode(pub i32);
72 impl AnimationPropertyAccessMode {
73 pub const None: Self = Self(0i32);
74 pub const ReadOnly: Self = Self(1i32);
75 pub const WriteOnly: Self = Self(2i32);
76 pub const ReadWrite: Self = Self(3i32);
77 }
78 impl ::core::marker::Copy for AnimationPropertyAccessMode {}
79 impl ::core::clone::Clone for AnimationPropertyAccessMode {
80 fn clone(&self) -> Self {
81 *self
82 }
83 }
84 pub type AnimationPropertyInfo = *mut ::core::ffi::c_void;
85 #[doc = "*Required features: `\"UI_Composition\"`*"]
86 #[repr(transparent)]
87 pub struct AnimationStopBehavior(pub i32);
88 impl AnimationStopBehavior {
89 pub const LeaveCurrentValue: Self = Self(0i32);
90 pub const SetToInitialValue: Self = Self(1i32);
91 pub const SetToFinalValue: Self = Self(2i32);
92 }
93 impl ::core::marker::Copy for AnimationStopBehavior {}
94 impl ::core::clone::Clone for AnimationStopBehavior {
95 fn clone(&self) -> Self {
96 *self
97 }
98 }
99 pub type BackEasingFunction = *mut ::core::ffi::c_void;
100 pub type BooleanKeyFrameAnimation = *mut ::core::ffi::c_void;
101 pub type BounceEasingFunction = *mut ::core::ffi::c_void;
102 pub type BounceScalarNaturalMotionAnimation = *mut ::core::ffi::c_void;
103 pub type BounceVector2NaturalMotionAnimation = *mut ::core::ffi::c_void;
104 pub type BounceVector3NaturalMotionAnimation = *mut ::core::ffi::c_void;
105 pub type CircleEasingFunction = *mut ::core::ffi::c_void;
106 pub type ColorKeyFrameAnimation = *mut ::core::ffi::c_void;
107 pub type CompositionAnimation = *mut ::core::ffi::c_void;
108 pub type CompositionAnimationGroup = *mut ::core::ffi::c_void;
109 pub type CompositionBackdropBrush = *mut ::core::ffi::c_void;
110 #[doc = "*Required features: `\"UI_Composition\"`*"]
111 #[repr(transparent)]
112 pub struct CompositionBackfaceVisibility(pub i32);
113 impl CompositionBackfaceVisibility {
114 pub const Inherit: Self = Self(0i32);
115 pub const Visible: Self = Self(1i32);
116 pub const Hidden: Self = Self(2i32);
117 }
118 impl ::core::marker::Copy for CompositionBackfaceVisibility {}
119 impl ::core::clone::Clone for CompositionBackfaceVisibility {
120 fn clone(&self) -> Self {
121 *self
122 }
123 }
124 pub type CompositionBatchCompletedEventArgs = *mut ::core::ffi::c_void;
125 #[doc = "*Required features: `\"UI_Composition\"`*"]
126 #[repr(transparent)]
127 pub struct CompositionBatchTypes(pub u32);
128 impl CompositionBatchTypes {
129 pub const None: Self = Self(0u32);
130 pub const Animation: Self = Self(1u32);
131 pub const Effect: Self = Self(2u32);
132 pub const InfiniteAnimation: Self = Self(4u32);
133 pub const AllAnimations: Self = Self(5u32);
134 }
135 impl ::core::marker::Copy for CompositionBatchTypes {}
136 impl ::core::clone::Clone for CompositionBatchTypes {
137 fn clone(&self) -> Self {
138 *self
139 }
140 }
141 #[doc = "*Required features: `\"UI_Composition\"`*"]
142 #[repr(transparent)]
143 pub struct CompositionBitmapInterpolationMode(pub i32);
144 impl CompositionBitmapInterpolationMode {
145 pub const NearestNeighbor: Self = Self(0i32);
146 pub const Linear: Self = Self(1i32);
147 pub const MagLinearMinLinearMipLinear: Self = Self(2i32);
148 pub const MagLinearMinLinearMipNearest: Self = Self(3i32);
149 pub const MagLinearMinNearestMipLinear: Self = Self(4i32);
150 pub const MagLinearMinNearestMipNearest: Self = Self(5i32);
151 pub const MagNearestMinLinearMipLinear: Self = Self(6i32);
152 pub const MagNearestMinLinearMipNearest: Self = Self(7i32);
153 pub const MagNearestMinNearestMipLinear: Self = Self(8i32);
154 pub const MagNearestMinNearestMipNearest: Self = Self(9i32);
155 }
156 impl ::core::marker::Copy for CompositionBitmapInterpolationMode {}
157 impl ::core::clone::Clone for CompositionBitmapInterpolationMode {
158 fn clone(&self) -> Self {
159 *self
160 }
161 }
162 #[doc = "*Required features: `\"UI_Composition\"`*"]
163 #[repr(transparent)]
164 pub struct CompositionBorderMode(pub i32);
165 impl CompositionBorderMode {
166 pub const Inherit: Self = Self(0i32);
167 pub const Soft: Self = Self(1i32);
168 pub const Hard: Self = Self(2i32);
169 }
170 impl ::core::marker::Copy for CompositionBorderMode {}
171 impl ::core::clone::Clone for CompositionBorderMode {
172 fn clone(&self) -> Self {
173 *self
174 }
175 }
176 pub type CompositionBrush = *mut ::core::ffi::c_void;
177 pub type CompositionCapabilities = *mut ::core::ffi::c_void;
178 pub type CompositionClip = *mut ::core::ffi::c_void;
179 pub type CompositionColorBrush = *mut ::core::ffi::c_void;
180 pub type CompositionColorGradientStop = *mut ::core::ffi::c_void;
181 pub type CompositionColorGradientStopCollection = *mut ::core::ffi::c_void;
182 #[doc = "*Required features: `\"UI_Composition\"`*"]
183 #[repr(transparent)]
184 pub struct CompositionColorSpace(pub i32);
185 impl CompositionColorSpace {
186 pub const Auto: Self = Self(0i32);
187 pub const Hsl: Self = Self(1i32);
188 pub const Rgb: Self = Self(2i32);
189 pub const HslLinear: Self = Self(3i32);
190 pub const RgbLinear: Self = Self(4i32);
191 }
192 impl ::core::marker::Copy for CompositionColorSpace {}
193 impl ::core::clone::Clone for CompositionColorSpace {
194 fn clone(&self) -> Self {
195 *self
196 }
197 }
198 pub type CompositionCommitBatch = *mut ::core::ffi::c_void;
199 #[doc = "*Required features: `\"UI_Composition\"`*"]
200 #[repr(transparent)]
201 pub struct CompositionCompositeMode(pub i32);
202 impl CompositionCompositeMode {
203 pub const Inherit: Self = Self(0i32);
204 pub const SourceOver: Self = Self(1i32);
205 pub const DestinationInvert: Self = Self(2i32);
206 pub const MinBlend: Self = Self(3i32);
207 }
208 impl ::core::marker::Copy for CompositionCompositeMode {}
209 impl ::core::clone::Clone for CompositionCompositeMode {
210 fn clone(&self) -> Self {
211 *self
212 }
213 }
214 pub type CompositionContainerShape = *mut ::core::ffi::c_void;
215 pub type CompositionDrawingSurface = *mut ::core::ffi::c_void;
216 #[doc = "*Required features: `\"UI_Composition\"`*"]
217 #[repr(transparent)]
218 pub struct CompositionDropShadowSourcePolicy(pub i32);
219 impl CompositionDropShadowSourcePolicy {
220 pub const Default: Self = Self(0i32);
221 pub const InheritFromVisualContent: Self = Self(1i32);
222 }
223 impl ::core::marker::Copy for CompositionDropShadowSourcePolicy {}
224 impl ::core::clone::Clone for CompositionDropShadowSourcePolicy {
225 fn clone(&self) -> Self {
226 *self
227 }
228 }
229 pub type CompositionEasingFunction = *mut ::core::ffi::c_void;
230 #[doc = "*Required features: `\"UI_Composition\"`*"]
231 #[repr(transparent)]
232 pub struct CompositionEasingFunctionMode(pub i32);
233 impl CompositionEasingFunctionMode {
234 pub const In: Self = Self(0i32);
235 pub const Out: Self = Self(1i32);
236 pub const InOut: Self = Self(2i32);
237 }
238 impl ::core::marker::Copy for CompositionEasingFunctionMode {}
239 impl ::core::clone::Clone for CompositionEasingFunctionMode {
240 fn clone(&self) -> Self {
241 *self
242 }
243 }
244 pub type CompositionEffectBrush = *mut ::core::ffi::c_void;
245 pub type CompositionEffectFactory = *mut ::core::ffi::c_void;
246 #[doc = "*Required features: `\"UI_Composition\"`*"]
247 #[repr(transparent)]
248 pub struct CompositionEffectFactoryLoadStatus(pub i32);
249 impl CompositionEffectFactoryLoadStatus {
250 pub const Success: Self = Self(0i32);
251 pub const EffectTooComplex: Self = Self(1i32);
252 pub const Pending: Self = Self(2i32);
253 pub const Other: Self = Self(-1i32);
254 }
255 impl ::core::marker::Copy for CompositionEffectFactoryLoadStatus {}
256 impl ::core::clone::Clone for CompositionEffectFactoryLoadStatus {
257 fn clone(&self) -> Self {
258 *self
259 }
260 }
261 pub type CompositionEffectSourceParameter = *mut ::core::ffi::c_void;
262 pub type CompositionEllipseGeometry = *mut ::core::ffi::c_void;
263 pub type CompositionGeometricClip = *mut ::core::ffi::c_void;
264 pub type CompositionGeometry = *mut ::core::ffi::c_void;
265 #[doc = "*Required features: `\"UI_Composition\"`*"]
266 #[repr(transparent)]
267 pub struct CompositionGetValueStatus(pub i32);
268 impl CompositionGetValueStatus {
269 pub const Succeeded: Self = Self(0i32);
270 pub const TypeMismatch: Self = Self(1i32);
271 pub const NotFound: Self = Self(2i32);
272 }
273 impl ::core::marker::Copy for CompositionGetValueStatus {}
274 impl ::core::clone::Clone for CompositionGetValueStatus {
275 fn clone(&self) -> Self {
276 *self
277 }
278 }
279 pub type CompositionGradientBrush = *mut ::core::ffi::c_void;
280 #[doc = "*Required features: `\"UI_Composition\"`*"]
281 #[repr(transparent)]
282 pub struct CompositionGradientExtendMode(pub i32);
283 impl CompositionGradientExtendMode {
284 pub const Clamp: Self = Self(0i32);
285 pub const Wrap: Self = Self(1i32);
286 pub const Mirror: Self = Self(2i32);
287 }
288 impl ::core::marker::Copy for CompositionGradientExtendMode {}
289 impl ::core::clone::Clone for CompositionGradientExtendMode {
290 fn clone(&self) -> Self {
291 *self
292 }
293 }
294 pub type CompositionGraphicsDevice = *mut ::core::ffi::c_void;
295 pub type CompositionLight = *mut ::core::ffi::c_void;
296 pub type CompositionLineGeometry = *mut ::core::ffi::c_void;
297 pub type CompositionLinearGradientBrush = *mut ::core::ffi::c_void;
298 #[doc = "*Required features: `\"UI_Composition\"`*"]
299 #[repr(transparent)]
300 pub struct CompositionMappingMode(pub i32);
301 impl CompositionMappingMode {
302 pub const Absolute: Self = Self(0i32);
303 pub const Relative: Self = Self(1i32);
304 }
305 impl ::core::marker::Copy for CompositionMappingMode {}
306 impl ::core::clone::Clone for CompositionMappingMode {
307 fn clone(&self) -> Self {
308 *self
309 }
310 }
311 pub type CompositionMaskBrush = *mut ::core::ffi::c_void;
312 pub type CompositionMipmapSurface = *mut ::core::ffi::c_void;
313 pub type CompositionNineGridBrush = *mut ::core::ffi::c_void;
314 pub type CompositionObject = *mut ::core::ffi::c_void;
315 pub type CompositionPath = *mut ::core::ffi::c_void;
316 pub type CompositionPathGeometry = *mut ::core::ffi::c_void;
317 pub type CompositionProjectedShadow = *mut ::core::ffi::c_void;
318 pub type CompositionProjectedShadowCaster = *mut ::core::ffi::c_void;
319 pub type CompositionProjectedShadowCasterCollection = *mut ::core::ffi::c_void;
320 pub type CompositionProjectedShadowReceiver = *mut ::core::ffi::c_void;
321 pub type CompositionProjectedShadowReceiverUnorderedCollection = *mut ::core::ffi::c_void;
322 pub type CompositionPropertySet = *mut ::core::ffi::c_void;
323 pub type CompositionRadialGradientBrush = *mut ::core::ffi::c_void;
324 pub type CompositionRectangleGeometry = *mut ::core::ffi::c_void;
325 pub type CompositionRoundedRectangleGeometry = *mut ::core::ffi::c_void;
326 pub type CompositionScopedBatch = *mut ::core::ffi::c_void;
327 pub type CompositionShadow = *mut ::core::ffi::c_void;
328 pub type CompositionShape = *mut ::core::ffi::c_void;
329 pub type CompositionShapeCollection = *mut ::core::ffi::c_void;
330 pub type CompositionSpriteShape = *mut ::core::ffi::c_void;
331 #[doc = "*Required features: `\"UI_Composition\"`*"]
332 #[repr(transparent)]
333 pub struct CompositionStretch(pub i32);
334 impl CompositionStretch {
335 pub const None: Self = Self(0i32);
336 pub const Fill: Self = Self(1i32);
337 pub const Uniform: Self = Self(2i32);
338 pub const UniformToFill: Self = Self(3i32);
339 }
340 impl ::core::marker::Copy for CompositionStretch {}
341 impl ::core::clone::Clone for CompositionStretch {
342 fn clone(&self) -> Self {
343 *self
344 }
345 }
346 #[doc = "*Required features: `\"UI_Composition\"`*"]
347 #[repr(transparent)]
348 pub struct CompositionStrokeCap(pub i32);
349 impl CompositionStrokeCap {
350 pub const Flat: Self = Self(0i32);
351 pub const Square: Self = Self(1i32);
352 pub const Round: Self = Self(2i32);
353 pub const Triangle: Self = Self(3i32);
354 }
355 impl ::core::marker::Copy for CompositionStrokeCap {}
356 impl ::core::clone::Clone for CompositionStrokeCap {
357 fn clone(&self) -> Self {
358 *self
359 }
360 }
361 pub type CompositionStrokeDashArray = *mut ::core::ffi::c_void;
362 #[doc = "*Required features: `\"UI_Composition\"`*"]
363 #[repr(transparent)]
364 pub struct CompositionStrokeLineJoin(pub i32);
365 impl CompositionStrokeLineJoin {
366 pub const Miter: Self = Self(0i32);
367 pub const Bevel: Self = Self(1i32);
368 pub const Round: Self = Self(2i32);
369 pub const MiterOrBevel: Self = Self(3i32);
370 }
371 impl ::core::marker::Copy for CompositionStrokeLineJoin {}
372 impl ::core::clone::Clone for CompositionStrokeLineJoin {
373 fn clone(&self) -> Self {
374 *self
375 }
376 }
377 pub type CompositionSurfaceBrush = *mut ::core::ffi::c_void;
378 pub type CompositionTarget = *mut ::core::ffi::c_void;
379 pub type CompositionTransform = *mut ::core::ffi::c_void;
380 pub type CompositionViewBox = *mut ::core::ffi::c_void;
381 pub type CompositionVirtualDrawingSurface = *mut ::core::ffi::c_void;
382 pub type CompositionVisualSurface = *mut ::core::ffi::c_void;
383 pub type Compositor = *mut ::core::ffi::c_void;
384 pub type ContainerVisual = *mut ::core::ffi::c_void;
385 pub type CubicBezierEasingFunction = *mut ::core::ffi::c_void;
386 pub type DelegatedInkTrailVisual = *mut ::core::ffi::c_void;
387 pub type DistantLight = *mut ::core::ffi::c_void;
388 pub type DropShadow = *mut ::core::ffi::c_void;
389 pub type ElasticEasingFunction = *mut ::core::ffi::c_void;
390 pub type ExponentialEasingFunction = *mut ::core::ffi::c_void;
391 pub type ExpressionAnimation = *mut ::core::ffi::c_void;
392 pub type IAnimationObject = *mut ::core::ffi::c_void;
393 pub type ICompositionAnimationBase = *mut ::core::ffi::c_void;
394 pub type ICompositionSupportsSystemBackdrop = *mut ::core::ffi::c_void;
395 pub type ICompositionSurface = *mut ::core::ffi::c_void;
396 pub type ICompositionSurfaceFacade = *mut ::core::ffi::c_void;
397 pub type IVisualElement = *mut ::core::ffi::c_void;
398 pub type IVisualElement2 = *mut ::core::ffi::c_void;
399 pub type ImplicitAnimationCollection = *mut ::core::ffi::c_void;
400 pub type InitialValueExpressionCollection = *mut ::core::ffi::c_void;
401 #[repr(C)]
402 #[doc = "*Required features: `\"UI_Composition\"`, `\"Foundation\"`*"]
403 #[cfg(feature = "Foundation")]
404 pub struct InkTrailPoint {
405 pub Point: super::super::Foundation::Point,
406 pub Radius: f32,
407 }
408 #[cfg(feature = "Foundation")]
409 impl ::core::marker::Copy for InkTrailPoint {}
410 #[cfg(feature = "Foundation")]
411 impl ::core::clone::Clone for InkTrailPoint {
412 fn clone(&self) -> Self {
413 *self
414 }
415 }
416 pub type InsetClip = *mut ::core::ffi::c_void;
417 pub type KeyFrameAnimation = *mut ::core::ffi::c_void;
418 pub type LayerVisual = *mut ::core::ffi::c_void;
419 pub type LinearEasingFunction = *mut ::core::ffi::c_void;
420 pub type NaturalMotionAnimation = *mut ::core::ffi::c_void;
421 pub type PathKeyFrameAnimation = *mut ::core::ffi::c_void;
422 pub type PointLight = *mut ::core::ffi::c_void;
423 pub type PowerEasingFunction = *mut ::core::ffi::c_void;
424 pub type QuaternionKeyFrameAnimation = *mut ::core::ffi::c_void;
425 pub type RectangleClip = *mut ::core::ffi::c_void;
426 pub type RedirectVisual = *mut ::core::ffi::c_void;
427 pub type RenderingDeviceReplacedEventArgs = *mut ::core::ffi::c_void;
428 pub type ScalarKeyFrameAnimation = *mut ::core::ffi::c_void;
429 pub type ScalarNaturalMotionAnimation = *mut ::core::ffi::c_void;
430 pub type ShapeVisual = *mut ::core::ffi::c_void;
431 pub type SineEasingFunction = *mut ::core::ffi::c_void;
432 pub type SpotLight = *mut ::core::ffi::c_void;
433 pub type SpringScalarNaturalMotionAnimation = *mut ::core::ffi::c_void;
434 pub type SpringVector2NaturalMotionAnimation = *mut ::core::ffi::c_void;
435 pub type SpringVector3NaturalMotionAnimation = *mut ::core::ffi::c_void;
436 pub type SpriteVisual = *mut ::core::ffi::c_void;
437 pub type StepEasingFunction = *mut ::core::ffi::c_void;
438 pub type Vector2KeyFrameAnimation = *mut ::core::ffi::c_void;
439 pub type Vector2NaturalMotionAnimation = *mut ::core::ffi::c_void;
440 pub type Vector3KeyFrameAnimation = *mut ::core::ffi::c_void;
441 pub type Vector3NaturalMotionAnimation = *mut ::core::ffi::c_void;
442 pub type Vector4KeyFrameAnimation = *mut ::core::ffi::c_void;
443 pub type Visual = *mut ::core::ffi::c_void;
444 pub type VisualCollection = *mut ::core::ffi::c_void;
445 pub type VisualUnorderedCollection = *mut ::core::ffi::c_void;