//
// 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.ApplicationModel.Background.idl";
import "Windows.Graphics.Imaging.idl";
import "Windows.Storage.Streams.idl";
import "Windows.UI.Xaml.idl";
import "Windows.UI.Xaml.Media.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Background
        {
            interface IBackgroundTaskInstance;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        interface IAsyncAction;

        interface IClosable;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            runtimeclass SoftwareBitmap;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

            interface IRandomAccessStream;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Xaml
        {
            runtimeclass DependencyProperty;

            delegate ExceptionRoutedEventHandler;

            delegate RoutedEventHandler;

            runtimeclass UIElement;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Xaml
        {
            namespace Media
            {
                namespace Imaging
                {
                    typedef enum BitmapCreateOptions BitmapCreateOptions;

                    typedef enum DecodePixelType DecodePixelType;

                    typedef enum SvgImageSourceLoadStatus SvgImageSourceLoadStatus;

                    delegate DownloadProgressEventHandler;

                    interface IBitmapImage;

                    interface IBitmapImage2;

                    interface IBitmapImage3;

                    interface IBitmapImageFactory;

                    interface IBitmapImageStatics;

                    interface IBitmapImageStatics2;

                    interface IBitmapImageStatics3;

                    interface IBitmapSource;

                    interface IBitmapSourceFactory;

                    interface IBitmapSourceStatics;

                    interface IDownloadProgressEventArgs;

                    interface IRenderTargetBitmap;

                    interface IRenderTargetBitmapStatics;

                    interface ISoftwareBitmapSource;

                    interface ISurfaceImageSource;

                    interface ISurfaceImageSourceFactory;

                    interface ISvgImageSource;

                    interface ISvgImageSourceFactory;

                    interface ISvgImageSourceFailedEventArgs;

                    interface ISvgImageSourceOpenedEventArgs;

                    interface ISvgImageSourceStatics;

                    interface IVirtualSurfaceImageSource;

                    interface IVirtualSurfaceImageSourceFactory;

                    interface IWriteableBitmap;

                    interface IWriteableBitmapFactory;

                    interface IXamlRenderingBackgroundTask;

                    interface IXamlRenderingBackgroundTaskFactory;

                    interface IXamlRenderingBackgroundTaskOverrides;

                    runtimeclass BitmapImage;

                    runtimeclass BitmapSource;

                    runtimeclass DownloadProgressEventArgs;

                    runtimeclass RenderTargetBitmap;

                    runtimeclass SoftwareBitmapSource;

                    runtimeclass SurfaceImageSource;

                    runtimeclass SvgImageSource;

                    runtimeclass SvgImageSourceFailedEventArgs;

                    runtimeclass SvgImageSourceOpenedEventArgs;

                    runtimeclass VirtualSurfaceImageSource;

                    runtimeclass WriteableBitmap;

                    runtimeclass XamlRenderingBackgroundTask;
                }
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Xaml
        {
            namespace Media
            {
                namespace Imaging
                {
                    declare
                    {
                        interface Windows.Foundation.IAsyncOperation<Windows.UI.Xaml.Media.Imaging.SvgImageSourceLoadStatus>;

                        interface Windows.Foundation.TypedEventHandler<Windows.UI.Xaml.Media.Imaging.SvgImageSource*, Windows.UI.Xaml.Media.Imaging.SvgImageSourceFailedEventArgs*>;

                        interface Windows.Foundation.TypedEventHandler<Windows.UI.Xaml.Media.Imaging.SvgImageSource*, Windows.UI.Xaml.Media.Imaging.SvgImageSourceOpenedEventArgs*>;
                    }
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Xaml
        {
            namespace Media
            {
                namespace Imaging
                {
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [flags]
                    enum BitmapCreateOptions
                    {
                        None             = 0x0,
                        IgnoreImageCache = 0x8
                    };

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    enum DecodePixelType
                    {
                        Physical = 0,
                        Logical  = 1
                    };

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    enum SvgImageSourceLoadStatus
                    {
                        Success       = 0,
                        NetworkError  = 1,
                        InvalidFormat = 2,
                        Other         = 3
                    };

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [uuid(1ABAEE23-74EE-4CC7-99BA-B171E3CDA61E)]
                    delegate
                        HRESULT DownloadProgressEventHandler([in] IInspectable* sender, [in] Windows.UI.Xaml.Media.Imaging.DownloadProgressEventArgs* e);

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapImage)]
                    [uuid(31AF3271-E3B4-442D-A341-4C0226B2725B)]
                    interface IBitmapImage : IInspectable
                    {
                        [propget] HRESULT CreateOptions([out] [retval] Windows.UI.Xaml.Media.Imaging.BitmapCreateOptions* value);
                        [propput] HRESULT CreateOptions([in] Windows.UI.Xaml.Media.Imaging.BitmapCreateOptions value);
                        [propget] HRESULT UriSource([out] [retval] Windows.Foundation.Uri** value);
                        [propput] HRESULT UriSource([in] Windows.Foundation.Uri* value);
                        [propget] HRESULT DecodePixelWidth([out] [retval] INT32* value);
                        [propput] HRESULT DecodePixelWidth([in] INT32 value);
                        [propget] HRESULT DecodePixelHeight([out] [retval] INT32* value);
                        [propput] HRESULT DecodePixelHeight([in] INT32 value);
                        [eventadd] HRESULT DownloadProgress([in] Windows.UI.Xaml.Media.Imaging.DownloadProgressEventHandler* handler, [out] [retval] EventRegistrationToken* token);
                        [eventremove] HRESULT DownloadProgress([in] EventRegistrationToken token);
                        [eventadd] HRESULT ImageOpened([in] Windows.UI.Xaml.RoutedEventHandler* handler, [out] [retval] EventRegistrationToken* token);
                        [eventremove] HRESULT ImageOpened([in] EventRegistrationToken token);
                        [eventadd] HRESULT ImageFailed([in] Windows.UI.Xaml.ExceptionRoutedEventHandler* handler, [out] [retval] EventRegistrationToken* token);
                        [eventremove] HRESULT ImageFailed([in] EventRegistrationToken token);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapImage)]
                    [uuid(1069C1B6-8C9B-4762-BE3D-759F5698F2B3)]
                    interface IBitmapImage2 : IInspectable
                    {
                        [propget] HRESULT DecodePixelType([out] [retval] Windows.UI.Xaml.Media.Imaging.DecodePixelType* value);
                        [propput] HRESULT DecodePixelType([in] Windows.UI.Xaml.Media.Imaging.DecodePixelType value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapImage)]
                    [uuid(F1DE6F26-3C73-453F-A7BA-9B85C18B3733)]
                    interface IBitmapImage3 : IInspectable
                    {
                        [propget] HRESULT IsAnimatedBitmap([out] [retval] boolean* value);
                        [propget] HRESULT IsPlaying([out] [retval] boolean* value);
                        [propget] HRESULT AutoPlay([out] [retval] boolean* value);
                        [propput] HRESULT AutoPlay([in] boolean value);
                        HRESULT Play();
                        HRESULT Stop();
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapImage)]
                    [uuid(C9132978-4810-4E5E-8087-03671EE60D85)]
                    interface IBitmapImageFactory : IInspectable
                    {
                        HRESULT CreateInstanceWithUriSource([in] Windows.Foundation.Uri* uriSource, [out] [retval] Windows.UI.Xaml.Media.Imaging.BitmapImage** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapImage)]
                    [uuid(9E282143-70E8-437C-9FA4-2CBF295CFF84)]
                    interface IBitmapImageStatics : IInspectable
                    {
                        [propget] HRESULT CreateOptionsProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT UriSourceProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT DecodePixelWidthProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT DecodePixelHeightProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapImage)]
                    [uuid(C5F5576A-75AF-41A4-B893-8FE91FEE2882)]
                    interface IBitmapImageStatics2 : IInspectable
                    {
                        [propget] HRESULT DecodePixelTypeProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapImage)]
                    [uuid(2B44E30D-F6D5-4411-A8CD-BF7603C4FAA0)]
                    interface IBitmapImageStatics3 : IInspectable
                    {
                        [propget] HRESULT IsAnimatedBitmapProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT IsPlayingProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT AutoPlayProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapSource)]
                    [uuid(23D86411-202F-41B2-8C5B-A8A3B333800B)]
                    interface IBitmapSource : IInspectable
                    {
                        [propget] HRESULT PixelWidth([out] [retval] INT32* value);
                        [propget] HRESULT PixelHeight([out] [retval] INT32* value);
                        HRESULT SetSource([in] Windows.Storage.Streams.IRandomAccessStream* streamSource);
                        HRESULT SetSourceAsync([in] Windows.Storage.Streams.IRandomAccessStream* streamSource, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapSource)]
                    [uuid(E240420E-D4A7-49A4-A0B4-A59FDD77E508)]
                    interface IBitmapSourceFactory : IInspectable
                    {
                        HRESULT CreateInstance([in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out] [retval] Windows.UI.Xaml.Media.Imaging.BitmapSource** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.BitmapSource)]
                    [uuid(9A9C9981-827B-4E51-891B-8A15B511842D)]
                    interface IBitmapSourceStatics : IInspectable
                    {
                        [propget] HRESULT PixelWidthProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT PixelHeightProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.DownloadProgressEventArgs)]
                    [uuid(7311E0D4-FE94-4E70-9B90-CDD47AC23AFB)]
                    interface IDownloadProgressEventArgs : IInspectable
                    {
                        [propget] HRESULT Progress([out] [retval] INT32* value);
                        [propput] HRESULT Progress([in] INT32 value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.RenderTargetBitmap)]
                    [uuid(500DEE81-893C-4C0A-8FEC-4678AC717589)]
                    interface IRenderTargetBitmap : IInspectable
                    {
                        [propget] HRESULT PixelWidth([out] [retval] INT32* value);
                        [propget] HRESULT PixelHeight([out] [retval] INT32* value);
                        [overload("RenderAsync")] HRESULT RenderAsync([in] Windows.UI.Xaml.UIElement* element, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                        [overload("RenderAsync")] HRESULT RenderToSizeAsync([in] Windows.UI.Xaml.UIElement* element, [in] INT32 scaledWidth, [in] INT32 scaledHeight, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                        HRESULT GetPixelsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer*>** operation);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.RenderTargetBitmap)]
                    [uuid(F0A1EFEE-C131-4D40-9C47-F7D7CF2B077F)]
                    interface IRenderTargetBitmapStatics : IInspectable
                    {
                        [propget] HRESULT PixelWidthProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT PixelHeightProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SoftwareBitmapSource)]
                    [uuid(D2DD9ED0-D3C5-4056-91B5-B7C1D1E8130E)]
                    interface ISoftwareBitmapSource : IInspectable
                    {
                        HRESULT SetBitmapAsync([in] Windows.Graphics.Imaging.SoftwareBitmap* softwareBitmap, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SurfaceImageSource)]
                    [uuid(62F7D416-C714-4C4C-8273-F839BC58135C)]
                    interface ISurfaceImageSource : IInspectable
                    {
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SurfaceImageSource)]
                    [uuid(3AB2212A-EF65-4A5F-BFAC-73993E8C12C9)]
                    interface ISurfaceImageSourceFactory : IInspectable
                    {
                        HRESULT CreateInstanceWithDimensions([in] INT32 pixelWidth, [in] INT32 pixelHeight, [in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out] [retval] Windows.UI.Xaml.Media.Imaging.SurfaceImageSource** value);
                        HRESULT CreateInstanceWithDimensionsAndOpacity([in] INT32 pixelWidth, [in] INT32 pixelHeight, [in] boolean isOpaque, [in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out] [retval] Windows.UI.Xaml.Media.Imaging.SurfaceImageSource** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SvgImageSource)]
                    [uuid(03E1CEC3-0CA8-4A4E-8D7C-C808A0838586)]
                    interface ISvgImageSource : IInspectable
                    {
                        [propget] HRESULT UriSource([out] [retval] Windows.Foundation.Uri** value);
                        [propput] HRESULT UriSource([in] Windows.Foundation.Uri* value);
                        [propget] HRESULT RasterizePixelWidth([out] [retval] DOUBLE* value);
                        [propput] HRESULT RasterizePixelWidth([in] DOUBLE value);
                        [propget] HRESULT RasterizePixelHeight([out] [retval] DOUBLE* value);
                        [propput] HRESULT RasterizePixelHeight([in] DOUBLE value);
                        [eventadd] HRESULT Opened([in] Windows.Foundation.TypedEventHandler<Windows.UI.Xaml.Media.Imaging.SvgImageSource*, Windows.UI.Xaml.Media.Imaging.SvgImageSourceOpenedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                        [eventremove] HRESULT Opened([in] EventRegistrationToken token);
                        [eventadd] HRESULT OpenFailed([in] Windows.Foundation.TypedEventHandler<Windows.UI.Xaml.Media.Imaging.SvgImageSource*, Windows.UI.Xaml.Media.Imaging.SvgImageSourceFailedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                        [eventremove] HRESULT OpenFailed([in] EventRegistrationToken token);
                        HRESULT SetSourceAsync([in] Windows.Storage.Streams.IRandomAccessStream* streamSource, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.UI.Xaml.Media.Imaging.SvgImageSourceLoadStatus>** operation);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SvgImageSource)]
                    [uuid(C794E9E7-CF23-4D72-BF1A-DFAA16D8EA52)]
                    interface ISvgImageSourceFactory : IInspectable
                    {
                        HRESULT CreateInstance([in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out] [retval] Windows.UI.Xaml.Media.Imaging.SvgImageSource** value);
                        HRESULT CreateInstanceWithUriSource([in] Windows.Foundation.Uri* uriSource, [in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out] [retval] Windows.UI.Xaml.Media.Imaging.SvgImageSource** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SvgImageSourceFailedEventArgs)]
                    [uuid(68BB3170-3CCC-4035-AC01-9834543D744E)]
                    interface ISvgImageSourceFailedEventArgs : IInspectable
                    {
                        [propget] HRESULT Status([out] [retval] Windows.UI.Xaml.Media.Imaging.SvgImageSourceLoadStatus* value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SvgImageSourceOpenedEventArgs)]
                    [uuid(85EF4C16-748E-4008-95C7-6A23DD7316DB)]
                    interface ISvgImageSourceOpenedEventArgs : IInspectable
                    {
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.SvgImageSource)]
                    [uuid(9C6638CE-BED1-4AAB-ACBB-D3E2185D315A)]
                    interface ISvgImageSourceStatics : IInspectable
                    {
                        [propget] HRESULT UriSourceProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT RasterizePixelWidthProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                        [propget] HRESULT RasterizePixelHeightProperty([out] [retval] Windows.UI.Xaml.DependencyProperty** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.VirtualSurfaceImageSource)]
                    [uuid(4A711FEA-BFAC-11E0-A06A-9DE44724019B)]
                    interface IVirtualSurfaceImageSource : IInspectable
                    {
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.VirtualSurfaceImageSource)]
                    [uuid(3AB2212A-BFAC-11E0-8A92-69E44724019B)]
                    interface IVirtualSurfaceImageSourceFactory : IInspectable
                    {
                        HRESULT CreateInstanceWithDimensions([in] INT32 pixelWidth, [in] INT32 pixelHeight, [out] [retval] Windows.UI.Xaml.Media.Imaging.VirtualSurfaceImageSource** value);
                        HRESULT CreateInstanceWithDimensionsAndOpacity([in] INT32 pixelWidth, [in] INT32 pixelHeight, [in] boolean isOpaque, [out] [retval] Windows.UI.Xaml.Media.Imaging.VirtualSurfaceImageSource** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.WriteableBitmap)]
                    [uuid(BF0B7E6F-DF7C-4A85-8413-A1216285835C)]
                    interface IWriteableBitmap : IInspectable
                    {
                        [propget] HRESULT PixelBuffer([out] [retval] Windows.Storage.Streams.IBuffer** value);
                        HRESULT Invalidate();
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.WriteableBitmap)]
                    [uuid(5563EBB1-3EF2-42C5-9C6D-1CF5DCC041FF)]
                    interface IWriteableBitmapFactory : IInspectable
                    {
                        HRESULT CreateInstanceWithDimensions([in] INT32 pixelWidth, [in] INT32 pixelHeight, [out] [retval] Windows.UI.Xaml.Media.Imaging.WriteableBitmap** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.XamlRenderingBackgroundTask)]
                    [uuid(5D5FE9AA-533E-44B8-A975-FC5F1E3BFF52)]
                    interface IXamlRenderingBackgroundTask : IInspectable
                    {
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.XamlRenderingBackgroundTask)]
                    [uuid(A3D1BB63-38F8-4DA3-9FCA-FD8128A2CBF9)]
                    interface IXamlRenderingBackgroundTaskFactory : IInspectable
                    {
                        HRESULT CreateInstance([in] IInspectable* baseInterface, [out] IInspectable** innerInterface, [out] [retval] Windows.UI.Xaml.Media.Imaging.XamlRenderingBackgroundTask** value);
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [exclusiveto(Windows.UI.Xaml.Media.Imaging.XamlRenderingBackgroundTask)]
                    [uuid(9C2A6997-A908-4711-B4B2-A960DB3D8E5A)]
                    interface IXamlRenderingBackgroundTaskOverrides : IInspectable
                    {
                        HRESULT OnRun([in] Windows.ApplicationModel.Background.IBackgroundTaskInstance* taskInstance);
                    }

                    [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                    [activatable(Windows.UI.Xaml.Media.Imaging.IBitmapImageFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [static(Windows.UI.Xaml.Media.Imaging.IBitmapImageStatics, Windows.Foundation.UniversalApiContract, 1.0)]
                    [static(Windows.UI.Xaml.Media.Imaging.IBitmapImageStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
                    [static(Windows.UI.Xaml.Media.Imaging.IBitmapImageStatics3, Windows.Foundation.UniversalApiContract, 3.0)]
                    [threading(both)]
                    runtimeclass BitmapImage : Windows.UI.Xaml.Media.Imaging.BitmapSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.IBitmapImage;
                        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Xaml.Media.Imaging.IBitmapImage2;
                        [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Xaml.Media.Imaging.IBitmapImage3;
                    }

                    [composable(Windows.UI.Xaml.Media.Imaging.IBitmapSourceFactory, protected, Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [static(Windows.UI.Xaml.Media.Imaging.IBitmapSourceStatics, Windows.Foundation.UniversalApiContract, 1.0)]
                    [threading(both)]
                    runtimeclass BitmapSource : Windows.UI.Xaml.Media.ImageSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.IBitmapSource;
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    runtimeclass DownloadProgressEventArgs
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.IDownloadProgressEventArgs;
                    }

                    [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [static(Windows.UI.Xaml.Media.Imaging.IRenderTargetBitmapStatics, Windows.Foundation.UniversalApiContract, 1.0)]
                    [threading(both)]
                    runtimeclass RenderTargetBitmap : Windows.UI.Xaml.Media.ImageSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.IRenderTargetBitmap;
                    }

                    [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [threading(both)]
                    runtimeclass SoftwareBitmapSource : Windows.UI.Xaml.Media.ImageSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.ISoftwareBitmapSource;
                        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.IClosable;
                    }

                    [composable(Windows.UI.Xaml.Media.Imaging.ISurfaceImageSourceFactory, public, Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [threading(both)]
                    runtimeclass SurfaceImageSource : Windows.UI.Xaml.Media.ImageSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.ISurfaceImageSource;
                    }

                    [composable(Windows.UI.Xaml.Media.Imaging.ISvgImageSourceFactory, public, Windows.Foundation.UniversalApiContract, 4.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [marshaling_behavior(agile)]
                    [static(Windows.UI.Xaml.Media.Imaging.ISvgImageSourceStatics, Windows.Foundation.UniversalApiContract, 4.0)]
                    [threading(both)]
                    runtimeclass SvgImageSource : Windows.UI.Xaml.Media.ImageSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.ISvgImageSource;
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [marshaling_behavior(agile)]
                    runtimeclass SvgImageSourceFailedEventArgs
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.ISvgImageSourceFailedEventArgs;
                    }

                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    [marshaling_behavior(agile)]
                    runtimeclass SvgImageSourceOpenedEventArgs
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.ISvgImageSourceOpenedEventArgs;
                    }

                    [activatable(Windows.UI.Xaml.Media.Imaging.IVirtualSurfaceImageSourceFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [threading(both)]
                    runtimeclass VirtualSurfaceImageSource : Windows.UI.Xaml.Media.Imaging.SurfaceImageSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.IVirtualSurfaceImageSource;
                    }

                    [activatable(Windows.UI.Xaml.Media.Imaging.IWriteableBitmapFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [threading(both)]
                    runtimeclass WriteableBitmap : Windows.UI.Xaml.Media.Imaging.BitmapSource
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.IWriteableBitmap;
                    }

                    [composable(Windows.UI.Xaml.Media.Imaging.IXamlRenderingBackgroundTaskFactory, protected, Windows.Foundation.UniversalApiContract, 1.0)]
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                    [marshaling_behavior(agile)]
                    [threading(both)]
                    runtimeclass XamlRenderingBackgroundTask
                    {
                        [default] interface Windows.UI.Xaml.Media.Imaging.IXamlRenderingBackgroundTask;
                        [contract(Windows.Foundation.UniversalApiContract, 1.0)] [overridable] interface Windows.UI.Xaml.Media.Imaging.IXamlRenderingBackgroundTaskOverrides;
                    }
                }
            }
        }
    }
}
