From 7eee3397ffe04d53ccde517e4cf9669f824969c8 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 29 Apr 2015 21:27:26 +0200 Subject: msinkaut.idl: Added new file. diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am index 4fa8d83..3271692 100644 --- a/mingw-w64-headers/Makefile.am +++ b/mingw-w64-headers/Makefile.am @@ -108,6 +108,7 @@ IDL_SRCS = \ include/mmdeviceapi.idl \ include/mscoree.idl \ include/msctf.idl \ + include/msinkaut.idl \ include/mshtml.idl \ include/mshtmhst.idl \ include/msopc.idl \ diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in index 5a57f43..6c2c031 100644 --- a/mingw-w64-headers/Makefile.in +++ b/mingw-w64-headers/Makefile.in @@ -332,6 +332,7 @@ EXTRA_HEADERS = \ @HAVE_WIDL_TRUE@ include/mmdeviceapi.idl \ @HAVE_WIDL_TRUE@ include/mscoree.idl \ @HAVE_WIDL_TRUE@ include/msctf.idl \ +@HAVE_WIDL_TRUE@ include/msinkaut.idl \ @HAVE_WIDL_TRUE@ include/mshtml.idl \ @HAVE_WIDL_TRUE@ include/mshtmhst.idl \ @HAVE_WIDL_TRUE@ include/msopc.idl \ diff --git a/mingw-w64-headers/include/msinkaut.idl b/mingw-w64-headers/include/msinkaut.idl new file mode 100644 index 0000000..6d3c547 --- /dev/null +++ b/mingw-w64-headers/include/msinkaut.idl @@ -0,0 +1,711 @@ +/** + * 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 +{ +} diff --git a/mingw-w64-headers/include/tpcshrd.h b/mingw-w64-headers/include/tpcshrd.h index a8dd1fc..b114270 100644 --- a/mingw-w64-headers/include/tpcshrd.h +++ b/mingw-w64-headers/include/tpcshrd.h @@ -44,6 +44,17 @@ extern "C" { typedef DWORD CURSOR_ID; typedef USHORT SYSTEM_EVENT; typedef DWORD TABLET_CONTEXT_ID; +#ifndef _XFORM_ +#define _XFORM_ +typedef struct tagXFORM { + float eM11; + float eM12; + float eM21; + float eM22; + float eDx; + float eDy; +} XFORM; +#endif /* Begin additional prototypes for all interfaces */ diff --git a/mingw-w64-headers/include/tpcshrd.idl b/mingw-w64-headers/include/tpcshrd.idl index cc74801..d11f3e8 100644 --- a/mingw-w64-headers/include/tpcshrd.idl +++ b/mingw-w64-headers/include/tpcshrd.idl @@ -28,3 +28,15 @@ cpp_quote("#define IP_MARGIN 0x4") typedef DWORD CURSOR_ID; typedef USHORT SYSTEM_EVENT; typedef DWORD TABLET_CONTEXT_ID; + +cpp_quote("#ifndef _XFORM_") +cpp_quote("#define _XFORM_") +typedef struct tagXFORM { + float eM11; + float eM12; + float eM21; + float eM22; + float eDx; + float eDy; +} XFORM; +cpp_quote("#endif")