kernel32: Use FIELD_OFFSET instead of pointer cast.
[wine/wine64.git] / include / msinkaut.idl
blob75f7686d97d7d7a5bb65ba54c1d2d9b1e5701573
1 /* Copyright (C) 2007 C John Klehm
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 import "oaidl.idl";
19 import "ocidl.idl";
22 uuid(7D868ACD-1A5D-4A47-A247-F39741353012),
23 version(1.0)
25 library MSINKAUTLib
27 importlib("stdole2.tlb");
29 typedef float single;
32 odl,
33 uuid(DB489209-B7C3-411D-90F6-1548CFFF271E),
34 dual,
35 oleautomation
37 interface IInkExtendedProperty : IDispatch {
38 [id(0x00000001), propget] HRESULT Guid([out, retval] BSTR* Guid);
39 [id(0x00000002), propget] HRESULT Data([out, retval] VARIANT* Data);
40 [id(0x00000002), propput] HRESULT Data([in] VARIANT Data);
44 odl,
45 uuid(89F2A8BE-95A9-4530-8B8F-88E971E3E25F),
46 dual,
47 oleautomation
49 interface IInkExtendedProperties : IDispatch {
50 HRESULT Count([out, retval] long* Count);
51 HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
52 HRESULT Item(
53 [in] VARIANT Identifier,
54 [out, retval] IInkExtendedProperty** Item);
55 HRESULT Add(
56 [in] BSTR Guid,
57 [in] VARIANT Data,
58 [out, retval] IInkExtendedProperty** InkExtendedProperty);
59 HRESULT Remove([in] VARIANT Identifier);
60 HRESULT Clear();
61 HRESULT DoesPropertyExist(
62 [in] BSTR Guid,
63 [out, retval] VARIANT_BOOL* DoesPropertyExist);
66 typedef enum {
67 IRO_Black = 1,
68 IRO_NotMergePen,
69 IRO_MaskNotPen,
70 IRO_NotCopyPen,
71 IRO_MaskPenNot,
72 IRO_Not,
73 IRO_XOrPen,
74 IRO_NotMaskPen,
75 IRO_MaskPen,
76 IRO_NotXOrPen,
77 IRO_NoOperation,
78 IRO_MergeNotPen,
79 IRO_CopyPen,
80 IRO_MergePenNot,
81 IRO_MergePen,
82 IRO_White
83 } InkRasterOperation;
85 typedef enum {
86 IPT_Ball,
87 IPT_Rectangle
88 } InkPenTip;
91 odl,
92 uuid(BF519B75-0A15-4623-ADC9-C00D436A8092),
93 dual,
94 oleautomation
96 interface IInkDrawingAttributes : IDispatch {
97 [id(0x00000002), propget] HRESULT Color(
98 [out, retval] long* CurrentColor);
99 [id(0x00000002), propput] HRESULT Color([in] long CurrentColor);
100 [id(0x00000003), propget] HRESULT Width(
101 [out, retval] single* CurrentWidth);
102 [id(0x00000003), propput] HRESULT Width([in] single CurrentWidth);
103 [id(0x00000001), propget] HRESULT Height(
104 [out, retval] single* CurrentHeight);
105 [id(0x00000001), propput] HRESULT Height([in] single CurrentHeight);
106 [id(0x00000004), propget] HRESULT FitToCurve(
107 [out, retval] VARIANT_BOOL* Flag);
108 [id(0x00000004), propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag);
109 [id(0x00000005), propget] HRESULT IgnorePressure(
110 [out, retval] VARIANT_BOOL* Flag);
111 [id(0x00000005), propput] HRESULT IgnorePressure(
112 [in] VARIANT_BOOL Flag);
113 [id(0x00000006), propget] HRESULT AntiAliased(
114 [out, retval] VARIANT_BOOL* Flag);
115 [id(0x00000006), propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag);
116 [id(0x00000007), propget] HRESULT Transparency(
117 [out, retval] long* CurrentTransparency);
118 [id(0x00000007), propput] HRESULT Transparency(
119 [in] long CurrentTransparency);
120 [id(0x00000008), propget] HRESULT RasterOperation(
121 [out, retval] InkRasterOperation* CurrentRasterOperation);
122 [id(0x00000008), propput] HRESULT RasterOperation(
123 [in] InkRasterOperation CurrentRasterOperation);
124 [id(0x00000009), propget] HRESULT PenTip(
125 [out, retval] InkPenTip* CurrentPenTip);
126 [id(0x00000009), propput] HRESULT PenTip([in] InkPenTip CurrentPenTip);
127 [id(0x0000000b), propget] HRESULT ExtendedProperties(
128 [out, retval] IInkExtendedProperties** Properties);
129 [id(0x0000000a)] HRESULT Clone(
130 [out, retval] IInkDrawingAttributes** DrawingAttributes);
133 cpp_quote("#ifndef _WINGDI_");
134 /* already defined in wingdi.h but needed for WIDL */
135 typedef struct tagXFORM {
136 single eM11;
137 single eM12;
138 single eM21;
139 single eM22;
140 single eDx;
141 single eDy;
142 } XFORM;
143 cpp_quote("#endif /* _WINGDI_ */");
146 odl,
147 uuid(615F1D43-8703-4565-88E2-8201D2ECD7B7),
148 dual,
149 oleautomation
151 interface IInkTransform : IDispatch {
152 [id(0x00000001)] HRESULT Reset();
153 [id(0x00000002)] HRESULT Translate(
154 [in] single HorizontalComponent,
155 [in] single VerticalComponent);
156 [id(0x00000003)] HRESULT Rotate(
157 [in] single Degrees,
158 [in, optional, defaultvalue(0)] single x,
159 [in, optional, defaultvalue(0)] single y);
160 [id(0x00000004)] HRESULT Reflect(
161 [in] VARIANT_BOOL Horizontally,
162 [in] VARIANT_BOOL Vertically);
163 [id(0x00000005)] HRESULT Shear(
164 [in] single HorizontalComponent,
165 [in] single VerticalComponent);
166 [id(0x00000006)] HRESULT ScaleTransform(
167 [in] single HorizontalMultiplier,
168 [in] single VerticalMultiplier);
169 [id(0x0000000d)] HRESULT GetTransform(
170 [out] single* eM11,
171 [out] single* eM12,
172 [out] single* eM21,
173 [out] single* eM22,
174 [out] single* eDx,
175 [out] single* eDy);
176 [id(0x0000000e)] HRESULT SetTransform(
177 [in] single eM11,
178 [in] single eM12,
179 [in] single eM21,
180 [in] single eM22,
181 [in] single eDx,
182 [in] single eDy);
183 [id(0x00000007), propget, hidden] HRESULT eM11(
184 [out, retval] single* Value);
185 [id(0x00000007), propput, hidden] HRESULT eM11([in] single Value);
186 [id(0x00000008), propget, hidden] HRESULT eM12(
187 [out, retval] single* Value);
188 [id(0x00000008), propput, hidden] HRESULT eM12([in] single Value);
189 [id(0x00000009), propget, hidden] HRESULT eM21(
190 [out, retval] single* Value);
191 [id(0x00000009), propput, hidden] HRESULT eM21([in] single Value);
192 [id(0x0000000a), propget, hidden] HRESULT eM22(
193 [out, retval] single* Value);
194 [id(0x0000000a), propput, hidden] HRESULT eM22([in] single Value);
195 [id(0x0000000b), propget, hidden] HRESULT eDx(
196 [out, retval] single* Value);
197 [id(0x0000000b), propput, hidden] HRESULT eDx([in] single Value);
198 [id(0x0000000c), propget, hidden] HRESULT eDy(
199 [out, retval] single* Value);
200 [id(0x0000000c), propput, hidden] HRESULT eDy([in] single Value);
201 [id(0x0000000f), propget, hidden] HRESULT Data(
202 [out, retval] XFORM* XFORM);
203 [id(0x0000000f), propput, hidden] HRESULT Data([in] XFORM XFORM);
206 interface IInkDisp;
208 typedef enum {
209 IBBM_Default,
210 IBBM_NoCurveFit,
211 IBBM_CurveFit,
212 IBBM_PointsOnly,
213 IBBM_Union
214 } InkBoundingBoxMode;
217 odl,
218 uuid(9794FF82-6071-4717-8A8B-6AC7C64A686E),
219 dual,
220 oleautomation
222 interface IInkRectangle
224 [id(1), propget] HRESULT Top([out, retval] long* Units);
225 [id(1), propput] HRESULT Top([in] long Units);
226 [id(2), propget] HRESULT Left([out, retval] long* Units);
227 [id(2), propput] HRESULT Left([in] long Units);
228 [id(3), propget] HRESULT Bottom([out, retval] long* Units);
229 [id(3), propput] HRESULT Bottom([in] long Units);
230 [id(4), propget] HRESULT Right([out, retval] long* Units);
231 [id(4), propput] HRESULT Right([in] long Units);
232 [id(7), propget] HRESULT Data([out, retval] RECT* Rect);
233 [id(7), propput] HRESULT Data([in] RECT Rect);
234 [id(5)] HRESULT GetRectangle(
235 [out] long* Top,
236 [out] long* Left,
237 [out] long* Bottom,
238 [out] long* Right);
239 [id(6)] HRESULT SetRectangle(
240 [in] long Top,
241 [in] long Left,
242 [in] long Bottom,
243 [in] long Right);
246 interface IInkStrokes;
248 typedef enum {
249 TPMU_Default,
250 TPMU_Inches,
251 TPMU_Centimeters,
252 TPMU_Degrees,
253 TPMU_Radians,
254 TPMU_Seconds,
255 TPMU_Pounds,
256 TPMU_Grams
257 } TabletPropertyMetricUnit;
260 odl,
261 uuid(43242FEA-91D1-4A72-963E-FBB91829CFA2),
262 dual,
263 oleautomation
265 interface IInkStrokeDisp : IDispatch {
266 [id(0x00000002), propget] HRESULT Id([out, retval] long* Id);
267 [id(0x0000000d), propget] HRESULT BezierPoints(
268 [out, retval] VARIANT* Points);
269 [id(0x00000004), propget] HRESULT DrawingAttributes(
270 [out, retval] IInkDrawingAttributes** DrawAttrs);
271 [id(0x00000004), propputref] HRESULT DrawingAttributes(
272 [in] IInkDrawingAttributes* DrawAttrs);
273 [id(0x0000000c), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
274 [id(0x0000000b), propget] HRESULT ExtendedProperties(
275 [out, retval] IInkExtendedProperties** Properties);
276 [id(0x0000000e), propget] HRESULT PolylineCusps(
277 [out, retval] VARIANT* Cusps);
278 [id(0x0000000f), propget] HRESULT BezierCusps(
279 [out, retval] VARIANT* Cusps);
280 [id(0x00000010), propget] HRESULT SelfIntersections(
281 [out, retval] VARIANT* Intersections);
282 [id(0x00000011), propget] HRESULT PacketCount(
283 [out, retval] long* plCount);
284 [id(0x00000012), propget] HRESULT PacketSize(
285 [out, retval] long* plSize);
286 [id(0x00000013), propget] HRESULT PacketDescription(
287 [out, retval] VARIANT* PacketDescription);
288 [id(0x00000014), propget] HRESULT Deleted(
289 [out, retval] VARIANT_BOOL* Deleted);
290 [id(0x00000003)] HRESULT GetBoundingBox(
291 [in, optional, defaultvalue(0)] InkBoundingBoxMode BoundingBoxMode,
292 [out, retval] IInkRectangle** Rectangle);
293 [id(0x00000005)] HRESULT FindIntersections(
294 [in] IInkStrokes* Strokes,
295 [out, retval] VARIANT* Intersections);
296 [id(0x00000006)] HRESULT GetRectangleIntersections(
297 [in] IInkRectangle* Rectangle,
298 [out, retval] VARIANT* Intersections);
299 [id(0x00000007)] HRESULT Clip(
300 [in] IInkRectangle* Rectangle);
301 [id(0x00000008)] HRESULT HitTestCircle(
302 [in] long x,
303 [in] long y,
304 [in] single radius,
305 [out, retval] VARIANT_BOOL* Intersects);
306 [id(0x00000009)] HRESULT NearestPoint(
307 [in] long x,
308 [in] long y,
309 [in, out, optional, defaultvalue(0)] single* Distance,
310 [out, retval] single* Point);
311 [id(0x0000000a)] HRESULT Split(
312 [in] single SplitAt,
313 [out, retval] IInkStrokeDisp** NewStroke);
314 [id(0x00000015)] HRESULT GetPacketDescriptionPropertyMetrics(
315 [in] BSTR propertyName,
316 [out] long* Minimum,
317 [out] long* Maximum,
318 [out] TabletPropertyMetricUnit* Units,
319 [out] single* Resolution);
320 [id(0x00000016)] HRESULT GetPoints(
321 [in, optional, defaultvalue(0)] long Index,
322 [in, optional, defaultvalue(-1)] long Count,
323 [out, retval] VARIANT* Points);
324 [id(0x00000017)] HRESULT SetPoints(
325 [in] VARIANT Points,
326 [in, optional, defaultvalue(0)] long Index,
327 [in, optional, defaultvalue(-1)] long Count,
328 [out, retval] long* NumberOfPointsSet);
329 [id(0x00000018)] HRESULT GetPacketData(
330 [in, optional, defaultvalue(0)] long Index,
331 [in, optional, defaultvalue(-1)] long Count,
332 [out, retval] VARIANT* PacketData);
333 [id(0x00000019)] HRESULT GetPacketValuesByProperty(
334 [in] BSTR propertyName,
335 [in, optional, defaultvalue(0)] long Index,
336 [in, optional, defaultvalue(-1)] long Count,
337 [out, retval] VARIANT* PacketValues);
338 [id(0x0000001a)] HRESULT SetPacketValuesByProperty(
339 [in] BSTR bstrPropertyName,
340 [in] VARIANT PacketValues,
341 [in, optional, defaultvalue(0)] long Index,
342 [in, optional, defaultvalue(-1)] long Count,
343 [out, retval] long* NumberOfPacketsSet);
344 [id(0x0000001b)] HRESULT GetFlattenedBezierPoints(
345 [in, optional, defaultvalue(0)] long FittingError,
346 [out, retval] VARIANT* FlattenedBezierPoints);
347 [id(0x0000001d)] HRESULT Transform(
348 [in] IInkTransform* Transform,
349 [in, optional, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth);
350 [id(0x0000001c)] HRESULT ScaleToRectangle(
351 [in] IInkRectangle* Rectangle);
352 [id(0x0000001e)] HRESULT Move(
353 [in] single HorizontalComponent,
354 [in] single VerticalComponent);
355 [id(0x0000001f)] HRESULT Rotate(
356 [in] single Degrees,
357 [in, optional, defaultvalue(0)] single x,
358 [in, optional, defaultvalue(0)] single y);
359 [id(0x00000020)] HRESULT Shear(
360 [in] single HorizontalMultiplier,
361 [in] single VerticalMultiplier);
362 [id(0x00000021)] HRESULT ScaleTransform(
363 [in] single HorizontalMultiplier,
364 [in] single VerticalMultiplier);
368 odl,
369 uuid(E6257A9C-B511-4F4C-A8B0-A7DBC9506B83),
370 dual,
371 oleautomation
373 interface IInkRenderer : IDispatch {
374 HRESULT GetViewTransform([in] IInkTransform* ViewTransform);
375 HRESULT SetViewTransform([in] IInkTransform* ViewTransform);
376 HRESULT GetObjectTransform([in] IInkTransform* ObjectTransform);
377 HRESULT SetObjectTransform([in] IInkTransform* ObjectTransform);
378 HRESULT Draw(
379 [in] long hDC,
380 [in] IInkStrokes* Strokes);
381 HRESULT DrawStroke(
382 [in] long hDC,
383 [in] IInkStrokeDisp* Stroke,
384 [in, optional, defaultvalue(0)]
385 IInkDrawingAttributes* DrawingAttributes);
386 HRESULT PixelToInkSpace(
387 [in] long hDC,
388 [in, out] long* x,
389 [in, out] long* y);
390 HRESULT InkSpaceToPixel(
391 [in] long hdcDisplay,
392 [in, out] long* x,
393 [in, out] long* y);
394 HRESULT PixelToInkSpaceFromPoints(
395 [in] long hDC,
396 [in, out] VARIANT* Points);
397 HRESULT InkSpaceToPixelFromPoints(
398 [in] long hDC,
399 [in, out] VARIANT* Points);
400 HRESULT Measure(
401 [in] IInkStrokes* Strokes,
402 [out, retval] IInkRectangle** Rectangle);
403 HRESULT MeasureStroke(
404 [in] IInkStrokeDisp* Stroke,
405 [in, optional, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes,
406 [out, retval] IInkRectangle** Rectangle);
407 HRESULT Move(
408 [in] single HorizontalComponent,
409 [in] single VerticalComponent);
410 HRESULT Rotate(
411 [in] single Degrees,
412 [in, optional, defaultvalue(0)] single x,
413 [in, optional, defaultvalue(0)] single y);
414 HRESULT ScaleTransform(
415 [in] single HorizontalMultiplier,
416 [in] single VerticalMultiplier,
417 [in, optional, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth);
420 typedef enum {
421 ICM_InkOnly,
422 ICM_GestureOnly,
423 ICM_InkAndGesture
424 } InkCollectionMode;
426 typedef enum {
427 IMP_Default,
428 IMP_Arrow,
429 IMP_Crosshair,
430 IMP_Ibeam,
431 IMP_SizeNESW,
432 IMP_SizeNS,
433 IMP_SizeNWSE,
434 IMP_SizeWE,
435 IMP_UpArrow,
436 IMP_Hourglass,
437 IMP_NoDrop,
438 IMP_ArrowHourglass,
439 IMP_ArrowQuestion,
440 IMP_SizeAll,
441 IMP_Hand,
442 IMP_Custom = 99
443 } InkMousePointer;
445 typedef enum {
446 THWC_Integrated = 1,
447 THWC_CursorMustTouch = 2,
448 THWC_HardProximity = 4,
449 THWC_CursorsHavePhysicalIds = 8
450 } TabletHardwareCapabilities;
453 odl,
454 uuid(2DE25EAA-6EF8-42D5-AEE9-185BC81B912D),
455 dual,
456 oleautomation
458 interface IInkTablet : IDispatch {
459 [propget] HRESULT Name([out, retval] BSTR* Name);
460 [propget] HRESULT PlugAndPlayId([out, retval] BSTR* Id);
461 [propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle** Rectangle);
462 [propget] HRESULT HardwareCapabilities(
463 [out, retval] TabletHardwareCapabilities* Capabilities);
464 HRESULT IsPacketPropertySupported(
465 [in] BSTR packetPropertyName,
466 [out, retval] VARIANT_BOOL* Supported);
467 HRESULT GetPropertyMetrics(
468 [in] BSTR propertyName,
469 [out] long* Minimum,
470 [out] long* Maximum,
471 [out] TabletPropertyMetricUnit* Units,
472 [out] single* Resolution);
475 typedef enum {
476 ICBS_Unavailable,
477 ICBS_Up,
478 ICBS_Down
479 } InkCursorButtonState;
482 odl,
483 uuid(85EF9417-1D59-49B2-A13C-702C85430894),
484 dual,
485 oleautomation
487 interface IInkCursorButton : IDispatch {
488 [propget] HRESULT Name([out, retval] BSTR* Name);
489 [propget] HRESULT Id([out, retval] BSTR* Id);
490 [propget] HRESULT State([out, retval] InkCursorButtonState* CurrentState);
494 odl,
495 uuid(3671CC40-B624-4671-9FA0-DB119D952D54),
496 dual,
497 oleautomation
499 interface IInkCursorButtons : IDispatch {
500 [propget] HRESULT Count([out, retval] long* Count);
501 [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
502 HRESULT Item(
503 [in] VARIANT Identifier,
504 [out, retval] IInkCursorButton** Button);
508 odl,
509 uuid(AD30C630-40C5-4350-8405-9C71012FC558),
510 dual,
511 oleautomation
513 interface IInkCursor : IDispatch {
514 [id(0x00000000), propget] HRESULT Name([out, retval] BSTR* Name);
515 [id(0x00000001), propget] HRESULT Id([out, retval] long* Id);
516 [id(0x00000004), propget] HRESULT Inverted(
517 [out, retval] VARIANT_BOOL* Status);
518 [id(0x00000002), propget] HRESULT DrawingAttributes(
519 [out, retval] IInkDrawingAttributes** Attributes);
520 [id(0x00000002), propputref] HRESULT DrawingAttributes(
521 [in] IInkDrawingAttributes* Attributes);
522 [id(0x00000005), propget] HRESULT Tablet(
523 [out, retval] IInkTablet** Tablet);
524 [id(0x00000003), propget] HRESULT Buttons(
525 [out, retval] IInkCursorButtons** Buttons);
529 odl,
530 uuid(A248C1AC-C698-4E06-9E5C-D57F77C7E647),
531 dual,
532 oleautomation
534 interface IInkCursors : IDispatch {
535 [propget] HRESULT Count([out, retval] long* Count);
536 [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
537 HRESULT Item(
538 [in] long Index,
539 [out, retval] IInkCursor** Cursor);
542 typedef enum {
543 IAG_AllGestures = 0,
544 IAG_NoGesture = 61440,
545 IAG_Scratchout = 61441,
546 IAG_Triangle = 61442,
547 IAG_Square = 61443,
548 IAG_Star = 61444,
549 IAG_Check = 61445,
550 IAG_Curlicue = 61456,
551 IAG_DoubleCurlicue = 61457,
552 IAG_Circle = 61472,
553 IAG_DoubleCircle = 61473,
554 IAG_SemiCircleLeft = 61480,
555 IAG_SemiCircleRight = 61481,
556 IAG_ChevronUp = 61488,
557 IAG_ChevronDown = 61489,
558 IAG_ChevronLeft = 61490,
559 IAG_ChevronRight = 61491,
560 IAG_ArrowUp = 61496,
561 IAG_ArrowDown = 61497,
562 IAG_ArrowLeft = 61498,
563 IAG_ArrowRight = 61499,
564 IAG_Up = 61528,
565 IAG_Down = 61529,
566 IAG_Left = 61530,
567 IAG_Right = 61531,
568 IAG_UpDown = 61536,
569 IAG_DownUp = 61537,
570 IAG_LeftRight = 61538,
571 IAG_RightLeft = 61539,
572 IAG_UpLeftLong = 61540,
573 IAG_UpRightLong = 61541,
574 IAG_DownLeftLong = 61542,
575 IAG_DownRightLong = 61543,
576 IAG_UpLeft = 61544,
577 IAG_UpRight = 61545,
578 IAG_DownLeft = 61546,
579 IAG_DownRight = 61547,
580 IAG_LeftUp = 61548,
581 IAG_LeftDown = 61549,
582 IAG_RightUp = 61550,
583 IAG_RightDown = 61551,
584 IAG_Exclamation = 61604,
585 IAG_Tap = 61680,
586 IAG_DoubleTap = 61681
587 } InkApplicationGesture;
589 typedef enum {
590 ICEI_DefaultEvents = -1,
591 ICEI_CursorDown = 0,
592 ICEI_Stroke,
593 ICEI_NewPackets,
594 ICEI_NewInAirPackets,
595 ICEI_CursorButtonDown,
596 ICEI_CursorButtonUp,
597 ICEI_CursorInRange,
598 ICEI_CursorOutOfRange,
599 ICEI_SystemGesture,
600 ICEI_TabletAdded,
601 ICEI_TabletRemoved,
602 ICEI_MouseDown,
603 ICEI_MouseMove,
604 ICEI_MouseUp,
605 ICEI_MouseWheel,
606 ICEI_DblClick,
607 ICEI_AllEvents
608 } InkCollectorEventInterest;
611 odl,
612 uuid(F0F060B5-8B1F-4A7C-89EC-880692588A4F),
613 dual,
614 oleautomation
616 interface IInkCollector : IDispatch {
617 [id(0x00000002), propget] HRESULT hWnd(
618 [out, retval] long* CurrentWindow);
619 [id(0x00000002), propput] HRESULT hWnd([in] long CurrentWindow);
620 [id(0x00000001), propget] HRESULT Enabled(
621 [out, retval] VARIANT_BOOL* Collecting);
622 [id(0x00000001), propput] HRESULT Enabled(
623 [in] VARIANT_BOOL Collecting);
624 [id(0x00000005), propget] HRESULT DefaultDrawingAttributes(
625 [out, retval] IInkDrawingAttributes** CurrentAttributes);
626 [id(0x00000005), propputref] HRESULT DefaultDrawingAttributes(
627 [in] IInkDrawingAttributes* CurrentAttributes);
628 [id(0x00000006), propget] HRESULT Renderer(
629 [out, retval] IInkRenderer** CurrentInkRenderer);
630 [id(0x00000006), propputref] HRESULT Renderer(
631 [in] IInkRenderer* CurrentInkRenderer);
632 [id(0x00000007), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
633 [id(0x00000007), propputref] HRESULT Ink([in] IInkDisp* Ink);
634 [id(0x00000008), propget] HRESULT AutoRedraw(
635 [out, retval] VARIANT_BOOL* AutoRedraw);
636 [id(0x00000008), propput] HRESULT AutoRedraw(
637 [in] VARIANT_BOOL AutoRedraw);
638 [id(0x00000009), propget] HRESULT CollectingInk(
639 [out, retval] VARIANT_BOOL* Collecting);
640 [id(0x0000001c), propget] HRESULT CollectionMode(
641 [out, retval] InkCollectionMode* Mode);
642 [id(0x0000001c), propput] HRESULT CollectionMode(
643 [in] InkCollectionMode Mode);
644 [id(0x0000001f), propget] HRESULT DynamicRendering(
645 [out, retval] VARIANT_BOOL* Enabled);
646 [id(0x0000001f), propput] HRESULT DynamicRendering(
647 [in] VARIANT_BOOL Enabled);
648 [id(0x00000020), propget] HRESULT DesiredPacketDescription(
649 [out, retval] VARIANT* PacketGuids);
650 [id(0x00000020), propput] HRESULT DesiredPacketDescription(
651 [in] VARIANT PacketGuids);
652 [id(0x00000023), propget] HRESULT MouseIcon(
653 [out, retval] IPictureDisp** MouseIcon);
654 [id(0x00000023), propput] HRESULT MouseIcon(
655 [in] IPictureDisp* MouseIcon);
656 [id(0x00000023), propputref] HRESULT MouseIcon(
657 [in] IPictureDisp* MouseIcon);
658 [id(0x00000024), propget] HRESULT MousePointer(
659 [out, retval] InkMousePointer* MousePointer);
660 [id(0x00000024), propput] HRESULT MousePointer(
661 [in] InkMousePointer MousePointer);
662 [id(0x00000014), propget] HRESULT Cursors(
663 [out, retval] IInkCursors** Cursors);
664 [id(0x00000015), propget] HRESULT MarginX(
665 [out, retval] long* MarginX);
666 [id(0x00000015), propput] HRESULT MarginX([in] long MarginX);
667 [id(0x00000016), propget] HRESULT MarginY(
668 [out, retval] long* MarginY);
669 [id(0x00000016), propput] HRESULT MarginY([in] long MarginY);
670 [id(0x00000019), propget] HRESULT Tablet(
671 [out, retval] IInkTablet** SingleTablet);
672 [id(0x00000026), propget] HRESULT SupportHighContrastInk(
673 [out, retval] VARIANT_BOOL* Support);
674 [id(0x00000026), propput] HRESULT SupportHighContrastInk(
675 [in] VARIANT_BOOL Support);
676 [id(0x0000001d)] HRESULT SetGestureStatus(
677 [in] InkApplicationGesture Gesture,
678 [in] VARIANT_BOOL Listen);
679 [id(0x0000001e)] HRESULT GetGestureStatus(
680 [in] InkApplicationGesture Gesture,
681 [out, retval] VARIANT_BOOL* Listening);
682 [id(0x00000018)] HRESULT GetWindowInputRectangle(
683 [in, out] IInkRectangle** WindowInputRectangle);
684 [id(0x00000017)] HRESULT SetWindowInputRectangle(
685 [in] IInkRectangle* WindowInputRectangle);
686 [id(0x0000001a)] HRESULT SetAllTabletsMode(
687 [in, optional, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput);
688 [id(0x0000001b)] HRESULT SetSingleTabletIntegratedMode(
689 [in] IInkTablet* Tablet);
690 [id(0x0000000b)] HRESULT GetEventInterest(
691 [in] InkCollectorEventInterest EventId,
692 [out, retval] VARIANT_BOOL* Listen);
693 [id(0x0000000a)] HRESULT SetEventInterest(
694 [in] InkCollectorEventInterest EventId,
695 [in] VARIANT_BOOL Listen);