ReactOS  0.4.13-dev-464-g6b95727
msinkaut.idl
Go to the documentation of this file.
1 /* Copyright (C) 2007 C John Klehm
2  *
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.
7  *
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.
12  *
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
16  */
17 
18 import "oaidl.idl";
19 import "ocidl.idl";
20 
21 [
22  uuid(7D868ACD-1A5D-4A47-A247-F39741353012),
23  version(1.0)
24 ]
26 {
27  importlib("stdole2.tlb");
28 
29  typedef float single;
30 
31  typedef enum InkBoundingBoxMode {
38 
39  typedef enum InkExtractFlags {
44 
45  typedef enum InkPersistenceFormat {
48  IPF_GIF = 2,
51 
53  {
58 
59  typedef enum InkPenTip {
60  IPT_Ball = 0,
62  } InkPenTip;
63 
64  typedef enum InkRasterOperation {
65  IRO_Black = 1,
82 
83  typedef enum InkClipboardModes {
84  ICB_Copy = 0,
85  ICB_Cut = 0x1,
90 
91  typedef enum InkClipboardFormats {
92  ICF_None = 0,
95  ICF_TextInk = 0x6,
97  ICF_Metafile = 0x20,
98  ICF_Bitmap = 0x40,
100  ICF_CopyMask = 0x7f,
103 
105  {
110 
111  [
112  odl,
113  uuid(DB489209-B7C3-411D-90F6-1548CFFF271E),
114  dual,
116  ]
118  [id(0x00000001), propget] HRESULT Guid([out, retval] BSTR* Guid);
119  [id(0x00000002), propget] HRESULT Data([out, retval] VARIANT* Data);
120  [id(0x00000002), propput] HRESULT Data([in] VARIANT Data);
121  };
122 
123  [
124  odl,
125  uuid(89F2A8BE-95A9-4530-8B8F-88E971E3E25F),
126  dual,
128  ]
130  HRESULT Count([out, retval] long* Count);
131  HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
132  HRESULT Item(
133  [in] VARIANT Identifier,
134  [out, retval] IInkExtendedProperty** Item);
135  HRESULT Add(
136  [in] BSTR Guid,
137  [in] VARIANT Data,
138  [out, retval] IInkExtendedProperty** InkExtendedProperty);
139  HRESULT Remove([in] VARIANT Identifier);
140  HRESULT Clear();
141  HRESULT DoesPropertyExist(
142  [in] BSTR Guid,
143  [out, retval] VARIANT_BOOL* DoesPropertyExist);
144  };
145 
146  [
147  odl,
148  uuid(BF519B75-0A15-4623-ADC9-C00D436A8092),
149  dual,
151  ]
153  [id(0x00000002), propget] HRESULT Color(
154  [out, retval] long* CurrentColor);
155  [id(0x00000002), propput] HRESULT Color([in] long CurrentColor);
156  [id(0x00000003), propget] HRESULT Width(
157  [out, retval] single* CurrentWidth);
158  [id(0x00000003), propput] HRESULT Width([in] single CurrentWidth);
159  [id(0x00000001), propget] HRESULT Height(
160  [out, retval] single* CurrentHeight);
161  [id(0x00000001), propput] HRESULT Height([in] single CurrentHeight);
162  [id(0x00000004), propget] HRESULT FitToCurve(
163  [out, retval] VARIANT_BOOL* Flag);
164  [id(0x00000004), propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag);
165  [id(0x00000005), propget] HRESULT IgnorePressure(
166  [out, retval] VARIANT_BOOL* Flag);
167  [id(0x00000005), propput] HRESULT IgnorePressure(
168  [in] VARIANT_BOOL Flag);
169  [id(0x00000006), propget] HRESULT AntiAliased(
170  [out, retval] VARIANT_BOOL* Flag);
171  [id(0x00000006), propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag);
172  [id(0x00000007), propget] HRESULT Transparency(
173  [out, retval] long* CurrentTransparency);
174  [id(0x00000007), propput] HRESULT Transparency(
175  [in] long CurrentTransparency);
176  [id(0x00000008), propget] HRESULT RasterOperation(
177  [out, retval] InkRasterOperation* CurrentRasterOperation);
178  [id(0x00000008), propput] HRESULT RasterOperation(
179  [in] InkRasterOperation CurrentRasterOperation);
180  [id(0x00000009), propget] HRESULT PenTip(
181  [out, retval] InkPenTip* CurrentPenTip);
182  [id(0x00000009), propput] HRESULT PenTip([in] InkPenTip CurrentPenTip);
183  [id(0x0000000b), propget] HRESULT ExtendedProperties(
184  [out, retval] IInkExtendedProperties** Properties);
185  [id(0x0000000a)] HRESULT Clone(
186  [out, retval] IInkDrawingAttributes** DrawingAttributes);
187  };
188 
189 cpp_quote("#ifndef _WINGDI_")
190 /* already defined in wingdi.h but needed for WIDL */
191  typedef struct tagXFORM {
198  } XFORM;
199 cpp_quote("#endif /* _WINGDI_ */")
200 
201  [
202  odl,
203  uuid(615F1D43-8703-4565-88E2-8201D2ECD7B7),
204  dual,
206  ]
207  interface IInkTransform : IDispatch {
208  [id(0x00000001)] HRESULT Reset();
209  [id(0x00000002)] HRESULT Translate(
210  [in] single HorizontalComponent,
211  [in] single VerticalComponent);
212  [id(0x00000003)] HRESULT Rotate(
213  [in] single Degrees,
214  [in, defaultvalue(0)] single x,
215  [in, defaultvalue(0)] single y);
216  [id(0x00000004)] HRESULT Reflect(
217  [in] VARIANT_BOOL Horizontally,
218  [in] VARIANT_BOOL Vertically);
219  [id(0x00000005)] HRESULT Shear(
220  [in] single HorizontalComponent,
221  [in] single VerticalComponent);
222  [id(0x00000006)] HRESULT ScaleTransform(
223  [in] single HorizontalMultiplier,
224  [in] single VerticalMultiplier);
225  [id(0x0000000d)] HRESULT GetTransform(
226  [out] single* eM11,
227  [out] single* eM12,
228  [out] single* eM21,
229  [out] single* eM22,
230  [out] single* eDx,
231  [out] single* eDy);
232  [id(0x0000000e)] HRESULT SetTransform(
233  [in] single eM11,
234  [in] single eM12,
235  [in] single eM21,
236  [in] single eM22,
237  [in] single eDx,
238  [in] single eDy);
239  [id(0x00000007), propget, hidden] HRESULT eM11(
240  [out, retval] single* Value);
241  [id(0x00000007), propput, hidden] HRESULT eM11([in] single Value);
242  [id(0x00000008), propget, hidden] HRESULT eM12(
243  [out, retval] single* Value);
244  [id(0x00000008), propput, hidden] HRESULT eM12([in] single Value);
245  [id(0x00000009), propget, hidden] HRESULT eM21(
246  [out, retval] single* Value);
247  [id(0x00000009), propput, hidden] HRESULT eM21([in] single Value);
248  [id(0x0000000a), propget, hidden] HRESULT eM22(
249  [out, retval] single* Value);
250  [id(0x0000000a), propput, hidden] HRESULT eM22([in] single Value);
251  [id(0x0000000b), propget, hidden] HRESULT eDx(
252  [out, retval] single* Value);
253  [id(0x0000000b), propput, hidden] HRESULT eDx([in] single Value);
254  [id(0x0000000c), propget, hidden] HRESULT eDy(
255  [out, retval] single* Value);
256  [id(0x0000000c), propput, hidden] HRESULT eDy([in] single Value);
257  [id(0x0000000f), propget, hidden] HRESULT Data(
258  [out, retval] XFORM* XFORM);
259  [id(0x0000000f), propput, hidden] HRESULT Data([in] XFORM XFORM);
260  };
261 
262  interface IInkDisp;
263 
264  [
265  odl,
266  uuid(9794FF82-6071-4717-8A8B-6AC7C64A686E),
267  dual,
269  ]
270  interface IInkRectangle
271  {
272  [id(1), propget] HRESULT Top([out, retval] long* Units);
273  [id(1), propput] HRESULT Top([in] long Units);
274  [id(2), propget] HRESULT Left([out, retval] long* Units);
275  [id(2), propput] HRESULT Left([in] long Units);
276  [id(3), propget] HRESULT Bottom([out, retval] long* Units);
277  [id(3), propput] HRESULT Bottom([in] long Units);
278  [id(4), propget] HRESULT Right([out, retval] long* Units);
279  [id(4), propput] HRESULT Right([in] long Units);
280  [id(7), propget] HRESULT Data([out, retval] RECT* Rect);
281  [id(7), propput] HRESULT Data([in] RECT Rect);
282  [id(5)] HRESULT GetRectangle(
283  [out] long* Top,
284  [out] long* Left,
285  [out] long* Bottom,
286  [out] long* Right);
287  [id(6)] HRESULT SetRectangle(
288  [in] long Top,
289  [in] long Left,
290  [in] long Bottom,
291  [in] long Right);
292  };
293 
294  interface IInkStrokes;
295 
296  typedef enum {
306 
307  [
308  odl,
309  uuid(43242FEA-91D1-4A72-963E-FBB91829CFA2),
310  dual,
312  ]
313  interface IInkStrokeDisp : IDispatch {
314  [id(0x00000002), propget] HRESULT Id([out, retval] long* Id);
315  [id(0x0000000d), propget] HRESULT BezierPoints(
316  [out, retval] VARIANT* Points);
317  [id(0x00000004), propget] HRESULT DrawingAttributes(
318  [out, retval] IInkDrawingAttributes** DrawAttrs);
319  [id(0x00000004), propputref] HRESULT DrawingAttributes(
320  [in] IInkDrawingAttributes* DrawAttrs);
321  [id(0x0000000c), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
322  [id(0x0000000b), propget] HRESULT ExtendedProperties(
323  [out, retval] IInkExtendedProperties** Properties);
324  [id(0x0000000e), propget] HRESULT PolylineCusps(
325  [out, retval] VARIANT* Cusps);
326  [id(0x0000000f), propget] HRESULT BezierCusps(
327  [out, retval] VARIANT* Cusps);
328  [id(0x00000010), propget] HRESULT SelfIntersections(
329  [out, retval] VARIANT* Intersections);
330  [id(0x00000011), propget] HRESULT PacketCount(
331  [out, retval] long* plCount);
332  [id(0x00000012), propget] HRESULT PacketSize(
333  [out, retval] long* plSize);
334  [id(0x00000013), propget] HRESULT PacketDescription(
335  [out, retval] VARIANT* PacketDescription);
336  [id(0x00000014), propget] HRESULT Deleted(
337  [out, retval] VARIANT_BOOL* Deleted);
338  [id(0x00000003)] HRESULT GetBoundingBox(
339  [in, defaultvalue(0)] InkBoundingBoxMode BoundingBoxMode,
340  [out, retval] IInkRectangle** Rectangle);
341  [id(0x00000005)] HRESULT FindIntersections(
342  [in] IInkStrokes* Strokes,
343  [out, retval] VARIANT* Intersections);
344  [id(0x00000006)] HRESULT GetRectangleIntersections(
346  [out, retval] VARIANT* Intersections);
347  [id(0x00000007)] HRESULT Clip(
349  [id(0x00000008)] HRESULT HitTestCircle(
350  [in] long x,
351  [in] long y,
352  [in] single radius,
353  [out, retval] VARIANT_BOOL* Intersects);
354  [id(0x00000009)] HRESULT NearestPoint(
355  [in] long x,
356  [in] long y,
357  [in, out, defaultvalue(0)] single* Distance,
358  [out, retval] single* Point);
359  [id(0x0000000a)] HRESULT Split(
360  [in] single SplitAt,
361  [out, retval] IInkStrokeDisp** NewStroke);
362  [id(0x00000015)] HRESULT GetPacketDescriptionPropertyMetrics(
363  [in] BSTR propertyName,
364  [out] long* Minimum,
365  [out] long* Maximum,
366  [out] TabletPropertyMetricUnit* Units,
367  [out] single* Resolution);
368  [id(0x00000016)] HRESULT GetPoints(
369  [in, defaultvalue(0)] long Index,
370  [in, defaultvalue(-1)] long Count,
371  [out, retval] VARIANT* Points);
372  [id(0x00000017)] HRESULT SetPoints(
373  [in] VARIANT Points,
374  [in, defaultvalue(0)] long Index,
375  [in, defaultvalue(-1)] long Count,
376  [out, retval] long* NumberOfPointsSet);
377  [id(0x00000018)] HRESULT GetPacketData(
378  [in, defaultvalue(0)] long Index,
379  [in, defaultvalue(-1)] long Count,
380  [out, retval] VARIANT* PacketData);
381  [id(0x00000019)] HRESULT GetPacketValuesByProperty(
382  [in] BSTR propertyName,
383  [in, defaultvalue(0)] long Index,
384  [in, defaultvalue(-1)] long Count,
385  [out, retval] VARIANT* PacketValues);
386  [id(0x0000001a)] HRESULT SetPacketValuesByProperty(
387  [in] BSTR bstrPropertyName,
388  [in] VARIANT PacketValues,
389  [in, defaultvalue(0)] long Index,
390  [in, defaultvalue(-1)] long Count,
391  [out, retval] long* NumberOfPacketsSet);
392  [id(0x0000001b)] HRESULT GetFlattenedBezierPoints(
393  [in, defaultvalue(0)] long FittingError,
394  [out, retval] VARIANT* FlattenedBezierPoints);
395  [id(0x0000001d)] HRESULT Transform(
396  [in] IInkTransform* Transform,
397  [in, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth);
398  [id(0x0000001c)] HRESULT ScaleToRectangle(
400  [id(0x0000001e)] HRESULT Move(
401  [in] single HorizontalComponent,
402  [in] single VerticalComponent);
403  [id(0x0000001f)] HRESULT Rotate(
404  [in] single Degrees,
405  [in, defaultvalue(0)] single x,
406  [in, defaultvalue(0)] single y);
407  [id(0x00000020)] HRESULT Shear(
408  [in] single HorizontalMultiplier,
409  [in] single VerticalMultiplier);
410  [id(0x00000021)] HRESULT ScaleTransform(
411  [in] single HorizontalMultiplier,
412  [in] single VerticalMultiplier);
413  };
414 
415  interface IInkRecognitionResult;
416 
417  [
418  odl,
419  uuid(F1F4C9D8-590A-4963-B3AE-1935671BB6F3),
420  dual,
422  ]
423  interface IInkStrokes : IDispatch {
424  [propget] HRESULT Count(
425  [out, retval] long *Count);
426  [propget, restricted] HRESULT _NewEnum(
427  [out, retval] IUnknown **_NewEnum);
428  [propget] HRESULT Ink(
429  [out, retval] IInkDisp **Ink);
430  [propget] HRESULT RecognitionResult(
431  [out, retval] IInkRecognitionResult **RecognitionResult);
433  [out, retval] BSTR *ToString);
434  HRESULT Item(
435  [in] long Index,
436  [out, retval] IInkStrokeDisp **Stroke);
437  HRESULT Add(
438  [in] IInkStrokeDisp *InkStroke);
439  HRESULT AddStrokes(
440  [in] IInkStrokes *InkStrokes);
441  HRESULT Remove(
442  [in] IInkStrokeDisp *InkStroke);
443  HRESULT RemoveStrokes(
444  [in] IInkStrokes *InkStrokes);
445  HRESULT ModifyDrawingAttributes(
446  [in] IInkDrawingAttributes *DrawAttrs);
447  HRESULT GetBoundingBox(
448  [in] InkBoundingBoxMode BoundingBoxMode,
449  [out, retval] IInkRectangle **BoundingBox);
450  HRESULT Transform(
451  [in] IInkTransform *Transform,
452  [in] VARIANT_BOOL ApplyOnPenWidth);
453  HRESULT ScaleToRectangle(
455  HRESULT Move(
456  [in] float HorizontalComponent,
457  [in] float VerticalComponent);
458  HRESULT Rotate(
459  [in] float Degrees,
460  [in] float x,
461  [in] float y);
462  HRESULT Shear(
463  [in] float HorizontalMultiplier,
464  [in] float VerticalMultiplier);
465  HRESULT ScaleTransform(
466  [in] float HorizontalMultiplier,
467  [in] float VerticalMultiplier);
468  HRESULT Clip(
470  HRESULT RemoveRecognitionResult();
471  };
472 
473  [
474  odl,
475  uuid(7E23A88F-C30E-420f-9BDB-28902543F0C1),
476  dual,
478  ]
480  [propget] HRESULT Count(
481  [out, retval] long *Count);
482  [propget] HRESULT _NewEnum(
483  [out, retval] IUnknown **_NewEnum);
484  HRESULT Item(
485  [in] VARIANT Identifier,
486  [out, retval] IInkStrokes **Strokes);
487  HRESULT Add(
488  [in] BSTR Name,
489  [in] IInkStrokes *Strokes);
490  HRESULT Remove(
491  [in] VARIANT Identifier);
492  HRESULT Clear();
493  };
494 
495  interface IInkRecognitionAlternate;
496  interface IInkRecognitionAlternates;
497 
498  [
499  odl,
500  uuid(3BC129A8-86CD-45ad-BDE8-E0D32D61C16D),
501  dual,
503  ]
505  [propget] HRESULT TopString(
506  [out, retval] BSTR *TopString);
507  [propget] HRESULT TopAlternate(
508  [out, retval] IInkRecognitionAlternate **TopAlternate);
509  [propget] HRESULT TopConfidence(
510  [out, retval] InkRecognitionConfidence *TopConfidence);
511  [propget] HRESULT Strokes(
512  [out, retval] IInkStrokes **Strokes);
513  HRESULT AlternatesFromSelection(
514  [in] long selectionStart,
515  [in] long selectionLength,
516  [in] long maximumAlternates,
517  [out, retval] IInkRecognitionAlternates **AlternatesFromSelection);
518  HRESULT ModifyTopAlternate(
519  [in] IInkRecognitionAlternate *Alternate);
520  HRESULT SetResultOnStrokes();
521  };
522 
523  [
524  odl,
525  uuid(B7E660AD-77E4-429b-ADDA-873780D1FC4A),
526  dual,
528  ]
530  [propget] HRESULT String(
531  [out, retval] BSTR *RecoString);
532  [propget] HRESULT Confidence(
533  [out, retval] InkRecognitionConfidence *Confidence);
534  [propget] HRESULT Baseline(
535  [out, retval] VARIANT *Baseline);
536  [propget] HRESULT Midline(
537  [out, retval] VARIANT *Midline);
538  [propget] HRESULT Ascender(
539  [out, retval] VARIANT *Ascender);
540  [propget] HRESULT Descender(
541  [out, retval] VARIANT *Descender);
542  [propget] HRESULT LineNumber(
543  [out, retval] long *LineNumber);
544  [propget] HRESULT Strokes(
545  [out, retval] IInkStrokes **Strokes);
546  [propget] HRESULT LineAlternates(
547  [out, retval] IInkRecognitionAlternates **LineAlternates);
548  [propget] HRESULT ConfidenceAlternates(
549  [out, retval] IInkRecognitionAlternates **ConfidenceAlternates);
550  HRESULT GetStrokesFromStrokeRanges(
551  [in] IInkStrokes *Stroke,
552  [out, retval] IInkStrokes **GetStrokesFromTextRange);
553  HRESULT GetStrokesFromTextRange(
554  [in, out] long *selectionStart,
555  [in, out] long *selectionLength,
556  [out, retval] IInkStrokes **GetStrokesFromTextRange);
557  HRESULT GetTextRangeFromStrokes(
558  [in] IInkStrokes *Strokes,
559  [in, out] long *selectionStart,
560  [in, out] long *selectionLength);
561  HRESULT AlternatesWithConstantPropertyValues(
562  [in] BSTR PropertyType,
563  [out, retval] IInkRecognitionAlternates **AlternatesWithConstantPropertyValues);
564  HRESULT GetPropertyValue(
565  [in] BSTR PropertyType,
566  [out, retval] VARIANT *PropertyValue);
567  };
568 
569  [
570  odl,
571  uuid(286A167F-9F19-4c61-9D53-4F07BE622B84),
572  dual,
574  ]
576  [propget] HRESULT Count(
577  [out, retval] long *Count);
578  [propget, restricted] HRESULT _NewEnum(
579  [out, retval] IUnknown **_NewEnum);
580  [propget] HRESULT Strokes(
581  [out, retval] IInkStrokes **Strokes);
582  HRESULT Item(
583  [in] long Index,
584  [out, retval] IInkRecognitionAlternate **InkRecoAlternate);
585  };
586 
587  [
588  odl,
589  uuid(9D398FA0-C4E2-4fcd-9973-975CAAF47EA6),
590  dual,
592  ]
593  interface IInkDisp : IDispatch {
594  [propget] HRESULT Strokes(
595  [out, retval] IInkStrokes **Strokes);
596  [propget] HRESULT ExtendedProperties(
597  [out, retval] IInkExtendedProperties **Properties);
598  [propget] HRESULT Dirty(
599  [out, retval] VARIANT_BOOL *Dirty);
600  [propput] HRESULT Dirty(
601  [in] VARIANT_BOOL Dirty);
602  [propget] HRESULT CustomStrokes(
603  [out, retval] IInkCustomStrokes **CustomStrokes);
604  HRESULT GetBoundingBox(
605  [in] InkBoundingBoxMode BoundingBoxMode,
607  HRESULT DeleteStrokes(
608  [in, unique] IInkStrokes *Strokes);
609  HRESULT DeleteStroke(
610  [in] IInkStrokeDisp *Stroke);
611  HRESULT ExtractStrokes(
612  [in] IInkStrokes *Strokes,
613  [in] InkExtractFlags ExtractFlags,
614  [out, retval] IInkDisp **ExtractedInk);
615  HRESULT ExtractWithRectangle(
617  [in] InkExtractFlags ExtractFlags,
618  [out, retval] IInkDisp **ExtractedInk);
619  HRESULT Clip(
621  HRESULT Clone(
622  [out, retval] IInkDisp **NewInk);
623  HRESULT HitTestCircle(
624  [in] long X,
625  [in] long Y,
626  [in] float radius,
627  [out, retval] IInkStrokes **Strokes);
628  HRESULT HitTestWithRectangle(
629  [in] IInkRectangle *SelectionRectangle,
630  [in] float IntersectPercent,
631  [out, retval] IInkStrokes **Strokes);
632  HRESULT HitTestWithLasso(
633  [in] VARIANT Points,
634  [in] float IntersectPercent,
635  [in, out, unique] VARIANT *LassoPoints,
636  [out, retval] IInkStrokes **Strokes);
637  HRESULT NearestPoint(
638  [in] long X,
639  [in] long Y,
640  [in, out] float *PointOnStroke,
641  [in, out] float *DistanceFromPacket,
642  [out, retval] IInkStrokeDisp **Stroke);
643  HRESULT CreateStrokes(
644  [in] VARIANT StrokeIds,
645  [out, retval] IInkStrokes **Strokes);
646  HRESULT AddStrokesAtRectangle(
647  [in] IInkStrokes *SourceStrokes,
648  [in] IInkRectangle *TargetRectangle);
649  HRESULT Save(
650  [in] InkPersistenceFormat PersistenceFormat,
651  [in] InkPersistenceCompressionMode CompressionMode,
652  [out, retval] VARIANT *Data);
653  HRESULT Load(
654  [in] VARIANT Data);
655  HRESULT CreateStroke(
656  [in] VARIANT PacketData,
657  [in] VARIANT PacketDescription,
658  [out, retval] IInkStrokeDisp **Stroke);
659  HRESULT ClipboardCopyWithRectangle(
661  [in] InkClipboardFormats ClipboardFormats,
662  [in] InkClipboardModes ClipboardModes,
663  [out, retval] IDataObject **DataObject);
664  HRESULT ClipboardCopy(
665  [in] IInkStrokes *strokes,
666  [in] InkClipboardFormats ClipboardFormats,
667  [in] InkClipboardModes ClipboardModes,
668  [out, retval] IDataObject **DataObject);
669  HRESULT CanPaste(
671  [out, retval] VARIANT_BOOL *CanPaste);
672  HRESULT ClipboardPaste(
673  [in] long x,
674  [in] long y,
676  [out, retval] IInkStrokes **Strokes);
677  };
678 
679  [
680  odl,
681  uuid(E6257A9C-B511-4F4C-A8B0-A7DBC9506B83),
682  dual,
684  ]
685  interface IInkRenderer : IDispatch {
686  HRESULT GetViewTransform([in] IInkTransform* ViewTransform);
687  HRESULT SetViewTransform([in] IInkTransform* ViewTransform);
688  HRESULT GetObjectTransform([in] IInkTransform* ObjectTransform);
689  HRESULT SetObjectTransform([in] IInkTransform* ObjectTransform);
690  HRESULT Draw(
691  [in] long hDC,
692  [in] IInkStrokes* Strokes);
693  HRESULT DrawStroke(
694  [in] long hDC,
695  [in] IInkStrokeDisp* Stroke,
696  [in, defaultvalue(0)]
697  IInkDrawingAttributes* DrawingAttributes);
698  HRESULT PixelToInkSpace(
699  [in] long hDC,
700  [in, out] long* x,
701  [in, out] long* y);
702  HRESULT InkSpaceToPixel(
703  [in] long hdcDisplay,
704  [in, out] long* x,
705  [in, out] long* y);
706  HRESULT PixelToInkSpaceFromPoints(
707  [in] long hDC,
708  [in, out] VARIANT* Points);
709  HRESULT InkSpaceToPixelFromPoints(
710  [in] long hDC,
711  [in, out] VARIANT* Points);
712  HRESULT Measure(
713  [in] IInkStrokes* Strokes,
714  [out, retval] IInkRectangle** Rectangle);
715  HRESULT MeasureStroke(
716  [in] IInkStrokeDisp* Stroke,
717  [in, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes,
718  [out, retval] IInkRectangle** Rectangle);
719  HRESULT Move(
720  [in] single HorizontalComponent,
721  [in] single VerticalComponent);
722  HRESULT Rotate(
723  [in] single Degrees,
724  [in, defaultvalue(0)] single x,
725  [in, defaultvalue(0)] single y);
726  HRESULT ScaleTransform(
727  [in] single HorizontalMultiplier,
728  [in] single VerticalMultiplier,
729  [in, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth);
730  };
731 
732  typedef enum {
737 
738  typedef enum {
755  } InkMousePointer;
756 
757  typedef enum {
763 
764  [
765  odl,
766  uuid(2DE25EAA-6EF8-42D5-AEE9-185BC81B912D),
767  dual,
769  ]
770  interface IInkTablet : IDispatch {
771  [propget] HRESULT Name([out, retval] BSTR* Name);
772  [propget] HRESULT PlugAndPlayId([out, retval] BSTR* Id);
773  [propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle** Rectangle);
774  [propget] HRESULT HardwareCapabilities(
776  HRESULT IsPacketPropertySupported(
777  [in] BSTR packetPropertyName,
778  [out, retval] VARIANT_BOOL* Supported);
779  HRESULT GetPropertyMetrics(
780  [in] BSTR propertyName,
781  [out] long* Minimum,
782  [out] long* Maximum,
783  [out] TabletPropertyMetricUnit* Units,
784  [out] single* Resolution);
785  };
786 
787  typedef enum {
792 
793  [
794  odl,
795  uuid(85EF9417-1D59-49B2-A13C-702C85430894),
796  dual,
798  ]
800  [propget] HRESULT Name([out, retval] BSTR* Name);
801  [propget] HRESULT Id([out, retval] BSTR* Id);
802  [propget] HRESULT State([out, retval] InkCursorButtonState* CurrentState);
803  };
804 
805  [
806  odl,
807  uuid(3671CC40-B624-4671-9FA0-DB119D952D54),
808  dual,
810  ]
812  [propget] HRESULT Count([out, retval] long* Count);
813  [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
814  HRESULT Item(
815  [in] VARIANT Identifier,
816  [out, retval] IInkCursorButton** Button);
817  };
818 
819  [
820  odl,
821  uuid(AD30C630-40C5-4350-8405-9C71012FC558),
822  dual,
824  ]
825  interface IInkCursor : IDispatch {
826  [id(0x00000000), propget] HRESULT Name([out, retval] BSTR* Name);
827  [id(0x00000001), propget] HRESULT Id([out, retval] long* Id);
828  [id(0x00000004), propget] HRESULT Inverted(
829  [out, retval] VARIANT_BOOL* Status);
830  [id(0x00000002), propget] HRESULT DrawingAttributes(
831  [out, retval] IInkDrawingAttributes** Attributes);
832  [id(0x00000002), propputref] HRESULT DrawingAttributes(
834  [id(0x00000005), propget] HRESULT Tablet(
835  [out, retval] IInkTablet** Tablet);
836  [id(0x00000003), propget] HRESULT Buttons(
837  [out, retval] IInkCursorButtons** Buttons);
838  };
839 
840  [
841  odl,
842  uuid(A248C1AC-C698-4E06-9E5C-D57F77C7E647),
843  dual,
845  ]
846  interface IInkCursors : IDispatch {
847  [propget] HRESULT Count([out, retval] long* Count);
848  [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum);
849  HRESULT Item(
850  [in] long Index,
851  [out, retval] IInkCursor** Cursor);
852  };
853 
854  typedef enum {
856  IAG_NoGesture = 61440,
857  IAG_Scratchout = 61441,
858  IAG_Triangle = 61442,
859  IAG_Square = 61443,
860  IAG_Star = 61444,
861  IAG_Check = 61445,
862  IAG_Curlicue = 61456,
864  IAG_Circle = 61472,
868  IAG_ChevronUp = 61488,
872  IAG_ArrowUp = 61496,
873  IAG_ArrowDown = 61497,
874  IAG_ArrowLeft = 61498,
875  IAG_ArrowRight = 61499,
876  IAG_Up = 61528,
877  IAG_Down = 61529,
878  IAG_Left = 61530,
879  IAG_Right = 61531,
880  IAG_UpDown = 61536,
881  IAG_DownUp = 61537,
882  IAG_LeftRight = 61538,
883  IAG_RightLeft = 61539,
884  IAG_UpLeftLong = 61540,
888  IAG_UpLeft = 61544,
889  IAG_UpRight = 61545,
890  IAG_DownLeft = 61546,
891  IAG_DownRight = 61547,
892  IAG_LeftUp = 61548,
893  IAG_LeftDown = 61549,
894  IAG_RightUp = 61550,
895  IAG_RightDown = 61551,
897  IAG_Tap = 61680,
900 
901  typedef enum {
921 
922  [
923  odl,
924  uuid(F0F060B5-8B1F-4A7C-89EC-880692588A4F),
925  dual,
927  ]
928  interface IInkCollector : IDispatch {
929  [id(0x00000002), propget] HRESULT hWnd(
930  [out, retval] long* CurrentWindow);
931  [id(0x00000002), propput] HRESULT hWnd([in] long CurrentWindow);
932  [id(0x00000001), propget] HRESULT Enabled(
933  [out, retval] VARIANT_BOOL* Collecting);
934  [id(0x00000001), propput] HRESULT Enabled(
935  [in] VARIANT_BOOL Collecting);
936  [id(0x00000005), propget] HRESULT DefaultDrawingAttributes(
937  [out, retval] IInkDrawingAttributes** CurrentAttributes);
938  [id(0x00000005), propputref] HRESULT DefaultDrawingAttributes(
939  [in] IInkDrawingAttributes* CurrentAttributes);
940  [id(0x00000006), propget] HRESULT Renderer(
941  [out, retval] IInkRenderer** CurrentInkRenderer);
942  [id(0x00000006), propputref] HRESULT Renderer(
943  [in] IInkRenderer* CurrentInkRenderer);
944  [id(0x00000007), propget] HRESULT Ink([out, retval] IInkDisp** Ink);
945  [id(0x00000007), propputref] HRESULT Ink([in] IInkDisp* Ink);
946  [id(0x00000008), propget] HRESULT AutoRedraw(
947  [out, retval] VARIANT_BOOL* AutoRedraw);
948  [id(0x00000008), propput] HRESULT AutoRedraw(
949  [in] VARIANT_BOOL AutoRedraw);
950  [id(0x00000009), propget] HRESULT CollectingInk(
951  [out, retval] VARIANT_BOOL* Collecting);
952  [id(0x0000001c), propget] HRESULT CollectionMode(
953  [out, retval] InkCollectionMode* Mode);
954  [id(0x0000001c), propput] HRESULT CollectionMode(
956  [id(0x0000001f), propget] HRESULT DynamicRendering(
957  [out, retval] VARIANT_BOOL* Enabled);
958  [id(0x0000001f), propput] HRESULT DynamicRendering(
960  [id(0x00000020), propget] HRESULT DesiredPacketDescription(
961  [out, retval] VARIANT* PacketGuids);
962  [id(0x00000020), propput] HRESULT DesiredPacketDescription(
963  [in] VARIANT PacketGuids);
964  [id(0x00000023), propget] HRESULT MouseIcon(
965  [out, retval] IPictureDisp** MouseIcon);
966  [id(0x00000023), propput] HRESULT MouseIcon(
967  [in] IPictureDisp* MouseIcon);
968  [id(0x00000023), propputref] HRESULT MouseIcon(
969  [in] IPictureDisp* MouseIcon);
970  [id(0x00000024), propget] HRESULT MousePointer(
971  [out, retval] InkMousePointer* MousePointer);
972  [id(0x00000024), propput] HRESULT MousePointer(
973  [in] InkMousePointer MousePointer);
974  [id(0x00000014), propget] HRESULT Cursors(
975  [out, retval] IInkCursors** Cursors);
976  [id(0x00000015), propget] HRESULT MarginX(
977  [out, retval] long* MarginX);
978  [id(0x00000015), propput] HRESULT MarginX([in] long MarginX);
979  [id(0x00000016), propget] HRESULT MarginY(
980  [out, retval] long* MarginY);
981  [id(0x00000016), propput] HRESULT MarginY([in] long MarginY);
982  [id(0x00000019), propget] HRESULT Tablet(
983  [out, retval] IInkTablet** SingleTablet);
984  [id(0x00000026), propget] HRESULT SupportHighContrastInk(
985  [out, retval] VARIANT_BOOL* Support);
986  [id(0x00000026), propput] HRESULT SupportHighContrastInk(
987  [in] VARIANT_BOOL Support);
988  [id(0x0000001d)] HRESULT SetGestureStatus(
989  [in] InkApplicationGesture Gesture,
990  [in] VARIANT_BOOL Listen);
991  [id(0x0000001e)] HRESULT GetGestureStatus(
992  [in] InkApplicationGesture Gesture,
993  [out, retval] VARIANT_BOOL* Listening);
994  [id(0x00000018)] HRESULT GetWindowInputRectangle(
995  [in, out] IInkRectangle** WindowInputRectangle);
996  [id(0x00000017)] HRESULT SetWindowInputRectangle(
997  [in] IInkRectangle* WindowInputRectangle);
998  [id(0x0000001a)] HRESULT SetAllTabletsMode(
999  [in, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput);
1000  [id(0x0000001b)] HRESULT SetSingleTabletIntegratedMode(
1001  [in] IInkTablet* Tablet);
1002  [id(0x0000000b)] HRESULT GetEventInterest(
1003  [in] InkCollectorEventInterest EventId,
1004  [out, retval] VARIANT_BOOL* Listen);
1005  [id(0x0000000a)] HRESULT SetEventInterest(
1006  [in] InkCollectorEventInterest EventId,
1007  [in] VARIANT_BOOL Listen);
1008  };
1009 };
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2327
struct _XFORM XFORM
#define Y(I)
_In_ ULONG Mode
Definition: hubbusif.h:303
InkPersistenceCompressionMode
Definition: msinkaut.idl:52
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
InkRecognitionConfidence
Definition: msinkaut.idl:104
static IDataObject DataObject
Definition: dragdrop.c:565
coclass SHDocVw::ShellWindows dual
Definition: exdisp.idl:631
enum MSINKAUTLib::InkBoundingBoxMode InkBoundingBoxMode
enum MSINKAUTLib::InkPersistenceCompressionMode InkPersistenceCompressionMode
void Draw(HDC aDc)
Definition: magnifier.c:359
HWND hWnd
Definition: settings.c:17
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
float single
Definition: msinkaut.idl:29
static WCHAR String[]
Definition: stringtable.c:55
OLECHAR * BSTR
Definition: compat.h:1934
FT_Library library
Definition: cffdrivr.c:654
enum MSINKAUTLib::InkExtractFlags InkExtractFlags
short VARIANT_BOOL
Definition: compat.h:1931
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
struct Color Color
coclass TestTypelib::Coclass3 oleautomation
Definition: tmarshal.idl:199
DWORD Id
__u32 hidden
Definition: mkdosfs.c:371
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
Definition: hidclass.h:103
struct NameRec_ * Name
Definition: cdprocs.h:464
static int Save(const char **args)
Definition: vfdcmd.c:1851
enum MSINKAUTLib::InkPenTip InkPenTip
static GUID * Guid
Definition: apphelp.c:93
static const WCHAR version[]
Definition: asmname.c:64
_In_ LPGUID _In_ PVOID Data
Definition: classpnp.h:778
enum MSINKAUTLib::InkRecognitionConfidence InkRecognitionConfidence
_In_ BOOLEAN Remove
Definition: psfuncs.h:110
GLfloat f
Definition: glext.h:7540
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
static const TBBUTTON Buttons[]
Definition: mplay32.c:41
enum MSINKAUTLib::InkPersistenceFormat InkPersistenceFormat
enum MSINKAUTLib::InkClipboardModes InkClipboardModes
LONG HRESULT
Definition: typedefs.h:77
enum MSINKAUTLib::InkClipboardFormats InkClipboardFormats
Definition: xml2sdb.h:79
static const UCHAR Index[8]
Definition: usbohci.c:18
static FILE * out
Definition: regtests2xml.c:44
OS_LOADING_METHOD Load
Definition: bootmgr.c:36
coclass TestTypelib::Coclass3 odl
importlib("stdole2.tlb")
Definition: ttei1.cpp:12
enum MSINKAUTLib::InkRasterOperation InkRasterOperation
InkPersistenceFormat
Definition: msinkaut.idl:45
Status
Definition: gdiplustypes.h:24
static HDC hDC
Definition: 3dtext.c:33
static const WCHAR E[]
Definition: oid.c:1253
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES Attributes
Definition: hidpi.h:348
enum State_ State
Definition: pofuncs.h:54
#define EC
Definition: ftp_var.h:21
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 LineNumber
Definition: acpixf.h:1194
#define D(name, bit)
static LPHIST_ENTRY Bottom
Definition: history.c:54
TabletPropertyMetricUnit
Definition: msinkaut.idl:296
GLuint in
Definition: glext.h:9616
_In_ USHORT PacketSize
Definition: iofuncs.h:1056
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
static BYTE Resolution
Definition: mouse.c:35
BOOL WINAPI GetTransform(HDC, DWORD, XFORM *)
TabletHardwareCapabilities
Definition: msinkaut.idl:757
GLenum GLuint id
Definition: glext.h:5579
void Clear(USHORT Window)
Definition: hardware.c:705
std::string ToString(XMLHandle node)
Definition: xml2sdb.cpp:59
static LPHIST_ENTRY Top
Definition: history.c:53
_Out_opt_ PBOOLEAN CurrentState
Definition: zwfuncs.h:393
InkCollectorEventInterest
Definition: msinkaut.idl:901
Definition: window.h:572