/** * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER within this package. */ import "oaidl.idl"; import "ocidl.idl"; import "tpcshrd.idl"; // cpp_quote("#import ") typedef enum InkRasterOperation { IRO_Black = 1, IRO_NotMergePen = 2, IRO_MaskNotPen = 3, IRO_NotCopyPen = 4, IRO_MaskPenNot = 5, IRO_Not = 6, IRO_XOrPen = 7, IRO_NotMaskPen = 8, IRO_MaskPen = 9, IRO_NotXOrPen = 10, IRO_NoOperation = 11, IRO_MergeNotPen = 12, IRO_CopyPen = 13, IRO_MergePenNot = 14, IRO_MergePen = 15, IRO_White = 16 } InkRasterOperation; typedef enum InkPenTip { IPT_Ball = 0, IPT_Rectangle = 1 } InkPenTip; typedef enum TabletHardwareCapabilities { THWC_Integrated = 0x1, THWC_CursorMustTouch = 0x2, THWC_HardProximity = 0x4, THWC_CursorsHavePhysicalIds = 0x8 } TabletHardwareCapabilities; typedef enum TabletPropertyMetricUnit { TPMU_Default, TPMU_Inches, TPMU_Centimeters, TPMU_Degrees, TPMU_Radians, TPMU_Seconds, TPMU_Pounds, TPMU_Grams } TabletPropertyMetricUnit; typedef enum InkCursorButtonState { ICBS_Unavailable, ICBS_Up, ICBS_Down } InkCursorButtonState; typedef enum InkRecognitionConfidence { IRC_Strong = 0, IRC_Intermediate = 1, IRC_Poor = 2 } InkRecognitionConfidence; typedef enum InkBoundingBoxMode { IBBM_Default = 0, IBBM_NoCurveFit = 1, IBBM_CurveFit = 2, IBBM_PointsOnly = 3, IBBM_Union = 4 } InkBoundingBoxMode; typedef enum InkExtractFlags { IEF_CopyFromOriginal = 0, IEF_RemoveFromOriginal = 1, IEF_Default = IEF_RemoveFromOriginal } InkExtractFlags; typedef enum InkPersistenceFormat { IPF_InkSerializedFormat = 0, IPF_Base64InkSerializedFormat = 1, IPF_GIF = 2, IPF_Base64GIF = 3 } InkPersistenceFormat; typedef enum InkPersistenceCompressionMode { IPCM_Default = 0, IPCM_MaximumCompression = 1, IPCM_NoCompression = 2 } InkPersistenceCompressionMode; typedef enum InkClipboardFormats { ICF_None = 0x0000, ICF_InkSerializedFormat = 0x0001, ICF_SketchInk = 0x0002, ICF_TextInk = 0x0006, ICF_EnhancedMetafile = 0x0008, ICF_Metafile = 0x0020, ICF_Bitmap = 0x0040, ICF_PasteMask = 0x0007, ICF_CopyMask = 0x007f, ICF_Default = ICF_CopyMask } InkClipboardFormats; typedef enum InkClipboardModes { ICB_Copy = 0x00, ICB_Cut = 0x01, ICB_ExtractOnly = 0x30, ICB_DelayedCopy = 0x20, ICB_Default = ICB_Copy } InkClipboardModes; typedef enum InkCollectionMode { ICM_InkOnly, ICM_GestureOnly, ICM_InkAndGesture } InkCollectionMode; typedef enum InkMousePointer { IMP_Default = 0, IMP_Arrow = 1, IMP_Crosshair = 2, IMP_Ibeam = 3, IMP_SizeNESW = 4, IMP_SizeNS = 5, IMP_SizeNWSE = 6, IMP_SizeWE = 7, IMP_UpArrow = 8, IMP_Hourglass = 9, IMP_NoDrop = 10, IMP_ArrowHourglass = 11, IMP_ArrowQuestion = 12, IMP_SizeAll = 13, IMP_Hand = 14, IMP_Custom = 99 } InkMousePointer; typedef enum InkApplicationGesture { IAG_AllGestures = 0x0000, IAG_NoGesture = 0xf000, IAG_Scratchout = 0xf001, IAG_Triangle = 0xf002, IAG_Square = 0xf003, IAG_Star = 0xf004, IAG_Check = 0xf005, IAG_Curlicue = 0xf010, IAG_DoubleCurlicue = 0xf011, IAG_Circle = 0xf020, IAG_DoubleCircle = 0xf021, IAG_SemiCircleLeft = 0xf028, IAG_SemiCircleRight = 0xf029, IAG_ChevronUp = 0xf030, IAG_ChevronDown = 0xf031, IAG_ChevronLeft = 0xf032, IAG_ChevronRight = 0xf033, IAG_ArrowUp = 0xf038, IAG_ArrowDown = 0xf039, IAG_ArrowLeft = 0xf03a, IAG_ArrowRight = 0xf03b, IAG_Up = 0xf058, IAG_Down = 0xf059, IAG_Left = 0xf05a, IAG_Right = 0xf05b, IAG_UpDown = 0xf060, IAG_DownUp = 0xf061, IAG_LeftRight = 0xf062, IAG_RightLeft = 0xf063, IAG_UpLeftLong = 0xf064, IAG_UpRightLong = 0xf065, IAG_DownLeftLong = 0xf066, IAG_DownRightLong = 0xf067, IAG_UpLeft = 0xf068, IAG_UpRight = 0xf069, IAG_DownLeft = 0xf06a, IAG_DownRight = 0xf06b, IAG_LeftUp = 0xf06c, IAG_LeftDown = 0xf06d, IAG_RightUp = 0xf06e, IAG_RightDown = 0xf06f, IAG_Exclamation = 0xf0a4, IAG_Tap = 0xf0f0, IAG_DoubleTap = 0xf0f1 } InkApplicationGesture; typedef enum InkCollectorEventInterest { ICEI_DefaultEvents = -1, ICEI_CursorDown = (ICEI_DefaultEvents+1), ICEI_Stroke = (ICEI_CursorDown+1), ICEI_NewPackets = (ICEI_Stroke+1), ICEI_NewInAirPackets = (ICEI_NewPackets+1), ICEI_CursorButtonDown = (ICEI_NewInAirPackets+1), ICEI_CursorButtonUp = (ICEI_CursorButtonDown+1), ICEI_CursorInRange = (ICEI_CursorButtonUp+1), ICEI_CursorOutOfRange = (ICEI_CursorInRange+1), ICEI_SystemGesture = (ICEI_CursorOutOfRange+1), ICEI_TabletAdded = (ICEI_SystemGesture+1), ICEI_TabletRemoved = (ICEI_TabletAdded+1), ICEI_MouseDown = (ICEI_TabletRemoved+1), ICEI_MouseMove = (ICEI_MouseDown+1), ICEI_MouseUp = (ICEI_MouseMove+1), ICEI_MouseWheel = (ICEI_MouseUp+1), ICEI_DblClick = (ICEI_MouseWheel+1), ICEI_AllEvents = (ICEI_DblClick+1) } InkCollectorEventInterest; typedef enum DISPID_InkCollectorEvent { DISPID_ICEStroke = 1, DISPID_ICECursorDown = (DISPID_ICEStroke+1), DISPID_ICENewPackets = (DISPID_ICECursorDown+1), DISPID_ICENewInAirPackets = (DISPID_ICENewPackets+1), DISPID_ICECursorButtonDown = (DISPID_ICENewInAirPackets+1), DISPID_ICECursorButtonUp = (DISPID_ICECursorButtonDown+1), DISPID_ICECursorInRange = (DISPID_ICECursorButtonUp+1), DISPID_ICECursorOutOfRange = (DISPID_ICECursorInRange+1), DISPID_ICESystemGesture = (DISPID_ICECursorOutOfRange+1), DISPID_ICEGesture = (DISPID_ICESystemGesture+1), DISPID_ICETabletAdded = (DISPID_ICEGesture+1), DISPID_ICETabletRemoved = (DISPID_ICETabletAdded+1), DISPID_IOEPainting = (DISPID_ICETabletRemoved+1), DISPID_IOEPainted = (DISPID_IOEPainting+1), DISPID_IOESelectionChanging = (DISPID_IOEPainted+1), DISPID_IOESelectionChanged = (DISPID_IOESelectionChanging+1), DISPID_IOESelectionMoving = (DISPID_IOESelectionChanged+1), DISPID_IOESelectionMoved = (DISPID_IOESelectionMoving+1), DISPID_IOESelectionResizing = (DISPID_IOESelectionMoved+1), DISPID_IOESelectionResized = (DISPID_IOESelectionResizing+1), DISPID_IOEStrokesDeleting = (DISPID_IOESelectionResized+1), DISPID_IOEStrokesDeleted = (DISPID_IOEStrokesDeleting+1), DISPID_IPEChangeUICues = (DISPID_IOEStrokesDeleted+1), DISPID_IPEClick = (DISPID_IPEChangeUICues+1), DISPID_IPEDblClick = (DISPID_IPEClick+1), DISPID_IPEInvalidated = (DISPID_IPEDblClick+1), DISPID_IPEMouseDown = (DISPID_IPEInvalidated+1), DISPID_IPEMouseEnter = (DISPID_IPEMouseDown+1), DISPID_IPEMouseHover = (DISPID_IPEMouseEnter+1), DISPID_IPEMouseLeave = (DISPID_IPEMouseHover+1), DISPID_IPEMouseMove = (DISPID_IPEMouseLeave+1), DISPID_IPEMouseUp = (DISPID_IPEMouseMove+1), DISPID_IPEMouseWheel = (DISPID_IPEMouseUp+1), DISPID_IPESizeModeChanged = (DISPID_IPEMouseWheel+1), DISPID_IPEStyleChanged = (DISPID_IPESizeModeChanged+1), DISPID_IPESystemColorsChanged = (DISPID_IPEStyleChanged+1), DISPID_IPEKeyDown = (DISPID_IPESystemColorsChanged+1), DISPID_IPEKeyPress = (DISPID_IPEKeyDown+1), DISPID_IPEKeyUp = (DISPID_IPEKeyPress+1), DISPID_IPEResize = (DISPID_IPEKeyUp+1), DISPID_IPESizeChanged = (DISPID_IPEResize+1) } DISPID_InkCollectorEvent; interface IInkDisp; interface IInkStrokes; interface IInkRecognitionAlternate; [ object, uuid(db489209-b7c3-411d-90f6-1548cfff271e), dual ] interface IInkExtendedProperty : IDispatch { [propget] HRESULT Guid([out, retval] BSTR *Guid); [propget] HRESULT Data([out, retval] VARIANT *Data); [propput] HRESULT Data([in] VARIANT Data); } [ object, uuid(89f2a8be-95a9-4530-8b8f-88e971e3e25f), dual ] interface IInkExtendedProperties : IDispatch { [propget] HRESULT Count([out, retval] long *Count); [propget] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); HRESULT Item([in] VARIANT Identifier, [out, retval] IInkExtendedProperty **Item); HRESULT Add([in] BSTR Guid, [in] VARIANT Data, [out, retval] IInkExtendedProperty **InkExtendedProperty); HRESULT Remove([in] VARIANT Identifier); HRESULT Clear(); HRESULT DoesPropertyExist([in] BSTR Guid, [out, retval] VARIANT_BOOL *DoesPropertyExist); } [ object, uuid(bf519b75-0a15-4623-adc9-c00d436a8092), dual ] interface IInkDrawingAttributes : IDispatch { [propget] HRESULT Color([out] long *CurrentColor); [propput] HRESULT Color([in] long NewColor); [propget] HRESULT Width([out, retval] float *CurrentWidth); [propput] HRESULT Width([in] float NewWidth); [propget] HRESULT Height([out, retval] float *CurrentHeight); [propput] HRESULT Height([in] float NewHeight); [propget] HRESULT FitToCurve([out, retval] VARIANT_BOOL *Flag); [propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag); [propget] HRESULT IgnorePressure([out, retval] VARIANT_BOOL *Flag); [propput] HRESULT IgnorePressure([in] VARIANT_BOOL Flag); [propget] HRESULT AntiAliased([out, retval] VARIANT_BOOL *Flag); [propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag); [propget] HRESULT Transparency([out, retval] long *CurrentTransparency); [propput] HRESULT Transparency([in] long NewTransparency); [propget] HRESULT RasterOperation([out, retval] InkRasterOperation *CurrentRasterOperation); [propput] HRESULT RasterOperation([in] InkRasterOperation NewRasterOperation); [propget] HRESULT PenTip([out, retval] InkPenTip *CurrentPenTip); [propput] HRESULT PenTip([in] InkPenTip NewPenTip); [propget] HRESULT ExtendedProperties([out, retval] IInkExtendedProperties **Properties); HRESULT Clone([out, retval] IInkDrawingAttributes **DrawingAttributes); } [ object, uuid(9794ff82-6071-4717-8a8b-6ac7c64a686e), dual ] interface IInkRectangle : IDispatch { [propget] HRESULT Top([out, retval] long *Units); [propput] HRESULT Top([in] long Units); [propget] HRESULT Left([out, retval] long *Units); [propput] HRESULT Left([in] long Units); [propget] HRESULT Bottom([out, retval] long *Units); [propput] HRESULT Bottom([in] long Units); [propget] HRESULT Right([out, retval] long *Units); [propput] HRESULT Right([in] long Units); [propget] HRESULT Data([out, retval] RECT *Rect); [propput] HRESULT Data([in] RECT Rect); HRESULT GetRectangle([out] long *Top, [out] long *Left, [out] long *Bottom, [out] long *Right); HRESULT SetRectangle([in] long Top, [in] long Left, [in] long Bottom, [in] long Right); } [ object, uuid(2de25eaa-6ef8-42d5-aee9-185bc81b912d), dual ] interface IInkTablet : IDispatch { [propget] HRESULT Name([out, retval] BSTR *Name); [propget] HRESULT PlugAndPlayId([out, retval] BSTR *Id); [propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle **Rectangle); [propget] HRESULT HardwareCapabilities([out, retval] TabletHardwareCapabilities *Capabilities); HRESULT IsPacketPropertySupported([in] BSTR packetPropertyName, [out, retval] VARIANT_BOOL *Supported); HRESULT GetPropertyMetrics([in] BSTR propertyName, [out] long *Minimum, [out] long *Maximum, [out] TabletPropertyMetricUnit *Units, [out] float *Resolution); } [ object, uuid(85ef9417-1d59-49b2-a13c-702c85430894), dual ] interface IInkCursorButton : IDispatch { [propget] HRESULT Name([out, retval] BSTR *Name); [propget] HRESULT Id([out, retval] BSTR *Id); [propget] HRESULT State([out, retval] InkCursorButtonState *CurrentState); } [ object, uuid(3671cC40-b624-4671-9fa0-db119d952d54), dual ] interface IInkCursorButtons : IDispatch { [propget] HRESULT Count([out, retval] long *Count); [propget] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); HRESULT Item([in] VARIANT Identifier, [out, retval] IInkCursorButton **Button); } [ object, uuid(ad30c630-40c5-4350-8405-9c71012fc558), dual ] interface IInkCursor : IDispatch { [propget] HRESULT Name([out, retval] BSTR *Name); [propget] HRESULT Id([out, retval] long *Id); [propget] HRESULT Inverted([out, retval] VARIANT_BOOL *Status); [propget] HRESULT DrawingAttributes([out, retval] IInkDrawingAttributes **Attributes); [propputref] HRESULT DrawingAttributes([in] IInkDrawingAttributes *Attributes); [propget] HRESULT Tablet([out, retval] IInkTablet **Tablet); [propget] HRESULT Buttons([out, retval] IInkCursorButtons **Buttons); } [ object, uuid(615f1d43-8703-4565-88e2-8201d2ecd7b7), dual ] interface IInkTransform : IDispatch { HRESULT Reset(); HRESULT Translate([in] float HorizontalComponent, [in] float VerticalComponent); HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); HRESULT Reflect([in] VARIANT_BOOL Horizontally, [in] VARIANT_BOOL Vertically); HRESULT Shear([in] float HorizontalComponent, [in] float VerticalComponent); HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier); HRESULT GetTransform([out] float *eM11, [out] float *eM12, [out] float *eM21, [out] float *eM22, [out] float *eDx, [out] float *eDy); HRESULT SetTransform([in] float eM11, [in] float eM12, [in] float eM21, [in] float eM22, [in] float eDx, [in] float eDy); [propget, hidden] HRESULT eM11([out, retval] float *Value); [propput, hidden] HRESULT eM11([in] float Value); [propget, hidden] HRESULT eM12([out, retval] float *Value); [propput, hidden] HRESULT eM12([in] float Value); [propget, hidden] HRESULT eM21([out, retval] float *Value); [propput, hidden] HRESULT eM21([in] float Value); [propget, hidden] HRESULT eM22([out, retval] float *Value); [propput, hidden] HRESULT eM22([in] float Value); [propget, hidden] HRESULT eDx([out, retval] float *Value); [propput, hidden] HRESULT eDx([in] float Value); [propget, hidden] HRESULT eDy([out, retval] float *Value); [propput, hidden] HRESULT eDy([in] float Value); [propget, hidden] HRESULT Data([out, retval] XFORM *XForm); [propput, hidden] HRESULT Data([in] XFORM XForm); } [ object, uuid(286a167f-9f19-4c61-9d53-4f07be622b84), dual ] interface IInkRecognitionAlternates : IDispatch { [propget] HRESULT Count([out, retval] long *Count); [propget, restricted] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); [propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); HRESULT Item([in] long Index, [out, retval] IInkRecognitionAlternate **InkRecoAlternate); } [ object, uuid(b7e660ad-77e4-429b-adda-873780d1fc4a), dual ] interface IInkRecognitionAlternate : IDispatch { [propget] HRESULT String([out, retval] BSTR *RecoString); [propget] HRESULT Confidence([out, retval] InkRecognitionConfidence *Confidence) ; [propget] HRESULT Baseline([out, retval] VARIANT *Baseline); [propget] HRESULT Midline([out, retval] VARIANT *Midline); [propget] HRESULT Ascender([out, retval] VARIANT *Ascender); [propget] HRESULT Descender([out, retval] VARIANT *Descender); [propget] HRESULT LineNumber([out, retval] long *LineNumber); [propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); [propget] HRESULT LineAlternates([out, retval] IInkRecognitionAlternates **LineAlternates); [propget] HRESULT ConfidenceAlternates([out, retval] IInkRecognitionAlternates **ConfidenceAlternates); HRESULT GetStrokesFromStrokeRanges([in] IInkStrokes *Strokes, [out, retval] IInkStrokes **GetStrokesFromStrokeRanges); HRESULT GetStrokesFromTextRange([in, out] long *selectionStart, [in, out] long *selectionLength, [out, retval] IInkStrokes **GetStrokesFromTextRange); HRESULT GetTextRangeFromStrokes([in] IInkStrokes *Strokes, [in, out] long *selectionStart, [in, out] long *selectionLength); HRESULT AlternatesWithConstantPropertyValues([in] BSTR PropertyType, [out, retval] IInkRecognitionAlternates **AlternatesWithConstantPropertyValues); HRESULT GetPropertyValue([in] BSTR PropertyType, [out, retval] VARIANT *PropertyValue); } [ object, uuid(3bc129a8-86cd-45ad-bde8-e0d32d61c16d), dual ] interface IInkRecognitionResult : IDispatch { [propget] HRESULT TopString([out, retval] BSTR *TopString); [propget] HRESULT TopAlternate([out, retval] IInkRecognitionAlternate **TopAlternate); [propget] HRESULT TopConfidence([out, retval] InkRecognitionConfidence *TopConfidence); [propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); HRESULT AlternatesFromSelection([in] long selectionStart, [in] long selectionLength, [in] long maximumAlternates, [out, retval] IInkRecognitionAlternates **AlternatesFromSelection); HRESULT ModifyTopAlternate([in] IInkRecognitionAlternate *Alternate); HRESULT SetResultOnStrokes(); } [ object, uuid(43242fea-91d1-4a72-963e-fbb91829cfa2), dual ] interface IInkStrokeDisp : IDispatch { [propget] HRESULT ID([out, retval] long *ID); [propget] HRESULT BezierPoints([out, retval] VARIANT *Points); [propget] HRESULT DrawingAttributes([out, retval] IInkDrawingAttributes **DrawAttrs); [propputref] HRESULT DrawingAttributes([in] IInkDrawingAttributes *DrawAttrs); [propget] HRESULT Ink([out, retval] IInkDisp **Ink); [propget] HRESULT ExtendedProperties([out, retval] IInkExtendedProperties **Properties); [propget] HRESULT PolylineCusps([out, retval] VARIANT *Cusps); [propget] HRESULT BezierCusps([out, retval] VARIANT *Cusps); [propget] HRESULT SelfIntersections([out, retval] VARIANT *Intersections); [propget] HRESULT PacketCount([out, retval] long *plCount); [propget] HRESULT PacketSize([out, retval] long *plSize); [propget] HRESULT PacketDescription([out, retval] VARIANT *PacketDescription); [propget] HRESULT Deleted([out, retval] VARIANT_BOOL *Deleted); HRESULT GetBoundingBox([in] InkBoundingBoxMode BoundingBoxMode, [out, retval] IInkRectangle **Rectangle); HRESULT FindIntersections([in] IInkStrokes *Strokes, [out, retval] VARIANT *Intersections); HRESULT GetRectangleIntersections([in] IInkRectangle *Rectangle, [out, retval] VARIANT *Intersections); HRESULT Clip([in] IInkRectangle *Rectangle); HRESULT HitTestCircle([in] long X, [in] long Y, [in] float Radius, [out, retval] VARIANT_BOOL *Intersects); HRESULT NearestPoint([in] long X, [in] long Y, [in, out] float *Distance, [out, retval] float *Point); HRESULT Split([in] float SplitAt, [out, retval] IInkStrokeDisp **NewStroke); HRESULT GetPacketDescriptionPropertyMetrics([in] BSTR PropertyName, [out] long *Minimum, [out] long *Maximum, [out] TabletPropertyMetricUnit *Units, [out] float *Resolution); HRESULT GetPoints([in] long Index, [in] long Count, [out, retval] VARIANT *Points); HRESULT SetPoints([in] VARIANT Points, [in] long Index, [in] long Count, [out, retval] long *NumberOfPointsSet); HRESULT GetPacketData([in] long Index, [in] long Count, [out, retval] VARIANT *PacketData); HRESULT GetPacketValuesByProperty([in] BSTR PropertyName, [in] long Index, [in] long Count, [out, retval] VARIANT *PacketValues) ; HRESULT SetPacketValuesByProperty([in] BSTR bstrPropertyName, [in] VARIANT PacketValues, [in] long Index, [in] long Count, [out, retval] long *NumberOfPacketsSet); HRESULT GetFlattenedBezierPoints([in] long FittingError, [out, retval] VARIANT *FlattenedBezierPoints); HRESULT Transform([in] IInkTransform *Transform, [in, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth); HRESULT ScaleToRectangle([in] IInkRectangle *Rectangle); HRESULT Move([in] float HorizontalComponent, [in] float VerticalComponent); HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); HRESULT Shear([in] float HorizontalMultiplier, [in] float VerticalMultiplier); HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier); } [ object, uuid(7e23a88f-c30e-420f-9bdb-28902543f0c1), dual ] interface IInkCustomStrokes : IDispatch { [propget] HRESULT Count([out, retval] long *Count); [propget, restricted] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); HRESULT Item([in] VARIANT Identifier, [out, retval] IInkStrokes **Strokes); HRESULT Add([in] BSTR Name, [in] IInkStrokes *Strokes); HRESULT Remove([in] VARIANT Identifier); HRESULT Clear(); } [ object, uuid(9d398fa0-c4e2-4fcd-9973-975caaf47ea6), dual ] interface IInkDisp : IDispatch { [propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); [propget] HRESULT ExtendedProperties([out, retval] IInkExtendedProperties **Properties); [propget] HRESULT Dirty([out, retval] VARIANT_BOOL *Dirty); [propput] HRESULT Dirty([in] VARIANT_BOOL Dirty); [propget] HRESULT CustomStrokes([out, retval] IInkCustomStrokes **ppunkInkCustomStrokes); HRESULT GetBoundingBox([in] InkBoundingBoxMode BoundingBoxMode, [out, retval] IInkRectangle **Rectangle); HRESULT DeleteStrokes([in, unique, defaultvalue(0)] IInkStrokes *Strokes); HRESULT DeleteStroke([in] IInkStrokeDisp *Stroke); HRESULT ExtractStrokes([in] IInkStrokes *Strokes, InkExtractFlags ExtractFlags, [out, retval] IInkDisp **ExtractedInk); HRESULT ExtractWithRectangle([in] IInkRectangle *Rectangle, [in] InkExtractFlags extractFlags, [out, retval] IInkDisp **ExtractedInk); HRESULT Clip([in] IInkRectangle *Rectangle); HRESULT Clone([out, retval] IInkDisp **NewInk); HRESULT HitTestCircle([in] long X, [in] long Y, [in] float radius, [out, retval] IInkStrokes **Strokes); HRESULT HitTestWithRectangle([in] IInkRectangle *SelectionRectangle, [in] float IntersectPercent, [out, retval] IInkStrokes **Strokes); HRESULT HitTestWithLasso([in] VARIANT Points, [in] float IntersectPercent, [in, out, unique] VARIANT *LassoPoints, [out, retval] IInkStrokes **Strokes); HRESULT NearestPoint([in] long X, [in] long Y, [in, out] float *PointOnStroke, [in, out] float *DistanceFromPacket, [out, retval] IInkStrokeDisp **Stroke); HRESULT CreateStrokes([in] VARIANT StrokeIds, [out, retval] IInkStrokes **Strokes); HRESULT AddStrokesAtRectangle([in] IInkStrokes *SourceStrokes, [in] IInkRectangle *TargetRectangle); HRESULT Save([in] InkPersistenceFormat PersistenceFormat, [in] InkPersistenceCompressionMode CompressionMode, [out, retval] VARIANT *Data); HRESULT Load([in] VARIANT Data); HRESULT CreateStroke([in] VARIANT PacketData, [in] VARIANT PacketDescription, [out, retval] IInkStrokeDisp **Stroke); HRESULT ClipboardCopyWithRectangle([in] IInkRectangle *Rectangle, [in] InkClipboardFormats ClipboardFormats, [in] InkClipboardModes ClipboardModes, [out, retval] IDataObject **DataObject); HRESULT ClipboardCopy([in] IInkStrokes *strokes, [in] InkClipboardFormats ClipboardFormats, [in] InkClipboardModes ClipboardModes, [out, retval] IDataObject **DataObject); HRESULT CanPaste([in] IDataObject *DataObject, [out, retval] VARIANT_BOOL *CanPaste); HRESULT ClipboardPaste([in] long x, [in] long y, [in, unique] IDataObject *DataObject, [out, retval] IInkStrokes **Strokes); } [ object, uuid(f1f4c9d8-590a-4963-b3ae-1935671bb6f3), dual ] interface IInkStrokes : IDispatch { [propget] HRESULT Count([out, retval] long *Count); [propget] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); [propget] HRESULT Ink([out, retval] IInkDisp **Ink); [propget] HRESULT RecognitionResult([out, retval] IInkRecognitionResult **RecognitionResult); HRESULT ToString([out, retval] BSTR *ToString); HRESULT Item([in] long Index, [out, retval] IInkStrokeDisp **Stroke); HRESULT Add([in] IInkStrokeDisp *InkStroke); HRESULT AddStrokes([in] IInkStrokes *InkStrokes); HRESULT Remove([in] IInkStrokeDisp *InkStroke); HRESULT RemoveStrokes([in] IInkStrokes *InkStrokes); HRESULT ModifyDrawingAttributes([in] IInkDrawingAttributes *DrawAttrs); HRESULT GetBoundingBox([in] InkBoundingBoxMode BoundingBoxMode, [out, retval] IInkRectangle **BoundingBox); HRESULT Transform([in] IInkTransform *Transform, [in, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth); HRESULT ScaleToRectangle([in] IInkRectangle *Rectangle); HRESULT Move([in] float HorizontalComponent, [in] float VerticalComponent); HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); HRESULT Shear([in] float HorizontalMultiplier, [in] float VerticalMultiplier); HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier); HRESULT Clip([in] IInkRectangle *Rectangle); HRESULT RemoveRecognitionResult(); } [ object, uuid(e6257a9c-b511-4f4c-a8b0-a7dbc9506b83), dual ] interface IInkRenderer : IDispatch { HRESULT GetViewTransform([in] IInkTransform *ViewTransform) ; HRESULT SetViewTransform([in] IInkTransform *ViewTransform); HRESULT GetObjectTransform([in] IInkTransform *ObjectTransform); HRESULT SetObjectTransform([in] IInkTransform *ObjectTransform); HRESULT Draw([in] LONG_PTR hDC, [in] IInkStrokes *Strokes); HRESULT DrawStroke([in] LONG_PTR hDC, [in] IInkStrokeDisp *Stroke, [in, defaultvalue(0)] IInkDrawingAttributes *DrawingAttributes); HRESULT PixelToInkSpace([in] LONG_PTR hDC, [in, out] long *x, [in, out] long *y); HRESULT InkSpaceToPixel([in] LONG_PTR hdcDisplay, [in, out] long *x, [in, out] long *y); HRESULT PixelToInkSpaceFromPoints([in] LONG_PTR hDC, [in, out] VARIANT *Points); HRESULT InkSpaceToPixelFromPoints([in] LONG_PTR hDC, [in, out] VARIANT *Points); HRESULT Measure([in] IInkStrokes *Strokes, [out, retval] IInkRectangle **Rectangle); HRESULT MeasureStroke([in] IInkStrokeDisp *Stroke, [in] IInkDrawingAttributes *DrawingAttributes, [out, retval] IInkRectangle **Rectangle); HRESULT Move([in] float HorizontalComponent, [in] float VerticalComponent); HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier, [in, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth); } [ object, uuid(a248c1ac-c698-4e06-9e5c-d57f77c7e647), dual ] interface IInkCursors : IDispatch { [propget] HRESULT Count([out, retval] long *Count); [propget, restricted] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); HRESULT Item([in] long Index, [out, retval] IInkCursor **Cursor); } [ object, uuid(f0f060b5-8b1f-4a7c-89ec-880692588a4f), dual ] interface IInkCollector : IDispatch { [propget] HRESULT hWnd([out, retval] LONG_PTR *CurrentWindow); [propput] HRESULT hWnd([in] LONG_PTR NewWindow); [propget] HRESULT Enabled([out, retval] VARIANT_BOOL *Collecting); [propput] HRESULT Enabled([in] VARIANT_BOOL Collecting); [propget] HRESULT DefaultDrawingAttributes([out, retval] IInkDrawingAttributes **CurrentAttributes); [propputref] HRESULT DefaultDrawingAttributes([in] IInkDrawingAttributes *NewAttributes); [propget] HRESULT Renderer([out, retval] IInkRenderer **CurrentInkRenderer); [propputref] HRESULT Renderer([in] IInkRenderer *NewInkRenderer); [propget] HRESULT Ink([out, retval] IInkDisp **Ink); [propputref] HRESULT Ink([in] IInkDisp *NewInk); [propget] HRESULT AutoRedraw([out, retval] VARIANT_BOOL *AutoRedraw); [propput] HRESULT AutoRedraw([in] VARIANT_BOOL AutoRedraw); [propget] HRESULT CollectingInk([out, retval] VARIANT_BOOL *Collecting); [propget] HRESULT CollectionMode([out, retval] InkCollectionMode *Mode); [propput] HRESULT CollectionMode([in] InkCollectionMode Mode); [propget] HRESULT DynamicRendering([out, retval] VARIANT_BOOL *Enabled); [propput] HRESULT DynamicRendering([in] VARIANT_BOOL Enabled); [propget] HRESULT DesiredPacketDescription([out, retval] VARIANT *PacketGuids); [propput] HRESULT DesiredPacketDescription([in] VARIANT PacketGuids); [propget] HRESULT MouseIcon([out, retval] IPictureDisp **MouseIcon); [propput] HRESULT MouseIcon([in, unique] IPictureDisp *MouseIcon); [propputref] HRESULT MouseIcon([in, unique] IPictureDisp *MouseIcon); [propget] HRESULT MousePointer([out, retval] InkMousePointer *MousePointer); [propput] HRESULT MousePointer([in] InkMousePointer MousePointer); [propget] HRESULT Cursors([out, retval] IInkCursors **Cursors); [propget] HRESULT MarginX([out, retval] long *MarginX); [propput] HRESULT MarginX([in] long MarginX); [propget] HRESULT MarginY([out, retval] long *MarginY); [propput] HRESULT MarginY([in] long MarginY); [propget] HRESULT Tablet([out, retval] IInkTablet **SingleTablet); [propget] HRESULT SupportHighContrastInk([out, retval] VARIANT_BOOL *Support); [propput] HRESULT SupportHighContrastInk([in] VARIANT_BOOL Support); HRESULT SetGestureStatus([in] InkApplicationGesture Gesture, [in] VARIANT_BOOL Listen); HRESULT GetGestureStatus([in] InkApplicationGesture Gesture, [out, retval] VARIANT_BOOL *Listening); HRESULT GetWindowInputRectangle([in, out] IInkRectangle **WindowInputRectangle); HRESULT SetWindowInputRectangle([in] IInkRectangle *WindowInputRectangle); HRESULT SetAllTabletsMode([in, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput); HRESULT SetSingleTabletIntegratedMode([in] IInkTablet *Tablet); HRESULT GetEventInterest([in] InkCollectorEventInterest EventId, [out, retval] VARIANT_BOOL *Listen); HRESULT SetEventInterest([in] InkCollectorEventInterest EventId, [in] VARIANT_BOOL Listen); } [ uuid(11a583f2-712d-4fea-abcf-ab4af38ea06b) ] dispinterface _IInkCollectorEvents { properties: methods: /* FIXME */ } [ uuid(43fb1553-ad74-4ee8-88e4-3e6daac915db) ] coclass InkCollector { }