//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Foundation.Numerics.idl";
import "Windows.Graphics.idl";
import "Windows.Graphics.DirectX.idl";
import "Windows.Graphics.Effects.idl";
import "Windows.System.idl";
import "Windows.UI.idl";
import "Windows.UI.Core.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        interface IAsyncAction;

        interface IClosable;
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Numerics
        {
            typedef struct Matrix3x2 Matrix3x2;

            typedef struct Matrix4x4 Matrix4x4;

            typedef struct Quaternion Quaternion;

            typedef struct Vector2 Vector2;

            typedef struct Vector3 Vector3;

            typedef struct Vector4 Vector4;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct Point Point;

        typedef struct Size Size;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            typedef enum DirectXAlphaMode DirectXAlphaMode;

            typedef enum DirectXColorSpace DirectXColorSpace;

            typedef enum DirectXPixelFormat DirectXPixelFormat;
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Effects
        {
            interface IGraphicsEffect;

            interface IGraphicsEffectSource;
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        interface IGeometrySource2D;

        typedef struct PointInt32 PointInt32;

        typedef struct RectInt32 RectInt32;

        typedef struct SizeInt32 SizeInt32;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass DispatcherQueue;
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            runtimeclass CoreDispatcher;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            typedef enum AnimationControllerProgressBehavior AnimationControllerProgressBehavior;

            typedef enum AnimationDelayBehavior AnimationDelayBehavior;

            typedef enum AnimationDirection AnimationDirection;

            typedef enum AnimationIterationBehavior AnimationIterationBehavior;

            typedef enum AnimationPropertyAccessMode AnimationPropertyAccessMode;

            typedef enum AnimationStopBehavior AnimationStopBehavior;

            typedef enum CompositionBackfaceVisibility CompositionBackfaceVisibility;

            typedef enum CompositionBatchTypes CompositionBatchTypes;

            typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode;

            typedef enum CompositionBorderMode CompositionBorderMode;

            typedef enum CompositionColorSpace CompositionColorSpace;

            typedef enum CompositionCompositeMode CompositionCompositeMode;

            typedef enum CompositionDropShadowSourcePolicy CompositionDropShadowSourcePolicy;

            typedef enum CompositionEasingFunctionMode CompositionEasingFunctionMode;

            typedef enum CompositionEffectFactoryLoadStatus CompositionEffectFactoryLoadStatus;

            typedef enum CompositionGetValueStatus CompositionGetValueStatus;

            typedef enum CompositionGradientExtendMode CompositionGradientExtendMode;

            typedef enum CompositionMappingMode CompositionMappingMode;

            typedef enum CompositionStretch CompositionStretch;

            typedef enum CompositionStrokeCap CompositionStrokeCap;

            typedef enum CompositionStrokeLineJoin CompositionStrokeLineJoin;

            typedef struct InkTrailPoint InkTrailPoint;

            interface IAmbientLight;

            interface IAmbientLight2;

            interface IAnimationController;

            interface IAnimationControllerStatics;

            interface IAnimationObject;

            interface IAnimationPropertyInfo;

            interface IAnimationPropertyInfo2;

            interface IBackEasingFunction;

            interface IBooleanKeyFrameAnimation;

            interface IBounceEasingFunction;

            interface IBounceScalarNaturalMotionAnimation;

            interface IBounceVector2NaturalMotionAnimation;

            interface IBounceVector3NaturalMotionAnimation;

            interface ICircleEasingFunction;

            interface IColorKeyFrameAnimation;

            interface ICompositionAnimation;

            interface ICompositionAnimation2;

            interface ICompositionAnimation3;

            interface ICompositionAnimation4;

            interface ICompositionAnimationBase;

            interface ICompositionAnimationFactory;

            interface ICompositionAnimationGroup;

            interface ICompositionBackdropBrush;

            interface ICompositionBatchCompletedEventArgs;

            interface ICompositionBrush;

            interface ICompositionBrushFactory;

            interface ICompositionCapabilities;

            interface ICompositionCapabilitiesStatics;

            interface ICompositionClip;

            interface ICompositionClip2;

            interface ICompositionClipFactory;

            interface ICompositionColorBrush;

            interface ICompositionColorGradientStop;

            interface ICompositionColorGradientStopCollection;

            interface ICompositionCommitBatch;

            interface ICompositionContainerShape;

            interface ICompositionDrawingSurface;

            interface ICompositionDrawingSurface2;

            interface ICompositionDrawingSurfaceFactory;

            interface ICompositionEasingFunction;

            interface ICompositionEasingFunctionFactory;

            interface ICompositionEasingFunctionStatics;

            interface ICompositionEffectBrush;

            interface ICompositionEffectFactory;

            interface ICompositionEffectSourceParameter;

            interface ICompositionEffectSourceParameterFactory;

            interface ICompositionEllipseGeometry;

            interface ICompositionGeometricClip;

            interface ICompositionGeometry;

            interface ICompositionGeometryFactory;

            interface ICompositionGradientBrush;

            interface ICompositionGradientBrush2;

            interface ICompositionGradientBrushFactory;

            interface ICompositionGraphicsDevice;

            interface ICompositionGraphicsDevice2;

            interface ICompositionGraphicsDevice3;

            interface ICompositionGraphicsDevice4;

            interface ICompositionLight;

            interface ICompositionLight2;

            interface ICompositionLight3;

            interface ICompositionLightFactory;

            interface ICompositionLineGeometry;

            interface ICompositionLinearGradientBrush;

            interface ICompositionMaskBrush;

            interface ICompositionMipmapSurface;

            interface ICompositionNineGridBrush;

            interface ICompositionObject;

            interface ICompositionObject2;

            interface ICompositionObject3;

            interface ICompositionObject4;

            interface ICompositionObject5;

            interface ICompositionObjectFactory;

            interface ICompositionObjectStatics;

            interface ICompositionPath;

            interface ICompositionPathFactory;

            interface ICompositionPathGeometry;

            interface ICompositionProjectedShadow;

            interface ICompositionProjectedShadowCaster;

            interface ICompositionProjectedShadowCasterCollection;

            interface ICompositionProjectedShadowCasterCollectionStatics;

            interface ICompositionProjectedShadowReceiver;

            interface ICompositionProjectedShadowReceiverUnorderedCollection;

            interface ICompositionPropertySet;

            interface ICompositionPropertySet2;

            interface ICompositionRadialGradientBrush;

            interface ICompositionRectangleGeometry;

            interface ICompositionRoundedRectangleGeometry;

            interface ICompositionScopedBatch;

            interface ICompositionShadow;

            interface ICompositionShadowFactory;

            interface ICompositionShape;

            interface ICompositionShapeFactory;

            interface ICompositionSpriteShape;

            interface ICompositionSupportsSystemBackdrop;

            interface ICompositionSurface;

            interface ICompositionSurfaceBrush;

            interface ICompositionSurfaceBrush2;

            interface ICompositionSurfaceBrush3;

            interface ICompositionSurfaceFacade;

            interface ICompositionTarget;

            interface ICompositionTargetFactory;

            interface ICompositionTexture;

            interface ICompositionTextureFactory;

            interface ICompositionTransform;

            interface ICompositionTransformFactory;

            interface ICompositionViewBox;

            interface ICompositionVirtualDrawingSurface;

            interface ICompositionVirtualDrawingSurfaceFactory;

            interface ICompositionVisualSurface;

            interface ICompositor;

            interface ICompositor2;

            interface ICompositor3;

            interface ICompositor4;

            interface ICompositor5;

            interface ICompositor6;

            interface ICompositor7;

            interface ICompositor8;

            interface ICompositorStatics;

            interface ICompositorWithBlurredWallpaperBackdropBrush;

            interface ICompositorWithProjectedShadow;

            interface ICompositorWithRadialGradient;

            interface ICompositorWithVisualSurface;

            interface IContainerVisual;

            interface IContainerVisualFactory;

            interface ICubicBezierEasingFunction;

            interface IDelegatedInkTrailVisual;

            interface IDelegatedInkTrailVisualStatics;

            interface IDistantLight;

            interface IDistantLight2;

            interface IDropShadow;

            interface IDropShadow2;

            interface IElasticEasingFunction;

            interface IExponentialEasingFunction;

            interface IExpressionAnimation;

            interface IImplicitAnimationCollection;

            interface IInsetClip;

            interface IKeyFrameAnimation;

            interface IKeyFrameAnimation2;

            interface IKeyFrameAnimation3;

            interface IKeyFrameAnimationFactory;

            interface ILayerVisual;

            interface ILayerVisual2;

            interface ILinearEasingFunction;

            interface INaturalMotionAnimation;

            interface INaturalMotionAnimationFactory;

            interface IPathKeyFrameAnimation;

            interface IPointLight;

            interface IPointLight2;

            interface IPointLight3;

            interface IPowerEasingFunction;

            interface IQuaternionKeyFrameAnimation;

            interface IRectangleClip;

            interface IRedirectVisual;

            interface IRenderingDeviceReplacedEventArgs;

            interface IScalarKeyFrameAnimation;

            interface IScalarNaturalMotionAnimation;

            interface IScalarNaturalMotionAnimationFactory;

            interface IShapeVisual;

            interface ISineEasingFunction;

            interface ISpotLight;

            interface ISpotLight2;

            interface ISpotLight3;

            interface ISpringScalarNaturalMotionAnimation;

            interface ISpringVector2NaturalMotionAnimation;

            interface ISpringVector3NaturalMotionAnimation;

            interface ISpriteVisual;

            interface ISpriteVisual2;

            interface IStepEasingFunction;

            interface IVector2KeyFrameAnimation;

            interface IVector2NaturalMotionAnimation;

            interface IVector2NaturalMotionAnimationFactory;

            interface IVector3KeyFrameAnimation;

            interface IVector3NaturalMotionAnimation;

            interface IVector3NaturalMotionAnimationFactory;

            interface IVector4KeyFrameAnimation;

            interface IVisual;

            interface IVisual2;

            interface IVisual3;

            interface IVisual4;

            interface IVisualCollection;

            interface IVisualElement;

            interface IVisualElement2;

            interface IVisualFactory;

            interface IVisualUnorderedCollection;

            runtimeclass AmbientLight;

            runtimeclass AnimationController;

            runtimeclass AnimationPropertyInfo;

            runtimeclass BackEasingFunction;

            runtimeclass BooleanKeyFrameAnimation;

            runtimeclass BounceEasingFunction;

            runtimeclass BounceScalarNaturalMotionAnimation;

            runtimeclass BounceVector2NaturalMotionAnimation;

            runtimeclass BounceVector3NaturalMotionAnimation;

            runtimeclass CircleEasingFunction;

            runtimeclass ColorKeyFrameAnimation;

            runtimeclass CompositionAnimation;

            runtimeclass CompositionAnimationGroup;

            runtimeclass CompositionBackdropBrush;

            runtimeclass CompositionBatchCompletedEventArgs;

            runtimeclass CompositionBrush;

            runtimeclass CompositionCapabilities;

            runtimeclass CompositionClip;

            runtimeclass CompositionColorBrush;

            runtimeclass CompositionColorGradientStop;

            runtimeclass CompositionColorGradientStopCollection;

            runtimeclass CompositionCommitBatch;

            runtimeclass CompositionContainerShape;

            runtimeclass CompositionDrawingSurface;

            runtimeclass CompositionEasingFunction;

            runtimeclass CompositionEffectBrush;

            runtimeclass CompositionEffectFactory;

            runtimeclass CompositionEffectSourceParameter;

            runtimeclass CompositionEllipseGeometry;

            runtimeclass CompositionGeometricClip;

            runtimeclass CompositionGeometry;

            runtimeclass CompositionGradientBrush;

            runtimeclass CompositionGraphicsDevice;

            runtimeclass CompositionLight;

            runtimeclass CompositionLineGeometry;

            runtimeclass CompositionLinearGradientBrush;

            runtimeclass CompositionMaskBrush;

            runtimeclass CompositionMipmapSurface;

            runtimeclass CompositionNineGridBrush;

            runtimeclass CompositionObject;

            runtimeclass CompositionPath;

            runtimeclass CompositionPathGeometry;

            runtimeclass CompositionProjectedShadow;

            runtimeclass CompositionProjectedShadowCaster;

            runtimeclass CompositionProjectedShadowCasterCollection;

            runtimeclass CompositionProjectedShadowReceiver;

            runtimeclass CompositionProjectedShadowReceiverUnorderedCollection;

            runtimeclass CompositionPropertySet;

            runtimeclass CompositionRadialGradientBrush;

            runtimeclass CompositionRectangleGeometry;

            runtimeclass CompositionRoundedRectangleGeometry;

            runtimeclass CompositionScopedBatch;

            runtimeclass CompositionShadow;

            runtimeclass CompositionShape;

            runtimeclass CompositionShapeCollection;

            runtimeclass CompositionSpriteShape;

            runtimeclass CompositionStrokeDashArray;

            runtimeclass CompositionSurfaceBrush;

            runtimeclass CompositionTarget;

            runtimeclass CompositionTexture;

            runtimeclass CompositionTransform;

            runtimeclass CompositionViewBox;

            runtimeclass CompositionVirtualDrawingSurface;

            runtimeclass CompositionVisualSurface;

            runtimeclass Compositor;

            runtimeclass ContainerVisual;

            runtimeclass CubicBezierEasingFunction;

            runtimeclass DelegatedInkTrailVisual;

            runtimeclass DistantLight;

            runtimeclass DropShadow;

            runtimeclass ElasticEasingFunction;

            runtimeclass ExponentialEasingFunction;

            runtimeclass ExpressionAnimation;

            runtimeclass ImplicitAnimationCollection;

            runtimeclass InitialValueExpressionCollection;

            runtimeclass InsetClip;

            runtimeclass KeyFrameAnimation;

            runtimeclass LayerVisual;

            runtimeclass LinearEasingFunction;

            runtimeclass NaturalMotionAnimation;

            runtimeclass PathKeyFrameAnimation;

            runtimeclass PointLight;

            runtimeclass PowerEasingFunction;

            runtimeclass QuaternionKeyFrameAnimation;

            runtimeclass RectangleClip;

            runtimeclass RedirectVisual;

            runtimeclass RenderingDeviceReplacedEventArgs;

            runtimeclass ScalarKeyFrameAnimation;

            runtimeclass ScalarNaturalMotionAnimation;

            runtimeclass ShapeVisual;

            runtimeclass SineEasingFunction;

            runtimeclass SpotLight;

            runtimeclass SpringScalarNaturalMotionAnimation;

            runtimeclass SpringVector2NaturalMotionAnimation;

            runtimeclass SpringVector3NaturalMotionAnimation;

            runtimeclass SpriteVisual;

            runtimeclass StepEasingFunction;

            runtimeclass Vector2KeyFrameAnimation;

            runtimeclass Vector2NaturalMotionAnimation;

            runtimeclass Vector3KeyFrameAnimation;

            runtimeclass Vector3NaturalMotionAnimation;

            runtimeclass Vector4KeyFrameAnimation;

            runtimeclass Visual;

            runtimeclass VisualCollection;

            runtimeclass VisualUnorderedCollection;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.UI.Composition.ICompositionAnimationBase*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionAnimation*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionColorGradientStop*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionProjectedShadowCaster*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionProjectedShadowReceiver*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionShape*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.IVisualElement*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Visual*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.UI.Composition.ICompositionAnimationBase*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.CompositionAnimation*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.CompositionColorGradientStop*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.CompositionProjectedShadowCaster*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.CompositionProjectedShadowReceiver*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.CompositionShape*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.IVisualElement*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.Visual*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.UI.Composition.ICompositionAnimationBase*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.UI.Composition.ICompositionAnimationBase*>;

                interface Windows.Foundation.Collections.IMap<HSTRING, Windows.UI.Composition.ICompositionAnimationBase*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.Composition.CompositionColorGradientStop*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.Composition.CompositionShape*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.Composition.IVisualElement*>;

                interface Windows.Foundation.Collections.IVector<Windows.UI.Composition.CompositionColorGradientStop*>;

                interface Windows.Foundation.Collections.IVector<Windows.UI.Composition.CompositionShape*>;

                interface Windows.Foundation.Collections.IVector<Windows.UI.Composition.IVisualElement*>;

                interface Windows.Foundation.IAsyncOperation<Windows.UI.Composition.ICompositionSurface*>;

                interface Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Composition.CompositionBatchCompletedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Composition.CompositionCapabilities*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Composition.CompositionGraphicsDevice*, Windows.UI.Composition.RenderingDeviceReplacedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            enum AnimationControllerProgressBehavior
            {
                Default           = 0,
                IncludesDelayTime = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum AnimationDelayBehavior
            {
                SetInitialValueAfterDelay  = 0,
                SetInitialValueBeforeDelay = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum AnimationDirection
            {
                Normal           = 0,
                Reverse          = 1,
                Alternate        = 2,
                AlternateReverse = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum AnimationIterationBehavior
            {
                Count   = 0,
                Forever = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            enum AnimationPropertyAccessMode
            {
                None      = 0,
                ReadOnly  = 1,
                WriteOnly = 2,
                ReadWrite = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum AnimationStopBehavior
            {
                LeaveCurrentValue = 0,
                SetToInitialValue = 1,
                SetToFinalValue   = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionBackfaceVisibility
            {
                Inherit = 0,
                Visible = 1,
                Hidden  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [flags]
            enum CompositionBatchTypes
            {
                None              = 0x0,
                Animation         = 0x1,
                Effect            = 0x2,
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                InfiniteAnimation = 0x4,
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                AllAnimations     = 0x5
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionBitmapInterpolationMode
            {
                NearestNeighbor                = 0,
                Linear                         = 1,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagLinearMinLinearMipLinear    = 2,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagLinearMinLinearMipNearest   = 3,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagLinearMinNearestMipLinear   = 4,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagLinearMinNearestMipNearest  = 5,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagNearestMinLinearMipLinear   = 6,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagNearestMinLinearMipNearest  = 7,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagNearestMinNearestMipLinear  = 8,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                MagNearestMinNearestMipNearest = 9
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionBorderMode
            {
                Inherit = 0,
                Soft    = 1,
                Hard    = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionColorSpace
            {
                Auto      = 0,
                Hsl       = 1,
                Rgb       = 2,
                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                HslLinear = 3,
                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                RgbLinear = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionCompositeMode
            {
                Inherit           = 0,
                SourceOver        = 1,
                DestinationInvert = 2,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                MinBlend          = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum CompositionDropShadowSourcePolicy
            {
                Default                  = 0,
                InheritFromVisualContent = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            enum CompositionEasingFunctionMode
            {
                In    = 0,
                Out   = 1,
                InOut = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionEffectFactoryLoadStatus
            {
                Success          = 0,
                EffectTooComplex = 1,
                Pending          = 2,
                Other            = -1
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionGetValueStatus
            {
                Succeeded    = 0,
                TypeMismatch = 1,
                NotFound     = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum CompositionGradientExtendMode
            {
                Clamp  = 0,
                Wrap   = 1,
                Mirror = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            enum CompositionMappingMode
            {
                Absolute = 0,
                Relative = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum CompositionStretch
            {
                None          = 0,
                Fill          = 1,
                Uniform       = 2,
                UniformToFill = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            enum CompositionStrokeCap
            {
                Flat     = 0,
                Square   = 1,
                Round    = 2,
                Triangle = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            enum CompositionStrokeLineJoin
            {
                Miter        = 0,
                Bevel        = 1,
                Round        = 2,
                MiterOrBevel = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            struct InkTrailPoint
            {
                Windows.Foundation.Point Point;
                FLOAT Radius;
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.AmbientLight)]
            [uuid(A48130A1-B7C4-46F7-B9BF-DAF43A44E6EE)]
            interface IAmbientLight : IInspectable
            {
                [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Color([in] Windows.UI.Color value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.AmbientLight)]
            [uuid(3B64A6BF-5F97-4C94-86E5-042DD386B27D)]
            interface IAmbientLight2 : IInspectable
            {
                [propget] HRESULT Intensity([out] [retval] FLOAT* value);
                [propput] HRESULT Intensity([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.AnimationController)]
            [uuid(C934EFD2-0722-4F5F-A4E2-9510F3D43BF7)]
            interface IAnimationController : IInspectable
            {
                [propget] HRESULT PlaybackRate([out] [retval] FLOAT* value);
                [propput] HRESULT PlaybackRate([in] FLOAT value);
                [propget] HRESULT Progress([out] [retval] FLOAT* value);
                [propput] HRESULT Progress([in] FLOAT value);
                [propget] HRESULT ProgressBehavior([out] [retval] Windows.UI.Composition.AnimationControllerProgressBehavior* value);
                [propput] HRESULT ProgressBehavior([in] Windows.UI.Composition.AnimationControllerProgressBehavior value);
                HRESULT Pause();
                HRESULT Resume();
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.AnimationController)]
            [uuid(E71164DF-651B-4800-B9E5-6A3BCFED3365)]
            interface IAnimationControllerStatics : IInspectable
            {
                [propget] HRESULT MaxPlaybackRate([out] [retval] FLOAT* value);
                [propget] HRESULT MinPlaybackRate([out] [retval] FLOAT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [uuid(E7141E0A-04B8-4FC5-A4DC-195392E57807)]
            interface IAnimationObject : IInspectable
            {
                HRESULT PopulatePropertyInfo([in] HSTRING propertyName, [in] Windows.UI.Composition.AnimationPropertyInfo* propertyInfo);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.AnimationPropertyInfo)]
            [uuid(F4716F05-ED77-4E3C-B328-5C3985B3738F)]
            interface IAnimationPropertyInfo : IInspectable
            {
                [propget] HRESULT AccessMode([out] [retval] Windows.UI.Composition.AnimationPropertyAccessMode* value);
                [propput] HRESULT AccessMode([in] Windows.UI.Composition.AnimationPropertyAccessMode value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.AnimationPropertyInfo)]
            [uuid(591720B4-7472-5218-8B39-DFFE615AE6DA)]
            interface IAnimationPropertyInfo2 : IInspectable
            {
                HRESULT GetResolvedCompositionObject([out] [retval] Windows.UI.Composition.CompositionObject** result);
                HRESULT GetResolvedCompositionObjectProperty([out] [retval] HSTRING* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.BackEasingFunction)]
            [uuid(B8560DA4-5E3C-545D-B263-7987A2BD27CB)]
            interface IBackEasingFunction : IInspectable
            {
                [propget] HRESULT Mode([out] [retval] Windows.UI.Composition.CompositionEasingFunctionMode* value);
                [propget] HRESULT Amplitude([out] [retval] FLOAT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.BooleanKeyFrameAnimation)]
            [uuid(95E23A08-D1F4-4972-9770-3EFE68D82E14)]
            interface IBooleanKeyFrameAnimation : IInspectable
            {
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.BounceEasingFunction)]
            [uuid(E7FDB44B-AAD5-5174-9421-EEF8B75A6A43)]
            interface IBounceEasingFunction : IInspectable
            {
                [propget] HRESULT Mode([out] [retval] Windows.UI.Composition.CompositionEasingFunctionMode* value);
                [propget] HRESULT Bounces([out] [retval] INT32* value);
                [propget] HRESULT Bounciness([out] [retval] FLOAT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.BounceScalarNaturalMotionAnimation)]
            [uuid(BAA30DCC-A633-4618-9B06-7F7C72C87CFF)]
            interface IBounceScalarNaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT Acceleration([out] [retval] FLOAT* value);
                [propput] HRESULT Acceleration([in] FLOAT value);
                [propget] HRESULT Restitution([out] [retval] FLOAT* value);
                [propput] HRESULT Restitution([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.BounceVector2NaturalMotionAnimation)]
            [uuid(DA344196-2154-4B3C-88AA-47361204ECCD)]
            interface IBounceVector2NaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT Acceleration([out] [retval] FLOAT* value);
                [propput] HRESULT Acceleration([in] FLOAT value);
                [propget] HRESULT Restitution([out] [retval] FLOAT* value);
                [propput] HRESULT Restitution([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.BounceVector3NaturalMotionAnimation)]
            [uuid(47DABC31-10D3-4518-86F1-09CAF742D113)]
            interface IBounceVector3NaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT Acceleration([out] [retval] FLOAT* value);
                [propput] HRESULT Acceleration([in] FLOAT value);
                [propget] HRESULT Restitution([out] [retval] FLOAT* value);
                [propput] HRESULT Restitution([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.CircleEasingFunction)]
            [uuid(1E07222A-6F82-5A28-8748-2E92FC46EE2B)]
            interface ICircleEasingFunction : IInspectable
            {
                [propget] HRESULT Mode([out] [retval] Windows.UI.Composition.CompositionEasingFunctionMode* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.ColorKeyFrameAnimation)]
            [uuid(93ADB5E9-8E05-4593-84A3-DCA152781E56)]
            interface IColorKeyFrameAnimation : IInspectable
            {
                [propget] HRESULT InterpolationColorSpace([out] [retval] Windows.UI.Composition.CompositionColorSpace* value);
                [propput] HRESULT InterpolationColorSpace([in] Windows.UI.Composition.CompositionColorSpace value);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] Windows.UI.Color value);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] Windows.UI.Color value, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionAnimation)]
            [uuid(464C4C2C-1CAA-4061-9B40-E13FDE1503CA)]
            interface ICompositionAnimation : IInspectable
            {
                HRESULT ClearAllParameters();
                HRESULT ClearParameter([in] HSTRING key);
                HRESULT SetColorParameter([in] HSTRING key, [in] Windows.UI.Color value);
                HRESULT SetMatrix3x2Parameter([in] HSTRING key, [in] Windows.Foundation.Numerics.Matrix3x2 value);
                HRESULT SetMatrix4x4Parameter([in] HSTRING key, [in] Windows.Foundation.Numerics.Matrix4x4 value);
                HRESULT SetQuaternionParameter([in] HSTRING key, [in] Windows.Foundation.Numerics.Quaternion value);
                HRESULT SetReferenceParameter([in] HSTRING key, [in] Windows.UI.Composition.CompositionObject* compositionObject);
                HRESULT SetScalarParameter([in] HSTRING key, [in] FLOAT value);
                HRESULT SetVector2Parameter([in] HSTRING key, [in] Windows.Foundation.Numerics.Vector2 value);
                HRESULT SetVector3Parameter([in] HSTRING key, [in] Windows.Foundation.Numerics.Vector3 value);
                HRESULT SetVector4Parameter([in] HSTRING key, [in] Windows.Foundation.Numerics.Vector4 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionAnimation)]
            [uuid(369B603E-A80F-4948-93E3-ED23FB38C6CB)]
            interface ICompositionAnimation2 : IInspectable
            {
                HRESULT SetBooleanParameter([in] HSTRING key, [in] boolean value);
                [propget] HRESULT Target([out] [retval] HSTRING* value);
                [propput] HRESULT Target([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionAnimation)]
            [uuid(D51E030D-7DA4-4BD7-BC2D-F4517529F43A)]
            interface ICompositionAnimation3 : IInspectable
            {
                [propget] HRESULT InitialValueExpressions([out] [retval] Windows.UI.Composition.InitialValueExpressionCollection** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.CompositionAnimation)]
            [uuid(770137BE-76BC-4E23-BFED-FE9CC20F6EC9)]
            interface ICompositionAnimation4 : IInspectable
            {
                HRESULT SetExpressionReferenceParameter([in] HSTRING parameterName, [in] Windows.UI.Composition.IAnimationObject* source);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [uuid(1C2C2999-E818-48D3-A6DD-D78C82F8ACE9)]
            interface ICompositionAnimationBase : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionAnimation)]
            [uuid(10F6C4FB-6E51-4C25-BBD3-586A9BEC3EF4)]
            interface ICompositionAnimationFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionAnimationGroup)]
            [uuid(5E7CC90C-CD14-4E07-8A55-C72527AABDAC)]
            interface ICompositionAnimationGroup : IInspectable
            {
                [propget] HRESULT Count([out] [retval] INT32* value);
                HRESULT Add([in] Windows.UI.Composition.CompositionAnimation* value);
                HRESULT Remove([in] Windows.UI.Composition.CompositionAnimation* value);
                HRESULT RemoveAll();
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionBackdropBrush)]
            [uuid(C5ACAE58-3898-499E-8D7F-224E91286A5D)]
            interface ICompositionBackdropBrush : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionBatchCompletedEventArgs)]
            [uuid(0D00DAD0-9464-450A-A562-2E2698B0A812)]
            interface ICompositionBatchCompletedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionBrush)]
            [uuid(AB0D7608-30C0-40E9-B568-B60A6BD1FB46)]
            interface ICompositionBrush : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionBrush)]
            [uuid(DA53FB4C-4650-47C4-AD76-765379607ED6)]
            interface ICompositionBrushFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.CompositionCapabilities)]
            [uuid(8253353E-B517-48BC-B1E8-4B3561A2E181)]
            interface ICompositionCapabilities : IInspectable
            {
                HRESULT AreEffectsSupported([out] [retval] boolean* result);
                HRESULT AreEffectsFast([out] [retval] boolean* result);
                [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.UI.Composition.CompositionCapabilities*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Changed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.CompositionCapabilities)]
            [uuid(F7B7A86E-6416-49E5-8DDF-AFE949E20562)]
            interface ICompositionCapabilitiesStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Composition.CompositionCapabilities** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionClip)]
            [uuid(1CCD2A52-CFC7-4ACE-9983-146BB8EB6A3C)]
            interface ICompositionClip : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionClip)]
            [uuid(5893E069-3516-40E1-89E0-5BA924927235)]
            interface ICompositionClip2 : IInspectable
            {
                [propget] HRESULT AnchorPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT AnchorPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT CenterPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT CenterPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT RotationAngle([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngle([in] FLOAT value);
                [propget] HRESULT RotationAngleInDegrees([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngleInDegrees([in] FLOAT value);
                [propget] HRESULT Scale([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Scale([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT TransformMatrix([out] [retval] Windows.Foundation.Numerics.Matrix3x2* value);
                [propput] HRESULT TransformMatrix([in] Windows.Foundation.Numerics.Matrix3x2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionClip)]
            [uuid(B9484CAF-20C7-4AED-AC4A-9C78BA1302CF)]
            interface ICompositionClipFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionColorBrush)]
            [uuid(2B264C5E-BF35-4831-8642-CF70C20FFF2F)]
            interface ICompositionColorBrush : IInspectable
            {
                [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Color([in] Windows.UI.Color value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionColorGradientStop)]
            [uuid(6F00CA92-C801-4E41-9A8F-A53E20F57778)]
            interface ICompositionColorGradientStop : IInspectable
            {
                [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Color([in] Windows.UI.Color value);
                [propget] HRESULT Offset([out] [retval] FLOAT* value);
                [propput] HRESULT Offset([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionColorGradientStopCollection)]
            [uuid(9F1D20EC-7B04-4B1D-90BC-9FA32C0CFD26)]
            interface ICompositionColorGradientStopCollection : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionCommitBatch)]
            [uuid(0D00DAD0-CA07-4400-8C8E-CB5DB08559CC)]
            interface ICompositionCommitBatch : IInspectable
            {
                [propget] HRESULT IsActive([out] [retval] boolean* value);
                [propget] HRESULT IsEnded([out] [retval] boolean* value);
                [eventadd] HRESULT Completed([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Composition.CompositionBatchCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Completed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionContainerShape)]
            [uuid(4F5E859B-2E5B-44A8-982C-AA0F69C16059)]
            interface ICompositionContainerShape : IInspectable
            {
                [propget] HRESULT Shapes([out] [retval] Windows.UI.Composition.CompositionShapeCollection** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionDrawingSurface)]
            [uuid(A166C300-FAD0-4D11-9E67-E433162FF49E)]
            interface ICompositionDrawingSurface : IInspectable
            {
                [propget] HRESULT AlphaMode([out] [retval] Windows.Graphics.DirectX.DirectXAlphaMode* value);
                [propget] HRESULT PixelFormat([out] [retval] Windows.Graphics.DirectX.DirectXPixelFormat* value);
                [propget] HRESULT Size([out] [retval] Windows.Foundation.Size* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.CompositionDrawingSurface)]
            [uuid(FAD0E88B-E354-44E8-8E3D-C4880D5A213F)]
            interface ICompositionDrawingSurface2 : IInspectable
            {
                [propget] HRESULT SizeInt32([out] [retval] Windows.Graphics.SizeInt32* value);
                HRESULT Resize([in] Windows.Graphics.SizeInt32 sizePixels);
                [overload("Scroll")] HRESULT Scroll([in] Windows.Graphics.PointInt32 offset);
                [overload("Scroll")] HRESULT ScrollRect([in] Windows.Graphics.PointInt32 offset, [in] Windows.Graphics.RectInt32 scrollRect);
                [overload("ScrollWithClip")] HRESULT ScrollWithClip([in] Windows.Graphics.PointInt32 offset, [in] Windows.Graphics.RectInt32 clipRect);
                [overload("ScrollWithClip")] HRESULT ScrollRectWithClip([in] Windows.Graphics.PointInt32 offset, [in] Windows.Graphics.RectInt32 clipRect, [in] Windows.Graphics.RectInt32 scrollRect);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.CompositionDrawingSurface)]
            [uuid(9497B00A-312D-46B9-9DB3-412FD79464C8)]
            interface ICompositionDrawingSurfaceFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEasingFunction)]
            [uuid(5145E356-BF79-4EA8-8CC2-6B5B472E6C9A)]
            interface ICompositionEasingFunction : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEasingFunction)]
            [uuid(60840774-3DA0-4949-8200-7206C00190A0)]
            interface ICompositionEasingFunctionFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEasingFunction)]
            [uuid(17A766B6-2936-53EA-B5AF-C642F4A61083)]
            interface ICompositionEasingFunctionStatics : IInspectable
            {
                HRESULT CreateCubicBezierEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.Foundation.Numerics.Vector2 controlPoint1, [in] Windows.Foundation.Numerics.Vector2 controlPoint2, [out] [retval] Windows.UI.Composition.CubicBezierEasingFunction** result);
                HRESULT CreateLinearEasingFunction([in] Windows.UI.Composition.Compositor* owner, [out] [retval] Windows.UI.Composition.LinearEasingFunction** result);
                [overload("CreateStepEasingFunction")] HRESULT CreateStepEasingFunction([in] Windows.UI.Composition.Compositor* owner, [out] [retval] Windows.UI.Composition.StepEasingFunction** result);
                [overload("CreateStepEasingFunction")] HRESULT CreateStepEasingFunctionWithStepCount([in] Windows.UI.Composition.Compositor* owner, [in] INT32 stepCount, [out] [retval] Windows.UI.Composition.StepEasingFunction** result);
                HRESULT CreateBackEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.UI.Composition.CompositionEasingFunctionMode mode, [in] FLOAT amplitude, [out] [retval] Windows.UI.Composition.BackEasingFunction** result);
                HRESULT CreateBounceEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.UI.Composition.CompositionEasingFunctionMode mode, [in] INT32 bounces, [in] FLOAT bounciness, [out] [retval] Windows.UI.Composition.BounceEasingFunction** result);
                HRESULT CreateCircleEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.UI.Composition.CompositionEasingFunctionMode mode, [out] [retval] Windows.UI.Composition.CircleEasingFunction** result);
                HRESULT CreateElasticEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.UI.Composition.CompositionEasingFunctionMode mode, [in] INT32 oscillations, [in] FLOAT springiness, [out] [retval] Windows.UI.Composition.ElasticEasingFunction** result);
                HRESULT CreateExponentialEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.UI.Composition.CompositionEasingFunctionMode mode, [in] FLOAT exponent, [out] [retval] Windows.UI.Composition.ExponentialEasingFunction** result);
                HRESULT CreatePowerEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.UI.Composition.CompositionEasingFunctionMode mode, [in] FLOAT power, [out] [retval] Windows.UI.Composition.PowerEasingFunction** result);
                HRESULT CreateSineEasingFunction([in] Windows.UI.Composition.Compositor* owner, [in] Windows.UI.Composition.CompositionEasingFunctionMode mode, [out] [retval] Windows.UI.Composition.SineEasingFunction** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEffectBrush)]
            [uuid(BF7F795E-83CC-44BF-A447-3E3C071789EC)]
            interface ICompositionEffectBrush : IInspectable
            {
                HRESULT GetSourceParameter([in] HSTRING name, [out] [retval] Windows.UI.Composition.CompositionBrush** result);
                HRESULT SetSourceParameter([in] HSTRING name, [in] Windows.UI.Composition.CompositionBrush* source);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEffectFactory)]
            [uuid(BE5624AF-BA7E-4510-9850-41C0B4FF74DF)]
            interface ICompositionEffectFactory : IInspectable
            {
                HRESULT CreateBrush([out] [retval] Windows.UI.Composition.CompositionEffectBrush** result);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                [propget] HRESULT LoadStatus([out] [retval] Windows.UI.Composition.CompositionEffectFactoryLoadStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEffectSourceParameter)]
            [uuid(858AB13A-3292-4E4E-B3BB-2B6C6544A6EE)]
            interface ICompositionEffectSourceParameter : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEffectSourceParameter)]
            [uuid(B3D9F276-ABA3-4724-ACF3-D0397464DB1C)]
            interface ICompositionEffectSourceParameterFactory : IInspectable
            {
                HRESULT Create([in] HSTRING name, [out] [retval] Windows.UI.Composition.CompositionEffectSourceParameter** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionEllipseGeometry)]
            [uuid(4801F884-F6AD-4B93-AFA9-897B64E57B1F)]
            interface ICompositionEllipseGeometry : IInspectable
            {
                [propget] HRESULT Center([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Center([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Radius([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Radius([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGeometricClip)]
            [uuid(C840B581-81C9-4444-A2C1-CCAECE3A50E5)]
            interface ICompositionGeometricClip : IInspectable
            {
                [propget] HRESULT Geometry([out] [retval] Windows.UI.Composition.CompositionGeometry** value);
                [propput] HRESULT Geometry([in] Windows.UI.Composition.CompositionGeometry* value);
                [propget] HRESULT ViewBox([out] [retval] Windows.UI.Composition.CompositionViewBox** value);
                [propput] HRESULT ViewBox([in] Windows.UI.Composition.CompositionViewBox* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGeometry)]
            [uuid(E985217C-6A17-4207-ABD8-5FD3DD612A9D)]
            interface ICompositionGeometry : IInspectable
            {
                [propget] HRESULT TrimEnd([out] [retval] FLOAT* value);
                [propput] HRESULT TrimEnd([in] FLOAT value);
                [propget] HRESULT TrimOffset([out] [retval] FLOAT* value);
                [propput] HRESULT TrimOffset([in] FLOAT value);
                [propget] HRESULT TrimStart([out] [retval] FLOAT* value);
                [propput] HRESULT TrimStart([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGeometry)]
            [uuid(BFFEBFE1-8C25-480B-9F56-FED6B288055D)]
            interface ICompositionGeometryFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGradientBrush)]
            [uuid(1D9709E0-FFC6-4C0E-A9AB-34144D4C9098)]
            interface ICompositionGradientBrush : IInspectable
            {
                [propget] HRESULT AnchorPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT AnchorPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT CenterPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT CenterPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT ColorStops([out] [retval] Windows.UI.Composition.CompositionColorGradientStopCollection** value);
                [propget] HRESULT ExtendMode([out] [retval] Windows.UI.Composition.CompositionGradientExtendMode* value);
                [propput] HRESULT ExtendMode([in] Windows.UI.Composition.CompositionGradientExtendMode value);
                [propget] HRESULT InterpolationSpace([out] [retval] Windows.UI.Composition.CompositionColorSpace* value);
                [propput] HRESULT InterpolationSpace([in] Windows.UI.Composition.CompositionColorSpace value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT RotationAngle([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngle([in] FLOAT value);
                [propget] HRESULT RotationAngleInDegrees([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngleInDegrees([in] FLOAT value);
                [propget] HRESULT Scale([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Scale([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT TransformMatrix([out] [retval] Windows.Foundation.Numerics.Matrix3x2* value);
                [propput] HRESULT TransformMatrix([in] Windows.Foundation.Numerics.Matrix3x2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGradientBrush)]
            [uuid(899DD5A1-B4C7-4B33-A1B6-264ADDC26D10)]
            interface ICompositionGradientBrush2 : IInspectable
            {
                [propget] HRESULT MappingMode([out] [retval] Windows.UI.Composition.CompositionMappingMode* value);
                [propput] HRESULT MappingMode([in] Windows.UI.Composition.CompositionMappingMode value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGradientBrush)]
            [uuid(56D765D7-F189-48C9-9C8D-94DAF1BEC010)]
            interface ICompositionGradientBrushFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGraphicsDevice)]
            [uuid(FB22C6E1-80A2-4667-9936-DBEAF6EEFE95)]
            interface ICompositionGraphicsDevice : IInspectable
            {
                HRESULT CreateDrawingSurface([in] Windows.Foundation.Size sizePixels, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [in] Windows.Graphics.DirectX.DirectXAlphaMode alphaMode, [out] [retval] Windows.UI.Composition.CompositionDrawingSurface** result);
                [eventadd] HRESULT RenderingDeviceReplaced([in] Windows.Foundation.TypedEventHandler<Windows.UI.Composition.CompositionGraphicsDevice*, Windows.UI.Composition.RenderingDeviceReplacedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT RenderingDeviceReplaced([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGraphicsDevice)]
            [uuid(0FB8BDF6-C0F0-4BCC-9FB8-084982490D7D)]
            interface ICompositionGraphicsDevice2 : IInspectable
            {
                HRESULT CreateDrawingSurface2([in] Windows.Graphics.SizeInt32 sizePixels, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [in] Windows.Graphics.DirectX.DirectXAlphaMode alphaMode, [out] [retval] Windows.UI.Composition.CompositionDrawingSurface** result);
                HRESULT CreateVirtualDrawingSurface([in] Windows.Graphics.SizeInt32 sizePixels, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [in] Windows.Graphics.DirectX.DirectXAlphaMode alphaMode, [out] [retval] Windows.UI.Composition.CompositionVirtualDrawingSurface** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGraphicsDevice)]
            [uuid(37F67514-D3EF-49D1-B69D-0D8EABEB3626)]
            interface ICompositionGraphicsDevice3 : IInspectable
            {
                HRESULT CreateMipmapSurface([in] Windows.Graphics.SizeInt32 sizePixels, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [in] Windows.Graphics.DirectX.DirectXAlphaMode alphaMode, [out] [retval] Windows.UI.Composition.CompositionMipmapSurface** result);
                HRESULT Trim();
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.CompositionGraphicsDevice)]
            [uuid(5A73BFF9-A97F-4CF5-BA46-98EF358E71B1)]
            interface ICompositionGraphicsDevice4 : IInspectable
            {
                HRESULT CaptureAsync([in] Windows.UI.Composition.Visual* captureVisual, [in] Windows.Graphics.SizeInt32 size, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [in] Windows.Graphics.DirectX.DirectXAlphaMode alphaMode, [in] FLOAT sdrBoost, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.UI.Composition.ICompositionSurface*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionLight)]
            [uuid(41A6D7C2-2E5D-4BC1-B09E-8F0A03E3D8D3)]
            interface ICompositionLight : IInspectable
            {
                [propget] HRESULT Targets([out] [retval] Windows.UI.Composition.VisualUnorderedCollection** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionLight)]
            [uuid(A7BCDA72-F35D-425D-9B98-23F4205F6669)]
            interface ICompositionLight2 : IInspectable
            {
                [propget] HRESULT ExclusionsFromTargets([out] [retval] Windows.UI.Composition.VisualUnorderedCollection** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionLight)]
            [uuid(4B0B00E4-DF07-4959-B7A4-4F7E4233F838)]
            interface ICompositionLight3 : IInspectable
            {
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsEnabled([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionLight)]
            [uuid(069CF306-DA3C-4B44-838A-5E03D51ACE55)]
            interface ICompositionLightFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionLineGeometry)]
            [uuid(DD7615A4-0C9A-4B67-8DCE-440A5BF9CDEC)]
            interface ICompositionLineGeometry : IInspectable
            {
                [propget] HRESULT Start([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Start([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT End([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT End([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionLinearGradientBrush)]
            [uuid(983BC519-A9DB-413C-A2D8-2A9056FC525E)]
            interface ICompositionLinearGradientBrush : IInspectable
            {
                [propget] HRESULT EndPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT EndPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT StartPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT StartPoint([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionMaskBrush)]
            [uuid(522CF09E-BE6B-4F41-BE49-F9226D471B4A)]
            interface ICompositionMaskBrush : IInspectable
            {
                [propget] HRESULT Mask([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT Mask([in] Windows.UI.Composition.CompositionBrush* value);
                [propget] HRESULT Source([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT Source([in] Windows.UI.Composition.CompositionBrush* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionMipmapSurface)]
            [uuid(4863675C-CF4A-4B1C-9ECE-C5EC0C2B2FE6)]
            interface ICompositionMipmapSurface : IInspectable
            {
                [propget] HRESULT LevelCount([out] [retval] UINT32* value);
                [propget] HRESULT AlphaMode([out] [retval] Windows.Graphics.DirectX.DirectXAlphaMode* value);
                [propget] HRESULT PixelFormat([out] [retval] Windows.Graphics.DirectX.DirectXPixelFormat* value);
                [propget] HRESULT SizeInt32([out] [retval] Windows.Graphics.SizeInt32* value);
                HRESULT GetDrawingSurfaceForLevel([in] UINT32 level, [out] [retval] Windows.UI.Composition.CompositionDrawingSurface** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionNineGridBrush)]
            [uuid(F25154E4-BC8C-4BE7-B80F-8685B83C0186)]
            interface ICompositionNineGridBrush : IInspectable
            {
                [propget] HRESULT BottomInset([out] [retval] FLOAT* value);
                [propput] HRESULT BottomInset([in] FLOAT value);
                [propget] HRESULT BottomInsetScale([out] [retval] FLOAT* value);
                [propput] HRESULT BottomInsetScale([in] FLOAT value);
                [propget] HRESULT IsCenterHollow([out] [retval] boolean* value);
                [propput] HRESULT IsCenterHollow([in] boolean value);
                [propget] HRESULT LeftInset([out] [retval] FLOAT* value);
                [propput] HRESULT LeftInset([in] FLOAT value);
                [propget] HRESULT LeftInsetScale([out] [retval] FLOAT* value);
                [propput] HRESULT LeftInsetScale([in] FLOAT value);
                [propget] HRESULT RightInset([out] [retval] FLOAT* value);
                [propput] HRESULT RightInset([in] FLOAT value);
                [propget] HRESULT RightInsetScale([out] [retval] FLOAT* value);
                [propput] HRESULT RightInsetScale([in] FLOAT value);
                [propget] HRESULT Source([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT Source([in] Windows.UI.Composition.CompositionBrush* value);
                [propget] HRESULT TopInset([out] [retval] FLOAT* value);
                [propput] HRESULT TopInset([in] FLOAT value);
                [propget] HRESULT TopInsetScale([out] [retval] FLOAT* value);
                [propput] HRESULT TopInsetScale([in] FLOAT value);
                [overload("SetInsets")] HRESULT SetInsets([in] FLOAT inset);
                [overload("SetInsets")] HRESULT SetInsetsWithValues([in] FLOAT left, [in] FLOAT top, [in] FLOAT right, [in] FLOAT bottom);
                [overload("SetInsetScales")] HRESULT SetInsetScales([in] FLOAT scale);
                [overload("SetInsetScales")] HRESULT SetInsetScalesWithValues([in] FLOAT left, [in] FLOAT top, [in] FLOAT right, [in] FLOAT bottom);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionObject)]
            [uuid(BCB4AD45-7609-4550-934F-16002A68FDED)]
            interface ICompositionObject : IInspectable
            {
                [propget] HRESULT Compositor([out] [retval] Windows.UI.Composition.Compositor** value);
                [propget] HRESULT Dispatcher([out] [retval] Windows.UI.Core.CoreDispatcher** value);
                [propget] HRESULT Properties([out] [retval] Windows.UI.Composition.CompositionPropertySet** value);
                HRESULT StartAnimation([in] HSTRING propertyName, [in] Windows.UI.Composition.CompositionAnimation* animation);
                HRESULT StopAnimation([in] HSTRING propertyName);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionObject)]
            [uuid(EF874EA1-5CFF-4B68-9E30-A1519D08BA03)]
            interface ICompositionObject2 : IInspectable
            {
                [propget] HRESULT Comment([out] [retval] HSTRING* value);
                [propput] HRESULT Comment([in] HSTRING value);
                [propget] HRESULT ImplicitAnimations([out] [retval] Windows.UI.Composition.ImplicitAnimationCollection** value);
                [propput] HRESULT ImplicitAnimations([in] Windows.UI.Composition.ImplicitAnimationCollection* value);
                HRESULT StartAnimationGroup([in] Windows.UI.Composition.ICompositionAnimationBase* value);
                HRESULT StopAnimationGroup([in] Windows.UI.Composition.ICompositionAnimationBase* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionObject)]
            [uuid(4BC27925-DACD-4CF2-98B1-986B76E7EBE6)]
            interface ICompositionObject3 : IInspectable
            {
                [propget] HRESULT DispatcherQueue([out] [retval] Windows.System.DispatcherQueue** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionObject)]
            [uuid(0BB3784C-346B-4A7C-966B-7310966553D5)]
            interface ICompositionObject4 : IInspectable
            {
                HRESULT TryGetAnimationController([in] HSTRING propertyName, [out] [retval] Windows.UI.Composition.AnimationController** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Composition.CompositionObject)]
            [uuid(1D7F391B-A130-5265-A62B-60B8E668965A)]
            interface ICompositionObject5 : IInspectable
            {
                [overload("StartAnimation")] HRESULT StartAnimationWithController([in] HSTRING propertyName, [in] Windows.UI.Composition.CompositionAnimation* animation, [in] Windows.UI.Composition.AnimationController* animationController);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionObject)]
            [uuid(51205C5E-558A-4F2A-8D39-37BFE1E20DDD)]
            interface ICompositionObjectFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.CompositionObject)]
            [uuid(C1ED052F-1BA2-44BA-A904-6A882A0A5ADB)]
            interface ICompositionObjectStatics : IInspectable
            {
                HRESULT StartAnimationWithIAnimationObject([in] Windows.UI.Composition.IAnimationObject* target, [in] HSTRING propertyName, [in] Windows.UI.Composition.CompositionAnimation* animation);
                HRESULT StartAnimationGroupWithIAnimationObject([in] Windows.UI.Composition.IAnimationObject* target, [in] Windows.UI.Composition.ICompositionAnimationBase* animation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionPath)]
            [uuid(66DA1D5F-2E10-4F22-8A06-0A8151919E60)]
            interface ICompositionPath : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionPath)]
            [uuid(9C1E8C6A-0F33-4751-9437-EB3FB9D3AB07)]
            interface ICompositionPathFactory : IInspectable
            {
                HRESULT Create([in] Windows.Graphics.IGeometrySource2D* source, [out] [retval] Windows.UI.Composition.CompositionPath** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionPathGeometry)]
            [uuid(0B6A417E-2C77-4C23-AF5E-6304C147BB61)]
            interface ICompositionPathGeometry : IInspectable
            {
                [propget] HRESULT Path([out] [retval] Windows.UI.Composition.CompositionPath** value);
                [propput] HRESULT Path([in] Windows.UI.Composition.CompositionPath* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionProjectedShadow)]
            [uuid(285B8E72-4328-523F-BCF2-5557C52C3B25)]
            interface ICompositionProjectedShadow : IInspectable
            {
                [propget] HRESULT BlurRadiusMultiplier([out] [retval] FLOAT* value);
                [propput] HRESULT BlurRadiusMultiplier([in] FLOAT value);
                [propget] HRESULT Casters([out] [retval] Windows.UI.Composition.CompositionProjectedShadowCasterCollection** value);
                [propget] HRESULT LightSource([out] [retval] Windows.UI.Composition.CompositionLight** value);
                [propput] HRESULT LightSource([in] Windows.UI.Composition.CompositionLight* value);
                [propget] HRESULT MaxBlurRadius([out] [retval] FLOAT* value);
                [propput] HRESULT MaxBlurRadius([in] FLOAT value);
                [propget] HRESULT MinBlurRadius([out] [retval] FLOAT* value);
                [propput] HRESULT MinBlurRadius([in] FLOAT value);
                [propget] HRESULT Receivers([out] [retval] Windows.UI.Composition.CompositionProjectedShadowReceiverUnorderedCollection** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionProjectedShadowCaster)]
            [uuid(B1D7D426-1E36-5A62-BE56-A16112FDD148)]
            interface ICompositionProjectedShadowCaster : IInspectable
            {
                [propget] HRESULT Brush([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT Brush([in] Windows.UI.Composition.CompositionBrush* value);
                [propget] HRESULT CastingVisual([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT CastingVisual([in] Windows.UI.Composition.Visual* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionProjectedShadowCasterCollection)]
            [uuid(D2525C0C-E07F-58A3-AC91-37F73EE91740)]
            interface ICompositionProjectedShadowCasterCollection : IInspectable
            {
                [propget] HRESULT Count([out] [retval] INT32* value);
                HRESULT InsertAbove([in] Windows.UI.Composition.CompositionProjectedShadowCaster* newCaster, [in] Windows.UI.Composition.CompositionProjectedShadowCaster* reference);
                HRESULT InsertAtBottom([in] Windows.UI.Composition.CompositionProjectedShadowCaster* newCaster);
                HRESULT InsertAtTop([in] Windows.UI.Composition.CompositionProjectedShadowCaster* newCaster);
                HRESULT InsertBelow([in] Windows.UI.Composition.CompositionProjectedShadowCaster* newCaster, [in] Windows.UI.Composition.CompositionProjectedShadowCaster* reference);
                HRESULT Remove([in] Windows.UI.Composition.CompositionProjectedShadowCaster* caster);
                HRESULT RemoveAll();
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionProjectedShadowCasterCollection)]
            [uuid(56FBB136-E94F-5299-AB5B-6E15E38BD899)]
            interface ICompositionProjectedShadowCasterCollectionStatics : IInspectable
            {
                [propget] HRESULT MaxRespectedCasters([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionProjectedShadowReceiver)]
            [uuid(1377985A-6A49-536A-9BE4-A96A8E5298A9)]
            interface ICompositionProjectedShadowReceiver : IInspectable
            {
                [propget] HRESULT ReceivingVisual([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT ReceivingVisual([in] Windows.UI.Composition.Visual* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionProjectedShadowReceiverUnorderedCollection)]
            [uuid(02B3E3B7-27D2-599F-AC4B-AB787CDDE6FD)]
            interface ICompositionProjectedShadowReceiverUnorderedCollection : IInspectable
            {
                HRESULT Add([in] Windows.UI.Composition.CompositionProjectedShadowReceiver* value);
                [propget] HRESULT Count([out] [retval] INT32* value);
                HRESULT Remove([in] Windows.UI.Composition.CompositionProjectedShadowReceiver* value);
                HRESULT RemoveAll();
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionPropertySet)]
            [uuid(C9D6D202-5F67-4453-9117-9EADD430D3C2)]
            interface ICompositionPropertySet : IInspectable
            {
                HRESULT InsertColor([in] HSTRING propertyName, [in] Windows.UI.Color value);
                HRESULT InsertMatrix3x2([in] HSTRING propertyName, [in] Windows.Foundation.Numerics.Matrix3x2 value);
                HRESULT InsertMatrix4x4([in] HSTRING propertyName, [in] Windows.Foundation.Numerics.Matrix4x4 value);
                HRESULT InsertQuaternion([in] HSTRING propertyName, [in] Windows.Foundation.Numerics.Quaternion value);
                HRESULT InsertScalar([in] HSTRING propertyName, [in] FLOAT value);
                HRESULT InsertVector2([in] HSTRING propertyName, [in] Windows.Foundation.Numerics.Vector2 value);
                HRESULT InsertVector3([in] HSTRING propertyName, [in] Windows.Foundation.Numerics.Vector3 value);
                HRESULT InsertVector4([in] HSTRING propertyName, [in] Windows.Foundation.Numerics.Vector4 value);
                HRESULT TryGetColor([in] HSTRING propertyName, [out] Windows.UI.Color* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
                HRESULT TryGetMatrix3x2([in] HSTRING propertyName, [out] Windows.Foundation.Numerics.Matrix3x2* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
                HRESULT TryGetMatrix4x4([in] HSTRING propertyName, [out] Windows.Foundation.Numerics.Matrix4x4* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
                HRESULT TryGetQuaternion([in] HSTRING propertyName, [out] Windows.Foundation.Numerics.Quaternion* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
                HRESULT TryGetScalar([in] HSTRING propertyName, [out] FLOAT* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
                HRESULT TryGetVector2([in] HSTRING propertyName, [out] Windows.Foundation.Numerics.Vector2* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
                HRESULT TryGetVector3([in] HSTRING propertyName, [out] Windows.Foundation.Numerics.Vector3* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
                HRESULT TryGetVector4([in] HSTRING propertyName, [out] Windows.Foundation.Numerics.Vector4* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionPropertySet)]
            [uuid(DE80731E-A211-4455-8880-7D0F3F6A44FD)]
            interface ICompositionPropertySet2 : IInspectable
            {
                HRESULT InsertBoolean([in] HSTRING propertyName, [in] boolean value);
                HRESULT TryGetBoolean([in] HSTRING propertyName, [out] boolean* value, [out] [retval] Windows.UI.Composition.CompositionGetValueStatus* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionRadialGradientBrush)]
            [uuid(3D3B50C5-E3FA-4CE2-B9FC-3EE12561788F)]
            interface ICompositionRadialGradientBrush : IInspectable
            {
                [propget] HRESULT EllipseCenter([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT EllipseCenter([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT EllipseRadius([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT EllipseRadius([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT GradientOriginOffset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT GradientOriginOffset([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionRectangleGeometry)]
            [uuid(0CD51428-5356-4246-AECF-7A0B76975400)]
            interface ICompositionRectangleGeometry : IInspectable
            {
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Size([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Size([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionRoundedRectangleGeometry)]
            [uuid(8770C822-1D50-4B8B-B013-7C9A0E46935F)]
            interface ICompositionRoundedRectangleGeometry : IInspectable
            {
                [propget] HRESULT CornerRadius([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT CornerRadius([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Size([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Size([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionScopedBatch)]
            [uuid(0D00DAD0-FB07-46FD-8C72-6280D1A3D1DD)]
            interface ICompositionScopedBatch : IInspectable
            {
                [propget] HRESULT IsActive([out] [retval] boolean* value);
                [propget] HRESULT IsEnded([out] [retval] boolean* value);
                HRESULT End();
                HRESULT Resume();
                HRESULT Suspend();
                [eventadd] HRESULT Completed([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Composition.CompositionBatchCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Completed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionShadow)]
            [uuid(329E52E2-4335-49CC-B14A-37782D10F0C4)]
            interface ICompositionShadow : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionShadow)]
            [uuid(221F492F-DCBA-4B91-999E-1DC217A01530)]
            interface ICompositionShadowFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionShape)]
            [uuid(B47CE2F7-9A88-42C4-9E87-2E500CA8688C)]
            interface ICompositionShape : IInspectable
            {
                [propget] HRESULT CenterPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT CenterPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT RotationAngle([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngle([in] FLOAT value);
                [propget] HRESULT RotationAngleInDegrees([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngleInDegrees([in] FLOAT value);
                [propget] HRESULT Scale([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Scale([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT TransformMatrix([out] [retval] Windows.Foundation.Numerics.Matrix3x2* value);
                [propput] HRESULT TransformMatrix([in] Windows.Foundation.Numerics.Matrix3x2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionShape)]
            [uuid(1DFC36D0-B05A-44EF-82B0-12118BCD4CD0)]
            interface ICompositionShapeFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionSpriteShape)]
            [uuid(401B61BB-0007-4363-B1F3-6BCC003FB83E)]
            interface ICompositionSpriteShape : IInspectable
            {
                [propget] HRESULT FillBrush([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT FillBrush([in] Windows.UI.Composition.CompositionBrush* value);
                [propget] HRESULT Geometry([out] [retval] Windows.UI.Composition.CompositionGeometry** value);
                [propput] HRESULT Geometry([in] Windows.UI.Composition.CompositionGeometry* value);
                [propget] HRESULT IsStrokeNonScaling([out] [retval] boolean* value);
                [propput] HRESULT IsStrokeNonScaling([in] boolean value);
                [propget] HRESULT StrokeBrush([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT StrokeBrush([in] Windows.UI.Composition.CompositionBrush* value);
                [propget] HRESULT StrokeDashArray([out] [retval] Windows.UI.Composition.CompositionStrokeDashArray** value);
                [propget] HRESULT StrokeDashCap([out] [retval] Windows.UI.Composition.CompositionStrokeCap* value);
                [propput] HRESULT StrokeDashCap([in] Windows.UI.Composition.CompositionStrokeCap value);
                [propget] HRESULT StrokeDashOffset([out] [retval] FLOAT* value);
                [propput] HRESULT StrokeDashOffset([in] FLOAT value);
                [propget] HRESULT StrokeEndCap([out] [retval] Windows.UI.Composition.CompositionStrokeCap* value);
                [propput] HRESULT StrokeEndCap([in] Windows.UI.Composition.CompositionStrokeCap value);
                [propget] HRESULT StrokeLineJoin([out] [retval] Windows.UI.Composition.CompositionStrokeLineJoin* value);
                [propput] HRESULT StrokeLineJoin([in] Windows.UI.Composition.CompositionStrokeLineJoin value);
                [propget] HRESULT StrokeMiterLimit([out] [retval] FLOAT* value);
                [propput] HRESULT StrokeMiterLimit([in] FLOAT value);
                [propget] HRESULT StrokeStartCap([out] [retval] Windows.UI.Composition.CompositionStrokeCap* value);
                [propput] HRESULT StrokeStartCap([in] Windows.UI.Composition.CompositionStrokeCap value);
                [propget] HRESULT StrokeThickness([out] [retval] FLOAT* value);
                [propput] HRESULT StrokeThickness([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [uuid(397DAFE4-B6C2-5BB9-951D-F5707DE8B7BC)]
            interface ICompositionSupportsSystemBackdrop : IInspectable
            {
                [propget] HRESULT SystemBackdrop([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT SystemBackdrop([in] Windows.UI.Composition.CompositionBrush* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [uuid(1527540D-42C7-47A6-A408-668F79A90DFB)]
            interface ICompositionSurface : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionSurfaceBrush)]
            [uuid(AD016D79-1E4C-4C0D-9C29-83338C87C162)]
            interface ICompositionSurfaceBrush : IInspectable
            {
                [propget] HRESULT BitmapInterpolationMode([out] [retval] Windows.UI.Composition.CompositionBitmapInterpolationMode* value);
                [propput] HRESULT BitmapInterpolationMode([in] Windows.UI.Composition.CompositionBitmapInterpolationMode value);
                [propget] HRESULT HorizontalAlignmentRatio([out] [retval] FLOAT* value);
                [propput] HRESULT HorizontalAlignmentRatio([in] FLOAT value);
                [propget] HRESULT Stretch([out] [retval] Windows.UI.Composition.CompositionStretch* value);
                [propput] HRESULT Stretch([in] Windows.UI.Composition.CompositionStretch value);
                [propget] HRESULT Surface([out] [retval] Windows.UI.Composition.ICompositionSurface** value);
                [propput] HRESULT Surface([in] Windows.UI.Composition.ICompositionSurface* value);
                [propget] HRESULT VerticalAlignmentRatio([out] [retval] FLOAT* value);
                [propput] HRESULT VerticalAlignmentRatio([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.CompositionSurfaceBrush)]
            [uuid(D27174D5-64F5-4692-9DC7-71B61D7E5880)]
            interface ICompositionSurfaceBrush2 : IInspectable
            {
                [propget] HRESULT AnchorPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT AnchorPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT CenterPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT CenterPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT RotationAngle([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngle([in] FLOAT value);
                [propget] HRESULT RotationAngleInDegrees([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngleInDegrees([in] FLOAT value);
                [propget] HRESULT Scale([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Scale([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT TransformMatrix([out] [retval] Windows.Foundation.Numerics.Matrix3x2* value);
                [propput] HRESULT TransformMatrix([in] Windows.Foundation.Numerics.Matrix3x2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionSurfaceBrush)]
            [uuid(550BB289-1FE0-42E5-8195-1EEFA87FF08E)]
            interface ICompositionSurfaceBrush3 : IInspectable
            {
                [propget] HRESULT SnapToPixels([out] [retval] boolean* value);
                [propput] HRESULT SnapToPixels([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [uuid(E01622C8-2332-55C7-8868-A7312C5C229D)]
            interface ICompositionSurfaceFacade : IInspectable
            {
                HRESULT GetRealSurface([out] [retval] Windows.UI.Composition.ICompositionSurface** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CompositionTarget)]
            [uuid(A1BEA8BA-D726-4663-8129-6B5E7927FFA6)]
            interface ICompositionTarget : IInspectable
            {
                [propget] HRESULT Root([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT Root([in] Windows.UI.Composition.Visual* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.CompositionTarget)]
            [uuid(93CD9D2B-8516-4B14-A8CE-F49E2119EC42)]
            interface ICompositionTargetFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Composition.CompositionTexture)]
            [uuid(347D03A0-1C0A-4C0B-B232-8570B2B1A4EA)]
            interface ICompositionTexture : IInspectable
            {
                [propget] HRESULT SourceRect([out] [retval] Windows.Graphics.RectInt32* value);
                [propput] HRESULT SourceRect([in] Windows.Graphics.RectInt32 value);
                [propget] HRESULT AlphaMode([out] [retval] Windows.Graphics.DirectX.DirectXAlphaMode* value);
                [propput] HRESULT AlphaMode([in] Windows.Graphics.DirectX.DirectXAlphaMode value);
                [propget] HRESULT ColorSpace([out] [retval] Windows.Graphics.DirectX.DirectXColorSpace* value);
                [propput] HRESULT ColorSpace([in] Windows.Graphics.DirectX.DirectXColorSpace value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Composition.CompositionTexture)]
            [uuid(09D9523D-471C-5AB5-B053-B568EE46EBFB)]
            interface ICompositionTextureFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionTransform)]
            [uuid(7CD54529-FBED-4112-ABC5-185906DD927C)]
            interface ICompositionTransform : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionTransform)]
            [uuid(AAAECA26-C149-517A-8F72-6BFF7A65CE08)]
            interface ICompositionTransformFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.CompositionViewBox)]
            [uuid(B440BF07-068F-4537-84C6-4ECBE019E1F4)]
            interface ICompositionViewBox : IInspectable
            {
                [propget] HRESULT HorizontalAlignmentRatio([out] [retval] FLOAT* value);
                [propput] HRESULT HorizontalAlignmentRatio([in] FLOAT value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Size([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Size([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Stretch([out] [retval] Windows.UI.Composition.CompositionStretch* value);
                [propput] HRESULT Stretch([in] Windows.UI.Composition.CompositionStretch value);
                [propget] HRESULT VerticalAlignmentRatio([out] [retval] FLOAT* value);
                [propput] HRESULT VerticalAlignmentRatio([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.CompositionVirtualDrawingSurface)]
            [uuid(A9C384DB-8740-4F94-8B9D-B68521E7863D)]
            interface ICompositionVirtualDrawingSurface : IInspectable
            {
                HRESULT Trim([in] UINT32 __rectsSize, [in] [size_is(__rectsSize)] Windows.Graphics.RectInt32* rects);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.CompositionVirtualDrawingSurface)]
            [uuid(6766106C-D56B-4A49-B1DF-5076A0620768)]
            interface ICompositionVirtualDrawingSurfaceFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.CompositionVisualSurface)]
            [uuid(B224D803-4F6E-4A3F-8CAE-3DC1CDA74FC6)]
            interface ICompositionVisualSurface : IInspectable
            {
                [propget] HRESULT SourceVisual([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT SourceVisual([in] Windows.UI.Composition.Visual* value);
                [propget] HRESULT SourceOffset([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT SourceOffset([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT SourceSize([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT SourceSize([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(B403CA50-7F8C-4E83-985F-CC45060036D8)]
            interface ICompositor : IInspectable
            {
                HRESULT CreateColorKeyFrameAnimation([out] [retval] Windows.UI.Composition.ColorKeyFrameAnimation** result);
                [overload("CreateColorBrush")] HRESULT CreateColorBrush([out] [retval] Windows.UI.Composition.CompositionColorBrush** result);
                [overload("CreateColorBrush")] HRESULT CreateColorBrushWithColor([in] Windows.UI.Color color, [out] [retval] Windows.UI.Composition.CompositionColorBrush** result);
                HRESULT CreateContainerVisual([out] [retval] Windows.UI.Composition.ContainerVisual** result);
                HRESULT CreateCubicBezierEasingFunction([in] Windows.Foundation.Numerics.Vector2 controlPoint1, [in] Windows.Foundation.Numerics.Vector2 controlPoint2, [out] [retval] Windows.UI.Composition.CubicBezierEasingFunction** result);
                [overload("CreateEffectFactory")] HRESULT CreateEffectFactory([in] Windows.Graphics.Effects.IGraphicsEffect* graphicsEffect, [out] [retval] Windows.UI.Composition.CompositionEffectFactory** result);
                [overload("CreateEffectFactory")] HRESULT CreateEffectFactoryWithProperties([in] Windows.Graphics.Effects.IGraphicsEffect* graphicsEffect, [in] Windows.Foundation.Collections.IIterable<HSTRING>* animatableProperties, [out] [retval] Windows.UI.Composition.CompositionEffectFactory** result);
                [overload("CreateExpressionAnimation")] HRESULT CreateExpressionAnimation([out] [retval] Windows.UI.Composition.ExpressionAnimation** result);
                [overload("CreateExpressionAnimation")] HRESULT CreateExpressionAnimationWithExpression([in] HSTRING expression, [out] [retval] Windows.UI.Composition.ExpressionAnimation** result);
                [overload("CreateInsetClip")] HRESULT CreateInsetClip([out] [retval] Windows.UI.Composition.InsetClip** result);
                [overload("CreateInsetClip")] HRESULT CreateInsetClipWithInsets([in] FLOAT leftInset, [in] FLOAT topInset, [in] FLOAT rightInset, [in] FLOAT bottomInset, [out] [retval] Windows.UI.Composition.InsetClip** result);
                HRESULT CreateLinearEasingFunction([out] [retval] Windows.UI.Composition.LinearEasingFunction** result);
                HRESULT CreatePropertySet([out] [retval] Windows.UI.Composition.CompositionPropertySet** result);
                HRESULT CreateQuaternionKeyFrameAnimation([out] [retval] Windows.UI.Composition.QuaternionKeyFrameAnimation** result);
                HRESULT CreateScalarKeyFrameAnimation([out] [retval] Windows.UI.Composition.ScalarKeyFrameAnimation** result);
                HRESULT CreateScopedBatch([in] Windows.UI.Composition.CompositionBatchTypes batchType, [out] [retval] Windows.UI.Composition.CompositionScopedBatch** result);
                HRESULT CreateSpriteVisual([out] [retval] Windows.UI.Composition.SpriteVisual** result);
                [overload("CreateSurfaceBrush")] HRESULT CreateSurfaceBrush([out] [retval] Windows.UI.Composition.CompositionSurfaceBrush** result);
                [overload("CreateSurfaceBrush")] HRESULT CreateSurfaceBrushWithSurface([in] Windows.UI.Composition.ICompositionSurface* surface, [out] [retval] Windows.UI.Composition.CompositionSurfaceBrush** result);
                HRESULT CreateTargetForCurrentView([out] [retval] Windows.UI.Composition.CompositionTarget** result);
                HRESULT CreateVector2KeyFrameAnimation([out] [retval] Windows.UI.Composition.Vector2KeyFrameAnimation** result);
                HRESULT CreateVector3KeyFrameAnimation([out] [retval] Windows.UI.Composition.Vector3KeyFrameAnimation** result);
                HRESULT CreateVector4KeyFrameAnimation([out] [retval] Windows.UI.Composition.Vector4KeyFrameAnimation** result);
                HRESULT GetCommitBatch([in] Windows.UI.Composition.CompositionBatchTypes batchType, [out] [retval] Windows.UI.Composition.CompositionCommitBatch** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(735081DC-5E24-45DA-A38F-E32CC349A9A0)]
            interface ICompositor2 : IInspectable
            {
                HRESULT CreateAmbientLight([out] [retval] Windows.UI.Composition.AmbientLight** result);
                HRESULT CreateAnimationGroup([out] [retval] Windows.UI.Composition.CompositionAnimationGroup** result);
                HRESULT CreateBackdropBrush([out] [retval] Windows.UI.Composition.CompositionBackdropBrush** result);
                HRESULT CreateDistantLight([out] [retval] Windows.UI.Composition.DistantLight** result);
                HRESULT CreateDropShadow([out] [retval] Windows.UI.Composition.DropShadow** result);
                HRESULT CreateImplicitAnimationCollection([out] [retval] Windows.UI.Composition.ImplicitAnimationCollection** result);
                HRESULT CreateLayerVisual([out] [retval] Windows.UI.Composition.LayerVisual** result);
                HRESULT CreateMaskBrush([out] [retval] Windows.UI.Composition.CompositionMaskBrush** result);
                HRESULT CreateNineGridBrush([out] [retval] Windows.UI.Composition.CompositionNineGridBrush** result);
                HRESULT CreatePointLight([out] [retval] Windows.UI.Composition.PointLight** result);
                HRESULT CreateSpotLight([out] [retval] Windows.UI.Composition.SpotLight** result);
                [overload("CreateStepEasingFunction")] HRESULT CreateStepEasingFunction([out] [retval] Windows.UI.Composition.StepEasingFunction** result);
                [overload("CreateStepEasingFunction")] HRESULT CreateStepEasingFunctionWithStepCount([in] INT32 stepCount, [out] [retval] Windows.UI.Composition.StepEasingFunction** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(C9DD8EF0-6EB1-4E3C-A658-675D9C64D4AB)]
            interface ICompositor3 : IInspectable
            {
                HRESULT CreateHostBackdropBrush([out] [retval] Windows.UI.Composition.CompositionBackdropBrush** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(AE47E78A-7910-4425-A482-A05B758ADCE9)]
            interface ICompositor4 : IInspectable
            {
                [overload("CreateColorGradientStop")] HRESULT CreateColorGradientStop([out] [retval] Windows.UI.Composition.CompositionColorGradientStop** result);
                [overload("CreateColorGradientStop")] HRESULT CreateColorGradientStopWithOffsetAndColor([in] FLOAT offset, [in] Windows.UI.Color color, [out] [retval] Windows.UI.Composition.CompositionColorGradientStop** result);
                HRESULT CreateLinearGradientBrush([out] [retval] Windows.UI.Composition.CompositionLinearGradientBrush** result);
                HRESULT CreateSpringScalarAnimation([out] [retval] Windows.UI.Composition.SpringScalarNaturalMotionAnimation** result);
                HRESULT CreateSpringVector2Animation([out] [retval] Windows.UI.Composition.SpringVector2NaturalMotionAnimation** result);
                HRESULT CreateSpringVector3Animation([out] [retval] Windows.UI.Composition.SpringVector3NaturalMotionAnimation** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(48EA31AD-7FCD-4076-A79C-90CC4B852C9B)]
            interface ICompositor5 : IInspectable
            {
                [propget] HRESULT Comment([out] [retval] HSTRING* value);
                [propput] HRESULT Comment([in] HSTRING value);
                [propget] HRESULT GlobalPlaybackRate([out] [retval] FLOAT* value);
                [propput] HRESULT GlobalPlaybackRate([in] FLOAT value);
                HRESULT CreateBounceScalarAnimation([out] [retval] Windows.UI.Composition.BounceScalarNaturalMotionAnimation** result);
                HRESULT CreateBounceVector2Animation([out] [retval] Windows.UI.Composition.BounceVector2NaturalMotionAnimation** result);
                HRESULT CreateBounceVector3Animation([out] [retval] Windows.UI.Composition.BounceVector3NaturalMotionAnimation** result);
                HRESULT CreateContainerShape([out] [retval] Windows.UI.Composition.CompositionContainerShape** result);
                HRESULT CreateEllipseGeometry([out] [retval] Windows.UI.Composition.CompositionEllipseGeometry** result);
                HRESULT CreateLineGeometry([out] [retval] Windows.UI.Composition.CompositionLineGeometry** result);
                [overload("CreatePathGeometry")] HRESULT CreatePathGeometry([out] [retval] Windows.UI.Composition.CompositionPathGeometry** result);
                [overload("CreatePathGeometry")] HRESULT CreatePathGeometryWithPath([in] Windows.UI.Composition.CompositionPath* path, [out] [retval] Windows.UI.Composition.CompositionPathGeometry** result);
                HRESULT CreatePathKeyFrameAnimation([out] [retval] Windows.UI.Composition.PathKeyFrameAnimation** result);
                HRESULT CreateRectangleGeometry([out] [retval] Windows.UI.Composition.CompositionRectangleGeometry** result);
                HRESULT CreateRoundedRectangleGeometry([out] [retval] Windows.UI.Composition.CompositionRoundedRectangleGeometry** result);
                HRESULT CreateShapeVisual([out] [retval] Windows.UI.Composition.ShapeVisual** result);
                [overload("CreateSpriteShape")] HRESULT CreateSpriteShape([out] [retval] Windows.UI.Composition.CompositionSpriteShape** result);
                [overload("CreateSpriteShape")] HRESULT CreateSpriteShapeWithGeometry([in] Windows.UI.Composition.CompositionGeometry* geometry, [out] [retval] Windows.UI.Composition.CompositionSpriteShape** result);
                HRESULT CreateViewBox([out] [retval] Windows.UI.Composition.CompositionViewBox** result);
                HRESULT RequestCommitAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(7A38B2BD-CEC8-4EEB-830F-D8D07AEDEBC3)]
            interface ICompositor6 : IInspectable
            {
                [overload("CreateGeometricClip")] HRESULT CreateGeometricClip([out] [retval] Windows.UI.Composition.CompositionGeometricClip** result);
                [overload("CreateGeometricClip")] HRESULT CreateGeometricClipWithGeometry([in] Windows.UI.Composition.CompositionGeometry* geometry, [out] [retval] Windows.UI.Composition.CompositionGeometricClip** result);
                [overload("CreateRedirectVisual")] HRESULT CreateRedirectVisual([out] [retval] Windows.UI.Composition.RedirectVisual** result);
                [overload("CreateRedirectVisual")] HRESULT CreateRedirectVisualWithSourceVisual([in] Windows.UI.Composition.Visual* source, [out] [retval] Windows.UI.Composition.RedirectVisual** result);
                HRESULT CreateBooleanKeyFrameAnimation([out] [retval] Windows.UI.Composition.BooleanKeyFrameAnimation** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(D3483FAD-9A12-53BA-BFC8-88B7FF7977C6)]
            interface ICompositor7 : IInspectable
            {
                [propget] HRESULT DispatcherQueue([out] [retval] Windows.System.DispatcherQueue** value);
                HRESULT CreateAnimationPropertyInfo([out] [retval] Windows.UI.Composition.AnimationPropertyInfo** result);
                [overload("CreateRectangleClip")] HRESULT CreateRectangleClip([out] [retval] Windows.UI.Composition.RectangleClip** result);
                [overload("CreateRectangleClip")] HRESULT CreateRectangleClipWithSides([in] FLOAT left, [in] FLOAT top, [in] FLOAT right, [in] FLOAT bottom, [out] [retval] Windows.UI.Composition.RectangleClip** result);
                [overload("CreateRectangleClip")] HRESULT CreateRectangleClipWithSidesAndRadius([in] FLOAT left, [in] FLOAT top, [in] FLOAT right, [in] FLOAT bottom, [in] Windows.Foundation.Numerics.Vector2 topLeftRadius, [in] Windows.Foundation.Numerics.Vector2 topRightRadius, [in] Windows.Foundation.Numerics.Vector2 bottomRightRadius, [in] Windows.Foundation.Numerics.Vector2 bottomLeftRadius, [out] [retval] Windows.UI.Composition.RectangleClip** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(9A0BDEE2-FE7B-5F62-A366-9CF8EFFE2112)]
            interface ICompositor8 : IInspectable
            {
                HRESULT CreateAnimationController([out] [retval] Windows.UI.Composition.AnimationController** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(080DB93E-121E-4D97-8B74-1DFCF91987EA)]
            interface ICompositorStatics : IInspectable
            {
                [propget] HRESULT MaxGlobalPlaybackRate([out] [retval] FLOAT* value);
                [propget] HRESULT MinGlobalPlaybackRate([out] [retval] FLOAT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(0D8FB190-F122-5B8D-9FDD-543B0D8EB7F3)]
            interface ICompositorWithBlurredWallpaperBackdropBrush : IInspectable
            {
                HRESULT TryCreateBlurredWallpaperBackdropBrush([out] [retval] Windows.UI.Composition.CompositionBackdropBrush** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(A2E6330E-8A60-5A38-BB85-B44EA901677C)]
            interface ICompositorWithProjectedShadow : IInspectable
            {
                HRESULT CreateProjectedShadowCaster([out] [retval] Windows.UI.Composition.CompositionProjectedShadowCaster** result);
                HRESULT CreateProjectedShadow([out] [retval] Windows.UI.Composition.CompositionProjectedShadow** result);
                HRESULT CreateProjectedShadowReceiver([out] [retval] Windows.UI.Composition.CompositionProjectedShadowReceiver** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(98B9C1A7-8E71-4B53-B4A8-69BA5D19DC5B)]
            interface ICompositorWithRadialGradient : IInspectable
            {
                HRESULT CreateRadialGradientBrush([out] [retval] Windows.UI.Composition.CompositionRadialGradientBrush** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Composition.Compositor)]
            [uuid(CFA1658B-0123-4551-8891-89BDCC40322B)]
            interface ICompositorWithVisualSurface : IInspectable
            {
                HRESULT CreateVisualSurface([out] [retval] Windows.UI.Composition.CompositionVisualSurface** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.ContainerVisual)]
            [uuid(02F6BC74-ED20-4773-AFE6-D49B4A93DB32)]
            interface IContainerVisual : IInspectable
            {
                [propget] HRESULT Children([out] [retval] Windows.UI.Composition.VisualCollection** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.ContainerVisual)]
            [uuid(0363A65B-C7DA-4D9A-95F4-69B5C8DF670B)]
            interface IContainerVisualFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.CubicBezierEasingFunction)]
            [uuid(32350666-C1E8-44F9-96B8-C98ACF0AE698)]
            interface ICubicBezierEasingFunction : IInspectable
            {
                [propget] HRESULT ControlPoint1([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propget] HRESULT ControlPoint2([out] [retval] Windows.Foundation.Numerics.Vector2* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.DelegatedInkTrailVisual)]
            [uuid(856E60B1-E1AB-5B23-8E3D-D513F221C998)]
            interface IDelegatedInkTrailVisual : IInspectable
            {
                HRESULT AddTrailPoints([in] UINT32 __inkPointsSize, [in] [size_is(__inkPointsSize)] Windows.UI.Composition.InkTrailPoint* inkPoints, [out] [retval] UINT32* result);
                HRESULT AddTrailPointsWithPrediction([in] UINT32 __inkPointsSize, [in] [size_is(__inkPointsSize)] Windows.UI.Composition.InkTrailPoint* inkPoints, [in] UINT32 __predictedInkPointsSize, [in] [size_is(__predictedInkPointsSize)] Windows.UI.Composition.InkTrailPoint* predictedInkPoints, [out] [retval] UINT32* result);
                HRESULT RemoveTrailPoints([in] UINT32 generationId);
                HRESULT StartNewTrail([in] Windows.UI.Color color);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.DelegatedInkTrailVisual)]
            [uuid(0DAF6BD5-42C6-555C-9267-E0AC663AF836)]
            interface IDelegatedInkTrailVisualStatics : IInspectable
            {
                HRESULT Create([in] Windows.UI.Composition.Compositor* compositor, [out] [retval] Windows.UI.Composition.DelegatedInkTrailVisual** result);
                HRESULT CreateForSwapChain([in] Windows.UI.Composition.Compositor* compositor, [in] Windows.UI.Composition.ICompositionSurface* swapChain, [out] [retval] Windows.UI.Composition.DelegatedInkTrailVisual** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.DistantLight)]
            [uuid(318CFAFC-5CE3-4B55-AB5D-07A00353AC99)]
            interface IDistantLight : IInspectable
            {
                [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Color([in] Windows.UI.Color value);
                [propget] HRESULT CoordinateSpace([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT CoordinateSpace([in] Windows.UI.Composition.Visual* value);
                [propget] HRESULT Direction([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT Direction([in] Windows.Foundation.Numerics.Vector3 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.DistantLight)]
            [uuid(DBCDAA1C-294B-48D7-B60E-76DF64AA392B)]
            interface IDistantLight2 : IInspectable
            {
                [propget] HRESULT Intensity([out] [retval] FLOAT* value);
                [propput] HRESULT Intensity([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.DropShadow)]
            [uuid(CB977C07-A154-4851-85E7-A8924C84FAD8)]
            interface IDropShadow : IInspectable
            {
                [propget] HRESULT BlurRadius([out] [retval] FLOAT* value);
                [propput] HRESULT BlurRadius([in] FLOAT value);
                [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Color([in] Windows.UI.Color value);
                [propget] HRESULT Mask([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT Mask([in] Windows.UI.Composition.CompositionBrush* value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT Opacity([out] [retval] FLOAT* value);
                [propput] HRESULT Opacity([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.DropShadow)]
            [uuid(6C4218BC-15B9-4C2D-8D4A-0767DF11977A)]
            interface IDropShadow2 : IInspectable
            {
                [propget] HRESULT SourcePolicy([out] [retval] Windows.UI.Composition.CompositionDropShadowSourcePolicy* value);
                [propput] HRESULT SourcePolicy([in] Windows.UI.Composition.CompositionDropShadowSourcePolicy value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.ElasticEasingFunction)]
            [uuid(66DE6285-054E-5594-8475-C22CB51F1BD5)]
            interface IElasticEasingFunction : IInspectable
            {
                [propget] HRESULT Mode([out] [retval] Windows.UI.Composition.CompositionEasingFunctionMode* value);
                [propget] HRESULT Oscillations([out] [retval] INT32* value);
                [propget] HRESULT Springiness([out] [retval] FLOAT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.ExponentialEasingFunction)]
            [uuid(6F7D1A51-98D2-5638-A34A-00486554C750)]
            interface IExponentialEasingFunction : IInspectable
            {
                [propget] HRESULT Mode([out] [retval] Windows.UI.Composition.CompositionEasingFunctionMode* value);
                [propget] HRESULT Exponent([out] [retval] FLOAT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.ExpressionAnimation)]
            [uuid(6ACC5431-7D3D-4BF3-ABB6-F44BDC4888C1)]
            interface IExpressionAnimation : IInspectable
            {
                [propget] HRESULT Expression([out] [retval] HSTRING* value);
                [propput] HRESULT Expression([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.ImplicitAnimationCollection)]
            [uuid(0598A3FF-0A92-4C9D-A427-B25519250DBF)]
            interface IImplicitAnimationCollection : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.InsetClip)]
            [uuid(1E73E647-84C7-477A-B474-5880E0442E15)]
            interface IInsetClip : IInspectable
            {
                [propget] HRESULT BottomInset([out] [retval] FLOAT* value);
                [propput] HRESULT BottomInset([in] FLOAT value);
                [propget] HRESULT LeftInset([out] [retval] FLOAT* value);
                [propput] HRESULT LeftInset([in] FLOAT value);
                [propget] HRESULT RightInset([out] [retval] FLOAT* value);
                [propput] HRESULT RightInset([in] FLOAT value);
                [propget] HRESULT TopInset([out] [retval] FLOAT* value);
                [propput] HRESULT TopInset([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.KeyFrameAnimation)]
            [uuid(126E7F22-3AE9-4540-9A8A-DEAE8A4A4A84)]
            interface IKeyFrameAnimation : IInspectable
            {
                [propget] HRESULT DelayTime([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT DelayTime([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Duration([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT IterationBehavior([out] [retval] Windows.UI.Composition.AnimationIterationBehavior* value);
                [propput] HRESULT IterationBehavior([in] Windows.UI.Composition.AnimationIterationBehavior value);
                [propget] HRESULT IterationCount([out] [retval] INT32* value);
                [propput] HRESULT IterationCount([in] INT32 value);
                [propget] HRESULT KeyFrameCount([out] [retval] INT32* value);
                [propget] HRESULT StopBehavior([out] [retval] Windows.UI.Composition.AnimationStopBehavior* value);
                [propput] HRESULT StopBehavior([in] Windows.UI.Composition.AnimationStopBehavior value);
                [overload("InsertExpressionKeyFrame")] HRESULT InsertExpressionKeyFrame([in] FLOAT normalizedProgressKey, [in] HSTRING value);
                [overload("InsertExpressionKeyFrame")] HRESULT InsertExpressionKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] HSTRING value, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.KeyFrameAnimation)]
            [uuid(F4B488BB-2940-4EC0-A41A-EB6D801A2F18)]
            interface IKeyFrameAnimation2 : IInspectable
            {
                [propget] HRESULT Direction([out] [retval] Windows.UI.Composition.AnimationDirection* value);
                [propput] HRESULT Direction([in] Windows.UI.Composition.AnimationDirection value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.KeyFrameAnimation)]
            [uuid(845BF0B4-D8DE-462F-8753-C80D43C6FF5A)]
            interface IKeyFrameAnimation3 : IInspectable
            {
                [propget] HRESULT DelayBehavior([out] [retval] Windows.UI.Composition.AnimationDelayBehavior* value);
                [propput] HRESULT DelayBehavior([in] Windows.UI.Composition.AnimationDelayBehavior value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.KeyFrameAnimation)]
            [uuid(BF0803F8-712A-4FC1-8C87-970859ED8D2E)]
            interface IKeyFrameAnimationFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.LayerVisual)]
            [uuid(AF843985-0444-4887-8E83-B40B253F822C)]
            interface ILayerVisual : IInspectable
            {
                [propget] HRESULT Effect([out] [retval] Windows.UI.Composition.CompositionEffectBrush** value);
                [propput] HRESULT Effect([in] Windows.UI.Composition.CompositionEffectBrush* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.LayerVisual)]
            [uuid(98F9AEEB-6F23-49F1-90B1-1F59A14FBCE3)]
            interface ILayerVisual2 : IInspectable
            {
                [propget] HRESULT Shadow([out] [retval] Windows.UI.Composition.CompositionShadow** value);
                [propput] HRESULT Shadow([in] Windows.UI.Composition.CompositionShadow* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.LinearEasingFunction)]
            [uuid(9400975A-C7A6-46B3-ACF7-1A268A0A117D)]
            interface ILinearEasingFunction : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.NaturalMotionAnimation)]
            [uuid(438DE12D-769B-4821-A949-284A6547E873)]
            interface INaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT DelayBehavior([out] [retval] Windows.UI.Composition.AnimationDelayBehavior* value);
                [propput] HRESULT DelayBehavior([in] Windows.UI.Composition.AnimationDelayBehavior value);
                [propget] HRESULT DelayTime([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT DelayTime([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT StopBehavior([out] [retval] Windows.UI.Composition.AnimationStopBehavior* value);
                [propput] HRESULT StopBehavior([in] Windows.UI.Composition.AnimationStopBehavior value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.NaturalMotionAnimation)]
            [uuid(F53ACB06-CF6A-4387-A3FE-5221F3E7E0E0)]
            interface INaturalMotionAnimationFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.PathKeyFrameAnimation)]
            [uuid(9D0D18C9-1576-4B3F-BE60-1D5031F5E71B)]
            interface IPathKeyFrameAnimation : IInspectable
            {
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] Windows.UI.Composition.CompositionPath* path);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] Windows.UI.Composition.CompositionPath* path, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.PointLight)]
            [uuid(B18545B3-0C5A-4AB0-BEDC-4F3546948272)]
            interface IPointLight : IInspectable
            {
                [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT Color([in] Windows.UI.Color value);
                [propget] HRESULT ConstantAttenuation([out] [retval] FLOAT* value);
                [propput] HRESULT ConstantAttenuation([in] FLOAT value);
                [propget] HRESULT CoordinateSpace([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT CoordinateSpace([in] Windows.UI.Composition.Visual* value);
                [propget] HRESULT LinearAttenuation([out] [retval] FLOAT* value);
                [propput] HRESULT LinearAttenuation([in] FLOAT value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT QuadraticAttenuation([out] [retval] FLOAT* value);
                [propput] HRESULT QuadraticAttenuation([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.PointLight)]
            [uuid(EFE98F2C-0678-4F69-B164-A810D995BCB7)]
            interface IPointLight2 : IInspectable
            {
                [propget] HRESULT Intensity([out] [retval] FLOAT* value);
                [propput] HRESULT Intensity([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.PointLight)]
            [uuid(4C0A8367-D4E9-468A-87AE-7BA43AB29485)]
            interface IPointLight3 : IInspectable
            {
                [propget] HRESULT MinAttenuationCutoff([out] [retval] FLOAT* value);
                [propput] HRESULT MinAttenuationCutoff([in] FLOAT value);
                [propget] HRESULT MaxAttenuationCutoff([out] [retval] FLOAT* value);
                [propput] HRESULT MaxAttenuationCutoff([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.PowerEasingFunction)]
            [uuid(C3FF53D6-138B-5815-891A-B7F615CCC563)]
            interface IPowerEasingFunction : IInspectable
            {
                [propget] HRESULT Mode([out] [retval] Windows.UI.Composition.CompositionEasingFunctionMode* value);
                [propget] HRESULT Power([out] [retval] FLOAT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.QuaternionKeyFrameAnimation)]
            [uuid(404E5835-ECF6-4240-8520-671279CF36BC)]
            interface IQuaternionKeyFrameAnimation : IInspectable
            {
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Quaternion value);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Quaternion value, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.RectangleClip)]
            [uuid(B3E7549E-00B4-5B53-8BE8-353F6C433101)]
            interface IRectangleClip : IInspectable
            {
                [propget] HRESULT Bottom([out] [retval] FLOAT* value);
                [propput] HRESULT Bottom([in] FLOAT value);
                [propget] HRESULT BottomLeftRadius([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT BottomLeftRadius([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT BottomRightRadius([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT BottomRightRadius([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT Left([out] [retval] FLOAT* value);
                [propput] HRESULT Left([in] FLOAT value);
                [propget] HRESULT Right([out] [retval] FLOAT* value);
                [propput] HRESULT Right([in] FLOAT value);
                [propget] HRESULT Top([out] [retval] FLOAT* value);
                [propput] HRESULT Top([in] FLOAT value);
                [propget] HRESULT TopLeftRadius([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT TopLeftRadius([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT TopRightRadius([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT TopRightRadius([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Composition.RedirectVisual)]
            [uuid(8CC6E340-8B75-5422-B06F-09FFE9F8617E)]
            interface IRedirectVisual : IInspectable
            {
                [propget] HRESULT Source([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT Source([in] Windows.UI.Composition.Visual* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.RenderingDeviceReplacedEventArgs)]
            [uuid(3A31AC7D-28BF-4E7A-8524-71679D480F38)]
            interface IRenderingDeviceReplacedEventArgs : IInspectable
            {
                [propget] HRESULT GraphicsDevice([out] [retval] Windows.UI.Composition.CompositionGraphicsDevice** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.ScalarKeyFrameAnimation)]
            [uuid(AE288FA9-252C-4B95-A725-BF85E38000A1)]
            interface IScalarKeyFrameAnimation : IInspectable
            {
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] FLOAT value);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] FLOAT value, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.ScalarNaturalMotionAnimation)]
            [uuid(94A94581-BF92-495B-B5BD-D2C659430737)]
            interface IScalarNaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT FinalValue([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
                [propput] HRESULT FinalValue([in] Windows.Foundation.IReference<FLOAT>* value);
                [propget] HRESULT InitialValue([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
                [propput] HRESULT InitialValue([in] Windows.Foundation.IReference<FLOAT>* value);
                [propget] HRESULT InitialVelocity([out] [retval] FLOAT* value);
                [propput] HRESULT InitialVelocity([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.ScalarNaturalMotionAnimation)]
            [uuid(835AA4FC-671C-41DD-AF48-AE8DEF8B1529)]
            interface IScalarNaturalMotionAnimationFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.ShapeVisual)]
            [uuid(F2BD13C3-BA7E-4B0F-9126-FFB7536B8176)]
            interface IShapeVisual : IInspectable
            {
                [propget] HRESULT Shapes([out] [retval] Windows.UI.Composition.CompositionShapeCollection** value);
                [propget] HRESULT ViewBox([out] [retval] Windows.UI.Composition.CompositionViewBox** value);
                [propput] HRESULT ViewBox([in] Windows.UI.Composition.CompositionViewBox* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.SineEasingFunction)]
            [uuid(F1B518BF-9563-5474-BD13-44B2DF4B1D58)]
            interface ISineEasingFunction : IInspectable
            {
                [propget] HRESULT Mode([out] [retval] Windows.UI.Composition.CompositionEasingFunctionMode* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.SpotLight)]
            [uuid(5A9FE273-44A1-4F95-A422-8FA5116BDB44)]
            interface ISpotLight : IInspectable
            {
                [propget] HRESULT ConstantAttenuation([out] [retval] FLOAT* value);
                [propput] HRESULT ConstantAttenuation([in] FLOAT value);
                [propget] HRESULT CoordinateSpace([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT CoordinateSpace([in] Windows.UI.Composition.Visual* value);
                [propget] HRESULT Direction([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT Direction([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT InnerConeAngle([out] [retval] FLOAT* value);
                [propput] HRESULT InnerConeAngle([in] FLOAT value);
                [propget] HRESULT InnerConeAngleInDegrees([out] [retval] FLOAT* value);
                [propput] HRESULT InnerConeAngleInDegrees([in] FLOAT value);
                [propget] HRESULT InnerConeColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT InnerConeColor([in] Windows.UI.Color value);
                [propget] HRESULT LinearAttenuation([out] [retval] FLOAT* value);
                [propput] HRESULT LinearAttenuation([in] FLOAT value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT OuterConeAngle([out] [retval] FLOAT* value);
                [propput] HRESULT OuterConeAngle([in] FLOAT value);
                [propget] HRESULT OuterConeAngleInDegrees([out] [retval] FLOAT* value);
                [propput] HRESULT OuterConeAngleInDegrees([in] FLOAT value);
                [propget] HRESULT OuterConeColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT OuterConeColor([in] Windows.UI.Color value);
                [propget] HRESULT QuadraticAttenuation([out] [retval] FLOAT* value);
                [propput] HRESULT QuadraticAttenuation([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.SpotLight)]
            [uuid(64EE615E-0686-4DEA-A9E8-BC3A8C701459)]
            interface ISpotLight2 : IInspectable
            {
                [propget] HRESULT InnerConeIntensity([out] [retval] FLOAT* value);
                [propput] HRESULT InnerConeIntensity([in] FLOAT value);
                [propget] HRESULT OuterConeIntensity([out] [retval] FLOAT* value);
                [propput] HRESULT OuterConeIntensity([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.Composition.SpotLight)]
            [uuid(E4D03EEA-131F-480E-859E-B82705B74360)]
            interface ISpotLight3 : IInspectable
            {
                [propget] HRESULT MinAttenuationCutoff([out] [retval] FLOAT* value);
                [propput] HRESULT MinAttenuationCutoff([in] FLOAT value);
                [propget] HRESULT MaxAttenuationCutoff([out] [retval] FLOAT* value);
                [propput] HRESULT MaxAttenuationCutoff([in] FLOAT value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.SpringScalarNaturalMotionAnimation)]
            [uuid(0572A95F-37F9-4FBE-B87B-5CD03A89501C)]
            interface ISpringScalarNaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT DampingRatio([out] [retval] FLOAT* value);
                [propput] HRESULT DampingRatio([in] FLOAT value);
                [propget] HRESULT Period([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Period([in] Windows.Foundation.TimeSpan value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.SpringVector2NaturalMotionAnimation)]
            [uuid(23F494B5-EE73-4F0F-A423-402B946DF4B3)]
            interface ISpringVector2NaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT DampingRatio([out] [retval] FLOAT* value);
                [propput] HRESULT DampingRatio([in] FLOAT value);
                [propget] HRESULT Period([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Period([in] Windows.Foundation.TimeSpan value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.SpringVector3NaturalMotionAnimation)]
            [uuid(6C8749DF-D57B-4794-8E2D-CECB11E194E5)]
            interface ISpringVector3NaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT DampingRatio([out] [retval] FLOAT* value);
                [propput] HRESULT DampingRatio([in] FLOAT value);
                [propget] HRESULT Period([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT Period([in] Windows.Foundation.TimeSpan value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.SpriteVisual)]
            [uuid(08E05581-1AD1-4F97-9757-402D76E4233B)]
            interface ISpriteVisual : IInspectable
            {
                [propget] HRESULT Brush([out] [retval] Windows.UI.Composition.CompositionBrush** value);
                [propput] HRESULT Brush([in] Windows.UI.Composition.CompositionBrush* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.SpriteVisual)]
            [uuid(588C9664-997A-4850-91FE-53CB58F81CE9)]
            interface ISpriteVisual2 : IInspectable
            {
                [propget] HRESULT Shadow([out] [retval] Windows.UI.Composition.CompositionShadow** value);
                [propput] HRESULT Shadow([in] Windows.UI.Composition.CompositionShadow* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.StepEasingFunction)]
            [uuid(D0CAA74B-560C-4A0B-A5F6-206CA8C3ECD6)]
            interface IStepEasingFunction : IInspectable
            {
                [propget] HRESULT FinalStep([out] [retval] INT32* value);
                [propput] HRESULT FinalStep([in] INT32 value);
                [propget] HRESULT InitialStep([out] [retval] INT32* value);
                [propput] HRESULT InitialStep([in] INT32 value);
                [propget] HRESULT IsFinalStepSingleFrame([out] [retval] boolean* value);
                [propput] HRESULT IsFinalStepSingleFrame([in] boolean value);
                [propget] HRESULT IsInitialStepSingleFrame([out] [retval] boolean* value);
                [propput] HRESULT IsInitialStepSingleFrame([in] boolean value);
                [propget] HRESULT StepCount([out] [retval] INT32* value);
                [propput] HRESULT StepCount([in] INT32 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.Vector2KeyFrameAnimation)]
            [uuid(DF414515-4E29-4F11-B55E-BF2A6EB36294)]
            interface IVector2KeyFrameAnimation : IInspectable
            {
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Vector2 value);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Vector2 value, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.Vector2NaturalMotionAnimation)]
            [uuid(0F3E0B7D-E512-479D-A00C-77C93A30A395)]
            interface IVector2NaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT FinalValue([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector2>** value);
                [propput] HRESULT FinalValue([in] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector2>* value);
                [propget] HRESULT InitialValue([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector2>** value);
                [propput] HRESULT InitialValue([in] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector2>* value);
                [propget] HRESULT InitialVelocity([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT InitialVelocity([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.Vector2NaturalMotionAnimation)]
            [uuid(8C74FF61-0761-48A2-BDDB-6AFCC52B89D8)]
            interface IVector2NaturalMotionAnimationFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.Vector3KeyFrameAnimation)]
            [uuid(C8039DAA-A281-43C2-A73D-B68E3C533C40)]
            interface IVector3KeyFrameAnimation : IInspectable
            {
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Vector3 value);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Vector3 value, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.Vector3NaturalMotionAnimation)]
            [uuid(9C17042C-E2CA-45AD-969E-4E78B7B9AD41)]
            interface IVector3NaturalMotionAnimation : IInspectable
            {
                [propget] HRESULT FinalValue([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>** value);
                [propput] HRESULT FinalValue([in] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>* value);
                [propget] HRESULT InitialValue([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>** value);
                [propput] HRESULT InitialValue([in] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>* value);
                [propget] HRESULT InitialVelocity([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT InitialVelocity([in] Windows.Foundation.Numerics.Vector3 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Composition.Vector3NaturalMotionAnimation)]
            [uuid(21A81D2F-0880-457B-AC87-B609018C876D)]
            interface IVector3NaturalMotionAnimationFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.Vector4KeyFrameAnimation)]
            [uuid(2457945B-ADDD-4385-9606-B6A3D5E4E1B9)]
            interface IVector4KeyFrameAnimation : IInspectable
            {
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrame([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Vector4 value);
                [overload("InsertKeyFrame")] HRESULT InsertKeyFrameWithEasingFunction([in] FLOAT normalizedProgressKey, [in] Windows.Foundation.Numerics.Vector4 value, [in] Windows.UI.Composition.CompositionEasingFunction* easingFunction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.Visual)]
            [uuid(117E202D-A859-4C89-873B-C2AA566788E3)]
            interface IVisual : IInspectable
            {
                [propget] HRESULT AnchorPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT AnchorPoint([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT BackfaceVisibility([out] [retval] Windows.UI.Composition.CompositionBackfaceVisibility* value);
                [propput] HRESULT BackfaceVisibility([in] Windows.UI.Composition.CompositionBackfaceVisibility value);
                [propget] HRESULT BorderMode([out] [retval] Windows.UI.Composition.CompositionBorderMode* value);
                [propput] HRESULT BorderMode([in] Windows.UI.Composition.CompositionBorderMode value);
                [propget] HRESULT CenterPoint([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT CenterPoint([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT Clip([out] [retval] Windows.UI.Composition.CompositionClip** value);
                [propput] HRESULT Clip([in] Windows.UI.Composition.CompositionClip* value);
                [propget] HRESULT CompositeMode([out] [retval] Windows.UI.Composition.CompositionCompositeMode* value);
                [propput] HRESULT CompositeMode([in] Windows.UI.Composition.CompositionCompositeMode value);
                [propget] HRESULT IsVisible([out] [retval] boolean* value);
                [propput] HRESULT IsVisible([in] boolean value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT Offset([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT Opacity([out] [retval] FLOAT* value);
                [propput] HRESULT Opacity([in] FLOAT value);
                [propget] HRESULT Orientation([out] [retval] Windows.Foundation.Numerics.Quaternion* value);
                [propput] HRESULT Orientation([in] Windows.Foundation.Numerics.Quaternion value);
                [propget] HRESULT Parent([out] [retval] Windows.UI.Composition.ContainerVisual** value);
                [propget] HRESULT RotationAngle([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngle([in] FLOAT value);
                [propget] HRESULT RotationAngleInDegrees([out] [retval] FLOAT* value);
                [propput] HRESULT RotationAngleInDegrees([in] FLOAT value);
                [propget] HRESULT RotationAxis([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT RotationAxis([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT Scale([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT Scale([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT Size([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT Size([in] Windows.Foundation.Numerics.Vector2 value);
                [propget] HRESULT TransformMatrix([out] [retval] Windows.Foundation.Numerics.Matrix4x4* value);
                [propput] HRESULT TransformMatrix([in] Windows.Foundation.Numerics.Matrix4x4 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Composition.Visual)]
            [uuid(3052B611-56C3-4C3E-8BF3-F6E1AD473F06)]
            interface IVisual2 : IInspectable
            {
                [propget] HRESULT ParentForTransform([out] [retval] Windows.UI.Composition.Visual** value);
                [propput] HRESULT ParentForTransform([in] Windows.UI.Composition.Visual* value);
                [propget] HRESULT RelativeOffsetAdjustment([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                [propput] HRESULT RelativeOffsetAdjustment([in] Windows.Foundation.Numerics.Vector3 value);
                [propget] HRESULT RelativeSizeAdjustment([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                [propput] HRESULT RelativeSizeAdjustment([in] Windows.Foundation.Numerics.Vector2 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 11.0)]
            [exclusiveto(Windows.UI.Composition.Visual)]
            [uuid(30BE580D-F4B6-4AB7-80DD-3738CBAC9F2C)]
            interface IVisual3 : IInspectable
            {
                [propget] HRESULT IsHitTestVisible([out] [retval] boolean* value);
                [propput] HRESULT IsHitTestVisible([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.Composition.Visual)]
            [uuid(9476BF11-E24B-5BF9-9EBE-6274109B2711)]
            interface IVisual4 : IInspectable
            {
                [propget] HRESULT IsPixelSnappingEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsPixelSnappingEnabled([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.VisualCollection)]
            [uuid(8B745505-FD3E-4A98-84A8-E949468C6BCB)]
            interface IVisualCollection : IInspectable
            {
                [propget] HRESULT Count([out] [retval] INT32* value);
                HRESULT InsertAbove([in] Windows.UI.Composition.Visual* newChild, [in] Windows.UI.Composition.Visual* sibling);
                HRESULT InsertAtBottom([in] Windows.UI.Composition.Visual* newChild);
                HRESULT InsertAtTop([in] Windows.UI.Composition.Visual* newChild);
                HRESULT InsertBelow([in] Windows.UI.Composition.Visual* newChild, [in] Windows.UI.Composition.Visual* sibling);
                HRESULT Remove([in] Windows.UI.Composition.Visual* child);
                HRESULT RemoveAll();
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [uuid(01E64612-1D82-42F4-8E3F-A722DED33FC7)]
            interface IVisualElement : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [uuid(993AE8A0-6057-5E40-918C-E06E0B7E7C64)]
            interface IVisualElement2 : IInspectable
            {
                HRESULT GetVisualInternal([out] [retval] Windows.UI.Composition.Visual** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.Composition.Visual)]
            [uuid(AD0FF93E-B502-4EB5-87B4-9A38A71D0137)]
            interface IVisualFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Composition.VisualUnorderedCollection)]
            [uuid(338FAA70-54C8-40A7-8029-C9CEEB0AA250)]
            interface IVisualUnorderedCollection : IInspectable
            {
                [propget] HRESULT Count([out] [retval] INT32* value);
                HRESULT Add([in] Windows.UI.Composition.Visual* newVisual);
                HRESULT Remove([in] Windows.UI.Composition.Visual* visual);
                HRESULT RemoveAll();
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AmbientLight : Windows.UI.Composition.CompositionLight
            {
                [default] interface Windows.UI.Composition.IAmbientLight;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.IAmbientLight2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Composition.IAnimationControllerStatics, Windows.Foundation.UniversalApiContract, 6.0)]
            [threading(both)]
            runtimeclass AnimationController : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.IAnimationController;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AnimationPropertyInfo : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.IAnimationPropertyInfo;
                [contract(Windows.Foundation.UniversalApiContract, 12.0)] interface Windows.UI.Composition.IAnimationPropertyInfo2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass BackEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.IBackEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass BooleanKeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IBooleanKeyFrameAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass BounceEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.IBounceEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass BounceScalarNaturalMotionAnimation : Windows.UI.Composition.ScalarNaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.IBounceScalarNaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass BounceVector2NaturalMotionAnimation : Windows.UI.Composition.Vector2NaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.IBounceVector2NaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass BounceVector3NaturalMotionAnimation : Windows.UI.Composition.Vector3NaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.IBounceVector3NaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CircleEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.ICircleEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ColorKeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IColorKeyFrameAnimation;
            }

            [composable(Windows.UI.Composition.ICompositionAnimationFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionAnimation : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionAnimation;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositionAnimation2;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.ICompositionAnimation3;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Composition.ICompositionAnimation4;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositionAnimationBase;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionAnimationGroup : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionAnimationGroup;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionAnimation*>;
                interface Windows.UI.Composition.ICompositionAnimationBase;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionBackdropBrush : Windows.UI.Composition.CompositionBrush
            {
                [default] interface Windows.UI.Composition.ICompositionBackdropBrush;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionBatchCompletedEventArgs : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionBatchCompletedEventArgs;
            }

            [composable(Windows.UI.Composition.ICompositionBrushFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionBrush : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionBrush;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Composition.ICompositionCapabilitiesStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass CompositionCapabilities
            {
                [default] interface Windows.UI.Composition.ICompositionCapabilities;
            }

            [composable(Windows.UI.Composition.ICompositionClipFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionClip : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionClip;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositionClip2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionColorBrush : Windows.UI.Composition.CompositionBrush
            {
                [default] interface Windows.UI.Composition.ICompositionColorBrush;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionColorGradientStop : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionColorGradientStop;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass CompositionColorGradientStopCollection
            {
                [default] interface Windows.UI.Composition.ICompositionColorGradientStopCollection;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionColorGradientStop*>;
                interface Windows.Foundation.Collections.IVector<Windows.UI.Composition.CompositionColorGradientStop*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionCommitBatch : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionCommitBatch;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionContainerShape : Windows.UI.Composition.CompositionShape
            {
                [default] interface Windows.UI.Composition.ICompositionContainerShape;
            }

            [composable(Windows.UI.Composition.ICompositionDrawingSurfaceFactory, public, Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionDrawingSurface : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionDrawingSurface;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.ICompositionDrawingSurface2;
                interface Windows.UI.Composition.ICompositionSurface;
            }

            [composable(Windows.UI.Composition.ICompositionEasingFunctionFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Composition.ICompositionEasingFunctionStatics, Windows.Foundation.UniversalApiContract, 12.0)]
            [threading(both)]
            runtimeclass CompositionEasingFunction : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionEffectBrush : Windows.UI.Composition.CompositionBrush
            {
                [default] interface Windows.UI.Composition.ICompositionEffectBrush;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionEffectFactory : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionEffectFactory;
            }

            [activatable(Windows.UI.Composition.ICompositionEffectSourceParameterFactory, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionEffectSourceParameter
            {
                [default] interface Windows.UI.Composition.ICompositionEffectSourceParameter;
                interface Windows.Graphics.Effects.IGraphicsEffectSource;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionEllipseGeometry : Windows.UI.Composition.CompositionGeometry
            {
                [default] interface Windows.UI.Composition.ICompositionEllipseGeometry;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionGeometricClip : Windows.UI.Composition.CompositionClip
            {
                [default] interface Windows.UI.Composition.ICompositionGeometricClip;
            }

            [composable(Windows.UI.Composition.ICompositionGeometryFactory, public, Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionGeometry : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionGeometry;
            }

            [composable(Windows.UI.Composition.ICompositionGradientBrushFactory, public, Windows.Foundation.UniversalApiContract, 5.0)]
            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionGradientBrush : Windows.UI.Composition.CompositionBrush
            {
                [default] interface Windows.UI.Composition.ICompositionGradientBrush;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Composition.ICompositionGradientBrush2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionGraphicsDevice : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionGraphicsDevice;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.ICompositionGraphicsDevice2;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.ICompositionGraphicsDevice3;
                [contract(Windows.Foundation.UniversalApiContract, 12.0)] interface Windows.UI.Composition.ICompositionGraphicsDevice4;
            }

            [composable(Windows.UI.Composition.ICompositionLightFactory, public, Windows.Foundation.UniversalApiContract, 3.0)]
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionLight : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionLight;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.ICompositionLight2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Composition.ICompositionLight3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionLineGeometry : Windows.UI.Composition.CompositionGeometry
            {
                [default] interface Windows.UI.Composition.ICompositionLineGeometry;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionLinearGradientBrush : Windows.UI.Composition.CompositionGradientBrush
            {
                [default] interface Windows.UI.Composition.ICompositionLinearGradientBrush;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionMaskBrush : Windows.UI.Composition.CompositionBrush
            {
                [default] interface Windows.UI.Composition.ICompositionMaskBrush;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionMipmapSurface : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionMipmapSurface;
                interface Windows.UI.Composition.ICompositionSurface;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionNineGridBrush : Windows.UI.Composition.CompositionBrush
            {
                [default] interface Windows.UI.Composition.ICompositionNineGridBrush;
            }

            [composable(Windows.UI.Composition.ICompositionObjectFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Composition.ICompositionObjectStatics, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionObject;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositionObject2;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.ICompositionObject3;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Composition.ICompositionObject4;
                [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.UI.Composition.ICompositionObject5;
                interface Windows.Foundation.IClosable;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Composition.IAnimationObject;
            }

            [activatable(Windows.UI.Composition.ICompositionPathFactory, Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionPath
            {
                [default] interface Windows.UI.Composition.ICompositionPath;
                interface Windows.Graphics.IGeometrySource2D;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionPathGeometry : Windows.UI.Composition.CompositionGeometry
            {
                [default] interface Windows.UI.Composition.ICompositionPathGeometry;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionProjectedShadow : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionProjectedShadow;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionProjectedShadowCaster : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionProjectedShadowCaster;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Composition.ICompositionProjectedShadowCasterCollectionStatics, Windows.Foundation.UniversalApiContract, 8.0)]
            [threading(both)]
            runtimeclass CompositionProjectedShadowCasterCollection : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionProjectedShadowCasterCollection;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionProjectedShadowCaster*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionProjectedShadowReceiver : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionProjectedShadowReceiver;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionProjectedShadowReceiverUnorderedCollection : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionProjectedShadowReceiverUnorderedCollection;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionProjectedShadowReceiver*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionPropertySet : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionPropertySet;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositionPropertySet2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionRadialGradientBrush : Windows.UI.Composition.CompositionGradientBrush
            {
                [default] interface Windows.UI.Composition.ICompositionRadialGradientBrush;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionRectangleGeometry : Windows.UI.Composition.CompositionGeometry
            {
                [default] interface Windows.UI.Composition.ICompositionRectangleGeometry;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionRoundedRectangleGeometry : Windows.UI.Composition.CompositionGeometry
            {
                [default] interface Windows.UI.Composition.ICompositionRoundedRectangleGeometry;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionScopedBatch : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionScopedBatch;
            }

            [composable(Windows.UI.Composition.ICompositionShadowFactory, public, Windows.Foundation.UniversalApiContract, 3.0)]
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionShadow : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionShadow;
            }

            [composable(Windows.UI.Composition.ICompositionShapeFactory, public, Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionShape : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionShape;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionShapeCollection : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.Foundation.Collections.IVector<Windows.UI.Composition.CompositionShape*>;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.CompositionShape*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionSpriteShape : Windows.UI.Composition.CompositionShape
            {
                [default] interface Windows.UI.Composition.ICompositionSpriteShape;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionStrokeDashArray : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.Foundation.Collections.IVector<FLOAT>;
                interface Windows.Foundation.Collections.IIterable<FLOAT>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionSurfaceBrush : Windows.UI.Composition.CompositionBrush
            {
                [default] interface Windows.UI.Composition.ICompositionSurfaceBrush;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositionSurfaceBrush2;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.ICompositionSurfaceBrush3;
            }

            [composable(Windows.UI.Composition.ICompositionTargetFactory, public, Windows.Foundation.UniversalApiContract, 5.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionTarget : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionTarget;
            }

            [composable(Windows.UI.Composition.ICompositionTextureFactory, public, Windows.Foundation.UniversalApiContract, 15.0)]
            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionTexture : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionTexture;
                interface Windows.UI.Composition.ICompositionSurface;
            }

            [composable(Windows.UI.Composition.ICompositionTransformFactory, public, Windows.Foundation.UniversalApiContract, 8.0)]
            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionTransform : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionTransform;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionViewBox : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionViewBox;
            }

            [composable(Windows.UI.Composition.ICompositionVirtualDrawingSurfaceFactory, public, Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionVirtualDrawingSurface : Windows.UI.Composition.CompositionDrawingSurface
            {
                [default] interface Windows.UI.Composition.ICompositionVirtualDrawingSurface;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompositionVisualSurface : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.ICompositionVisualSurface;
                interface Windows.UI.Composition.ICompositionSurface;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Composition.ICompositorStatics, Windows.Foundation.UniversalApiContract, 6.0)]
            [threading(both)]
            runtimeclass Compositor
            {
                [default] interface Windows.UI.Composition.ICompositor;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ICompositor2;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.ICompositor3;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.ICompositor4;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Composition.ICompositor5;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Composition.ICompositor6;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.ICompositorWithProjectedShadow;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.ICompositorWithRadialGradient;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.ICompositorWithVisualSurface;
                [contract(Windows.Foundation.UniversalApiContract, 12.0)] interface Windows.UI.Composition.ICompositor7;
                [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.UI.Composition.ICompositorWithBlurredWallpaperBackdropBrush;
                [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.UI.Composition.ICompositor8;
                interface Windows.Foundation.IClosable;
            }

            [composable(Windows.UI.Composition.IContainerVisualFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ContainerVisual : Windows.UI.Composition.Visual
            {
                [default] interface Windows.UI.Composition.IContainerVisual;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CubicBezierEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.ICubicBezierEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Composition.IDelegatedInkTrailVisualStatics, Windows.Foundation.UniversalApiContract, 12.0)]
            [threading(both)]
            runtimeclass DelegatedInkTrailVisual : Windows.UI.Composition.Visual
            {
                [default] interface Windows.UI.Composition.IDelegatedInkTrailVisual;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass DistantLight : Windows.UI.Composition.CompositionLight
            {
                [default] interface Windows.UI.Composition.IDistantLight;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.IDistantLight2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass DropShadow : Windows.UI.Composition.CompositionShadow
            {
                [default] interface Windows.UI.Composition.IDropShadow;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.IDropShadow2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ElasticEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.IElasticEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ExponentialEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.IExponentialEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ExpressionAnimation : Windows.UI.Composition.CompositionAnimation
            {
                [default] interface Windows.UI.Composition.IExpressionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ImplicitAnimationCollection : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.IImplicitAnimationCollection;
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.UI.Composition.ICompositionAnimationBase*>*>;
                interface Windows.Foundation.Collections.IMap<HSTRING, Windows.UI.Composition.ICompositionAnimationBase*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass InitialValueExpressionCollection : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.Foundation.Collections.IMap<HSTRING, HSTRING>;
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, HSTRING>*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass InsetClip : Windows.UI.Composition.CompositionClip
            {
                [default] interface Windows.UI.Composition.IInsetClip;
            }

            [composable(Windows.UI.Composition.IKeyFrameAnimationFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass KeyFrameAnimation : Windows.UI.Composition.CompositionAnimation
            {
                [default] interface Windows.UI.Composition.IKeyFrameAnimation;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.IKeyFrameAnimation2;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.IKeyFrameAnimation3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LayerVisual : Windows.UI.Composition.ContainerVisual
            {
                [default] interface Windows.UI.Composition.ILayerVisual;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.ILayerVisual2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LinearEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.ILinearEasingFunction;
            }

            [composable(Windows.UI.Composition.INaturalMotionAnimationFactory, public, Windows.Foundation.UniversalApiContract, 5.0)]
            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass NaturalMotionAnimation : Windows.UI.Composition.CompositionAnimation
            {
                [default] interface Windows.UI.Composition.INaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PathKeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IPathKeyFrameAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PointLight : Windows.UI.Composition.CompositionLight
            {
                [default] interface Windows.UI.Composition.IPointLight;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.IPointLight2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Composition.IPointLight3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PowerEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.IPowerEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass QuaternionKeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IQuaternionKeyFrameAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RectangleClip : Windows.UI.Composition.CompositionClip
            {
                [default] interface Windows.UI.Composition.IRectangleClip;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RedirectVisual : Windows.UI.Composition.ContainerVisual
            {
                [default] interface Windows.UI.Composition.IRedirectVisual;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RenderingDeviceReplacedEventArgs : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.IRenderingDeviceReplacedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ScalarKeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IScalarKeyFrameAnimation;
            }

            [composable(Windows.UI.Composition.IScalarNaturalMotionAnimationFactory, public, Windows.Foundation.UniversalApiContract, 5.0)]
            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ScalarNaturalMotionAnimation : Windows.UI.Composition.NaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.IScalarNaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ShapeVisual : Windows.UI.Composition.ContainerVisual
            {
                [default] interface Windows.UI.Composition.IShapeVisual;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SineEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.ISineEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SpotLight : Windows.UI.Composition.CompositionLight
            {
                [default] interface Windows.UI.Composition.ISpotLight;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.ISpotLight2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Composition.ISpotLight3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SpringScalarNaturalMotionAnimation : Windows.UI.Composition.ScalarNaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.ISpringScalarNaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SpringVector2NaturalMotionAnimation : Windows.UI.Composition.Vector2NaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.ISpringVector2NaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SpringVector3NaturalMotionAnimation : Windows.UI.Composition.Vector3NaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.ISpringVector3NaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SpriteVisual : Windows.UI.Composition.ContainerVisual
            {
                [default] interface Windows.UI.Composition.ISpriteVisual;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Composition.ISpriteVisual2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StepEasingFunction : Windows.UI.Composition.CompositionEasingFunction
            {
                [default] interface Windows.UI.Composition.IStepEasingFunction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass Vector2KeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IVector2KeyFrameAnimation;
            }

            [composable(Windows.UI.Composition.IVector2NaturalMotionAnimationFactory, public, Windows.Foundation.UniversalApiContract, 5.0)]
            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass Vector2NaturalMotionAnimation : Windows.UI.Composition.NaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.IVector2NaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass Vector3KeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IVector3KeyFrameAnimation;
            }

            [composable(Windows.UI.Composition.IVector3NaturalMotionAnimationFactory, public, Windows.Foundation.UniversalApiContract, 5.0)]
            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass Vector3NaturalMotionAnimation : Windows.UI.Composition.NaturalMotionAnimation
            {
                [default] interface Windows.UI.Composition.IVector3NaturalMotionAnimation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass Vector4KeyFrameAnimation : Windows.UI.Composition.KeyFrameAnimation
            {
                [default] interface Windows.UI.Composition.IVector4KeyFrameAnimation;
            }

            [composable(Windows.UI.Composition.IVisualFactory, public, Windows.Foundation.UniversalApiContract, 2.0)]
            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass Visual : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.IVisual;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.IVisual2;
                [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.UI.Composition.IVisual3;
                [contract(Windows.Foundation.UniversalApiContract, 12.0)] interface Windows.UI.Composition.IVisual4;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VisualCollection : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.IVisualCollection;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Visual*>;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VisualUnorderedCollection : Windows.UI.Composition.CompositionObject
            {
                [default] interface Windows.UI.Composition.IVisualUnorderedCollection;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Visual*>;
            }
        }
    }
}
