+++ /dev/null
-/* 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
- */
-
-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, defaultvalue(0)] single x,
- [in, 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, 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, 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, defaultvalue(0)] long Index,
- [in, defaultvalue(-1)] long Count,
- [out, retval] VARIANT* Points);
- [id(0x00000017)] HRESULT SetPoints(
- [in] VARIANT Points,
- [in, defaultvalue(0)] long Index,
- [in, defaultvalue(-1)] long Count,
- [out, retval] long* NumberOfPointsSet);
- [id(0x00000018)] HRESULT GetPacketData(
- [in, defaultvalue(0)] long Index,
- [in, defaultvalue(-1)] long Count,
- [out, retval] VARIANT* PacketData);
- [id(0x00000019)] HRESULT GetPacketValuesByProperty(
- [in] BSTR propertyName,
- [in, defaultvalue(0)] long Index,
- [in, defaultvalue(-1)] long Count,
- [out, retval] VARIANT* PacketValues);
- [id(0x0000001a)] HRESULT SetPacketValuesByProperty(
- [in] BSTR bstrPropertyName,
- [in] VARIANT PacketValues,
- [in, defaultvalue(0)] long Index,
- [in, defaultvalue(-1)] long Count,
- [out, retval] long* NumberOfPacketsSet);
- [id(0x0000001b)] HRESULT GetFlattenedBezierPoints(
- [in, defaultvalue(0)] long FittingError,
- [out, retval] VARIANT* FlattenedBezierPoints);
- [id(0x0000001d)] HRESULT Transform(
- [in] IInkTransform* Transform,
- [in, 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, defaultvalue(0)] single x,
- [in, 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, 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, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes,
- [out, retval] IInkRectangle** Rectangle);
- HRESULT Move(
- [in] single HorizontalComponent,
- [in] single VerticalComponent);
- HRESULT Rotate(
- [in] single Degrees,
- [in, defaultvalue(0)] single x,
- [in, defaultvalue(0)] single y);
- HRESULT ScaleTransform(
- [in] single HorizontalMultiplier,
- [in] single VerticalMultiplier,
- [in, 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, 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);
- };
-};