1 #[cfg(feature = "UI_Composition_Core")]
3 #[cfg(feature = "UI_Composition_Desktop")]
5 #[cfg(feature = "UI_Composition_Diagnostics")]
7 #[cfg(feature = "UI_Composition_Effects")]
9 #[cfg(feature = "UI_Composition_Interactions")]
11 #[cfg(feature = "UI_Composition_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\"`*"]
17 pub struct AnimationControllerProgressBehavior(pub i32);
18 impl AnimationControllerProgressBehavior
{
19 pub const Default
: Self = Self(0i32);
20 pub const IncludesDelayTime
: Self = Self(1i32);
22 impl ::core
::marker
::Copy
for AnimationControllerProgressBehavior {}
23 impl ::core
::clone
::Clone
for AnimationControllerProgressBehavior
{
24 fn clone(&self) -> Self {
28 #[doc = "*Required features: `\"UI_Composition\"`*"]
30 pub struct AnimationDelayBehavior(pub i32);
31 impl AnimationDelayBehavior
{
32 pub const SetInitialValueAfterDelay
: Self = Self(0i32);
33 pub const SetInitialValueBeforeDelay
: Self = Self(1i32);
35 impl ::core
::marker
::Copy
for AnimationDelayBehavior {}
36 impl ::core
::clone
::Clone
for AnimationDelayBehavior
{
37 fn clone(&self) -> Self {
41 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
50 impl ::core
::marker
::Copy
for AnimationDirection {}
51 impl ::core
::clone
::Clone
for AnimationDirection
{
52 fn clone(&self) -> Self {
56 #[doc = "*Required features: `\"UI_Composition\"`*"]
58 pub struct AnimationIterationBehavior(pub i32);
59 impl AnimationIterationBehavior
{
60 pub const Count
: Self = Self(0i32);
61 pub const Forever
: Self = Self(1i32);
63 impl ::core
::marker
::Copy
for AnimationIterationBehavior {}
64 impl ::core
::clone
::Clone
for AnimationIterationBehavior
{
65 fn clone(&self) -> Self {
69 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
78 impl ::core
::marker
::Copy
for AnimationPropertyAccessMode {}
79 impl ::core
::clone
::Clone
for AnimationPropertyAccessMode
{
80 fn clone(&self) -> Self {
84 pub type AnimationPropertyInfo
= *mut ::core
::ffi
::c_void
;
85 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
93 impl ::core
::marker
::Copy
for AnimationStopBehavior {}
94 impl ::core
::clone
::Clone
for AnimationStopBehavior
{
95 fn clone(&self) -> Self {
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\"`*"]
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);
118 impl ::core
::marker
::Copy
for CompositionBackfaceVisibility {}
119 impl ::core
::clone
::Clone
for CompositionBackfaceVisibility
{
120 fn clone(&self) -> Self {
124 pub type CompositionBatchCompletedEventArgs
= *mut ::core
::ffi
::c_void
;
125 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
135 impl ::core
::marker
::Copy
for CompositionBatchTypes {}
136 impl ::core
::clone
::Clone
for CompositionBatchTypes
{
137 fn clone(&self) -> Self {
141 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
156 impl ::core
::marker
::Copy
for CompositionBitmapInterpolationMode {}
157 impl ::core
::clone
::Clone
for CompositionBitmapInterpolationMode
{
158 fn clone(&self) -> Self {
162 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
170 impl ::core
::marker
::Copy
for CompositionBorderMode {}
171 impl ::core
::clone
::Clone
for CompositionBorderMode
{
172 fn clone(&self) -> Self {
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\"`*"]
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);
192 impl ::core
::marker
::Copy
for CompositionColorSpace {}
193 impl ::core
::clone
::Clone
for CompositionColorSpace
{
194 fn clone(&self) -> Self {
198 pub type CompositionCommitBatch
= *mut ::core
::ffi
::c_void
;
199 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
208 impl ::core
::marker
::Copy
for CompositionCompositeMode {}
209 impl ::core
::clone
::Clone
for CompositionCompositeMode
{
210 fn clone(&self) -> Self {
214 pub type CompositionContainerShape
= *mut ::core
::ffi
::c_void
;
215 pub type CompositionDrawingSurface
= *mut ::core
::ffi
::c_void
;
216 #[doc = "*Required features: `\"UI_Composition\"`*"]
218 pub struct CompositionDropShadowSourcePolicy(pub i32);
219 impl CompositionDropShadowSourcePolicy
{
220 pub const Default
: Self = Self(0i32);
221 pub const InheritFromVisualContent
: Self = Self(1i32);
223 impl ::core
::marker
::Copy
for CompositionDropShadowSourcePolicy {}
224 impl ::core
::clone
::Clone
for CompositionDropShadowSourcePolicy
{
225 fn clone(&self) -> Self {
229 pub type CompositionEasingFunction
= *mut ::core
::ffi
::c_void
;
230 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
238 impl ::core
::marker
::Copy
for CompositionEasingFunctionMode {}
239 impl ::core
::clone
::Clone
for CompositionEasingFunctionMode
{
240 fn clone(&self) -> Self {
244 pub type CompositionEffectBrush
= *mut ::core
::ffi
::c_void
;
245 pub type CompositionEffectFactory
= *mut ::core
::ffi
::c_void
;
246 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
255 impl ::core
::marker
::Copy
for CompositionEffectFactoryLoadStatus {}
256 impl ::core
::clone
::Clone
for CompositionEffectFactoryLoadStatus
{
257 fn clone(&self) -> Self {
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\"`*"]
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);
273 impl ::core
::marker
::Copy
for CompositionGetValueStatus {}
274 impl ::core
::clone
::Clone
for CompositionGetValueStatus
{
275 fn clone(&self) -> Self {
279 pub type CompositionGradientBrush
= *mut ::core
::ffi
::c_void
;
280 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
288 impl ::core
::marker
::Copy
for CompositionGradientExtendMode {}
289 impl ::core
::clone
::Clone
for CompositionGradientExtendMode
{
290 fn clone(&self) -> Self {
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\"`*"]
300 pub struct CompositionMappingMode(pub i32);
301 impl CompositionMappingMode
{
302 pub const Absolute
: Self = Self(0i32);
303 pub const Relative
: Self = Self(1i32);
305 impl ::core
::marker
::Copy
for CompositionMappingMode {}
306 impl ::core
::clone
::Clone
for CompositionMappingMode
{
307 fn clone(&self) -> Self {
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\"`*"]
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);
340 impl ::core
::marker
::Copy
for CompositionStretch {}
341 impl ::core
::clone
::Clone
for CompositionStretch
{
342 fn clone(&self) -> Self {
346 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
355 impl ::core
::marker
::Copy
for CompositionStrokeCap {}
356 impl ::core
::clone
::Clone
for CompositionStrokeCap
{
357 fn clone(&self) -> Self {
361 pub type CompositionStrokeDashArray
= *mut ::core
::ffi
::c_void
;
362 #[doc = "*Required features: `\"UI_Composition\"`*"]
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);
371 impl ::core
::marker
::Copy
for CompositionStrokeLineJoin {}
372 impl ::core
::clone
::Clone
for CompositionStrokeLineJoin
{
373 fn clone(&self) -> Self {
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
;
402 #[doc = "*Required features: `\"UI_Composition\"`, `\"Foundation\"`*"]
403 #[cfg(feature = "Foundation")]
404 pub struct InkTrailPoint
{
405 pub Point
: super::super::Foundation
::Point
,
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 {
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
;