//
// 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.Storage.Streams.idl";
import "Windows.UI.idl";
import "Windows.UI.Core.idl";
import "Windows.UI.Input.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Numerics
        {
            typedef struct Matrix3x2 Matrix3x2;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct Point Point;

        typedef struct Rect Rect;

        typedef struct Size Size;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IInputStream;

            interface IOutputStream;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            typedef enum CoreInputDeviceTypes CoreInputDeviceTypes;

            runtimeclass PointerEventArgs;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            runtimeclass PointerPoint;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                typedef enum HandwritingLineHeight HandwritingLineHeight;

                typedef enum InkDrawingAttributesKind InkDrawingAttributesKind;

                typedef enum InkHighContrastAdjustment InkHighContrastAdjustment;

                typedef enum InkInputProcessingMode InkInputProcessingMode;

                typedef enum InkInputRightDragAction InkInputRightDragAction;

                typedef enum InkManipulationMode InkManipulationMode;

                typedef enum InkPersistenceFormat InkPersistenceFormat;

                typedef enum InkPresenterPredefinedConfiguration InkPresenterPredefinedConfiguration;

                typedef enum InkPresenterStencilKind InkPresenterStencilKind;

                typedef enum InkRecognitionTarget InkRecognitionTarget;

                typedef enum PenHandedness PenHandedness;

                typedef enum PenTipShape PenTipShape;

                interface IInkDrawingAttributes;

                interface IInkDrawingAttributes2;

                interface IInkDrawingAttributes3;

                interface IInkDrawingAttributes4;

                interface IInkDrawingAttributes5;

                interface IInkDrawingAttributesPencilProperties;

                interface IInkDrawingAttributesStatics;

                interface IInkInputConfiguration;

                interface IInkInputConfiguration2;

                interface IInkInputProcessingConfiguration;

                interface IInkManager;

                interface IInkModelerAttributes;

                interface IInkModelerAttributes2;

                interface IInkPoint;

                interface IInkPoint2;

                interface IInkPointFactory;

                interface IInkPointFactory2;

                interface IInkPresenter;

                interface IInkPresenter2;

                interface IInkPresenter3;

                interface IInkPresenterProtractor;

                interface IInkPresenterProtractorFactory;

                interface IInkPresenterRuler;

                interface IInkPresenterRuler2;

                interface IInkPresenterRulerFactory;

                interface IInkPresenterStencil;

                interface IInkRecognitionResult;

                interface IInkRecognizer;

                interface IInkRecognizerContainer;

                interface IInkStroke;

                interface IInkStroke2;

                interface IInkStroke3;

                interface IInkStroke4;

                interface IInkStrokeBuilder;

                interface IInkStrokeBuilder2;

                interface IInkStrokeBuilder3;

                interface IInkStrokeContainer;

                interface IInkStrokeContainer2;

                interface IInkStrokeContainer3;

                interface IInkStrokeInput;

                interface IInkStrokeRenderingSegment;

                interface IInkStrokesCollectedEventArgs;

                interface IInkStrokesErasedEventArgs;

                interface IInkSynchronizer;

                interface IInkUnprocessedInput;

                interface IPenAndInkSettings;

                interface IPenAndInkSettings2;

                interface IPenAndInkSettingsStatics;

                runtimeclass InkDrawingAttributes;

                runtimeclass InkDrawingAttributesPencilProperties;

                runtimeclass InkInputConfiguration;

                runtimeclass InkInputProcessingConfiguration;

                runtimeclass InkManager;

                runtimeclass InkModelerAttributes;

                runtimeclass InkPoint;

                runtimeclass InkPresenter;

                runtimeclass InkPresenterProtractor;

                runtimeclass InkPresenterRuler;

                runtimeclass InkRecognitionResult;

                runtimeclass InkRecognizer;

                runtimeclass InkRecognizerContainer;

                runtimeclass InkStroke;

                runtimeclass InkStrokeBuilder;

                runtimeclass InkStrokeContainer;

                runtimeclass InkStrokeInput;

                runtimeclass InkStrokeRenderingSegment;

                runtimeclass InkStrokesCollectedEventArgs;

                runtimeclass InkStrokesErasedEventArgs;

                runtimeclass InkSynchronizer;

                runtimeclass InkUnprocessedInput;

                runtimeclass PenAndInkSettings;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                declare
                {
                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkPoint*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkRecognitionResult*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkRecognizer*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkStroke*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkStrokeRenderingSegment*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.Inking.InkPoint*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.Inking.InkRecognitionResult*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.Inking.InkRecognizer*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.Inking.InkStroke*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Input.Inking.InkStrokeRenderingSegment*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkPoint*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognitionResult*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognizer*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStroke*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStrokeRenderingSegment*>;

                    interface Windows.Foundation.Collections.IVector<Windows.UI.Input.Inking.InkPoint*>;

                    interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognitionResult*>*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkPresenter*, Windows.UI.Input.Inking.InkStrokesCollectedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkPresenter*, Windows.UI.Input.Inking.InkStrokesErasedEventArgs*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum HandwritingLineHeight
                {
                    Small  = 0,
                    Medium = 1,
                    Large  = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                enum InkDrawingAttributesKind
                {
                    Default = 0,
                    Pencil  = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                enum InkHighContrastAdjustment
                {
                    UseSystemColorsWhenNecessary = 0,
                    UseSystemColors              = 1,
                    UseOriginalColors            = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum InkInputProcessingMode
                {
                    None    = 0,
                    Inking  = 1,
                    Erasing = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum InkInputRightDragAction
                {
                    LeaveUnprocessed = 0,
                    AllowProcessing  = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum InkManipulationMode
                {
                    Inking    = 0,
                    Erasing   = 1,
                    Selecting = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                enum InkPersistenceFormat
                {
                    GifWithEmbeddedIsf = 0,
                    Isf                = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum InkPresenterPredefinedConfiguration
                {
                    SimpleSinglePointer   = 0,
                    SimpleMultiplePointer = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                enum InkPresenterStencilKind
                {
                    Other      = 0,
                    Ruler      = 1,
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                    Protractor = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum InkRecognitionTarget
                {
                    All      = 0,
                    Selected = 1,
                    Recent   = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum PenHandedness
                {
                    Right = 0,
                    Left  = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum PenTipShape
                {
                    Circle    = 0,
                    Rectangle = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkDrawingAttributes)]
                [uuid(97A2176C-6774-48AD-84F0-48F5A9BE74F9)]
                interface IInkDrawingAttributes : IInspectable
                {
                    [propget] HRESULT Color([out] [retval] Windows.UI.Color* value);
                    [propput] HRESULT Color([in] Windows.UI.Color value);
                    [propget] HRESULT PenTip([out] [retval] Windows.UI.Input.Inking.PenTipShape* value);
                    [propput] HRESULT PenTip([in] Windows.UI.Input.Inking.PenTipShape value);
                    [propget] HRESULT Size([out] [retval] Windows.Foundation.Size* value);
                    [propput] HRESULT Size([in] Windows.Foundation.Size value);
                    [propget] HRESULT IgnorePressure([out] [retval] boolean* value);
                    [propput] HRESULT IgnorePressure([in] boolean value);
                    [propget] HRESULT FitToCurve([out] [retval] boolean* value);
                    [propput] HRESULT FitToCurve([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkDrawingAttributes)]
                [uuid(7CAB6508-8EC4-42FD-A5A5-E4B7D1D5316D)]
                interface IInkDrawingAttributes2 : IInspectable
                {
                    [propget] HRESULT PenTipTransform([out] [retval] Windows.Foundation.Numerics.Matrix3x2* value);
                    [propput] HRESULT PenTipTransform([in] Windows.Foundation.Numerics.Matrix3x2 value);
                    [propget] HRESULT DrawAsHighlighter([out] [retval] boolean* value);
                    [propput] HRESULT DrawAsHighlighter([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkDrawingAttributes)]
                [uuid(72020002-7D5B-4690-8AF4-E664CBE2B74F)]
                interface IInkDrawingAttributes3 : IInspectable
                {
                    [propget] HRESULT Kind([out] [retval] Windows.UI.Input.Inking.InkDrawingAttributesKind* value);
                    [propget] HRESULT PencilProperties([out] [retval] Windows.UI.Input.Inking.InkDrawingAttributesPencilProperties** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkDrawingAttributes)]
                [uuid(EF65DC25-9F19-456D-91A3-BC3A3D91C5FB)]
                interface IInkDrawingAttributes4 : IInspectable
                {
                    [propget] HRESULT IgnoreTilt([out] [retval] boolean* value);
                    [propput] HRESULT IgnoreTilt([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkDrawingAttributes)]
                [uuid(D11AA0BB-0775-4852-AE64-41143A7AE6C9)]
                interface IInkDrawingAttributes5 : IInspectable
                {
                    [propget] HRESULT ModelerAttributes([out] [retval] Windows.UI.Input.Inking.InkModelerAttributes** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkDrawingAttributesPencilProperties)]
                [uuid(4F2534CB-2D86-41BB-B0E8-E4C2A0253C52)]
                interface IInkDrawingAttributesPencilProperties : IInspectable
                {
                    [propget] HRESULT Opacity([out] [retval] DOUBLE* value);
                    [propput] HRESULT Opacity([in] DOUBLE value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkDrawingAttributes)]
                [uuid(F731E03F-1A65-4862-96CB-6E1665E17F6D)]
                interface IInkDrawingAttributesStatics : IInspectable
                {
                    HRESULT CreateForPencil([out] [retval] Windows.UI.Input.Inking.InkDrawingAttributes** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkInputConfiguration)]
                [uuid(93A68DC4-0B7B-49D7-B34F-9901E524DCF2)]
                interface IInkInputConfiguration : IInspectable
                {
                    [propget] HRESULT IsPrimaryBarrelButtonInputEnabled([out] [retval] boolean* value);
                    [propput] HRESULT IsPrimaryBarrelButtonInputEnabled([in] boolean value);
                    [propget] HRESULT IsEraserInputEnabled([out] [retval] boolean* value);
                    [propput] HRESULT IsEraserInputEnabled([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkInputConfiguration)]
                [uuid(6AC2272E-81B4-5CC4-A36D-D057C387DFDA)]
                interface IInkInputConfiguration2 : IInspectable
                {
                    [propget] HRESULT IsPenHapticFeedbackEnabled([out] [retval] boolean* value);
                    [propput] HRESULT IsPenHapticFeedbackEnabled([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkInputProcessingConfiguration)]
                [uuid(2778D85E-33CA-4B06-A6D3-AC3945116D37)]
                interface IInkInputProcessingConfiguration : IInspectable
                {
                    [propget] HRESULT Mode([out] [retval] Windows.UI.Input.Inking.InkInputProcessingMode* value);
                    [propput] HRESULT Mode([in] Windows.UI.Input.Inking.InkInputProcessingMode value);
                    [propget] HRESULT RightDragAction([out] [retval] Windows.UI.Input.Inking.InkInputRightDragAction* value);
                    [propput] HRESULT RightDragAction([in] Windows.UI.Input.Inking.InkInputRightDragAction value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkManager)]
                [uuid(4744737D-671B-4163-9C95-4E8D7A035FE1)]
                interface IInkManager : IInspectable
                    requires
                        Windows.UI.Input.Inking.IInkStrokeContainer,
                        Windows.UI.Input.Inking.IInkRecognizerContainer
                {
                    [propget] HRESULT Mode([out] [retval] Windows.UI.Input.Inking.InkManipulationMode* value);
                    [propput] HRESULT Mode([in] Windows.UI.Input.Inking.InkManipulationMode value);
                    HRESULT ProcessPointerDown([in] Windows.UI.Input.PointerPoint* pointerPoint);
                    HRESULT ProcessPointerUpdate([in] Windows.UI.Input.PointerPoint* pointerPoint, [out] [retval] IInspectable** updateInformation);
                    HRESULT ProcessPointerUp([in] Windows.UI.Input.PointerPoint* pointerPoint, [out] [retval] Windows.Foundation.Rect* updateRectangle);
                    HRESULT SetDefaultDrawingAttributes([in] Windows.UI.Input.Inking.InkDrawingAttributes* drawingAttributes);
                    [overload("RecognizeAsync")] HRESULT RecognizeAsync2([in] Windows.UI.Input.Inking.InkRecognitionTarget recognitionTarget, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognitionResult*>*>** recognitionResults);
                }

                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkModelerAttributes)]
                [uuid(BAD31F27-0CD9-4BFD-B6F3-9E03BA8D7454)]
                interface IInkModelerAttributes : IInspectable
                {
                    [propget] HRESULT PredictionTime([out] [retval] Windows.Foundation.TimeSpan* value);
                    [propput] HRESULT PredictionTime([in] Windows.Foundation.TimeSpan value);
                    [propget] HRESULT ScalingFactor([out] [retval] FLOAT* value);
                    [propput] HRESULT ScalingFactor([in] FLOAT value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkModelerAttributes)]
                [uuid(86D1D09A-4EF8-5E25-B7BC-B65424F16BB3)]
                interface IInkModelerAttributes2 : IInspectable
                {
                    [propget] HRESULT UseVelocityBasedPressure([out] [retval] boolean* value);
                    [propput] HRESULT UseVelocityBasedPressure([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPoint)]
                [uuid(9F87272B-858C-46A5-9B41-D195970459FD)]
                interface IInkPoint : IInspectable
                {
                    [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                    [propget] HRESULT Pressure([out] [retval] FLOAT* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPoint)]
                [uuid(FBA9C3F7-AE56-4D5C-BD2F-0AC45F5E4AF9)]
                interface IInkPoint2 : IInspectable
                {
                    [propget] HRESULT TiltX([out] [retval] FLOAT* value);
                    [propget] HRESULT TiltY([out] [retval] FLOAT* value);
                    [propget] HRESULT Timestamp([out] [retval] UINT64* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(29E5D51C-C98F-405D-9F3B-E53E31068D4D)]
                interface IInkPointFactory : IInspectable
                {
                    HRESULT CreateInkPoint([in] Windows.Foundation.Point position, [in] FLOAT pressure, [out] [retval] Windows.UI.Input.Inking.InkPoint** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPoint)]
                [uuid(E0145E85-DAFF-45F2-AD69-050D8256A209)]
                interface IInkPointFactory2 : IInspectable
                {
                    HRESULT CreateInkPointWithTiltAndTimestamp([in] Windows.Foundation.Point position, [in] FLOAT pressure, [in] FLOAT tiltX, [in] FLOAT tiltY, [in] UINT64 timestamp, [out] [retval] Windows.UI.Input.Inking.InkPoint** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPresenter)]
                [uuid(A69B70E2-887B-458F-B173-4FE4438930A3)]
                interface IInkPresenter : IInspectable
                {
                    [propget] HRESULT IsInputEnabled([out] [retval] boolean* value);
                    [propput] HRESULT IsInputEnabled([in] boolean value);
                    [propget] HRESULT InputDeviceTypes([out] [retval] Windows.UI.Core.CoreInputDeviceTypes* value);
                    [propput] HRESULT InputDeviceTypes([in] Windows.UI.Core.CoreInputDeviceTypes value);
                    [propget] HRESULT UnprocessedInput([out] [retval] Windows.UI.Input.Inking.InkUnprocessedInput** value);
                    [propget] HRESULT StrokeInput([out] [retval] Windows.UI.Input.Inking.InkStrokeInput** value);
                    [propget] HRESULT InputProcessingConfiguration([out] [retval] Windows.UI.Input.Inking.InkInputProcessingConfiguration** value);
                    [propget] HRESULT StrokeContainer([out] [retval] Windows.UI.Input.Inking.InkStrokeContainer** value);
                    [propput] HRESULT StrokeContainer([in] Windows.UI.Input.Inking.InkStrokeContainer* value);
                    HRESULT CopyDefaultDrawingAttributes([out] [retval] Windows.UI.Input.Inking.InkDrawingAttributes** value);
                    HRESULT UpdateDefaultDrawingAttributes([in] Windows.UI.Input.Inking.InkDrawingAttributes* value);
                    HRESULT ActivateCustomDrying([out] [retval] Windows.UI.Input.Inking.InkSynchronizer** inkSynchronizer);
                    HRESULT SetPredefinedConfiguration([in] Windows.UI.Input.Inking.InkPresenterPredefinedConfiguration value);
                    [eventadd] HRESULT StrokesCollected([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkPresenter*, Windows.UI.Input.Inking.InkStrokesCollectedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT StrokesCollected([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT StrokesErased([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkPresenter*, Windows.UI.Input.Inking.InkStrokesErasedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT StrokesErased([in] EventRegistrationToken cookie);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPresenter)]
                [uuid(CF53E612-9A34-11E6-9F33-A24FC0D9649C)]
                interface IInkPresenter2 : IInspectable
                    requires
                        Windows.UI.Input.Inking.IInkPresenter
                {
                    [propget] HRESULT HighContrastAdjustment([out] [retval] Windows.UI.Input.Inking.InkHighContrastAdjustment* value);
                    [propput] HRESULT HighContrastAdjustment([in] Windows.UI.Input.Inking.InkHighContrastAdjustment value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPresenter)]
                [uuid(51E1CE89-D37D-4A90-83FC-7F5E9DFBF217)]
                interface IInkPresenter3 : IInspectable
                {
                    [propget] HRESULT InputConfiguration([out] [retval] Windows.UI.Input.Inking.InkInputConfiguration** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPresenterProtractor)]
                [uuid(7DE3F2AA-EF6C-4E91-A73B-5B70D56FBD17)]
                interface IInkPresenterProtractor : IInspectable
                    requires
                        Windows.UI.Input.Inking.IInkPresenterStencil
                {
                    [propget] HRESULT AreTickMarksVisible([out] [retval] boolean* value);
                    [propput] HRESULT AreTickMarksVisible([in] boolean value);
                    [propget] HRESULT AreRaysVisible([out] [retval] boolean* value);
                    [propput] HRESULT AreRaysVisible([in] boolean value);
                    [propget] HRESULT IsCenterMarkerVisible([out] [retval] boolean* value);
                    [propput] HRESULT IsCenterMarkerVisible([in] boolean value);
                    [propget] HRESULT IsAngleReadoutVisible([out] [retval] boolean* value);
                    [propput] HRESULT IsAngleReadoutVisible([in] boolean value);
                    [propget] HRESULT IsResizable([out] [retval] boolean* value);
                    [propput] HRESULT IsResizable([in] boolean value);
                    [propget] HRESULT Radius([out] [retval] DOUBLE* value);
                    [propput] HRESULT Radius([in] DOUBLE value);
                    [propget] HRESULT AccentColor([out] [retval] Windows.UI.Color* value);
                    [propput] HRESULT AccentColor([in] Windows.UI.Color value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPresenterProtractor)]
                [uuid(320103C9-68FA-47E9-8127-8370711FC46C)]
                interface IInkPresenterProtractorFactory : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Input.Inking.InkPresenter* inkPresenter, [out] [retval] Windows.UI.Input.Inking.InkPresenterProtractor** inkPresenterProtractor);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPresenterRuler)]
                [uuid(6CDA7D5A-DEC7-4DD7-877A-2133F183D48A)]
                interface IInkPresenterRuler : IInspectable
                    requires
                        Windows.UI.Input.Inking.IInkPresenterStencil
                {
                    [propget] HRESULT Length([out] [retval] DOUBLE* value);
                    [propput] HRESULT Length([in] DOUBLE value);
                    [propget] HRESULT Width([out] [retval] DOUBLE* value);
                    [propput] HRESULT Width([in] DOUBLE value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkPresenterRuler)]
                [uuid(45130DC1-BC61-44D4-A423-54712AE671C4)]
                interface IInkPresenterRuler2 : IInspectable
                {
                    [propget] HRESULT AreTickMarksVisible([out] [retval] boolean* value);
                    [propput] HRESULT AreTickMarksVisible([in] boolean value);
                    [propget] HRESULT IsCompassVisible([out] [retval] boolean* value);
                    [propput] HRESULT IsCompassVisible([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(34361BEB-9001-4A4B-A690-69DBAF63E501)]
                interface IInkPresenterRulerFactory : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Input.Inking.InkPresenter* inkPresenter, [out] [retval] Windows.UI.Input.Inking.InkPresenterRuler** inkPresenterRuler);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(30D12D6D-3E06-4D02-B116-277FB5D8ADDC)]
                interface IInkPresenterStencil : IInspectable
                {
                    [propget] HRESULT Kind([out] [retval] Windows.UI.Input.Inking.InkPresenterStencilKind* value);
                    [propget] HRESULT IsVisible([out] [retval] boolean* value);
                    [propput] HRESULT IsVisible([in] boolean value);
                    [propget] HRESULT BackgroundColor([out] [retval] Windows.UI.Color* value);
                    [propput] HRESULT BackgroundColor([in] Windows.UI.Color value);
                    [propget] HRESULT ForegroundColor([out] [retval] Windows.UI.Color* value);
                    [propput] HRESULT ForegroundColor([in] Windows.UI.Color value);
                    [propget] HRESULT Transform([out] [retval] Windows.Foundation.Numerics.Matrix3x2* value);
                    [propput] HRESULT Transform([in] Windows.Foundation.Numerics.Matrix3x2 value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkRecognitionResult)]
                [uuid(36461A94-5068-40EF-8A05-2C2FB60908A2)]
                interface IInkRecognitionResult : IInspectable
                {
                    [propget] HRESULT BoundingRect([out] [retval] Windows.Foundation.Rect* boundingRect);
                    HRESULT GetTextCandidates([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** textCandidates);
                    HRESULT GetStrokes([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStroke*>** strokes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkRecognizer)]
                [uuid(077CCEA3-904D-442A-B151-AACA3631C43B)]
                interface IInkRecognizer : IInspectable
                {
                    [propget] HRESULT Name([out] [retval] HSTRING* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(A74D9A31-8047-4698-A912-F82A5085012F)]
                interface IInkRecognizerContainer : IInspectable
                {
                    HRESULT SetDefaultRecognizer([in] Windows.UI.Input.Inking.InkRecognizer* recognizer);
                    HRESULT RecognizeAsync([in] Windows.UI.Input.Inking.InkStrokeContainer* strokeCollection, [in] Windows.UI.Input.Inking.InkRecognitionTarget recognitionTarget, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognitionResult*>*>** recognitionResults);
                    HRESULT GetRecognizers([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognizer*>** recognizerView);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStroke)]
                [uuid(15144D60-CCE3-4FCF-9D52-11518AB6AFD4)]
                interface IInkStroke : IInspectable
                {
                    [propget] HRESULT DrawingAttributes([out] [retval] Windows.UI.Input.Inking.InkDrawingAttributes** value);
                    [propput] HRESULT DrawingAttributes([in] Windows.UI.Input.Inking.InkDrawingAttributes* value);
                    [propget] HRESULT BoundingRect([out] [retval] Windows.Foundation.Rect* value);
                    [propget] HRESULT Selected([out] [retval] boolean* value);
                    [propput] HRESULT Selected([in] boolean value);
                    [propget] HRESULT Recognized([out] [retval] boolean* value);
                    HRESULT GetRenderingSegments([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStrokeRenderingSegment*>** renderingSegments);
                    HRESULT Clone([out] [retval] Windows.UI.Input.Inking.InkStroke** clonedStroke);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStroke)]
                [uuid(5DB9E4F4-BAFA-4DE1-89D3-201B1ED7D89B)]
                interface IInkStroke2 : IInspectable
                {
                    [propget] HRESULT PointTransform([out] [retval] Windows.Foundation.Numerics.Matrix3x2* value);
                    [propput] HRESULT PointTransform([in] Windows.Foundation.Numerics.Matrix3x2 value);
                    HRESULT GetInkPoints([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkPoint*>** inkPoints);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStroke)]
                [uuid(4A807374-9499-411D-A1C4-68855D03D65F)]
                interface IInkStroke3 : IInspectable
                {
                    [propget] HRESULT Id([out] [retval] UINT32* value);
                    [propget] HRESULT StrokeStartedTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                    [propput] HRESULT StrokeStartedTime([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                    [propget] HRESULT StrokeDuration([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                    [propput] HRESULT StrokeDuration([in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStroke)]
                [uuid(CD5B62E5-B6E9-5B91-A577-1921D2348690)]
                interface IInkStroke4 : IInspectable
                {
                    [propget] HRESULT PointerId([out] [retval] UINT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokeBuilder)]
                [uuid(82BBD1DC-1C63-41DC-9E07-4B4A70CED801)]
                interface IInkStrokeBuilder : IInspectable
                {
                    HRESULT BeginStroke([in] Windows.UI.Input.PointerPoint* pointerPoint);
                    HRESULT AppendToStroke([in] Windows.UI.Input.PointerPoint* pointerPoint, [out] [retval] Windows.UI.Input.PointerPoint** previousPointerPoint);
                    HRESULT EndStroke([in] Windows.UI.Input.PointerPoint* pointerPoint, [out] [retval] Windows.UI.Input.Inking.InkStroke** stroke);
                    HRESULT CreateStroke([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Point>* points, [out] [retval] Windows.UI.Input.Inking.InkStroke** stroke);
                    HRESULT SetDefaultDrawingAttributes([in] Windows.UI.Input.Inking.InkDrawingAttributes* drawingAttributes);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokeBuilder)]
                [uuid(BD82BC27-731F-4CBC-BBBF-6D468044F1E5)]
                interface IInkStrokeBuilder2 : IInspectable
                {
                    HRESULT CreateStrokeFromInkPoints([in] Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkPoint*>* inkPoints, [in] Windows.Foundation.Numerics.Matrix3x2 transform, [out] [retval] Windows.UI.Input.Inking.InkStroke** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokeBuilder)]
                [uuid(B2C71FCD-5472-46B1-A81D-C37A3D169441)]
                interface IInkStrokeBuilder3 : IInspectable
                {
                    HRESULT CreateStrokeFromInkPoints([in] Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkPoint*>* inkPoints, [in] Windows.Foundation.Numerics.Matrix3x2 transform, [in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* strokeStartedTime, [in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* strokeDuration, [out] [retval] Windows.UI.Input.Inking.InkStroke** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [uuid(22ACCBC6-FAA9-4F14-B68C-F6CEE670AE16)]
                interface IInkStrokeContainer : IInspectable
                {
                    [propget] HRESULT BoundingRect([out] [retval] Windows.Foundation.Rect* value);
                    HRESULT AddStroke([in] Windows.UI.Input.Inking.InkStroke* stroke);
                    HRESULT DeleteSelected([out] [retval] Windows.Foundation.Rect* invalidatedRect);
                    HRESULT MoveSelected([in] Windows.Foundation.Point translation, [out] [retval] Windows.Foundation.Rect* invalidatedRectangle);
                    HRESULT SelectWithPolyLine([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Point>* polyline, [out] [retval] Windows.Foundation.Rect* invalidatedRectangle);
                    HRESULT SelectWithLine([in] Windows.Foundation.Point from, [in] Windows.Foundation.Point to, [out] [retval] Windows.Foundation.Rect* invalidatedRectangle);
                    HRESULT CopySelectedToClipboard();
                    HRESULT PasteFromClipboard([in] Windows.Foundation.Point position, [out] [retval] Windows.Foundation.Rect* invalidatedRectangle);
                    HRESULT CanPasteFromClipboard([out] [retval] boolean* canPaste);
                    HRESULT LoadAsync([in] Windows.Storage.Streams.IInputStream* inputStream, [out] [retval] Windows.Foundation.IAsyncActionWithProgress<UINT64>** loadAction);
                    [overload("SaveAsync")] HRESULT SaveAsync([in] Windows.Storage.Streams.IOutputStream* outputStream, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<UINT32, UINT32>** outputStreamOperation);
                    HRESULT UpdateRecognitionResults([in] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognitionResult*>* recognitionResults);
                    HRESULT GetStrokes([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStroke*>** strokeView);
                    HRESULT GetRecognitionResults([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkRecognitionResult*>** recognitionResults);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokeContainer)]
                [uuid(8901D364-DA36-4BCF-9E5C-D195825995B4)]
                interface IInkStrokeContainer2 : IInspectable
                {
                    HRESULT AddStrokes([in] Windows.Foundation.Collections.IIterable<Windows.UI.Input.Inking.InkStroke*>* strokes);
                    HRESULT Clear();
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokeContainer)]
                [uuid(3D07BEA5-BAEA-4C82-A719-7B83DA1067D2)]
                interface IInkStrokeContainer3 : IInspectable
                {
                    [overload("SaveAsync")] HRESULT SaveWithFormatAsync([in] Windows.Storage.Streams.IOutputStream* outputStream, [in] Windows.UI.Input.Inking.InkPersistenceFormat inkPersistenceFormat, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<UINT32, UINT32>** outputStreamOperation);
                    HRESULT GetStrokeById([in] UINT32 id, [out] [retval] Windows.UI.Input.Inking.InkStroke** stroke);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokeInput)]
                [uuid(CF2FFE7B-5E10-43C6-A080-88F26E1DC67D)]
                interface IInkStrokeInput : IInspectable
                {
                    [eventadd] HRESULT StrokeStarted([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkStrokeInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT StrokeStarted([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT StrokeContinued([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkStrokeInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT StrokeContinued([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT StrokeEnded([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkStrokeInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT StrokeEnded([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT StrokeCanceled([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkStrokeInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT StrokeCanceled([in] EventRegistrationToken cookie);
                    [propget] HRESULT InkPresenter([out] [retval] Windows.UI.Input.Inking.InkPresenter** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokeRenderingSegment)]
                [uuid(68510F1F-88E3-477A-A2FA-569F5F1F9BD5)]
                interface IInkStrokeRenderingSegment : IInspectable
                {
                    [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                    [propget] HRESULT BezierControlPoint1([out] [retval] Windows.Foundation.Point* value);
                    [propget] HRESULT BezierControlPoint2([out] [retval] Windows.Foundation.Point* value);
                    [propget] HRESULT Pressure([out] [retval] FLOAT* value);
                    [propget] HRESULT TiltX([out] [retval] FLOAT* value);
                    [propget] HRESULT TiltY([out] [retval] FLOAT* value);
                    [propget] HRESULT Twist([out] [retval] FLOAT* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokesCollectedEventArgs)]
                [uuid(C4F3F229-1938-495C-B4D9-6DE4B08D4811)]
                interface IInkStrokesCollectedEventArgs : IInspectable
                {
                    [propget] HRESULT Strokes([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStroke*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkStrokesErasedEventArgs)]
                [uuid(A4216A22-1503-4EBF-8FF5-2DE84584A8AA)]
                interface IInkStrokesErasedEventArgs : IInspectable
                {
                    [propget] HRESULT Strokes([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStroke*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkSynchronizer)]
                [uuid(9B9EA160-AE9B-45F9-8407-4B493B163661)]
                interface IInkSynchronizer : IInspectable
                {
                    HRESULT BeginDry([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.Input.Inking.InkStroke*>** inkStrokes);
                    HRESULT EndDry();
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.UI.Input.Inking.InkUnprocessedInput)]
                [uuid(DB4445E0-8398-4921-AC3B-AB978C5BA256)]
                interface IInkUnprocessedInput : IInspectable
                {
                    [eventadd] HRESULT PointerEntered([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT PointerEntered([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT PointerHovered([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT PointerHovered([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT PointerExited([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT PointerExited([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT PointerPressed([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT PointerPressed([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT PointerMoved([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT PointerMoved([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT PointerReleased([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                    [eventremove] HRESULT PointerReleased([in] EventRegistrationToken cookie);
                    [eventadd] HRESULT PointerLost([in] Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, 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);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.UI.Input.Inking.PenAndInkSettings)]
                [uuid(BC2CEB8F-0066-44A8-BB7A-B839B3DEB8F5)]
                interface IPenAndInkSettings : IInspectable
                {
                    [propget] HRESULT IsHandwritingDirectlyIntoTextFieldEnabled([out] [retval] boolean* value);
                    [propget] HRESULT PenHandedness([out] [retval] Windows.UI.Input.Inking.PenHandedness* value);
                    [propget] HRESULT HandwritingLineHeight([out] [retval] Windows.UI.Input.Inking.HandwritingLineHeight* value);
                    [propget] HRESULT FontFamilyName([out] [retval] HSTRING* value);
                    [propget] HRESULT UserConsentsToHandwritingTelemetryCollection([out] [retval] boolean* value);
                    [propget] HRESULT IsTouchHandwritingEnabled([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                [exclusiveto(Windows.UI.Input.Inking.PenAndInkSettings)]
                [uuid(3262DA53-1F44-55E2-9929-EBF77E5481B8)]
                interface IPenAndInkSettings2 : IInspectable
                {
                    HRESULT SetPenHandedness([in] Windows.UI.Input.Inking.PenHandedness value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.UI.Input.Inking.PenAndInkSettings)]
                [uuid(ED6DD036-5708-5C3C-96DB-F2F552EAB641)]
                interface IPenAndInkSettingsStatics : IInspectable
                {
                    HRESULT GetDefault([out] [retval] Windows.UI.Input.Inking.PenAndInkSettings** result);
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Input.Inking.IInkDrawingAttributesStatics, Windows.Foundation.UniversalApiContract, 3.0)]
                [threading(both)]
                runtimeclass InkDrawingAttributes
                {
                    [default] interface Windows.UI.Input.Inking.IInkDrawingAttributes;
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Input.Inking.IInkDrawingAttributes2;
                    [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Input.Inking.IInkDrawingAttributes3;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.Inking.IInkDrawingAttributes4;
                    [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Input.Inking.IInkDrawingAttributes5;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass InkDrawingAttributesPencilProperties
                {
                    [default] interface Windows.UI.Input.Inking.IInkDrawingAttributesPencilProperties;
                }

                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkInputConfiguration
                {
                    [default] interface Windows.UI.Input.Inking.IInkInputConfiguration;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.UI.Input.Inking.IInkInputConfiguration2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkInputProcessingConfiguration
                {
                    [default] interface Windows.UI.Input.Inking.IInkInputProcessingConfiguration;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                [threading(both)]
                runtimeclass InkManager
                {
                    [default] interface Windows.UI.Input.Inking.IInkManager;
                    interface Windows.UI.Input.Inking.IInkRecognizerContainer;
                    interface Windows.UI.Input.Inking.IInkStrokeContainer;
                }

                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkModelerAttributes
                {
                    [default] interface Windows.UI.Input.Inking.IInkModelerAttributes;
                    [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.UI.Input.Inking.IInkModelerAttributes2;
                }

                [activatable(Windows.UI.Input.Inking.IInkPointFactory, Windows.Foundation.UniversalApiContract, 1.0)]
                [activatable(Windows.UI.Input.Inking.IInkPointFactory2, Windows.Foundation.UniversalApiContract, 4.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkPoint
                {
                    [default] interface Windows.UI.Input.Inking.IInkPoint;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.Inking.IInkPoint2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkPresenter
                {
                    [default] interface Windows.UI.Input.Inking.IInkPresenter;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.Inking.IInkPresenter2;
                    [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Input.Inking.IInkPresenter3;
                }

                [activatable(Windows.UI.Input.Inking.IInkPresenterProtractorFactory, Windows.Foundation.UniversalApiContract, 4.0)]
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkPresenterProtractor
                {
                    [default] interface Windows.UI.Input.Inking.IInkPresenterProtractor;
                    interface Windows.UI.Input.Inking.IInkPresenterStencil;
                }

                [activatable(Windows.UI.Input.Inking.IInkPresenterRulerFactory, Windows.Foundation.UniversalApiContract, 3.0)]
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkPresenterRuler
                {
                    [default] interface Windows.UI.Input.Inking.IInkPresenterRuler;
                    interface Windows.UI.Input.Inking.IInkPresenterStencil;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.Inking.IInkPresenterRuler2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkRecognitionResult
                {
                    [default] interface Windows.UI.Input.Inking.IInkRecognitionResult;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                runtimeclass InkRecognizer
                {
                    [default] interface Windows.UI.Input.Inking.IInkRecognizer;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                [threading(both)]
                runtimeclass InkRecognizerContainer
                {
                    [default] interface Windows.UI.Input.Inking.IInkRecognizerContainer;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkStroke
                {
                    [default] interface Windows.UI.Input.Inking.IInkStroke;
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Input.Inking.IInkStroke2;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.Inking.IInkStroke3;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.UI.Input.Inking.IInkStroke4;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                [threading(both)]
                runtimeclass InkStrokeBuilder
                {
                    [default] interface Windows.UI.Input.Inking.IInkStrokeBuilder;
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Input.Inking.IInkStrokeBuilder2;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.Inking.IInkStrokeBuilder3;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                [threading(both)]
                runtimeclass InkStrokeContainer
                {
                    [default] interface Windows.UI.Input.Inking.IInkStrokeContainer;
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Input.Inking.IInkStrokeContainer2;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Input.Inking.IInkStrokeContainer3;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkStrokeInput
                {
                    [default] interface Windows.UI.Input.Inking.IInkStrokeInput;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkStrokeRenderingSegment
                {
                    [default] interface Windows.UI.Input.Inking.IInkStrokeRenderingSegment;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                runtimeclass InkStrokesCollectedEventArgs
                {
                    [default] interface Windows.UI.Input.Inking.IInkStrokesCollectedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                runtimeclass InkStrokesErasedEventArgs
                {
                    [default] interface Windows.UI.Input.Inking.IInkStrokesErasedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(none)]
                runtimeclass InkSynchronizer
                {
                    [default] interface Windows.UI.Input.Inking.IInkSynchronizer;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                runtimeclass InkUnprocessedInput
                {
                    [default] interface Windows.UI.Input.Inking.IInkUnprocessedInput;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Input.Inking.IPenAndInkSettingsStatics, Windows.Foundation.UniversalApiContract, 7.0)]
                [threading(both)]
                runtimeclass PenAndInkSettings
                {
                    [default] interface Windows.UI.Input.Inking.IPenAndInkSettings;
                    [contract(Windows.Foundation.UniversalApiContract, 12.0)] interface Windows.UI.Input.Inking.IPenAndInkSettings2;
                }
            }
        }
    }
}
