Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmsinkaut.idl
Go to the documentation of this file.
00001 /* Copyright (C) 2007 C John Klehm 00002 * 00003 * This library is free software; you can redistribute it and/or 00004 * modify it under the terms of the GNU Lesser General Public 00005 * License as published by the Free Software Foundation; either 00006 * version 2.1 of the License, or (at your option) any later version. 00007 * 00008 * This library is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this library; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00016 */ 00017 00018 import "oaidl.idl"; 00019 import "ocidl.idl"; 00020 00021 [ 00022 uuid(7D868ACD-1A5D-4A47-A247-F39741353012), 00023 version(1.0) 00024 ] 00025 library MSINKAUTLib 00026 { 00027 importlib("stdole2.tlb"); 00028 00029 typedef float single; 00030 00031 typedef enum InkBoundingBoxMode { 00032 IBBM_Default = 0, 00033 IBBM_NoCurveFit = 1, 00034 IBBM_CurveFit = 2, 00035 IBBM_PointsOnly = 3, 00036 IBBM_Union = 4 00037 } InkBoundingBoxMode; 00038 00039 typedef enum InkExtractFlags { 00040 IEF_CopyFromOriginal = 0x0, 00041 IEF_RemoveFromOriginal = 0x1, 00042 IEF_Default = IEF_RemoveFromOriginal 00043 } InkExtractFlags; 00044 00045 typedef enum InkPersistenceFormat { 00046 IPF_InkSerializeFormat = 0, 00047 IPF_Base64InkSerializedFormat = 1, 00048 IPF_GIF = 2, 00049 IPF_Base64GIF = 3 00050 } InkPersistenceFormat; 00051 00052 typedef enum InkPersistenceCompressionMode 00053 { 00054 IPCM_Default = 0, 00055 IPCM_MaximumCompression = 1, 00056 IPCM_NoCompression = 2 00057 } InkPersistenceCompressionMode; 00058 00059 typedef enum InkPenTip { 00060 IPT_Ball = 0, 00061 IPT_Rectangle = 1 00062 } InkPenTip; 00063 00064 typedef enum InkRasterOperation { 00065 IRO_Black = 1, 00066 IRO_NotMergePen, 00067 IRO_MaskNotPen, 00068 IRO_NotCopyPen, 00069 IRO_MaskPenNot, 00070 IRO_Not, 00071 IRO_XOrPen, 00072 IRO_NotMaskPen, 00073 IRO_MaskPen, 00074 IRO_NotXOrPen, 00075 IRO_NoOperation, 00076 IRO_MergeNotPen, 00077 IRO_CopyPen, 00078 IRO_MergePenNot, 00079 IRO_MergePen, 00080 IRO_White 00081 } InkRasterOperation; 00082 00083 typedef enum InkClipboardModes { 00084 ICB_Copy = 0, 00085 ICB_Cut = 0x1, 00086 ICB_DelayedCopy = 0x20, 00087 ICB_ExtractOnly = 0x30, 00088 ICB_Default = ICB_Copy 00089 } InkClipboardModes; 00090 00091 typedef enum InkClipboardFormats { 00092 ICF_None = 0, 00093 ICF_InkSerializedFormat = 0x1, 00094 ICF_SketchInk = 0x2, 00095 ICF_TextInk = 0x6, 00096 ICF_EnhancedMetafile = 0x8, 00097 ICF_Metafile = 0x20, 00098 ICF_Bitmap = 0x40, 00099 ICF_PasteMask = 0x7, 00100 ICF_CopyMask = 0x7f, 00101 ICF_Default = ICF_CopyMask 00102 } InkClipboardFormats; 00103 00104 typedef enum InkRecognitionConfidence 00105 { 00106 IRC_Strong = 0, 00107 IRC_Intermediate = 1, 00108 IRC_Poor = 2 00109 } InkRecognitionConfidence; 00110 00111 [ 00112 odl, 00113 uuid(DB489209-B7C3-411D-90F6-1548CFFF271E), 00114 dual, 00115 oleautomation 00116 ] 00117 interface IInkExtendedProperty : IDispatch { 00118 [id(0x00000001), propget] HRESULT Guid([out, retval] BSTR* Guid); 00119 [id(0x00000002), propget] HRESULT Data([out, retval] VARIANT* Data); 00120 [id(0x00000002), propput] HRESULT Data([in] VARIANT Data); 00121 }; 00122 00123 [ 00124 odl, 00125 uuid(89F2A8BE-95A9-4530-8B8F-88E971E3E25F), 00126 dual, 00127 oleautomation 00128 ] 00129 interface IInkExtendedProperties : IDispatch { 00130 HRESULT Count([out, retval] long* Count); 00131 HRESULT _NewEnum([out, retval] IUnknown** _NewEnum); 00132 HRESULT Item( 00133 [in] VARIANT Identifier, 00134 [out, retval] IInkExtendedProperty** Item); 00135 HRESULT Add( 00136 [in] BSTR Guid, 00137 [in] VARIANT Data, 00138 [out, retval] IInkExtendedProperty** InkExtendedProperty); 00139 HRESULT Remove([in] VARIANT Identifier); 00140 HRESULT Clear(); 00141 HRESULT DoesPropertyExist( 00142 [in] BSTR Guid, 00143 [out, retval] VARIANT_BOOL* DoesPropertyExist); 00144 }; 00145 00146 [ 00147 odl, 00148 uuid(BF519B75-0A15-4623-ADC9-C00D436A8092), 00149 dual, 00150 oleautomation 00151 ] 00152 interface IInkDrawingAttributes : IDispatch { 00153 [id(0x00000002), propget] HRESULT Color( 00154 [out, retval] long* CurrentColor); 00155 [id(0x00000002), propput] HRESULT Color([in] long CurrentColor); 00156 [id(0x00000003), propget] HRESULT Width( 00157 [out, retval] single* CurrentWidth); 00158 [id(0x00000003), propput] HRESULT Width([in] single CurrentWidth); 00159 [id(0x00000001), propget] HRESULT Height( 00160 [out, retval] single* CurrentHeight); 00161 [id(0x00000001), propput] HRESULT Height([in] single CurrentHeight); 00162 [id(0x00000004), propget] HRESULT FitToCurve( 00163 [out, retval] VARIANT_BOOL* Flag); 00164 [id(0x00000004), propput] HRESULT FitToCurve([in] VARIANT_BOOL Flag); 00165 [id(0x00000005), propget] HRESULT IgnorePressure( 00166 [out, retval] VARIANT_BOOL* Flag); 00167 [id(0x00000005), propput] HRESULT IgnorePressure( 00168 [in] VARIANT_BOOL Flag); 00169 [id(0x00000006), propget] HRESULT AntiAliased( 00170 [out, retval] VARIANT_BOOL* Flag); 00171 [id(0x00000006), propput] HRESULT AntiAliased([in] VARIANT_BOOL Flag); 00172 [id(0x00000007), propget] HRESULT Transparency( 00173 [out, retval] long* CurrentTransparency); 00174 [id(0x00000007), propput] HRESULT Transparency( 00175 [in] long CurrentTransparency); 00176 [id(0x00000008), propget] HRESULT RasterOperation( 00177 [out, retval] InkRasterOperation* CurrentRasterOperation); 00178 [id(0x00000008), propput] HRESULT RasterOperation( 00179 [in] InkRasterOperation CurrentRasterOperation); 00180 [id(0x00000009), propget] HRESULT PenTip( 00181 [out, retval] InkPenTip* CurrentPenTip); 00182 [id(0x00000009), propput] HRESULT PenTip([in] InkPenTip CurrentPenTip); 00183 [id(0x0000000b), propget] HRESULT ExtendedProperties( 00184 [out, retval] IInkExtendedProperties** Properties); 00185 [id(0x0000000a)] HRESULT Clone( 00186 [out, retval] IInkDrawingAttributes** DrawingAttributes); 00187 }; 00188 00189 cpp_quote("#ifndef _WINGDI_") 00190 /* already defined in wingdi.h but needed for WIDL */ 00191 typedef struct tagXFORM { 00192 single eM11; 00193 single eM12; 00194 single eM21; 00195 single eM22; 00196 single eDx; 00197 single eDy; 00198 } XFORM; 00199 cpp_quote("#endif /* _WINGDI_ */") 00200 00201 [ 00202 odl, 00203 uuid(615F1D43-8703-4565-88E2-8201D2ECD7B7), 00204 dual, 00205 oleautomation 00206 ] 00207 interface IInkTransform : IDispatch { 00208 [id(0x00000001)] HRESULT Reset(); 00209 [id(0x00000002)] HRESULT Translate( 00210 [in] single HorizontalComponent, 00211 [in] single VerticalComponent); 00212 [id(0x00000003)] HRESULT Rotate( 00213 [in] single Degrees, 00214 [in, optional, defaultvalue(0)] single x, 00215 [in, optional, defaultvalue(0)] single y); 00216 [id(0x00000004)] HRESULT Reflect( 00217 [in] VARIANT_BOOL Horizontally, 00218 [in] VARIANT_BOOL Vertically); 00219 [id(0x00000005)] HRESULT Shear( 00220 [in] single HorizontalComponent, 00221 [in] single VerticalComponent); 00222 [id(0x00000006)] HRESULT ScaleTransform( 00223 [in] single HorizontalMultiplier, 00224 [in] single VerticalMultiplier); 00225 [id(0x0000000d)] HRESULT GetTransform( 00226 [out] single* eM11, 00227 [out] single* eM12, 00228 [out] single* eM21, 00229 [out] single* eM22, 00230 [out] single* eDx, 00231 [out] single* eDy); 00232 [id(0x0000000e)] HRESULT SetTransform( 00233 [in] single eM11, 00234 [in] single eM12, 00235 [in] single eM21, 00236 [in] single eM22, 00237 [in] single eDx, 00238 [in] single eDy); 00239 [id(0x00000007), propget, hidden] HRESULT eM11( 00240 [out, retval] single* Value); 00241 [id(0x00000007), propput, hidden] HRESULT eM11([in] single Value); 00242 [id(0x00000008), propget, hidden] HRESULT eM12( 00243 [out, retval] single* Value); 00244 [id(0x00000008), propput, hidden] HRESULT eM12([in] single Value); 00245 [id(0x00000009), propget, hidden] HRESULT eM21( 00246 [out, retval] single* Value); 00247 [id(0x00000009), propput, hidden] HRESULT eM21([in] single Value); 00248 [id(0x0000000a), propget, hidden] HRESULT eM22( 00249 [out, retval] single* Value); 00250 [id(0x0000000a), propput, hidden] HRESULT eM22([in] single Value); 00251 [id(0x0000000b), propget, hidden] HRESULT eDx( 00252 [out, retval] single* Value); 00253 [id(0x0000000b), propput, hidden] HRESULT eDx([in] single Value); 00254 [id(0x0000000c), propget, hidden] HRESULT eDy( 00255 [out, retval] single* Value); 00256 [id(0x0000000c), propput, hidden] HRESULT eDy([in] single Value); 00257 [id(0x0000000f), propget, hidden] HRESULT Data( 00258 [out, retval] XFORM* XFORM); 00259 [id(0x0000000f), propput, hidden] HRESULT Data([in] XFORM XFORM); 00260 }; 00261 00262 interface IInkDisp; 00263 00264 [ 00265 odl, 00266 uuid(9794FF82-6071-4717-8A8B-6AC7C64A686E), 00267 dual, 00268 oleautomation 00269 ] 00270 interface IInkRectangle 00271 { 00272 [id(1), propget] HRESULT Top([out, retval] long* Units); 00273 [id(1), propput] HRESULT Top([in] long Units); 00274 [id(2), propget] HRESULT Left([out, retval] long* Units); 00275 [id(2), propput] HRESULT Left([in] long Units); 00276 [id(3), propget] HRESULT Bottom([out, retval] long* Units); 00277 [id(3), propput] HRESULT Bottom([in] long Units); 00278 [id(4), propget] HRESULT Right([out, retval] long* Units); 00279 [id(4), propput] HRESULT Right([in] long Units); 00280 [id(7), propget] HRESULT Data([out, retval] RECT* Rect); 00281 [id(7), propput] HRESULT Data([in] RECT Rect); 00282 [id(5)] HRESULT GetRectangle( 00283 [out] long* Top, 00284 [out] long* Left, 00285 [out] long* Bottom, 00286 [out] long* Right); 00287 [id(6)] HRESULT SetRectangle( 00288 [in] long Top, 00289 [in] long Left, 00290 [in] long Bottom, 00291 [in] long Right); 00292 }; 00293 00294 interface IInkStrokes; 00295 00296 typedef enum { 00297 TPMU_Default, 00298 TPMU_Inches, 00299 TPMU_Centimeters, 00300 TPMU_Degrees, 00301 TPMU_Radians, 00302 TPMU_Seconds, 00303 TPMU_Pounds, 00304 TPMU_Grams 00305 } TabletPropertyMetricUnit; 00306 00307 [ 00308 odl, 00309 uuid(43242FEA-91D1-4A72-963E-FBB91829CFA2), 00310 dual, 00311 oleautomation 00312 ] 00313 interface IInkStrokeDisp : IDispatch { 00314 [id(0x00000002), propget] HRESULT Id([out, retval] long* Id); 00315 [id(0x0000000d), propget] HRESULT BezierPoints( 00316 [out, retval] VARIANT* Points); 00317 [id(0x00000004), propget] HRESULT DrawingAttributes( 00318 [out, retval] IInkDrawingAttributes** DrawAttrs); 00319 [id(0x00000004), propputref] HRESULT DrawingAttributes( 00320 [in] IInkDrawingAttributes* DrawAttrs); 00321 [id(0x0000000c), propget] HRESULT Ink([out, retval] IInkDisp** Ink); 00322 [id(0x0000000b), propget] HRESULT ExtendedProperties( 00323 [out, retval] IInkExtendedProperties** Properties); 00324 [id(0x0000000e), propget] HRESULT PolylineCusps( 00325 [out, retval] VARIANT* Cusps); 00326 [id(0x0000000f), propget] HRESULT BezierCusps( 00327 [out, retval] VARIANT* Cusps); 00328 [id(0x00000010), propget] HRESULT SelfIntersections( 00329 [out, retval] VARIANT* Intersections); 00330 [id(0x00000011), propget] HRESULT PacketCount( 00331 [out, retval] long* plCount); 00332 [id(0x00000012), propget] HRESULT PacketSize( 00333 [out, retval] long* plSize); 00334 [id(0x00000013), propget] HRESULT PacketDescription( 00335 [out, retval] VARIANT* PacketDescription); 00336 [id(0x00000014), propget] HRESULT Deleted( 00337 [out, retval] VARIANT_BOOL* Deleted); 00338 [id(0x00000003)] HRESULT GetBoundingBox( 00339 [in, optional, defaultvalue(0)] InkBoundingBoxMode BoundingBoxMode, 00340 [out, retval] IInkRectangle** Rectangle); 00341 [id(0x00000005)] HRESULT FindIntersections( 00342 [in] IInkStrokes* Strokes, 00343 [out, retval] VARIANT* Intersections); 00344 [id(0x00000006)] HRESULT GetRectangleIntersections( 00345 [in] IInkRectangle* Rectangle, 00346 [out, retval] VARIANT* Intersections); 00347 [id(0x00000007)] HRESULT Clip( 00348 [in] IInkRectangle* Rectangle); 00349 [id(0x00000008)] HRESULT HitTestCircle( 00350 [in] long x, 00351 [in] long y, 00352 [in] single radius, 00353 [out, retval] VARIANT_BOOL* Intersects); 00354 [id(0x00000009)] HRESULT NearestPoint( 00355 [in] long x, 00356 [in] long y, 00357 [in, out, optional, defaultvalue(0)] single* Distance, 00358 [out, retval] single* Point); 00359 [id(0x0000000a)] HRESULT Split( 00360 [in] single SplitAt, 00361 [out, retval] IInkStrokeDisp** NewStroke); 00362 [id(0x00000015)] HRESULT GetPacketDescriptionPropertyMetrics( 00363 [in] BSTR propertyName, 00364 [out] long* Minimum, 00365 [out] long* Maximum, 00366 [out] TabletPropertyMetricUnit* Units, 00367 [out] single* Resolution); 00368 [id(0x00000016)] HRESULT GetPoints( 00369 [in, optional, defaultvalue(0)] long Index, 00370 [in, optional, defaultvalue(-1)] long Count, 00371 [out, retval] VARIANT* Points); 00372 [id(0x00000017)] HRESULT SetPoints( 00373 [in] VARIANT Points, 00374 [in, optional, defaultvalue(0)] long Index, 00375 [in, optional, defaultvalue(-1)] long Count, 00376 [out, retval] long* NumberOfPointsSet); 00377 [id(0x00000018)] HRESULT GetPacketData( 00378 [in, optional, defaultvalue(0)] long Index, 00379 [in, optional, defaultvalue(-1)] long Count, 00380 [out, retval] VARIANT* PacketData); 00381 [id(0x00000019)] HRESULT GetPacketValuesByProperty( 00382 [in] BSTR propertyName, 00383 [in, optional, defaultvalue(0)] long Index, 00384 [in, optional, defaultvalue(-1)] long Count, 00385 [out, retval] VARIANT* PacketValues); 00386 [id(0x0000001a)] HRESULT SetPacketValuesByProperty( 00387 [in] BSTR bstrPropertyName, 00388 [in] VARIANT PacketValues, 00389 [in, optional, defaultvalue(0)] long Index, 00390 [in, optional, defaultvalue(-1)] long Count, 00391 [out, retval] long* NumberOfPacketsSet); 00392 [id(0x0000001b)] HRESULT GetFlattenedBezierPoints( 00393 [in, optional, defaultvalue(0)] long FittingError, 00394 [out, retval] VARIANT* FlattenedBezierPoints); 00395 [id(0x0000001d)] HRESULT Transform( 00396 [in] IInkTransform* Transform, 00397 [in, optional, defaultvalue(0)] VARIANT_BOOL ApplyOnPenWidth); 00398 [id(0x0000001c)] HRESULT ScaleToRectangle( 00399 [in] IInkRectangle* Rectangle); 00400 [id(0x0000001e)] HRESULT Move( 00401 [in] single HorizontalComponent, 00402 [in] single VerticalComponent); 00403 [id(0x0000001f)] HRESULT Rotate( 00404 [in] single Degrees, 00405 [in, optional, defaultvalue(0)] single x, 00406 [in, optional, defaultvalue(0)] single y); 00407 [id(0x00000020)] HRESULT Shear( 00408 [in] single HorizontalMultiplier, 00409 [in] single VerticalMultiplier); 00410 [id(0x00000021)] HRESULT ScaleTransform( 00411 [in] single HorizontalMultiplier, 00412 [in] single VerticalMultiplier); 00413 }; 00414 00415 interface IInkRecognitionResult; 00416 00417 [ 00418 odl, 00419 uuid(F1F4C9D8-590A-4963-B3AE-1935671BB6F3), 00420 dual, 00421 oleautomation 00422 ] 00423 interface IInkStrokes : IDispatch { 00424 [propget] HRESULT Count( 00425 [out, retval] long *Count); 00426 [propget, restricted] HRESULT _NewEnum( 00427 [out, retval] IUnknown **_NewEnum); 00428 [propget] HRESULT Ink( 00429 [out, retval] IInkDisp **Ink); 00430 [propget] HRESULT RecognitionResult( 00431 [out, retval] IInkRecognitionResult **RecognitionResult); 00432 HRESULT ToString( 00433 [out, retval] BSTR *ToString); 00434 HRESULT Item( 00435 [in] long Index, 00436 [out, retval] IInkStrokeDisp **Stroke); 00437 HRESULT Add( 00438 [in] IInkStrokeDisp *InkStroke); 00439 HRESULT AddStrokes( 00440 [in] IInkStrokes *InkStrokes); 00441 HRESULT Remove( 00442 [in] IInkStrokeDisp *InkStroke); 00443 HRESULT RemoveStrokes( 00444 [in] IInkStrokes *InkStrokes); 00445 HRESULT ModifyDrawingAttributes( 00446 [in] IInkDrawingAttributes *DrawAttrs); 00447 HRESULT GetBoundingBox( 00448 [in] InkBoundingBoxMode BoundingBoxMode, 00449 [out, retval] IInkRectangle **BoundingBox); 00450 HRESULT Transform( 00451 [in] IInkTransform *Transform, 00452 [in] VARIANT_BOOL ApplyOnPenWidth); 00453 HRESULT ScaleToRectangle( 00454 [in] IInkRectangle *Rectangle); 00455 HRESULT Move( 00456 [in] float HorizontalComponent, 00457 [in] float VerticalComponent); 00458 HRESULT Rotate( 00459 [in] float Degrees, 00460 [in] float x, 00461 [in] float y); 00462 HRESULT Shear( 00463 [in] float HorizontalMultiplier, 00464 [in] float VerticalMultiplier); 00465 HRESULT ScaleTransform( 00466 [in] float HorizontalMultiplier, 00467 [in] float VerticalMultiplier); 00468 HRESULT Clip( 00469 [in] IInkRectangle *Rectangle); 00470 HRESULT RemoveRecognitionResult(); 00471 }; 00472 00473 [ 00474 odl, 00475 uuid(7E23A88F-C30E-420f-9BDB-28902543F0C1), 00476 dual, 00477 oleautomation 00478 ] 00479 interface IInkCustomStrokes : IDispatch { 00480 [propget] HRESULT Count( 00481 [out, retval] long *Count); 00482 [propget] HRESULT _NewEnum( 00483 [out, retval] IUnknown **_NewEnum); 00484 HRESULT Item( 00485 [in] VARIANT Identifier, 00486 [out, retval] IInkStrokes **Strokes); 00487 HRESULT Add( 00488 [in] BSTR Name, 00489 [in] IInkStrokes *Strokes); 00490 HRESULT Remove( 00491 [in] VARIANT Identifier); 00492 HRESULT Clear(); 00493 }; 00494 00495 interface IInkRecognitionAlternate; 00496 interface IInkRecognitionAlternates; 00497 00498 [ 00499 odl, 00500 uuid(3BC129A8-86CD-45ad-BDE8-E0D32D61C16D), 00501 dual, 00502 oleautomation 00503 ] 00504 interface IInkRecognitionResult : IDispatch { 00505 [propget] HRESULT TopString( 00506 [out, retval] BSTR *TopString); 00507 [propget] HRESULT TopAlternate( 00508 [out, retval] IInkRecognitionAlternate **TopAlternate); 00509 [propget] HRESULT TopConfidence( 00510 [out, retval] InkRecognitionConfidence *TopConfidence); 00511 [propget] HRESULT Strokes( 00512 [out, retval] IInkStrokes **Strokes); 00513 HRESULT AlternatesFromSelection( 00514 [in] long selectionStart, 00515 [in] long selectionLength, 00516 [in] long maximumAlternates, 00517 [out, retval] IInkRecognitionAlternates **AlternatesFromSelection); 00518 HRESULT ModifyTopAlternate( 00519 [in] IInkRecognitionAlternate *Alternate); 00520 HRESULT SetResultOnStrokes(); 00521 }; 00522 00523 [ 00524 odl, 00525 uuid(B7E660AD-77E4-429b-ADDA-873780D1FC4A), 00526 dual, 00527 oleautomation 00528 ] 00529 interface IInkRecognitionAlternate : IDispatch { 00530 [propget] HRESULT String( 00531 [out, retval] BSTR *RecoString); 00532 [propget] HRESULT Confidence( 00533 [out, retval] InkRecognitionConfidence *Confidence); 00534 [propget] HRESULT Baseline( 00535 [out, retval] VARIANT *Baseline); 00536 [propget] HRESULT Midline( 00537 [out, retval] VARIANT *Midline); 00538 [propget] HRESULT Ascender( 00539 [out, retval] VARIANT *Ascender); 00540 [propget] HRESULT Descender( 00541 [out, retval] VARIANT *Descender); 00542 [propget] HRESULT LineNumber( 00543 [out, retval] long *LineNumber); 00544 [propget] HRESULT Strokes( 00545 [out, retval] IInkStrokes **Strokes); 00546 [propget] HRESULT LineAlternates( 00547 [out, retval] IInkRecognitionAlternates **LineAlternates); 00548 [propget] HRESULT ConfidenceAlternates( 00549 [out, retval] IInkRecognitionAlternates **ConfidenceAlternates); 00550 HRESULT GetStrokesFromStrokeRanges( 00551 [in] IInkStrokes *Stroke, 00552 [out, retval] IInkStrokes **GetStrokesFromTextRange); 00553 HRESULT GetStrokesFromTextRange( 00554 [in, out] long *selectionStart, 00555 [in, out] long *selectionLength, 00556 [out, retval] IInkStrokes **GetStrokesFromTextRange); 00557 HRESULT GetTextRangeFromStrokes( 00558 [in] IInkStrokes *Strokes, 00559 [in, out] long *selectionStart, 00560 [in, out] long *selectionLength); 00561 HRESULT AlternatesWithConstantPropertyValues( 00562 [in] BSTR PropertyType, 00563 [out, retval] IInkRecognitionAlternates **AlternatesWithConstantPropertyValues); 00564 HRESULT GetPropertyValue( 00565 [in] BSTR PropertyType, 00566 [out, retval] VARIANT *PropertyValue); 00567 }; 00568 00569 [ 00570 odl, 00571 uuid(286A167F-9F19-4c61-9D53-4F07BE622B84), 00572 dual, 00573 oleautomation 00574 ] 00575 interface IInkRecognitionAlternates : IDispatch { 00576 [propget] HRESULT Count( 00577 [out, retval] long *Count); 00578 [propget, restricted] HRESULT _NewEnum( 00579 [out, retval] IUnknown **_NewEnum); 00580 [propget] HRESULT Strokes( 00581 [out, retval] IInkStrokes **Strokes); 00582 HRESULT Item( 00583 [in] long Index, 00584 [out, retval] IInkRecognitionAlternate **InkRecoAlternate); 00585 }; 00586 00587 [ 00588 odl, 00589 uuid(9D398FA0-C4E2-4fcd-9973-975CAAF47EA6), 00590 dual, 00591 oleautomation 00592 ] 00593 interface IInkDisp : IDispatch { 00594 [propget] HRESULT Strokes( 00595 [out, retval] IInkStrokes **Strokes); 00596 [propget] HRESULT ExtendedProperties( 00597 [out, retval] IInkExtendedProperties **Properties); 00598 [propget] HRESULT Dirty( 00599 [out, retval] VARIANT_BOOL *Dirty); 00600 [propput] HRESULT Dirty( 00601 [in] VARIANT_BOOL Dirty); 00602 [propget] HRESULT CustomStrokes( 00603 [out, retval] IInkCustomStrokes **CustomStrokes); 00604 HRESULT GetBoundingBox( 00605 [in] InkBoundingBoxMode BoundingBoxMode, 00606 [out] IInkRectangle **Rectangle); 00607 HRESULT DeleteStrokes( 00608 [in, unique] IInkStrokes *Strokes); 00609 HRESULT DeleteStroke( 00610 [in] IInkStrokeDisp *Stroke); 00611 HRESULT ExtractStrokes( 00612 [in] IInkStrokes *Strokes, 00613 [in] InkExtractFlags ExtractFlags, 00614 [out, retval] IInkDisp **ExtractedInk); 00615 HRESULT ExtractWithRectangle( 00616 [in] IInkRectangle *Rectangle, 00617 [in] InkExtractFlags ExtractFlags, 00618 [out, retval] IInkDisp **ExtractedInk); 00619 HRESULT Clip( 00620 [in] IInkRectangle *Rectangle); 00621 HRESULT Clone( 00622 [out, retval] IInkDisp **NewInk); 00623 HRESULT HitTestCircle( 00624 [in] long X, 00625 [in] long Y, 00626 [in] float radius, 00627 [out, retval] IInkStrokes **Strokes); 00628 HRESULT HitTestWithRectangle( 00629 [in] IInkRectangle *SelectionRectangle, 00630 [in] float IntersectPercent, 00631 [out, retval] IInkStrokes **Strokes); 00632 HRESULT HitTestWithLasso( 00633 [in] VARIANT Points, 00634 [in] float IntersectPercent, 00635 [in, out, unique] VARIANT *LassoPoints, 00636 [out, retval] IInkStrokes **Strokes); 00637 HRESULT NearestPoint( 00638 [in] long X, 00639 [in] long Y, 00640 [in, out] float *PointOnStroke, 00641 [in, out] float *DistanceFromPacket, 00642 [out, retval] IInkStrokeDisp **Stroke); 00643 HRESULT CreateStrokes( 00644 [in] VARIANT StrokeIds, 00645 [out, retval] IInkStrokes **Strokes); 00646 HRESULT AddStrokesAtRectangle( 00647 [in] IInkStrokes *SourceStrokes, 00648 [in] IInkRectangle *TargetRectangle); 00649 HRESULT Save( 00650 [in] InkPersistenceFormat PersistenceFormat, 00651 [in] InkPersistenceCompressionMode CompressionMode, 00652 [out, retval] VARIANT *Data); 00653 HRESULT Load( 00654 [in] VARIANT Data); 00655 HRESULT CreateStroke( 00656 [in] VARIANT PacketData, 00657 [in] VARIANT PacketDescription, 00658 [out, retval] IInkStrokeDisp **Stroke); 00659 HRESULT ClipboardCopyWithRectangle( 00660 [in] IInkRectangle *Rectangle, 00661 [in] InkClipboardFormats ClipboardFormats, 00662 [in] InkClipboardModes ClipboardModes, 00663 [out, retval] IDataObject **DataObject); 00664 HRESULT ClipboardCopy( 00665 [in] IInkStrokes *strokes, 00666 [in] InkClipboardFormats ClipboardFormats, 00667 [in] InkClipboardModes ClipboardModes, 00668 [out, retval] IDataObject **DataObject); 00669 HRESULT CanPaste( 00670 [in] IDataObject *DataObject, 00671 [out, retval] VARIANT_BOOL *CanPaste); 00672 HRESULT ClipboardPaste( 00673 [in] long x, 00674 [in] long y, 00675 [in, unique] IDataObject *DataObject, 00676 [out, retval] IInkStrokes **Strokes); 00677 }; 00678 00679 [ 00680 odl, 00681 uuid(E6257A9C-B511-4F4C-A8B0-A7DBC9506B83), 00682 dual, 00683 oleautomation 00684 ] 00685 interface IInkRenderer : IDispatch { 00686 HRESULT GetViewTransform([in] IInkTransform* ViewTransform); 00687 HRESULT SetViewTransform([in] IInkTransform* ViewTransform); 00688 HRESULT GetObjectTransform([in] IInkTransform* ObjectTransform); 00689 HRESULT SetObjectTransform([in] IInkTransform* ObjectTransform); 00690 HRESULT Draw( 00691 [in] long hDC, 00692 [in] IInkStrokes* Strokes); 00693 HRESULT DrawStroke( 00694 [in] long hDC, 00695 [in] IInkStrokeDisp* Stroke, 00696 [in, optional, defaultvalue(0)] 00697 IInkDrawingAttributes* DrawingAttributes); 00698 HRESULT PixelToInkSpace( 00699 [in] long hDC, 00700 [in, out] long* x, 00701 [in, out] long* y); 00702 HRESULT InkSpaceToPixel( 00703 [in] long hdcDisplay, 00704 [in, out] long* x, 00705 [in, out] long* y); 00706 HRESULT PixelToInkSpaceFromPoints( 00707 [in] long hDC, 00708 [in, out] VARIANT* Points); 00709 HRESULT InkSpaceToPixelFromPoints( 00710 [in] long hDC, 00711 [in, out] VARIANT* Points); 00712 HRESULT Measure( 00713 [in] IInkStrokes* Strokes, 00714 [out, retval] IInkRectangle** Rectangle); 00715 HRESULT MeasureStroke( 00716 [in] IInkStrokeDisp* Stroke, 00717 [in, optional, defaultvalue(0)] IInkDrawingAttributes* DrawingAttributes, 00718 [out, retval] IInkRectangle** Rectangle); 00719 HRESULT Move( 00720 [in] single HorizontalComponent, 00721 [in] single VerticalComponent); 00722 HRESULT Rotate( 00723 [in] single Degrees, 00724 [in, optional, defaultvalue(0)] single x, 00725 [in, optional, defaultvalue(0)] single y); 00726 HRESULT ScaleTransform( 00727 [in] single HorizontalMultiplier, 00728 [in] single VerticalMultiplier, 00729 [in, optional, defaultvalue(-1)] VARIANT_BOOL ApplyOnPenWidth); 00730 }; 00731 00732 typedef enum { 00733 ICM_InkOnly, 00734 ICM_GestureOnly, 00735 ICM_InkAndGesture 00736 } InkCollectionMode; 00737 00738 typedef enum { 00739 IMP_Default, 00740 IMP_Arrow, 00741 IMP_Crosshair, 00742 IMP_Ibeam, 00743 IMP_SizeNESW, 00744 IMP_SizeNS, 00745 IMP_SizeNWSE, 00746 IMP_SizeWE, 00747 IMP_UpArrow, 00748 IMP_Hourglass, 00749 IMP_NoDrop, 00750 IMP_ArrowHourglass, 00751 IMP_ArrowQuestion, 00752 IMP_SizeAll, 00753 IMP_Hand, 00754 IMP_Custom = 99 00755 } InkMousePointer; 00756 00757 typedef enum { 00758 THWC_Integrated = 1, 00759 THWC_CursorMustTouch = 2, 00760 THWC_HardProximity = 4, 00761 THWC_CursorsHavePhysicalIds = 8 00762 } TabletHardwareCapabilities; 00763 00764 [ 00765 odl, 00766 uuid(2DE25EAA-6EF8-42D5-AEE9-185BC81B912D), 00767 dual, 00768 oleautomation 00769 ] 00770 interface IInkTablet : IDispatch { 00771 [propget] HRESULT Name([out, retval] BSTR* Name); 00772 [propget] HRESULT PlugAndPlayId([out, retval] BSTR* Id); 00773 [propget] HRESULT MaximumInputRectangle([out, retval] IInkRectangle** Rectangle); 00774 [propget] HRESULT HardwareCapabilities( 00775 [out, retval] TabletHardwareCapabilities* Capabilities); 00776 HRESULT IsPacketPropertySupported( 00777 [in] BSTR packetPropertyName, 00778 [out, retval] VARIANT_BOOL* Supported); 00779 HRESULT GetPropertyMetrics( 00780 [in] BSTR propertyName, 00781 [out] long* Minimum, 00782 [out] long* Maximum, 00783 [out] TabletPropertyMetricUnit* Units, 00784 [out] single* Resolution); 00785 }; 00786 00787 typedef enum { 00788 ICBS_Unavailable, 00789 ICBS_Up, 00790 ICBS_Down 00791 } InkCursorButtonState; 00792 00793 [ 00794 odl, 00795 uuid(85EF9417-1D59-49B2-A13C-702C85430894), 00796 dual, 00797 oleautomation 00798 ] 00799 interface IInkCursorButton : IDispatch { 00800 [propget] HRESULT Name([out, retval] BSTR* Name); 00801 [propget] HRESULT Id([out, retval] BSTR* Id); 00802 [propget] HRESULT State([out, retval] InkCursorButtonState* CurrentState); 00803 }; 00804 00805 [ 00806 odl, 00807 uuid(3671CC40-B624-4671-9FA0-DB119D952D54), 00808 dual, 00809 oleautomation 00810 ] 00811 interface IInkCursorButtons : IDispatch { 00812 [propget] HRESULT Count([out, retval] long* Count); 00813 [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum); 00814 HRESULT Item( 00815 [in] VARIANT Identifier, 00816 [out, retval] IInkCursorButton** Button); 00817 }; 00818 00819 [ 00820 odl, 00821 uuid(AD30C630-40C5-4350-8405-9C71012FC558), 00822 dual, 00823 oleautomation 00824 ] 00825 interface IInkCursor : IDispatch { 00826 [id(0x00000000), propget] HRESULT Name([out, retval] BSTR* Name); 00827 [id(0x00000001), propget] HRESULT Id([out, retval] long* Id); 00828 [id(0x00000004), propget] HRESULT Inverted( 00829 [out, retval] VARIANT_BOOL* Status); 00830 [id(0x00000002), propget] HRESULT DrawingAttributes( 00831 [out, retval] IInkDrawingAttributes** Attributes); 00832 [id(0x00000002), propputref] HRESULT DrawingAttributes( 00833 [in] IInkDrawingAttributes* Attributes); 00834 [id(0x00000005), propget] HRESULT Tablet( 00835 [out, retval] IInkTablet** Tablet); 00836 [id(0x00000003), propget] HRESULT Buttons( 00837 [out, retval] IInkCursorButtons** Buttons); 00838 }; 00839 00840 [ 00841 odl, 00842 uuid(A248C1AC-C698-4E06-9E5C-D57F77C7E647), 00843 dual, 00844 oleautomation 00845 ] 00846 interface IInkCursors : IDispatch { 00847 [propget] HRESULT Count([out, retval] long* Count); 00848 [propget] HRESULT _NewEnum([out, retval] IUnknown** _NewEnum); 00849 HRESULT Item( 00850 [in] long Index, 00851 [out, retval] IInkCursor** Cursor); 00852 }; 00853 00854 typedef enum { 00855 IAG_AllGestures = 0, 00856 IAG_NoGesture = 61440, 00857 IAG_Scratchout = 61441, 00858 IAG_Triangle = 61442, 00859 IAG_Square = 61443, 00860 IAG_Star = 61444, 00861 IAG_Check = 61445, 00862 IAG_Curlicue = 61456, 00863 IAG_DoubleCurlicue = 61457, 00864 IAG_Circle = 61472, 00865 IAG_DoubleCircle = 61473, 00866 IAG_SemiCircleLeft = 61480, 00867 IAG_SemiCircleRight = 61481, 00868 IAG_ChevronUp = 61488, 00869 IAG_ChevronDown = 61489, 00870 IAG_ChevronLeft = 61490, 00871 IAG_ChevronRight = 61491, 00872 IAG_ArrowUp = 61496, 00873 IAG_ArrowDown = 61497, 00874 IAG_ArrowLeft = 61498, 00875 IAG_ArrowRight = 61499, 00876 IAG_Up = 61528, 00877 IAG_Down = 61529, 00878 IAG_Left = 61530, 00879 IAG_Right = 61531, 00880 IAG_UpDown = 61536, 00881 IAG_DownUp = 61537, 00882 IAG_LeftRight = 61538, 00883 IAG_RightLeft = 61539, 00884 IAG_UpLeftLong = 61540, 00885 IAG_UpRightLong = 61541, 00886 IAG_DownLeftLong = 61542, 00887 IAG_DownRightLong = 61543, 00888 IAG_UpLeft = 61544, 00889 IAG_UpRight = 61545, 00890 IAG_DownLeft = 61546, 00891 IAG_DownRight = 61547, 00892 IAG_LeftUp = 61548, 00893 IAG_LeftDown = 61549, 00894 IAG_RightUp = 61550, 00895 IAG_RightDown = 61551, 00896 IAG_Exclamation = 61604, 00897 IAG_Tap = 61680, 00898 IAG_DoubleTap = 61681 00899 } InkApplicationGesture; 00900 00901 typedef enum { 00902 ICEI_DefaultEvents = -1, 00903 ICEI_CursorDown = 0, 00904 ICEI_Stroke, 00905 ICEI_NewPackets, 00906 ICEI_NewInAirPackets, 00907 ICEI_CursorButtonDown, 00908 ICEI_CursorButtonUp, 00909 ICEI_CursorInRange, 00910 ICEI_CursorOutOfRange, 00911 ICEI_SystemGesture, 00912 ICEI_TabletAdded, 00913 ICEI_TabletRemoved, 00914 ICEI_MouseDown, 00915 ICEI_MouseMove, 00916 ICEI_MouseUp, 00917 ICEI_MouseWheel, 00918 ICEI_DblClick, 00919 ICEI_AllEvents 00920 } InkCollectorEventInterest; 00921 00922 [ 00923 odl, 00924 uuid(F0F060B5-8B1F-4A7C-89EC-880692588A4F), 00925 dual, 00926 oleautomation 00927 ] 00928 interface IInkCollector : IDispatch { 00929 [id(0x00000002), propget] HRESULT hWnd( 00930 [out, retval] long* CurrentWindow); 00931 [id(0x00000002), propput] HRESULT hWnd([in] long CurrentWindow); 00932 [id(0x00000001), propget] HRESULT Enabled( 00933 [out, retval] VARIANT_BOOL* Collecting); 00934 [id(0x00000001), propput] HRESULT Enabled( 00935 [in] VARIANT_BOOL Collecting); 00936 [id(0x00000005), propget] HRESULT DefaultDrawingAttributes( 00937 [out, retval] IInkDrawingAttributes** CurrentAttributes); 00938 [id(0x00000005), propputref] HRESULT DefaultDrawingAttributes( 00939 [in] IInkDrawingAttributes* CurrentAttributes); 00940 [id(0x00000006), propget] HRESULT Renderer( 00941 [out, retval] IInkRenderer** CurrentInkRenderer); 00942 [id(0x00000006), propputref] HRESULT Renderer( 00943 [in] IInkRenderer* CurrentInkRenderer); 00944 [id(0x00000007), propget] HRESULT Ink([out, retval] IInkDisp** Ink); 00945 [id(0x00000007), propputref] HRESULT Ink([in] IInkDisp* Ink); 00946 [id(0x00000008), propget] HRESULT AutoRedraw( 00947 [out, retval] VARIANT_BOOL* AutoRedraw); 00948 [id(0x00000008), propput] HRESULT AutoRedraw( 00949 [in] VARIANT_BOOL AutoRedraw); 00950 [id(0x00000009), propget] HRESULT CollectingInk( 00951 [out, retval] VARIANT_BOOL* Collecting); 00952 [id(0x0000001c), propget] HRESULT CollectionMode( 00953 [out, retval] InkCollectionMode* Mode); 00954 [id(0x0000001c), propput] HRESULT CollectionMode( 00955 [in] InkCollectionMode Mode); 00956 [id(0x0000001f), propget] HRESULT DynamicRendering( 00957 [out, retval] VARIANT_BOOL* Enabled); 00958 [id(0x0000001f), propput] HRESULT DynamicRendering( 00959 [in] VARIANT_BOOL Enabled); 00960 [id(0x00000020), propget] HRESULT DesiredPacketDescription( 00961 [out, retval] VARIANT* PacketGuids); 00962 [id(0x00000020), propput] HRESULT DesiredPacketDescription( 00963 [in] VARIANT PacketGuids); 00964 [id(0x00000023), propget] HRESULT MouseIcon( 00965 [out, retval] IPictureDisp** MouseIcon); 00966 [id(0x00000023), propput] HRESULT MouseIcon( 00967 [in] IPictureDisp* MouseIcon); 00968 [id(0x00000023), propputref] HRESULT MouseIcon( 00969 [in] IPictureDisp* MouseIcon); 00970 [id(0x00000024), propget] HRESULT MousePointer( 00971 [out, retval] InkMousePointer* MousePointer); 00972 [id(0x00000024), propput] HRESULT MousePointer( 00973 [in] InkMousePointer MousePointer); 00974 [id(0x00000014), propget] HRESULT Cursors( 00975 [out, retval] IInkCursors** Cursors); 00976 [id(0x00000015), propget] HRESULT MarginX( 00977 [out, retval] long* MarginX); 00978 [id(0x00000015), propput] HRESULT MarginX([in] long MarginX); 00979 [id(0x00000016), propget] HRESULT MarginY( 00980 [out, retval] long* MarginY); 00981 [id(0x00000016), propput] HRESULT MarginY([in] long MarginY); 00982 [id(0x00000019), propget] HRESULT Tablet( 00983 [out, retval] IInkTablet** SingleTablet); 00984 [id(0x00000026), propget] HRESULT SupportHighContrastInk( 00985 [out, retval] VARIANT_BOOL* Support); 00986 [id(0x00000026), propput] HRESULT SupportHighContrastInk( 00987 [in] VARIANT_BOOL Support); 00988 [id(0x0000001d)] HRESULT SetGestureStatus( 00989 [in] InkApplicationGesture Gesture, 00990 [in] VARIANT_BOOL Listen); 00991 [id(0x0000001e)] HRESULT GetGestureStatus( 00992 [in] InkApplicationGesture Gesture, 00993 [out, retval] VARIANT_BOOL* Listening); 00994 [id(0x00000018)] HRESULT GetWindowInputRectangle( 00995 [in, out] IInkRectangle** WindowInputRectangle); 00996 [id(0x00000017)] HRESULT SetWindowInputRectangle( 00997 [in] IInkRectangle* WindowInputRectangle); 00998 [id(0x0000001a)] HRESULT SetAllTabletsMode( 00999 [in, optional, defaultvalue(-1)] VARIANT_BOOL UseMouseForInput); 01000 [id(0x0000001b)] HRESULT SetSingleTabletIntegratedMode( 01001 [in] IInkTablet* Tablet); 01002 [id(0x0000000b)] HRESULT GetEventInterest( 01003 [in] InkCollectorEventInterest EventId, 01004 [out, retval] VARIANT_BOOL* Listen); 01005 [id(0x0000000a)] HRESULT SetEventInterest( 01006 [in] InkCollectorEventInterest EventId, 01007 [in] VARIANT_BOOL Listen); 01008 }; 01009 }; Generated on Sat May 19 2012 04:29:50 for ReactOS by
1.7.6.1
|