diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
commit | 16f504a9dca3fe3b70568f67b7d41241ae485288 (patch) | |
tree | c60f36ada0496ba928b7161059ba5ab1ab224f9d /src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl | |
parent | Initial commit. (diff) | |
download | virtualbox-16f504a9dca3fe3b70568f67b7d41241ae485288.tar.xz virtualbox-16f504a9dca3fe3b70568f67b7d41241ae485288.zip |
Adding upstream version 7.0.6-dfsg.upstream/7.0.6-dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/msinkaut.idl | 1018 |
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); + }; +}; |