| 1 |
/** |
| 2 |
* This file is part of the mingw-w64 runtime package. |
| 3 |
* No warranty is given; refer to the file DISCLAIMER within this package. |
| 4 |
*/ |
| 5 |
|
| 6 |
import "oaidl.idl"; |
| 7 |
import "ocidl.idl"; |
| 8 |
import "tpcshrd.idl"; |
| 9 |
|
| 10 |
// cpp_quote("#import <tpcerror.h>") |
| 11 |
|
| 12 |
typedef enum InkRasterOperation { |
| 13 |
IRO_Black = 1, |
| 14 |
IRO_NotMergePen = 2, |
| 15 |
IRO_MaskNotPen = 3, |
| 16 |
IRO_NotCopyPen = 4, |
| 17 |
IRO_MaskPenNot = 5, |
| 18 |
IRO_Not = 6, |
| 19 |
IRO_XOrPen = 7, |
| 20 |
IRO_NotMaskPen = 8, |
| 21 |
IRO_MaskPen = 9, |
| 22 |
IRO_NotXOrPen = 10, |
| 23 |
IRO_NoOperation = 11, |
| 24 |
IRO_MergeNotPen = 12, |
| 25 |
IRO_CopyPen = 13, |
| 26 |
IRO_MergePenNot = 14, |
| 27 |
IRO_MergePen = 15, |
| 28 |
IRO_White = 16 |
| 29 |
} InkRasterOperation; |
| 30 |
|
| 31 |
typedef enum InkPenTip { |
| 32 |
IPT_Ball = 0, |
| 33 |
IPT_Rectangle = 1 |
| 34 |
} InkPenTip; |
| 35 |
|
| 36 |
typedef enum TabletHardwareCapabilities { |
| 37 |
THWC_Integrated = 0x1, |
| 38 |
THWC_CursorMustTouch = 0x2, |
| 39 |
THWC_HardProximity = 0x4, |
| 40 |
THWC_CursorsHavePhysicalIds = 0x8 |
| 41 |
} TabletHardwareCapabilities; |
| 42 |
|
| 43 |
typedef enum TabletPropertyMetricUnit { |
| 44 |
TPMU_Default, |
| 45 |
TPMU_Inches, |
| 46 |
TPMU_Centimeters, |
| 47 |
TPMU_Degrees, |
| 48 |
TPMU_Radians, |
| 49 |
TPMU_Seconds, |
| 50 |
TPMU_Pounds, |
| 51 |
TPMU_Grams |
| 52 |
} TabletPropertyMetricUnit; |
| 53 |
|
| 54 |
typedef enum InkCursorButtonState { |
| 55 |
ICBS_Unavailable, |
| 56 |
ICBS_Up, |
| 57 |
ICBS_Down |
| 58 |
} InkCursorButtonState; |
| 59 |
|
| 60 |
typedef enum InkRecognitionConfidence { |
| 61 |
IRC_Strong = 0, |
| 62 |
IRC_Intermediate = 1, |
| 63 |
IRC_Poor = 2 |
| 64 |
} InkRecognitionConfidence; |
| 65 |
|
| 66 |
typedef enum InkBoundingBoxMode { |
| 67 |
IBBM_Default = 0, |
| 68 |
IBBM_NoCurveFit = 1, |
| 69 |
IBBM_CurveFit = 2, |
| 70 |
IBBM_PointsOnly = 3, |
| 71 |
IBBM_Union = 4 |
| 72 |
} InkBoundingBoxMode; |
| 73 |
|
| 74 |
typedef enum InkExtractFlags { |
| 75 |
IEF_CopyFromOriginal = 0, |
| 76 |
IEF_RemoveFromOriginal = 1, |
| 77 |
IEF_Default = IEF_RemoveFromOriginal |
| 78 |
} InkExtractFlags; |
| 79 |
|
| 80 |
typedef enum InkPersistenceFormat { |
| 81 |
IPF_InkSerializedFormat = 0, |
| 82 |
IPF_Base64InkSerializedFormat = 1, |
| 83 |
IPF_GIF = 2, |
| 84 |
IPF_Base64GIF = 3 |
| 85 |
} InkPersistenceFormat; |
| 86 |
|
| 87 |
typedef enum InkPersistenceCompressionMode { |
| 88 |
IPCM_Default = 0, |
| 89 |
IPCM_MaximumCompression = 1, |
| 90 |
IPCM_NoCompression = 2 |
| 91 |
} InkPersistenceCompressionMode; |
| 92 |
|
| 93 |
typedef enum InkClipboardFormats { |
| 94 |
ICF_None = 0x0000, |
| 95 |
ICF_InkSerializedFormat = 0x0001, |
| 96 |
ICF_SketchInk = 0x0002, |
| 97 |
ICF_TextInk = 0x0006, |
| 98 |
ICF_EnhancedMetafile = 0x0008, |
| 99 |
ICF_Metafile = 0x0020, |
| 100 |
ICF_Bitmap = 0x0040, |
| 101 |
ICF_PasteMask = 0x0007, |
| 102 |
ICF_CopyMask = 0x007f, |
| 103 |
ICF_Default = ICF_CopyMask |
| 104 |
} InkClipboardFormats; |
| 105 |
|
| 106 |
typedef enum InkClipboardModes { |
| 107 |
ICB_Copy = 0x00, |
| 108 |
ICB_Cut = 0x01, |
| 109 |
ICB_ExtractOnly = 0x30, |
| 110 |
ICB_DelayedCopy = 0x20, |
| 111 |
ICB_Default = ICB_Copy |
| 112 |
} InkClipboardModes; |
| 113 |
|
| 114 |
typedef enum InkCollectionMode { |
| 115 |
ICM_InkOnly, |
| 116 |
ICM_GestureOnly, |
| 117 |
ICM_InkAndGesture |
| 118 |
} InkCollectionMode; |
| 119 |
|
| 120 |
typedef enum InkMousePointer { |
| 121 |
IMP_Default = 0, |
| 122 |
IMP_Arrow = 1, |
| 123 |
IMP_Crosshair = 2, |
| 124 |
IMP_Ibeam = 3, |
| 125 |
IMP_SizeNESW = 4, |
| 126 |
IMP_SizeNS = 5, |
| 127 |
IMP_SizeNWSE = 6, |
| 128 |
IMP_SizeWE = 7, |
| 129 |
IMP_UpArrow = 8, |
| 130 |
IMP_Hourglass = 9, |
| 131 |
IMP_NoDrop = 10, |
| 132 |
IMP_ArrowHourglass = 11, |
| 133 |
IMP_ArrowQuestion = 12, |
| 134 |
IMP_SizeAll = 13, |
| 135 |
IMP_Hand = 14, |
| 136 |
IMP_Custom = 99 |
| 137 |
} InkMousePointer; |
| 138 |
|
| 139 |
typedef enum InkApplicationGesture { |
| 140 |
IAG_AllGestures = 0x0000, |
| 141 |
IAG_NoGesture = 0xf000, |
| 142 |
IAG_Scratchout = 0xf001, |
| 143 |
IAG_Triangle = 0xf002, |
| 144 |
IAG_Square = 0xf003, |
| 145 |
IAG_Star = 0xf004, |
| 146 |
IAG_Check = 0xf005, |
| 147 |
IAG_Curlicue = 0xf010, |
| 148 |
IAG_DoubleCurlicue = 0xf011, |
| 149 |
IAG_Circle = 0xf020, |
| 150 |
IAG_DoubleCircle = 0xf021, |
| 151 |
IAG_SemiCircleLeft = 0xf028, |
| 152 |
IAG_SemiCircleRight = 0xf029, |
| 153 |
IAG_ChevronUp = 0xf030, |
| 154 |
IAG_ChevronDown = 0xf031, |
| 155 |
IAG_ChevronLeft = 0xf032, |
| 156 |
IAG_ChevronRight = 0xf033, |
| 157 |
IAG_ArrowUp = 0xf038, |
| 158 |
IAG_ArrowDown = 0xf039, |
| 159 |
IAG_ArrowLeft = 0xf03a, |
| 160 |
IAG_ArrowRight = 0xf03b, |
| 161 |
IAG_Up = 0xf058, |
| 162 |
IAG_Down = 0xf059, |
| 163 |
IAG_Left = 0xf05a, |
| 164 |
IAG_Right = 0xf05b, |
| 165 |
IAG_UpDown = 0xf060, |
| 166 |
IAG_DownUp = 0xf061, |
| 167 |
IAG_LeftRight = 0xf062, |
| 168 |
IAG_RightLeft = 0xf063, |
| 169 |
IAG_UpLeftLong = 0xf064, |
| 170 |
IAG_UpRightLong = 0xf065, |
| 171 |
IAG_DownLeftLong = 0xf066, |
| 172 |
IAG_DownRightLong = 0xf067, |
| 173 |
IAG_UpLeft = 0xf068, |
| 174 |
IAG_UpRight = 0xf069, |
| 175 |
IAG_DownLeft = 0xf06a, |
| 176 |
IAG_DownRight = 0xf06b, |
| 177 |
IAG_LeftUp = 0xf06c, |
| 178 |
IAG_LeftDown = 0xf06d, |
| 179 |
IAG_RightUp = 0xf06e, |
| 180 |
IAG_RightDown = 0xf06f, |
| 181 |
IAG_Exclamation = 0xf0a4, |
| 182 |
IAG_Tap = 0xf0f0, |
| 183 |
IAG_DoubleTap = 0xf0f1 |
| 184 |
} InkApplicationGesture; |
| 185 |
|
| 186 |
typedef enum InkCollectorEventInterest { |
| 187 |
ICEI_DefaultEvents = -1, |
| 188 |
ICEI_CursorDown = (ICEI_DefaultEvents+1), |
| 189 |
ICEI_Stroke = (ICEI_CursorDown+1), |
| 190 |
ICEI_NewPackets = (ICEI_Stroke+1), |
| 191 |
ICEI_NewInAirPackets = (ICEI_NewPackets+1), |
| 192 |
ICEI_CursorButtonDown = (ICEI_NewInAirPackets+1), |
| 193 |
ICEI_CursorButtonUp = (ICEI_CursorButtonDown+1), |
| 194 |
ICEI_CursorInRange = (ICEI_CursorButtonUp+1), |
| 195 |
ICEI_CursorOutOfRange = (ICEI_CursorInRange+1), |
| 196 |
ICEI_SystemGesture = (ICEI_CursorOutOfRange+1), |
| 197 |
ICEI_TabletAdded = (ICEI_SystemGesture+1), |
| 198 |
ICEI_TabletRemoved = (ICEI_TabletAdded+1), |
| 199 |
ICEI_MouseDown = (ICEI_TabletRemoved+1), |
| 200 |
ICEI_MouseMove = (ICEI_MouseDown+1), |
| 201 |
ICEI_MouseUp = (ICEI_MouseMove+1), |
| 202 |
ICEI_MouseWheel = (ICEI_MouseUp+1), |
| 203 |
ICEI_DblClick = (ICEI_MouseWheel+1), |
| 204 |
ICEI_AllEvents = (ICEI_DblClick+1) |
| 205 |
} InkCollectorEventInterest; |
| 206 |
|
| 207 |
typedef enum DISPID_InkCollectorEvent { |
| 208 |
DISPID_ICEStroke = 1, |
| 209 |
DISPID_ICECursorDown = (DISPID_ICEStroke+1), |
| 210 |
DISPID_ICENewPackets = (DISPID_ICECursorDown+1), |
| 211 |
DISPID_ICENewInAirPackets = (DISPID_ICENewPackets+1), |
| 212 |
DISPID_ICECursorButtonDown = (DISPID_ICENewInAirPackets+1), |
| 213 |
DISPID_ICECursorButtonUp = (DISPID_ICECursorButtonDown+1), |
| 214 |
DISPID_ICECursorInRange = (DISPID_ICECursorButtonUp+1), |
| 215 |
DISPID_ICECursorOutOfRange = (DISPID_ICECursorInRange+1), |
| 216 |
DISPID_ICESystemGesture = (DISPID_ICECursorOutOfRange+1), |
| 217 |
DISPID_ICEGesture = (DISPID_ICESystemGesture+1), |
| 218 |
DISPID_ICETabletAdded = (DISPID_ICEGesture+1), |
| 219 |
DISPID_ICETabletRemoved = (DISPID_ICETabletAdded+1), |
| 220 |
DISPID_IOEPainting = (DISPID_ICETabletRemoved+1), |
| 221 |
DISPID_IOEPainted = (DISPID_IOEPainting+1), |
| 222 |
DISPID_IOESelectionChanging = (DISPID_IOEPainted+1), |
| 223 |
DISPID_IOESelectionChanged = (DISPID_IOESelectionChanging+1), |
| 224 |
DISPID_IOESelectionMoving = (DISPID_IOESelectionChanged+1), |
| 225 |
DISPID_IOESelectionMoved = (DISPID_IOESelectionMoving+1), |
| 226 |
DISPID_IOESelectionResizing = (DISPID_IOESelectionMoved+1), |
| 227 |
DISPID_IOESelectionResized = (DISPID_IOESelectionResizing+1), |
| 228 |
DISPID_IOEStrokesDeleting = (DISPID_IOESelectionResized+1), |
| 229 |
DISPID_IOEStrokesDeleted = (DISPID_IOEStrokesDeleting+1), |
| 230 |
DISPID_IPEChangeUICues = (DISPID_IOEStrokesDeleted+1), |
| 231 |
DISPID_IPEClick = (DISPID_IPEChangeUICues+1), |
| 232 |
DISPID_IPEDblClick = (DISPID_IPEClick+1), |
| 233 |
DISPID_IPEInvalidated = (DISPID_IPEDblClick+1), |
| 234 |
DISPID_IPEMouseDown = (DISPID_IPEInvalidated+1), |
| 235 |
DISPID_IPEMouseEnter = (DISPID_IPEMouseDown+1), |
| 236 |
DISPID_IPEMouseHover = (DISPID_IPEMouseEnter+1), |
| 237 |
DISPID_IPEMouseLeave = (DISPID_IPEMouseHover+1), |
| 238 |
DISPID_IPEMouseMove = (DISPID_IPEMouseLeave+1), |
| 239 |
DISPID_IPEMouseUp = (DISPID_IPEMouseMove+1), |
| 240 |
DISPID_IPEMouseWheel = (DISPID_IPEMouseUp+1), |
| 241 |
DISPID_IPESizeModeChanged = (DISPID_IPEMouseWheel+1), |
| 242 |
DISPID_IPEStyleChanged = (DISPID_IPESizeModeChanged+1), |
| 243 |
DISPID_IPESystemColorsChanged = (DISPID_IPEStyleChanged+1), |
| 244 |
DISPID_IPEKeyDown = (DISPID_IPESystemColorsChanged+1), |
| 245 |
DISPID_IPEKeyPress = (DISPID_IPEKeyDown+1), |
| 246 |
DISPID_IPEKeyUp = (DISPID_IPEKeyPress+1), |
| 247 |
DISPID_IPEResize = (DISPID_IPEKeyUp+1), |
| 248 |
DISPID_IPESizeChanged = (DISPID_IPEResize+1) |
| 249 |
} DISPID_InkCollectorEvent; |
| 250 |
|
| 251 |
|
| 252 |
interface IInkDisp; |
| 253 |
interface IInkStrokes; |
| 254 |
interface IInkRecognitionAlternate; |
| 255 |
|
| 256 |
[ |
| 257 |
object, |
| 258 |
uuid(db489209-b7c3-411d-90f6-1548cfff271e), |
| 259 |
dual |
| 260 |
] |
| 261 |
interface IInkExtendedProperty : IDispatch |
| 262 |
{ |
| 263 |
[propget] HRESULT Guid([out, retval] BSTR *Guid); |
| 264 |
[propget] HRESULT Data([out, retval] VARIANT *Data); |
| 265 |
[propput] HRESULT Data([in] VARIANT Data); |
| 266 |
} |
| 267 |
|
| 268 |
[ |
| 269 |
object, |
| 270 |
uuid(89f2a8be-95a9-4530-8b8f-88e971e3e25f), |
| 271 |
dual |
| 272 |
] |
| 273 |
interface IInkExtendedProperties : IDispatch |
| 274 |
{ |
| 275 |
[propget] HRESULT Count([out, retval] long *Count); |
| 276 |
[propget] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); |
| 277 |
HRESULT Item([in] VARIANT Identifier, [out, retval] IInkExtendedProperty **Item); |
| 278 |
HRESULT Add([in] BSTR Guid, [in] VARIANT Data, [out, retval] IInkExtendedProperty **InkExtendedProperty); |
| 279 |
HRESULT Remove([in] VARIANT Identifier); |
| 280 |
HRESULT Clear(); |
| 281 |
HRESULT DoesPropertyExist([in] BSTR Guid, [out, retval] VARIANT_BOOL *DoesPropertyExist); |
| 282 |
} |
| 283 |
|
| 284 |
[ |
| 285 |
object, |
| 286 |
uuid(bf519b75-0a15-4623-adc9-c00d436a8092), |
| 287 |
dual |
| 288 |
] |
| 289 |
interface IInkDrawingAttributes : IDispatch |
| 290 |
{ |
| 291 |
[propget] HRESULT Color([out] long *CurrentColor); |
| 292 |
[propput] HRESULT Color([in] long NewColor); |
| 293 |
[propget] HRESULT Width([out, retval] float *CurrentWidth); |
| 294 |
[propput] HRESULT Width([in] float NewWidth); |
| 295 |
[propget] HRESULT Height([out, retval] float *CurrentHeight); |
| 296 |
[propput] HRESULT Height([in] float NewHeight); |
| 297 |
[propget] HRESULT FitToCurve([out, retval] VARIANT_BOOL *Flag); |
| 298 |
[propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag); |
| 299 |
[propget] HRESULT IgnorePressure([out, retval] VARIANT_BOOL *Flag); |
| 300 |
[propput] HRESULT IgnorePressure([in] VARIANT_BOOL Flag); |
| 301 |
[propget] HRESULT AntiAliased([out, retval] VARIANT_BOOL *Flag); |
| 302 |
[propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag); |
| 303 |
[propget] HRESULT Transparency([out, retval] long *CurrentTransparency); |
| 304 |
[propput] HRESULT Transparency([in] long NewTransparency); |
| 305 |
[propget] HRESULT RasterOperation([out, retval] InkRasterOperation *CurrentRasterOperation); |
| 306 |
[propput] HRESULT RasterOperation([in] InkRasterOperation NewRasterOperation); |
| 307 |
[propget] HRESULT PenTip([out, retval] InkPenTip *CurrentPenTip); |
| 308 |
[propput] HRESULT PenTip([in] InkPenTip NewPenTip); |
| 309 |
[propget] HRESULT ExtendedProperties([out, retval] IInkExtendedProperties **Properties); |
| 310 |
HRESULT Clone([out, retval] IInkDrawingAttributes **DrawingAttributes); |
| 311 |
} |
| 312 |
|
| 313 |
[ |
| 314 |
object, |
| 315 |
uuid(9794ff82-6071-4717-8a8b-6ac7c64a686e), |
| 316 |
dual |
| 317 |
] |
| 318 |
interface IInkRectangle : IDispatch |
| 319 |
{ |
| 320 |
[propget] HRESULT Top([out, retval] long *Units); |
| 321 |
[propput] HRESULT Top([in] long Units); |
| 322 |
[propget] HRESULT Left([out, retval] long *Units); |
| 323 |
[propput] HRESULT Left([in] long Units); |
| 324 |
[propget] HRESULT Bottom([out, retval] long *Units); |
| 325 |
[propput] HRESULT Bottom([in] long Units); |
| 326 |
[propget] HRESULT Right([out, retval] long *Units); |
| 327 |
[propput] HRESULT Right([in] long Units); |
| 328 |
[propget] HRESULT Data([out, retval] RECT *Rect); |
| 329 |
[propput] HRESULT Data([in] RECT Rect); |
| 330 |
HRESULT GetRectangle([out] long *Top, [out] long *Left, [out] long *Bottom, [out] long *Right); |
| 331 |
HRESULT SetRectangle([in] long Top, [in] long Left, [in] long Bottom, [in] long Right); |
| 332 |
} |
| 333 |
|
| 334 |
[ |
| 335 |
object, |
| 336 |
uuid(2de25eaa-6ef8-42d5-aee9-185bc81b912d), |
| 337 |
dual |
| 338 |
] |
| 339 |
interface IInkTablet : IDispatch |
| 340 |
{ |
| 341 |
[propget] HRESULT Name([out, retval] BSTR *Name); |
| 342 |
[propget] HRESULT PlugAndPlayId([out, retval] BSTR *Id); |
| 343 |
[propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle **Rectangle); |
| 344 |
[propget] HRESULT HardwareCapabilities([out, retval] TabletHardwareCapabilities *Capabilities); |
| 345 |
HRESULT IsPacketPropertySupported([in] BSTR packetPropertyName, [out, retval] VARIANT_BOOL *Supported); |
| 346 |
HRESULT GetPropertyMetrics([in] BSTR propertyName, [out] long *Minimum, [out] long *Maximum, |
| 347 |
[out] TabletPropertyMetricUnit *Units, [out] float *Resolution); |
| 348 |
} |
| 349 |
|
| 350 |
[ |
| 351 |
object, |
| 352 |
uuid(85ef9417-1d59-49b2-a13c-702c85430894), |
| 353 |
dual |
| 354 |
] |
| 355 |
interface IInkCursorButton : IDispatch |
| 356 |
{ |
| 357 |
[propget] HRESULT Name([out, retval] BSTR *Name); |
| 358 |
[propget] HRESULT Id([out, retval] BSTR *Id); |
| 359 |
[propget] HRESULT State([out, retval] InkCursorButtonState *CurrentState); |
| 360 |
} |
| 361 |
|
| 362 |
[ |
| 363 |
object, |
| 364 |
uuid(3671cC40-b624-4671-9fa0-db119d952d54), |
| 365 |
dual |
| 366 |
] |
| 367 |
interface IInkCursorButtons : IDispatch |
| 368 |
{ |
| 369 |
[propget] HRESULT Count([out, retval] long *Count); |
| 370 |
[propget] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); |
| 371 |
HRESULT Item([in] VARIANT Identifier, [out, retval] IInkCursorButton **Button); |
| 372 |
} |
| 373 |
|
| 374 |
[ |
| 375 |
object, |
| 376 |
uuid(ad30c630-40c5-4350-8405-9c71012fc558), |
| 377 |
dual |
| 378 |
] |
| 379 |
interface IInkCursor : IDispatch |
| 380 |
{ |
| 381 |
[propget] HRESULT Name([out, retval] BSTR *Name); |
| 382 |
[propget] HRESULT Id([out, retval] long *Id); |
| 383 |
[propget] HRESULT Inverted([out, retval] VARIANT_BOOL *Status); |
| 384 |
[propget] HRESULT DrawingAttributes([out, retval] IInkDrawingAttributes **Attributes); |
| 385 |
[propputref] HRESULT DrawingAttributes([in] IInkDrawingAttributes *Attributes); |
| 386 |
[propget] HRESULT Tablet([out, retval] IInkTablet **Tablet); |
| 387 |
[propget] HRESULT Buttons([out, retval] IInkCursorButtons **Buttons); |
| 388 |
} |
| 389 |
|
| 390 |
[ |
| 391 |
object, |
| 392 |
uuid(615f1d43-8703-4565-88e2-8201d2ecd7b7), |
| 393 |
dual |
| 394 |
] |
| 395 |
interface IInkTransform : IDispatch |
| 396 |
{ |
| 397 |
HRESULT Reset(); |
| 398 |
HRESULT Translate([in] float HorizontalComponent, [in] float VerticalComponent); |
| 399 |
HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); |
| 400 |
HRESULT Reflect([in] VARIANT_BOOL Horizontally, [in] VARIANT_BOOL Vertically); |
| 401 |
HRESULT Shear([in] float HorizontalComponent, [in] float VerticalComponent); |
| 402 |
HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier); |
| 403 |
HRESULT GetTransform([out] float *eM11, [out] float *eM12, [out] float *eM21, [out] float *eM22, |
| 404 |
[out] float *eDx, [out] float *eDy); |
| 405 |
HRESULT SetTransform([in] float eM11, [in] float eM12, [in] float eM21, [in] float eM22, [in] float eDx, [in] float eDy); |
| 406 |
[propget, hidden] HRESULT eM11([out, retval] float *Value); |
| 407 |
[propput, hidden] HRESULT eM11([in] float Value); |
| 408 |
[propget, hidden] HRESULT eM12([out, retval] float *Value); |
| 409 |
[propput, hidden] HRESULT eM12([in] float Value); |
| 410 |
[propget, hidden] HRESULT eM21([out, retval] float *Value); |
| 411 |
[propput, hidden] HRESULT eM21([in] float Value); |
| 412 |
[propget, hidden] HRESULT eM22([out, retval] float *Value); |
| 413 |
[propput, hidden] HRESULT eM22([in] float Value); |
| 414 |
[propget, hidden] HRESULT eDx([out, retval] float *Value); |
| 415 |
[propput, hidden] HRESULT eDx([in] float Value); |
| 416 |
[propget, hidden] HRESULT eDy([out, retval] float *Value); |
| 417 |
[propput, hidden] HRESULT eDy([in] float Value); |
| 418 |
[propget, hidden] HRESULT Data([out, retval] XFORM *XForm); |
| 419 |
[propput, hidden] HRESULT Data([in] XFORM XForm); |
| 420 |
} |
| 421 |
|
| 422 |
[ |
| 423 |
object, |
| 424 |
uuid(286a167f-9f19-4c61-9d53-4f07be622b84), |
| 425 |
dual |
| 426 |
] |
| 427 |
interface IInkRecognitionAlternates : IDispatch |
| 428 |
{ |
| 429 |
[propget] HRESULT Count([out, retval] long *Count); |
| 430 |
[propget, restricted] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); |
| 431 |
[propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); |
| 432 |
HRESULT Item([in] long Index, [out, retval] IInkRecognitionAlternate **InkRecoAlternate); |
| 433 |
} |
| 434 |
|
| 435 |
[ |
| 436 |
object, |
| 437 |
uuid(b7e660ad-77e4-429b-adda-873780d1fc4a), |
| 438 |
dual |
| 439 |
] |
| 440 |
interface IInkRecognitionAlternate : IDispatch |
| 441 |
{ |
| 442 |
[propget] HRESULT String([out, retval] BSTR *RecoString); |
| 443 |
[propget] HRESULT Confidence([out, retval] InkRecognitionConfidence *Confidence) ; |
| 444 |
[propget] HRESULT Baseline([out, retval] VARIANT *Baseline); |
| 445 |
[propget] HRESULT Midline([out, retval] VARIANT *Midline); |
| 446 |
[propget] HRESULT Ascender([out, retval] VARIANT *Ascender); |
| 447 |
[propget] HRESULT Descender([out, retval] VARIANT *Descender); |
| 448 |
[propget] HRESULT LineNumber([out, retval] long *LineNumber); |
| 449 |
[propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); |
| 450 |
[propget] HRESULT LineAlternates([out, retval] IInkRecognitionAlternates **LineAlternates); |
| 451 |
[propget] HRESULT ConfidenceAlternates([out, retval] IInkRecognitionAlternates **ConfidenceAlternates); |
| 452 |
HRESULT GetStrokesFromStrokeRanges([in] IInkStrokes *Strokes, [out, retval] IInkStrokes **GetStrokesFromStrokeRanges); |
| 453 |
HRESULT GetStrokesFromTextRange([in, out] long *selectionStart, [in, out] long *selectionLength, |
| 454 |
[out, retval] IInkStrokes **GetStrokesFromTextRange); |
| 455 |
HRESULT GetTextRangeFromStrokes([in] IInkStrokes *Strokes, [in, out] long *selectionStart, [in, out] long *selectionLength); |
| 456 |
HRESULT AlternatesWithConstantPropertyValues([in] BSTR PropertyType, |
| 457 |
[out, retval] IInkRecognitionAlternates **AlternatesWithConstantPropertyValues); |
| 458 |
HRESULT GetPropertyValue([in] BSTR PropertyType, [out, retval] VARIANT *PropertyValue); |
| 459 |
} |
| 460 |
|
| 461 |
[ |
| 462 |
object, |
| 463 |
uuid(3bc129a8-86cd-45ad-bde8-e0d32d61c16d), |
| 464 |
dual |
| 465 |
] |
| 466 |
interface IInkRecognitionResult : IDispatch |
| 467 |
{ |
| 468 |
[propget] HRESULT TopString([out, retval] BSTR *TopString); |
| 469 |
[propget] HRESULT TopAlternate([out, retval] IInkRecognitionAlternate **TopAlternate); |
| 470 |
[propget] HRESULT TopConfidence([out, retval] InkRecognitionConfidence *TopConfidence); |
| 471 |
[propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); |
| 472 |
HRESULT AlternatesFromSelection([in] long selectionStart, [in] long selectionLength, [in] long maximumAlternates, |
| 473 |
[out, retval] IInkRecognitionAlternates **AlternatesFromSelection); |
| 474 |
HRESULT ModifyTopAlternate([in] IInkRecognitionAlternate *Alternate); |
| 475 |
HRESULT SetResultOnStrokes(); |
| 476 |
} |
| 477 |
|
| 478 |
[ |
| 479 |
object, |
| 480 |
uuid(43242fea-91d1-4a72-963e-fbb91829cfa2), |
| 481 |
dual |
| 482 |
] |
| 483 |
interface IInkStrokeDisp : IDispatch |
| 484 |
{ |
| 485 |
[propget] HRESULT ID([out, retval] long *ID); |
| 486 |
[propget] HRESULT BezierPoints([out, retval] VARIANT *Points); |
| 487 |
[propget] HRESULT DrawingAttributes([out, retval] IInkDrawingAttributes **DrawAttrs); |
| 488 |
[propputref] HRESULT DrawingAttributes([in] IInkDrawingAttributes *DrawAttrs); |
| 489 |
[propget] HRESULT Ink([out, retval] IInkDisp **Ink); |
| 490 |
[propget] HRESULT ExtendedProperties([out, retval] IInkExtendedProperties **Properties); |
| 491 |
[propget] HRESULT PolylineCusps([out, retval] VARIANT *Cusps); |
| 492 |
[propget] HRESULT BezierCusps([out, retval] VARIANT *Cusps); |
| 493 |
[propget] HRESULT SelfIntersections([out, retval] VARIANT *Intersections); |
| 494 |
[propget] HRESULT PacketCount([out, retval] long *plCount); |
| 495 |
[propget] HRESULT PacketSize([out, retval] long *plSize); |
| 496 |
[propget] HRESULT PacketDescription([out, retval] VARIANT *PacketDescription); |
| 497 |
[propget] HRESULT Deleted([out, retval] VARIANT_BOOL *Deleted); |
| 498 |
HRESULT GetBoundingBox([in] InkBoundingBoxMode BoundingBoxMode, [out, retval] IInkRectangle **Rectangle); |
| 499 |
HRESULT FindIntersections([in] IInkStrokes *Strokes, [out, retval] VARIANT *Intersections); |
| 500 |
HRESULT GetRectangleIntersections([in] IInkRectangle *Rectangle, [out, retval] VARIANT *Intersections); |
| 501 |
HRESULT Clip([in] IInkRectangle *Rectangle); |
| 502 |
HRESULT HitTestCircle([in] long X, [in] long Y, [in] float Radius, [out, retval] VARIANT_BOOL *Intersects); |
| 503 |
HRESULT NearestPoint([in] long X, [in] long Y, [in, out] float *Distance, [out, retval] float *Point); |
| 504 |
HRESULT Split([in] float SplitAt, [out, retval] IInkStrokeDisp **NewStroke); |
| 505 |
HRESULT GetPacketDescriptionPropertyMetrics([in] BSTR PropertyName, [out] long *Minimum, [out] long *Maximum, |
| 506 |
[out] TabletPropertyMetricUnit *Units, [out] float *Resolution); |
| 507 |
HRESULT GetPoints([in] long Index, [in] long Count, [out, retval] VARIANT *Points); |
| 508 |
HRESULT SetPoints([in] VARIANT Points, [in] long Index, [in] long Count, [out, retval] long *NumberOfPointsSet); |
| 509 |
HRESULT GetPacketData([in] long Index, [in] long Count, [out, retval] VARIANT *PacketData); |
| 510 |
HRESULT GetPacketValuesByProperty([in] BSTR PropertyName, [in] long Index, [in] long Count, |
| 511 |
[out, retval] VARIANT *PacketValues) ; |
| 512 |
HRESULT SetPacketValuesByProperty([in] BSTR bstrPropertyName, [in] VARIANT PacketValues, [in] long Index, |
| 513 |
[in] long Count, [out, retval] long *NumberOfPacketsSet); |
| 514 |
HRESULT GetFlattenedBezierPoints([in] long FittingError, [out, retval] VARIANT *FlattenedBezierPoints); |
| 515 |
HRESULT Transform([in] IInkTransform *Transform, [in, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth); |
| 516 |
HRESULT ScaleToRectangle([in] IInkRectangle *Rectangle); |
| 517 |
HRESULT Move([in] float HorizontalComponent, [in] float VerticalComponent); |
| 518 |
HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); |
| 519 |
HRESULT Shear([in] float HorizontalMultiplier, [in] float VerticalMultiplier); |
| 520 |
HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier); |
| 521 |
} |
| 522 |
|
| 523 |
[ |
| 524 |
object, |
| 525 |
uuid(7e23a88f-c30e-420f-9bdb-28902543f0c1), |
| 526 |
dual |
| 527 |
] |
| 528 |
interface IInkCustomStrokes : IDispatch |
| 529 |
{ |
| 530 |
[propget] HRESULT Count([out, retval] long *Count); |
| 531 |
[propget, restricted] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); |
| 532 |
HRESULT Item([in] VARIANT Identifier, [out, retval] IInkStrokes **Strokes); |
| 533 |
HRESULT Add([in] BSTR Name, [in] IInkStrokes *Strokes); |
| 534 |
HRESULT Remove([in] VARIANT Identifier); |
| 535 |
HRESULT Clear(); |
| 536 |
} |
| 537 |
|
| 538 |
[ |
| 539 |
object, |
| 540 |
uuid(9d398fa0-c4e2-4fcd-9973-975caaf47ea6), |
| 541 |
dual |
| 542 |
] |
| 543 |
interface IInkDisp : IDispatch |
| 544 |
{ |
| 545 |
[propget] HRESULT Strokes([out, retval] IInkStrokes **Strokes); |
| 546 |
[propget] HRESULT ExtendedProperties([out, retval] IInkExtendedProperties **Properties); |
| 547 |
[propget] HRESULT Dirty([out, retval] VARIANT_BOOL *Dirty); |
| 548 |
[propput] HRESULT Dirty([in] VARIANT_BOOL Dirty); |
| 549 |
[propget] HRESULT CustomStrokes([out, retval] IInkCustomStrokes **ppunkInkCustomStrokes); |
| 550 |
HRESULT GetBoundingBox([in] InkBoundingBoxMode BoundingBoxMode, [out, retval] IInkRectangle **Rectangle); |
| 551 |
HRESULT DeleteStrokes([in, unique, defaultvalue(0)] IInkStrokes *Strokes); |
| 552 |
HRESULT DeleteStroke([in] IInkStrokeDisp *Stroke); |
| 553 |
HRESULT ExtractStrokes([in] IInkStrokes *Strokes, InkExtractFlags ExtractFlags, [out, retval] IInkDisp **ExtractedInk); |
| 554 |
HRESULT ExtractWithRectangle([in] IInkRectangle *Rectangle, [in] InkExtractFlags extractFlags, |
| 555 |
[out, retval] IInkDisp **ExtractedInk); |
| 556 |
HRESULT Clip([in] IInkRectangle *Rectangle); |
| 557 |
HRESULT Clone([out, retval] IInkDisp **NewInk); |
| 558 |
HRESULT HitTestCircle([in] long X, [in] long Y, [in] float radius, [out, retval] IInkStrokes **Strokes); |
| 559 |
HRESULT HitTestWithRectangle([in] IInkRectangle *SelectionRectangle, [in] float IntersectPercent, |
| 560 |
[out, retval] IInkStrokes **Strokes); |
| 561 |
HRESULT HitTestWithLasso([in] VARIANT Points, [in] float IntersectPercent, [in, out, unique] VARIANT *LassoPoints, |
| 562 |
[out, retval] IInkStrokes **Strokes); |
| 563 |
HRESULT NearestPoint([in] long X, [in] long Y, [in, out] float *PointOnStroke, [in, out] float *DistanceFromPacket, |
| 564 |
[out, retval] IInkStrokeDisp **Stroke); |
| 565 |
HRESULT CreateStrokes([in] VARIANT StrokeIds, [out, retval] IInkStrokes **Strokes); |
| 566 |
HRESULT AddStrokesAtRectangle([in] IInkStrokes *SourceStrokes, [in] IInkRectangle *TargetRectangle); |
| 567 |
HRESULT Save([in] InkPersistenceFormat PersistenceFormat, [in] InkPersistenceCompressionMode CompressionMode, |
| 568 |
[out, retval] VARIANT *Data); |
| 569 |
HRESULT Load([in] VARIANT Data); |
| 570 |
HRESULT CreateStroke([in] VARIANT PacketData, [in] VARIANT PacketDescription, [out, retval] IInkStrokeDisp **Stroke); |
| 571 |
HRESULT ClipboardCopyWithRectangle([in] IInkRectangle *Rectangle, [in] InkClipboardFormats ClipboardFormats, |
| 572 |
[in] InkClipboardModes ClipboardModes, [out, retval] IDataObject **DataObject); |
| 573 |
HRESULT ClipboardCopy([in] IInkStrokes *strokes, [in] InkClipboardFormats ClipboardFormats, |
| 574 |
[in] InkClipboardModes ClipboardModes, [out, retval] IDataObject **DataObject); |
| 575 |
HRESULT CanPaste([in] IDataObject *DataObject, [out, retval] VARIANT_BOOL *CanPaste); |
| 576 |
HRESULT ClipboardPaste([in] long x, [in] long y, [in, unique] IDataObject *DataObject, [out, retval] IInkStrokes **Strokes); |
| 577 |
} |
| 578 |
|
| 579 |
[ |
| 580 |
object, |
| 581 |
uuid(f1f4c9d8-590a-4963-b3ae-1935671bb6f3), |
| 582 |
dual |
| 583 |
] |
| 584 |
interface IInkStrokes : IDispatch |
| 585 |
{ |
| 586 |
[propget] HRESULT Count([out, retval] long *Count); |
| 587 |
[propget] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); |
| 588 |
[propget] HRESULT Ink([out, retval] IInkDisp **Ink); |
| 589 |
[propget] HRESULT RecognitionResult([out, retval] IInkRecognitionResult **RecognitionResult); |
| 590 |
HRESULT ToString([out, retval] BSTR *ToString); |
| 591 |
HRESULT Item([in] long Index, [out, retval] IInkStrokeDisp **Stroke); |
| 592 |
HRESULT Add([in] IInkStrokeDisp *InkStroke); |
| 593 |
HRESULT AddStrokes([in] IInkStrokes *InkStrokes); |
| 594 |
HRESULT Remove([in] IInkStrokeDisp *InkStroke); |
| 595 |
HRESULT RemoveStrokes([in] IInkStrokes *InkStrokes); |
| 596 |
HRESULT ModifyDrawingAttributes([in] IInkDrawingAttributes *DrawAttrs); |
| 597 |
HRESULT GetBoundingBox([in] InkBoundingBoxMode BoundingBoxMode, [out, retval] IInkRectangle **BoundingBox); |
| 598 |
HRESULT Transform([in] IInkTransform *Transform, [in, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth); |
| 599 |
HRESULT ScaleToRectangle([in] IInkRectangle *Rectangle); |
| 600 |
HRESULT Move([in] float HorizontalComponent, [in] float VerticalComponent); |
| 601 |
HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); |
| 602 |
HRESULT Shear([in] float HorizontalMultiplier, [in] float VerticalMultiplier); |
| 603 |
HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier); |
| 604 |
HRESULT Clip([in] IInkRectangle *Rectangle); |
| 605 |
HRESULT RemoveRecognitionResult(); |
| 606 |
} |
| 607 |
|
| 608 |
[ |
| 609 |
object, |
| 610 |
uuid(e6257a9c-b511-4f4c-a8b0-a7dbc9506b83), |
| 611 |
dual |
| 612 |
] |
| 613 |
interface IInkRenderer : IDispatch |
| 614 |
{ |
| 615 |
HRESULT GetViewTransform([in] IInkTransform *ViewTransform) ; |
| 616 |
HRESULT SetViewTransform([in] IInkTransform *ViewTransform); |
| 617 |
HRESULT GetObjectTransform([in] IInkTransform *ObjectTransform); |
| 618 |
HRESULT SetObjectTransform([in] IInkTransform *ObjectTransform); |
| 619 |
HRESULT Draw([in] LONG_PTR hDC, [in] IInkStrokes *Strokes); |
| 620 |
HRESULT DrawStroke([in] LONG_PTR hDC, [in] IInkStrokeDisp *Stroke, |
| 621 |
[in, defaultvalue(0)] IInkDrawingAttributes *DrawingAttributes); |
| 622 |
HRESULT PixelToInkSpace([in] LONG_PTR hDC, [in, out] long *x, [in, out] long *y); |
| 623 |
HRESULT InkSpaceToPixel([in] LONG_PTR hdcDisplay, [in, out] long *x, [in, out] long *y); |
| 624 |
HRESULT PixelToInkSpaceFromPoints([in] LONG_PTR hDC, [in, out] VARIANT *Points); |
| 625 |
HRESULT InkSpaceToPixelFromPoints([in] LONG_PTR hDC, [in, out] VARIANT *Points); |
| 626 |
HRESULT Measure([in] IInkStrokes *Strokes, [out, retval] IInkRectangle **Rectangle); |
| 627 |
HRESULT MeasureStroke([in] IInkStrokeDisp *Stroke, [in] IInkDrawingAttributes *DrawingAttributes, |
| 628 |
[out, retval] IInkRectangle **Rectangle); |
| 629 |
HRESULT Move([in] float HorizontalComponent, [in] float VerticalComponent); |
| 630 |
HRESULT Rotate([in] float Degrees, [in, defaultvalue(0)] float x, [in, defaultvalue(0)] float y); |
| 631 |
HRESULT ScaleTransform([in] float HorizontalMultiplier, [in] float VerticalMultiplier, |
| 632 |
[in, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth); |
| 633 |
} |
| 634 |
|
| 635 |
[ |
| 636 |
object, |
| 637 |
uuid(a248c1ac-c698-4e06-9e5c-d57f77c7e647), |
| 638 |
dual |
| 639 |
] |
| 640 |
interface IInkCursors : IDispatch |
| 641 |
{ |
| 642 |
[propget] HRESULT Count([out, retval] long *Count); |
| 643 |
[propget, restricted] HRESULT _NewEnum([out, retval] IUnknown **_NewEnum); |
| 644 |
HRESULT Item([in] long Index, [out, retval] IInkCursor **Cursor); |
| 645 |
} |
| 646 |
|
| 647 |
[ |
| 648 |
object, |
| 649 |
uuid(f0f060b5-8b1f-4a7c-89ec-880692588a4f), |
| 650 |
dual |
| 651 |
] |
| 652 |
interface IInkCollector : IDispatch |
| 653 |
{ |
| 654 |
[propget] HRESULT hWnd([out, retval] LONG_PTR *CurrentWindow); |
| 655 |
[propput] HRESULT hWnd([in] LONG_PTR NewWindow); |
| 656 |
[propget] HRESULT Enabled([out, retval] VARIANT_BOOL *Collecting); |
| 657 |
[propput] HRESULT Enabled([in] VARIANT_BOOL Collecting); |
| 658 |
[propget] HRESULT DefaultDrawingAttributes([out, retval] IInkDrawingAttributes **CurrentAttributes); |
| 659 |
[propputref] HRESULT DefaultDrawingAttributes([in] IInkDrawingAttributes *NewAttributes); |
| 660 |
[propget] HRESULT Renderer([out, retval] IInkRenderer **CurrentInkRenderer); |
| 661 |
[propputref] HRESULT Renderer([in] IInkRenderer *NewInkRenderer); |
| 662 |
[propget] HRESULT Ink([out, retval] IInkDisp **Ink); |
| 663 |
[propputref] HRESULT Ink([in] IInkDisp *NewInk); |
| 664 |
[propget] HRESULT AutoRedraw([out, retval] VARIANT_BOOL *AutoRedraw); |
| 665 |
[propput] HRESULT AutoRedraw([in] VARIANT_BOOL AutoRedraw); |
| 666 |
[propget] HRESULT CollectingInk([out, retval] VARIANT_BOOL *Collecting); |
| 667 |
[propget] HRESULT CollectionMode([out, retval] InkCollectionMode *Mode); |
| 668 |
[propput] HRESULT CollectionMode([in] InkCollectionMode Mode); |
| 669 |
[propget] HRESULT DynamicRendering([out, retval] VARIANT_BOOL *Enabled); |
| 670 |
[propput] HRESULT DynamicRendering([in] VARIANT_BOOL Enabled); |
| 671 |
[propget] HRESULT DesiredPacketDescription([out, retval] VARIANT *PacketGuids); |
| 672 |
[propput] HRESULT DesiredPacketDescription([in] VARIANT PacketGuids); |
| 673 |
[propget] HRESULT MouseIcon([out, retval] IPictureDisp **MouseIcon); |
| 674 |
[propput] HRESULT MouseIcon([in, unique] IPictureDisp *MouseIcon); |
| 675 |
[propputref] HRESULT MouseIcon([in, unique] IPictureDisp *MouseIcon); |
| 676 |
[propget] HRESULT MousePointer([out, retval] InkMousePointer *MousePointer); |
| 677 |
[propput] HRESULT MousePointer([in] InkMousePointer MousePointer); |
| 678 |
[propget] HRESULT Cursors([out, retval] IInkCursors **Cursors); |
| 679 |
[propget] HRESULT MarginX([out, retval] long *MarginX); |
| 680 |
[propput] HRESULT MarginX([in] long MarginX); |
| 681 |
[propget] HRESULT MarginY([out, retval] long *MarginY); |
| 682 |
[propput] HRESULT MarginY([in] long MarginY); |
| 683 |
[propget] HRESULT Tablet([out, retval] IInkTablet **SingleTablet); |
| 684 |
[propget] HRESULT SupportHighContrastInk([out, retval] VARIANT_BOOL *Support); |
| 685 |
[propput] HRESULT SupportHighContrastInk([in] VARIANT_BOOL Support); |
| 686 |
HRESULT SetGestureStatus([in] InkApplicationGesture Gesture, [in] VARIANT_BOOL Listen); |
| 687 |
HRESULT GetGestureStatus([in] InkApplicationGesture Gesture, [out, retval] VARIANT_BOOL *Listening); |
| 688 |
HRESULT GetWindowInputRectangle([in, out] IInkRectangle **WindowInputRectangle); |
| 689 |
HRESULT SetWindowInputRectangle([in] IInkRectangle *WindowInputRectangle); |
| 690 |
HRESULT SetAllTabletsMode([in, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput); |
| 691 |
HRESULT SetSingleTabletIntegratedMode([in] IInkTablet *Tablet); |
| 692 |
HRESULT GetEventInterest([in] InkCollectorEventInterest EventId, [out, retval] VARIANT_BOOL *Listen); |
| 693 |
HRESULT SetEventInterest([in] InkCollectorEventInterest EventId, [in] VARIANT_BOOL Listen); |
| 694 |
} |
| 695 |
|
| 696 |
[ |
| 697 |
uuid(11a583f2-712d-4fea-abcf-ab4af38ea06b) |
| 698 |
] |
| 699 |
dispinterface _IInkCollectorEvents |
| 700 |
{ |
| 701 |
properties: |
| 702 |
methods: |
| 703 |
/* FIXME */ |
| 704 |
} |
| 705 |
|
| 706 |
[ |
| 707 |
uuid(43fb1553-ad74-4ee8-88e4-3e6daac915db) |
| 708 |
] |
| 709 |
coclass InkCollector |
| 710 |
{ |
| 711 |
} |