mingw-headers/commit-7eee339

790 lines
34 KiB
Plaintext

From 7eee3397ffe04d53ccde517e4cf9669f824969c8 Mon Sep 17 00:00:00 2001
From: Jacek Caban <jacek@codeweavers.com>
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 <tpcerror.h>")
+
+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")