summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl1018
1 files changed, 1018 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl
new file mode 100644
index 00000000..c4f54c3d
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl
@@ -0,0 +1,1018 @@
+/* Copyright (C) 2007 C John Klehm
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+import "oaidl.idl";
+import "ocidl.idl";
+
+[
+ uuid(7D868ACD-1A5D-4A47-A247-F39741353012),
+ version(1.0)
+]
+library MSINKAUTLib
+{
+ importlib("stdole2.tlb");
+
+ typedef float single;
+
+ typedef enum InkBoundingBoxMode {
+ IBBM_Default = 0,
+ IBBM_NoCurveFit = 1,
+ IBBM_CurveFit = 2,
+ IBBM_PointsOnly = 3,
+ IBBM_Union = 4
+ } InkBoundingBoxMode;
+
+ typedef enum InkExtractFlags {
+ IEF_CopyFromOriginal = 0x0,
+ IEF_RemoveFromOriginal = 0x1,
+ IEF_Default = IEF_RemoveFromOriginal
+ } InkExtractFlags;
+
+ typedef enum InkPersistenceFormat {
+ IPF_InkSerializeFormat = 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 InkPenTip {
+ IPT_Ball = 0,
+ IPT_Rectangle = 1
+ } InkPenTip;
+
+ typedef enum InkRasterOperation {
+ IRO_Black = 1,
+ IRO_NotMergePen,
+ IRO_MaskNotPen,
+ IRO_NotCopyPen,
+ IRO_MaskPenNot,
+ IRO_Not,
+ IRO_XOrPen,
+ IRO_NotMaskPen,
+ IRO_MaskPen,
+ IRO_NotXOrPen,
+ IRO_NoOperation,
+ IRO_MergeNotPen,
+ IRO_CopyPen,
+ IRO_MergePenNot,
+ IRO_MergePen,
+ IRO_White
+ } InkRasterOperation;
+
+ typedef enum InkClipboardModes {
+ ICB_Copy = 0,
+ ICB_Cut = 0x1,
+ ICB_DelayedCopy = 0x20,
+ ICB_ExtractOnly = 0x30,
+ ICB_Default = ICB_Copy
+ } InkClipboardModes;
+
+ typedef enum InkClipboardFormats {
+ ICF_None = 0,
+ ICF_InkSerializedFormat = 0x1,
+ ICF_SketchInk = 0x2,
+ ICF_TextInk = 0x6,
+ ICF_EnhancedMetafile = 0x8,
+ ICF_Metafile = 0x20,
+ ICF_Bitmap = 0x40,
+ ICF_PasteMask = 0x7,
+ ICF_CopyMask = 0x7f,
+ ICF_Default = ICF_CopyMask
+ } InkClipboardFormats;
+
+ typedef enum InkRecognitionConfidence
+ {
+ IRC_Strong = 0,
+ IRC_Intermediate = 1,
+ IRC_Poor = 2
+ } InkRecognitionConfidence;
+
+ [
+ odl,
+ uuid(DB489209-B7C3-411D-90F6-1548CFFF271E),
+ dual,
+ oleautomation
+ ]
+ interface IInkExtendedProperty : IDispatch {
+ [id(0x00000001), propget] HRESULT Guid([out, retval] BSTR* Guid);
+ [id(0x00000002), propget] HRESULT Data([out, retval] VARIANT* Data);
+ [id(0x00000002), propput] HRESULT Data([in] VARIANT Data);
+ };
+
+ [
+ odl,
+ uuid(89F2A8BE-95A9-4530-8B8F-88E971E3E25F),
+ dual,
+ oleautomation
+ ]
+ interface IInkExtendedProperties : IDispatch {
+ HRESULT Count([out, retval] long* Count);
+ 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);
+ };
+
+ [
+ odl,
+ uuid(BF519B75-0A15-4623-ADC9-C00D436A8092),
+ dual,
+ oleautomation
+ ]
+ interface IInkDrawingAttributes : IDispatch {
+ [id(0x00000002), propget] HRESULT Color(
+ [out, retval] long* CurrentColor);
+ [id(0x00000002), propput] HRESULT Color([in] long CurrentColor);
+ [id(0x00000003), propget] HRESULT Width(
+ [out, retval] single* CurrentWidth);
+ [id(0x00000003), propput] HRESULT Width([in] single CurrentWidth);
+ [id(0x00000001), propget] HRESULT Height(
+ [out, retval] single* CurrentHeight);
+ [id(0x00000001), propput] HRESULT Height([in] single CurrentHeight);
+ [id(0x00000004), propget] HRESULT FitToCurve(
+ [out, retval] VARIANT_BOOL* Flag);
+ [id(0x00000004), propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag);
+ [id(0x00000005), propget] HRESULT IgnorePressure(
+ [out, retval] VARIANT_BOOL* Flag);
+ [id(0x00000005), propput] HRESULT IgnorePressure(
+ [in] VARIANT_BOOL Flag);
+ [id(0x00000006), propget] HRESULT AntiAliased(
+ [out, retval] VARIANT_BOOL* Flag);
+ [id(0x00000006), propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag);
+ [id(0x00000007), propget] HRESULT Transparency(
+ [out, retval] long* CurrentTransparency);
+ [id(0x00000007), propput] HRESULT Transparency(
+ [in] long CurrentTransparency);
+ [id(0x00000008), propget] HRESULT RasterOperation(
+ [out, retval] InkRasterOperation* CurrentRasterOperation);
+ [id(0x00000008), propput] HRESULT RasterOperation(
+ [in] InkRasterOperation CurrentRasterOperation);
+ [id(0x00000009), propget] HRESULT PenTip(
+ [out, retval] InkPenTip* CurrentPenTip);
+ [id(0x00000009), propput] HRESULT PenTip([in] InkPenTip CurrentPenTip);
+ [id(0x0000000b), propget] HRESULT ExtendedProperties(
+ [out, retval] IInkExtendedProperties** Properties);
+ [id(0x0000000a)] HRESULT Clone(
+ [out, retval] IInkDrawingAttributes** DrawingAttributes);
+ };
+
+cpp_quote("#ifndef _WINGDI_")
+/* already defined in wingdi.h but needed for WIDL */
+ typedef struct tagXFORM {
+ single eM11;
+ single eM12;
+ single eM21;
+ single eM22;
+ single eDx;
+ single eDy;
+ } XFORM;
+cpp_quote("#endif /* _WINGDI_ */")
+
+ [
+ odl,
+ uuid(615F1D43-8703-4565-88E2-8201D2ECD7B7),
+ dual,
+ oleautomation
+ ]
+ interface IInkTransform : IDispatch {
+ [id(0x00000001)] HRESULT Reset();
+ [id(0x00000002)] HRESULT Translate(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ [id(0x00000003)] HRESULT Rotate(
+ [in] single Degrees,
+ [in, optional, defaultvalue(0)] single x,
+ [in, optional, defaultvalue(0)] single y);
+ [id(0x00000004)] HRESULT Reflect(
+ [in] VARIANT_BOOL Horizontally,
+ [in] VARIANT_BOOL Vertically);
+ [id(0x00000005)] HRESULT Shear(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ [id(0x00000006)] HRESULT ScaleTransform(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier);
+ [id(0x0000000d)] HRESULT GetTransform(
+ [out] single* eM11,
+ [out] single* eM12,
+ [out] single* eM21,
+ [out] single* eM22,
+ [out] single* eDx,
+ [out] single* eDy);
+ [id(0x0000000e)] HRESULT SetTransform(
+ [in] single eM11,
+ [in] single eM12,
+ [in] single eM21,
+ [in] single eM22,
+ [in] single eDx,
+ [in] single eDy);
+ [id(0x00000007), propget, hidden] HRESULT eM11(
+ [out, retval] single* Value);
+ [id(0x00000007), propput, hidden] HRESULT eM11([in] single Value);
+ [id(0x00000008), propget, hidden] HRESULT eM12(
+ [out, retval] single* Value);
+ [id(0x00000008), propput, hidden] HRESULT eM12([in] single Value);
+ [id(0x00000009), propget, hidden] HRESULT eM21(
+ [out, retval] single* Value);
+ [id(0x00000009), propput, hidden] HRESULT eM21([in] single Value);
+ [id(0x0000000a), propget, hidden] HRESULT eM22(
+ [out, retval] single* Value);
+ [id(0x0000000a), propput, hidden] HRESULT eM22([in] single Value);
+ [id(0x0000000b), propget, hidden] HRESULT eDx(
+ [out, retval] single* Value);
+ [id(0x0000000b), propput, hidden] HRESULT eDx([in] single Value);
+ [id(0x0000000c), propget, hidden] HRESULT eDy(
+ [out, retval] single* Value);
+ [id(0x0000000c), propput, hidden] HRESULT eDy([in] single Value);
+ [id(0x0000000f), propget, hidden] HRESULT Data(
+ [out, retval] XFORM* XFORM);
+ [id(0x0000000f), propput, hidden] HRESULT Data([in] XFORM XFORM);
+ };
+
+ interface IInkDisp;
+
+ [
+ odl,
+ uuid(9794FF82-6071-4717-8A8B-6AC7C64A686E),
+ dual,
+ oleautomation
+ ]
+ interface IInkRectangle
+ {
+ [id(1), propget] HRESULT Top([out, retval] long* Units);
+ [id(1), propput] HRESULT Top([in] long Units);
+ [id(2), propget] HRESULT Left([out, retval] long* Units);
+ [id(2), propput] HRESULT Left([in] long Units);
+ [id(3), propget] HRESULT Bottom([out, retval] long* Units);
+ [id(3), propput] HRESULT Bottom([in] long Units);
+ [id(4), propget] HRESULT Right([out, retval] long* Units);
+ [id(4), propput] HRESULT Right([in] long Units);
+ [id(7), propget] HRESULT Data([out, retval] RECT* Rect);
+ [id(7), propput] HRESULT Data([in] RECT Rect);
+ [id(5)] HRESULT GetRectangle(
+ [out] long* Top,
+ [out] long* Left,
+ [out] long* Bottom,
+ [out] long* Right);
+ [id(6)] HRESULT SetRectangle(
+ [in] long Top,
+ [in] long Left,
+ [in] long Bottom,
+ [in] long Right);
+ };
+
+ interface IInkStrokes;
+
+ typedef enum {
+ TPMU_Default,
+ TPMU_Inches,
+ TPMU_Centimeters,
+ TPMU_Degrees,
+ TPMU_Radians,
+ TPMU_Seconds,
+ TPMU_Pounds,
+ TPMU_Grams
+ } TabletPropertyMetricUnit;
+
+ [
+ odl,
+ uuid(43242FEA-91D1-4A72-963E-FBB91829CFA2),
+ dual,
+ oleautomation
+ ]
+ interface IInkStrokeDisp : IDispatch {
+ [id(0x00000002), propget] HRESULT Id([out, retval] long* Id);
+ [id(0x0000000d), propget] HRESULT BezierPoints(
+ [out, retval] VARIANT* Points);
+ [id(0x00000004), propget] HRESULT DrawingAttributes(
+ [out, retval] IInkDrawingAttributes** DrawAttrs);
+ [id(0x00000004), propputref] HRESULT DrawingAttributes(
+ [in] IInkDrawingAttributes* DrawAttrs);
+ [id(0x0000000c), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
+ [id(0x0000000b), propget] HRESULT ExtendedProperties(
+ [out, retval] IInkExtendedProperties** Properties);
+ [id(0x0000000e), propget] HRESULT PolylineCusps(
+ [out, retval] VARIANT* Cusps);
+ [id(0x0000000f), propget] HRESULT BezierCusps(
+ [out, retval] VARIANT* Cusps);
+ [id(0x00000010), propget] HRESULT SelfIntersections(
+ [out, retval] VARIANT* Intersections);
+ [id(0x00000011), propget] HRESULT PacketCount(
+ [out, retval] long* plCount);
+ [id(0x00000012), propget] HRESULT PacketSize(
+ [out, retval] long* plSize);
+ [id(0x00000013), propget] HRESULT PacketDescription(
+ [out, retval] VARIANT* PacketDescription);
+ [id(0x00000014), propget] HRESULT Deleted(
+ [out, retval] VARIANT_BOOL* Deleted);
+ [id(0x00000003)] HRESULT GetBoundingBox(
+ [in, optional, defaultvalue(0)] InkBoundingBoxMode BoundingBoxMode,
+ [out, retval] IInkRectangle** Rectangle);
+ [id(0x00000005)] HRESULT FindIntersections(
+ [in] IInkStrokes* Strokes,
+ [out, retval] VARIANT* Intersections);
+ [id(0x00000006)] HRESULT GetRectangleIntersections(
+ [in] IInkRectangle* Rectangle,
+ [out, retval] VARIANT* Intersections);
+ [id(0x00000007)] HRESULT Clip(
+ [in] IInkRectangle* Rectangle);
+ [id(0x00000008)] HRESULT HitTestCircle(
+ [in] long x,
+ [in] long y,
+ [in] single radius,
+ [out, retval] VARIANT_BOOL* Intersects);
+ [id(0x00000009)] HRESULT NearestPoint(
+ [in] long x,
+ [in] long y,
+ [in, out, optional, defaultvalue(0)] single* Distance,
+ [out, retval] single* Point);
+ [id(0x0000000a)] HRESULT Split(
+ [in] single SplitAt,
+ [out, retval] IInkStrokeDisp** NewStroke);
+ [id(0x00000015)] HRESULT GetPacketDescriptionPropertyMetrics(
+ [in] BSTR propertyName,
+ [out] long* Minimum,
+ [out] long* Maximum,
+ [out] TabletPropertyMetricUnit* Units,
+ [out] single* Resolution);
+ [id(0x00000016)] HRESULT GetPoints(
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] VARIANT* Points);
+ [id(0x00000017)] HRESULT SetPoints(
+ [in] VARIANT Points,
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] long* NumberOfPointsSet);
+ [id(0x00000018)] HRESULT GetPacketData(
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] VARIANT* PacketData);
+ [id(0x00000019)] HRESULT GetPacketValuesByProperty(
+ [in] BSTR propertyName,
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] VARIANT* PacketValues);
+ [id(0x0000001a)] HRESULT SetPacketValuesByProperty(
+ [in] BSTR bstrPropertyName,
+ [in] VARIANT PacketValues,
+ [in, optional, defaultvalue(0)] long Index,
+ [in, optional, defaultvalue(-1)] long Count,
+ [out, retval] long* NumberOfPacketsSet);
+ [id(0x0000001b)] HRESULT GetFlattenedBezierPoints(
+ [in, optional, defaultvalue(0)] long FittingError,
+ [out, retval] VARIANT* FlattenedBezierPoints);
+ [id(0x0000001d)] HRESULT Transform(
+ [in] IInkTransform* Transform,
+ [in, optional, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth);
+ [id(0x0000001c)] HRESULT ScaleToRectangle(
+ [in] IInkRectangle* Rectangle);
+ [id(0x0000001e)] HRESULT Move(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ [id(0x0000001f)] HRESULT Rotate(
+ [in] single Degrees,
+ [in, optional, defaultvalue(0)] single x,
+ [in, optional, defaultvalue(0)] single y);
+ [id(0x00000020)] HRESULT Shear(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier);
+ [id(0x00000021)] HRESULT ScaleTransform(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier);
+ };
+
+ interface IInkRecognitionResult;
+
+ [
+ odl,
+ uuid(F1F4C9D8-590A-4963-B3AE-1935671BB6F3),
+ dual,
+ oleautomation
+ ]
+ interface IInkStrokes : IDispatch {
+ [propget] HRESULT Count(
+ [out, retval] long *Count);
+ [propget, restricted] 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] VARIANT_BOOL ApplyOnPenWidth);
+ HRESULT ScaleToRectangle(
+ [in] IInkRectangle *Rectangle);
+ HRESULT Move(
+ [in] float HorizontalComponent,
+ [in] float VerticalComponent);
+ HRESULT Rotate(
+ [in] float Degrees,
+ [in] float x,
+ [in] 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();
+ };
+
+ [
+ odl,
+ uuid(7E23A88F-C30E-420f-9BDB-28902543F0C1),
+ dual,
+ oleautomation
+ ]
+ interface IInkCustomStrokes : IDispatch {
+ [propget] HRESULT Count(
+ [out, retval] long *Count);
+ [propget] 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();
+ };
+
+ interface IInkRecognitionAlternate;
+ interface IInkRecognitionAlternates;
+
+ [
+ odl,
+ uuid(3BC129A8-86CD-45ad-BDE8-E0D32D61C16D),
+ dual,
+ oleautomation
+ ]
+ 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();
+ };
+
+ [
+ odl,
+ uuid(B7E660AD-77E4-429b-ADDA-873780D1FC4A),
+ dual,
+ oleautomation
+ ]
+ 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 *Stroke,
+ [out, retval] IInkStrokes **GetStrokesFromTextRange);
+ 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);
+ };
+
+ [
+ odl,
+ uuid(286A167F-9F19-4c61-9D53-4F07BE622B84),
+ dual,
+ oleautomation
+ ]
+ 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);
+ };
+
+ [
+ odl,
+ uuid(9D398FA0-C4E2-4fcd-9973-975CAAF47EA6),
+ dual,
+ oleautomation
+ ]
+ 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 **CustomStrokes);
+ HRESULT GetBoundingBox(
+ [in] InkBoundingBoxMode BoundingBoxMode,
+ [out] IInkRectangle **Rectangle);
+ HRESULT DeleteStrokes(
+ [in, unique] IInkStrokes *Strokes);
+ HRESULT DeleteStroke(
+ [in] IInkStrokeDisp *Stroke);
+ HRESULT ExtractStrokes(
+ [in] IInkStrokes *Strokes,
+ [in] 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);
+ };
+
+ [
+ odl,
+ uuid(E6257A9C-B511-4F4C-A8B0-A7DBC9506B83),
+ dual,
+ oleautomation
+ ]
+ 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 hDC,
+ [in] IInkStrokes* Strokes);
+ HRESULT DrawStroke(
+ [in] long hDC,
+ [in] IInkStrokeDisp* Stroke,
+ [in, optional, defaultvalue(0)]
+ IInkDrawingAttributes* DrawingAttributes);
+ HRESULT PixelToInkSpace(
+ [in] long hDC,
+ [in, out] long* x,
+ [in, out] long* y);
+ HRESULT InkSpaceToPixel(
+ [in] long hdcDisplay,
+ [in, out] long* x,
+ [in, out] long* y);
+ HRESULT PixelToInkSpaceFromPoints(
+ [in] long hDC,
+ [in, out] VARIANT* Points);
+ HRESULT InkSpaceToPixelFromPoints(
+ [in] long hDC,
+ [in, out] VARIANT* Points);
+ HRESULT Measure(
+ [in] IInkStrokes* Strokes,
+ [out, retval] IInkRectangle** Rectangle);
+ HRESULT MeasureStroke(
+ [in] IInkStrokeDisp* Stroke,
+ [in, optional, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes,
+ [out, retval] IInkRectangle** Rectangle);
+ HRESULT Move(
+ [in] single HorizontalComponent,
+ [in] single VerticalComponent);
+ HRESULT Rotate(
+ [in] single Degrees,
+ [in, optional, defaultvalue(0)] single x,
+ [in, optional, defaultvalue(0)] single y);
+ HRESULT ScaleTransform(
+ [in] single HorizontalMultiplier,
+ [in] single VerticalMultiplier,
+ [in, optional, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth);
+ };
+
+ typedef enum {
+ ICM_InkOnly,
+ ICM_GestureOnly,
+ ICM_InkAndGesture
+ } InkCollectionMode;
+
+ typedef enum {
+ IMP_Default,
+ IMP_Arrow,
+ IMP_Crosshair,
+ IMP_Ibeam,
+ IMP_SizeNESW,
+ IMP_SizeNS,
+ IMP_SizeNWSE,
+ IMP_SizeWE,
+ IMP_UpArrow,
+ IMP_Hourglass,
+ IMP_NoDrop,
+ IMP_ArrowHourglass,
+ IMP_ArrowQuestion,
+ IMP_SizeAll,
+ IMP_Hand,
+ IMP_Custom = 99
+ } InkMousePointer;
+
+ typedef enum {
+ THWC_Integrated = 1,
+ THWC_CursorMustTouch = 2,
+ THWC_HardProximity = 4,
+ THWC_CursorsHavePhysicalIds = 8
+ } TabletHardwareCapabilities;
+
+ [
+ odl,
+ uuid(2DE25EAA-6EF8-42D5-AEE9-185BC81B912D),
+ dual,
+ oleautomation
+ ]
+ 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] single* Resolution);
+ };
+
+ typedef enum {
+ ICBS_Unavailable,
+ ICBS_Up,
+ ICBS_Down
+ } InkCursorButtonState;
+
+ [
+ odl,
+ uuid(85EF9417-1D59-49B2-A13C-702C85430894),
+ dual,
+ oleautomation
+ ]
+ interface IInkCursorButton : IDispatch {
+ [propget] HRESULT Name([out, retval] BSTR* Name);
+ [propget] HRESULT Id([out, retval] BSTR* Id);
+ [propget] HRESULT State([out, retval] InkCursorButtonState* CurrentState);
+ };
+
+ [
+ odl,
+ uuid(3671CC40-B624-4671-9FA0-DB119D952D54),
+ dual,
+ oleautomation
+ ]
+ 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);
+ };
+
+ [
+ odl,
+ uuid(AD30C630-40C5-4350-8405-9C71012FC558),
+ dual,
+ oleautomation
+ ]
+ interface IInkCursor : IDispatch {
+ [id(0x00000000), propget] HRESULT Name([out, retval] BSTR* Name);
+ [id(0x00000001), propget] HRESULT Id([out, retval] long* Id);
+ [id(0x00000004), propget] HRESULT Inverted(
+ [out, retval] VARIANT_BOOL* Status);
+ [id(0x00000002), propget] HRESULT DrawingAttributes(
+ [out, retval] IInkDrawingAttributes** Attributes);
+ [id(0x00000002), propputref] HRESULT DrawingAttributes(
+ [in] IInkDrawingAttributes* Attributes);
+ [id(0x00000005), propget] HRESULT Tablet(
+ [out, retval] IInkTablet** Tablet);
+ [id(0x00000003), propget] HRESULT Buttons(
+ [out, retval] IInkCursorButtons** Buttons);
+ };
+
+ [
+ odl,
+ uuid(A248C1AC-C698-4E06-9E5C-D57F77C7E647),
+ dual,
+ oleautomation
+ ]
+ interface IInkCursors : IDispatch {
+ [propget] HRESULT Count([out, retval] long* Count);
+ [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
+ HRESULT Item(
+ [in] long Index,
+ [out, retval] IInkCursor** Cursor);
+ };
+
+ typedef enum {
+ IAG_AllGestures = 0,
+ IAG_NoGesture = 61440,
+ IAG_Scratchout = 61441,
+ IAG_Triangle = 61442,
+ IAG_Square = 61443,
+ IAG_Star = 61444,
+ IAG_Check = 61445,
+ IAG_Curlicue = 61456,
+ IAG_DoubleCurlicue = 61457,
+ IAG_Circle = 61472,
+ IAG_DoubleCircle = 61473,
+ IAG_SemiCircleLeft = 61480,
+ IAG_SemiCircleRight = 61481,
+ IAG_ChevronUp = 61488,
+ IAG_ChevronDown = 61489,
+ IAG_ChevronLeft = 61490,
+ IAG_ChevronRight = 61491,
+ IAG_ArrowUp = 61496,
+ IAG_ArrowDown = 61497,
+ IAG_ArrowLeft = 61498,
+ IAG_ArrowRight = 61499,
+ IAG_Up = 61528,
+ IAG_Down = 61529,
+ IAG_Left = 61530,
+ IAG_Right = 61531,
+ IAG_UpDown = 61536,
+ IAG_DownUp = 61537,
+ IAG_LeftRight = 61538,
+ IAG_RightLeft = 61539,
+ IAG_UpLeftLong = 61540,
+ IAG_UpRightLong = 61541,
+ IAG_DownLeftLong = 61542,
+ IAG_DownRightLong = 61543,
+ IAG_UpLeft = 61544,
+ IAG_UpRight = 61545,
+ IAG_DownLeft = 61546,
+ IAG_DownRight = 61547,
+ IAG_LeftUp = 61548,
+ IAG_LeftDown = 61549,
+ IAG_RightUp = 61550,
+ IAG_RightDown = 61551,
+ IAG_Exclamation = 61604,
+ IAG_Tap = 61680,
+ IAG_DoubleTap = 61681
+ } InkApplicationGesture;
+
+ typedef enum {
+ ICEI_DefaultEvents = -1,
+ ICEI_CursorDown = 0,
+ ICEI_Stroke,
+ ICEI_NewPackets,
+ ICEI_NewInAirPackets,
+ ICEI_CursorButtonDown,
+ ICEI_CursorButtonUp,
+ ICEI_CursorInRange,
+ ICEI_CursorOutOfRange,
+ ICEI_SystemGesture,
+ ICEI_TabletAdded,
+ ICEI_TabletRemoved,
+ ICEI_MouseDown,
+ ICEI_MouseMove,
+ ICEI_MouseUp,
+ ICEI_MouseWheel,
+ ICEI_DblClick,
+ ICEI_AllEvents
+ } InkCollectorEventInterest;
+
+ [
+ odl,
+ uuid(F0F060B5-8B1F-4A7C-89EC-880692588A4F),
+ dual,
+ oleautomation
+ ]
+ interface IInkCollector : IDispatch {
+ [id(0x00000002), propget] HRESULT hWnd(
+ [out, retval] long* CurrentWindow);
+ [id(0x00000002), propput] HRESULT hWnd([in] long CurrentWindow);
+ [id(0x00000001), propget] HRESULT Enabled(
+ [out, retval] VARIANT_BOOL* Collecting);
+ [id(0x00000001), propput] HRESULT Enabled(
+ [in] VARIANT_BOOL Collecting);
+ [id(0x00000005), propget] HRESULT DefaultDrawingAttributes(
+ [out, retval] IInkDrawingAttributes** CurrentAttributes);
+ [id(0x00000005), propputref] HRESULT DefaultDrawingAttributes(
+ [in] IInkDrawingAttributes* CurrentAttributes);
+ [id(0x00000006), propget] HRESULT Renderer(
+ [out, retval] IInkRenderer** CurrentInkRenderer);
+ [id(0x00000006), propputref] HRESULT Renderer(
+ [in] IInkRenderer* CurrentInkRenderer);
+ [id(0x00000007), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
+ [id(0x00000007), propputref] HRESULT Ink([in] IInkDisp* Ink);
+ [id(0x00000008), propget] HRESULT AutoRedraw(
+ [out, retval] VARIANT_BOOL* AutoRedraw);
+ [id(0x00000008), propput] HRESULT AutoRedraw(
+ [in] VARIANT_BOOL AutoRedraw);
+ [id(0x00000009), propget] HRESULT CollectingInk(
+ [out, retval] VARIANT_BOOL* Collecting);
+ [id(0x0000001c), propget] HRESULT CollectionMode(
+ [out, retval] InkCollectionMode* Mode);
+ [id(0x0000001c), propput] HRESULT CollectionMode(
+ [in] InkCollectionMode Mode);
+ [id(0x0000001f), propget] HRESULT DynamicRendering(
+ [out, retval] VARIANT_BOOL* Enabled);
+ [id(0x0000001f), propput] HRESULT DynamicRendering(
+ [in] VARIANT_BOOL Enabled);
+ [id(0x00000020), propget] HRESULT DesiredPacketDescription(
+ [out, retval] VARIANT* PacketGuids);
+ [id(0x00000020), propput] HRESULT DesiredPacketDescription(
+ [in] VARIANT PacketGuids);
+ [id(0x00000023), propget] HRESULT MouseIcon(
+ [out, retval] IPictureDisp** MouseIcon);
+ [id(0x00000023), propput] HRESULT MouseIcon(
+ [in] IPictureDisp* MouseIcon);
+ [id(0x00000023), propputref] HRESULT MouseIcon(
+ [in] IPictureDisp* MouseIcon);
+ [id(0x00000024), propget] HRESULT MousePointer(
+ [out, retval] InkMousePointer* MousePointer);
+ [id(0x00000024), propput] HRESULT MousePointer(
+ [in] InkMousePointer MousePointer);
+ [id(0x00000014), propget] HRESULT Cursors(
+ [out, retval] IInkCursors** Cursors);
+ [id(0x00000015), propget] HRESULT MarginX(
+ [out, retval] long* MarginX);
+ [id(0x00000015), propput] HRESULT MarginX([in] long MarginX);
+ [id(0x00000016), propget] HRESULT MarginY(
+ [out, retval] long* MarginY);
+ [id(0x00000016), propput] HRESULT MarginY([in] long MarginY);
+ [id(0x00000019), propget] HRESULT Tablet(
+ [out, retval] IInkTablet** SingleTablet);
+ [id(0x00000026), propget] HRESULT SupportHighContrastInk(
+ [out, retval] VARIANT_BOOL* Support);
+ [id(0x00000026), propput] HRESULT SupportHighContrastInk(
+ [in] VARIANT_BOOL Support);
+ [id(0x0000001d)] HRESULT SetGestureStatus(
+ [in] InkApplicationGesture Gesture,
+ [in] VARIANT_BOOL Listen);
+ [id(0x0000001e)] HRESULT GetGestureStatus(
+ [in] InkApplicationGesture Gesture,
+ [out, retval] VARIANT_BOOL* Listening);
+ [id(0x00000018)] HRESULT GetWindowInputRectangle(
+ [in, out] IInkRectangle** WindowInputRectangle);
+ [id(0x00000017)] HRESULT SetWindowInputRectangle(
+ [in] IInkRectangle* WindowInputRectangle);
+ [id(0x0000001a)] HRESULT SetAllTabletsMode(
+ [in, optional, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput);
+ [id(0x0000001b)] HRESULT SetSingleTabletIntegratedMode(
+ [in] IInkTablet* Tablet);
+ [id(0x0000000b)] HRESULT GetEventInterest(
+ [in] InkCollectorEventInterest EventId,
+ [out, retval] VARIANT_BOOL* Listen);
+ [id(0x0000000a)] HRESULT SetEventInterest(
+ [in] InkCollectorEventInterest EventId,
+ [in] VARIANT_BOOL Listen);
+ };
+};