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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.UI.Core.idl";
import "Windows.UI.Input.Inking.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Eui2Ecore_h__)")
cpp_quote("#include <Windows.UI.Core.h>")
cpp_quote("#endif // !defined(__windows2Eui2Ecore_h__)")
cpp_quote("#if !defined(__windows2Eui2Einput2Einking_h__)")
cpp_quote("#include <Windows.UI.Input.Inking.h>")
cpp_quote("#endif // !defined(__windows2Eui2Einput2Einking_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            runtimeclass PointerEventArgs;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                runtimeclass InkPresenter;
            }
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                namespace Core
                {
                    interface ICoreInkIndependentInputSource;

                    interface ICoreInkIndependentInputSourceStatics;

                    runtimeclass CoreInkIndependentInputSource;
                }
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                namespace Core
                {
                    [exclusiveto(Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource)]
                    [uuid(39B38DA9-7639-4499-A5B5-191D00E35B16)]
                    [version(0x0A000000)]
                    interface ICoreInkIndependentInputSource : IInspectable
                    {
                        [eventadd] HRESULT PointerEntering([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                        [eventremove] HRESULT PointerEntering([in] EventRegistrationToken cookie);
                        [eventadd] HRESULT PointerHovering([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                        [eventremove] HRESULT PointerHovering([in] EventRegistrationToken cookie);
                        [eventadd] HRESULT PointerExiting([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                        [eventremove] HRESULT PointerExiting([in] EventRegistrationToken cookie);
                        [eventadd] HRESULT PointerPressing([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                        [eventremove] HRESULT PointerPressing([in] EventRegistrationToken cookie);
                        [eventadd] HRESULT PointerMoving([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                        [eventremove] HRESULT PointerMoving([in] EventRegistrationToken cookie);
                        [eventadd] HRESULT PointerReleasing([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                        [eventremove] HRESULT PointerReleasing([in] EventRegistrationToken cookie);
                        [eventadd] HRESULT PointerLost([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                        [eventremove] HRESULT PointerLost([in] EventRegistrationToken cookie);
                        [propget] HRESULT InkPresenter([out] [retval] Windows.UI.Input.Inking.InkPresenter** value);
                    }

                    [exclusiveto(Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource)]
                    [uuid(73E6011B-80C0-4DFB-9B66-10BA7F3F9C84)]
                    [version(0x0A000000)]
                    interface ICoreInkIndependentInputSourceStatics : IInspectable
                    {
                        HRESULT Create([in] Windows.UI.Input.Inking.InkPresenter* inkPresenter, [out] [retval] Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource** inkIndependentInputSource);
                    }

                    [marshaling_behavior(agile)]
                    [static(Windows.UI.Input.Inking.Core.ICoreInkIndependentInputSourceStatics, 0x0A000000)]
                    [version(0x0A000000)]
                    runtimeclass CoreInkIndependentInputSource
                    {
                        [default] interface Windows.UI.Input.Inking.Core.ICoreInkIndependentInputSource;
                    }
                }
            }
        }
    }
}
