// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
#include "Windows.UI.Composition.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps;

#endif // ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings;

#endif // ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics;

#endif // ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositor __x_ABI_CWindows_CUI_CComposition_CICompositor;

#endif // ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__
#define ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CUI_CComposition_CIVisual __x_ABI_CWindows_CUI_CComposition_CIVisual;

#endif // ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds;

enum __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds
    {
        __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_None = 0,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_OffscreenRendered = 0x1,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_Colors = 0x2,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_Effects = 0x4,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_Shadows = 0x8,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_Lights = 0x10,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_Surfaces = 0x20,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_SwapChains = 0x40,
    __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds_All = 0xffffffff,
};

#if !defined(____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMapsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Hide)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
        __x_ABI_CWindows_CUI_CComposition_CIVisual* subtree);
    HRESULT (STDMETHODCALLTYPE* ShowMemoryUsage)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
        __x_ABI_CWindows_CUI_CComposition_CIVisual* subtree);
    HRESULT (STDMETHODCALLTYPE* ShowOverdraw)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
        __x_ABI_CWindows_CUI_CComposition_CIVisual* subtree,
        enum __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CCompositionDebugOverdrawContentKinds contentKinds);
    HRESULT (STDMETHODCALLTYPE* ShowRedraw)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps* This,
        __x_ABI_CWindows_CUI_CComposition_CIVisual* subtree);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMapsVtbl;

    interface __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMapsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps;
#endif /* !defined(____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_HeatMaps)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings* This,
        __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugHeatMaps** result);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsVtbl;

    interface __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings;
#endif /* !defined(____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* TryGetSettings)(__x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics* This,
        __x_ABI_CWindows_CUI_CComposition_CICompositor* compositor,
        __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettings** result);

        END_INTERFACE
    } __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStaticsVtbl;

    interface __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics;
#endif /* !defined(____x_ABI_CWindows_CUI_CComposition_CDiagnostics_CICompositionDebugSettingsStatics_INTERFACE_DEFINED__) */
    
