1 //-------------------------------------------------------------------------- 
2 // 
3 //  Copyright (c) Microsoft Corporation.  All rights reserved. 
4 // 
5 //  File: rectypes.h 
6 //          Microsoft Tablet PC API definitions 
7 // 
8 //-------------------------------------------------------------------------- 
9     
10      
11      
12
13
14 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
15
16
17  /* File created by MIDL compiler version 7.00.0499 */
18 /* Compiler settings for rectypes.idl:
19       Oicf, W1, Zp8, env=Win32 (32b run)
20       protocol : dce , ms_ext, c_ext, robust
21       error checks: allocation ref bounds_check enum stub_data 
22       VC __declspec() decoration level: 
23                __declspec(uuid()), __declspec(selectany), __declspec(novtable)
24                DECLSPEC_UUID(), MIDL_INTERFACE()
25 */
26 //@@MIDL_FILE_HEADING(  )
27
28 #pragma warning( disable: 4049 )  /* more than 64k source lines */
29
30
31 /* verify that the <rpcndr.h> version is high enough to compile this file*/
32 #ifndef __REQUIRED_RPCNDR_H_VERSION__
33 #define __REQUIRED_RPCNDR_H_VERSION__ 500
34 #endif
35
36 /* verify that the <rpcsal.h> version is high enough to compile this file*/
37 #ifndef __REQUIRED_RPCSAL_H_VERSION__
38 #define __REQUIRED_RPCSAL_H_VERSION__ 100
39 #endif
40
41 #include "rpc.h"
42 #include "rpcndr.h"
43
44 #ifndef __RPCNDR_H_VERSION__
45 #error this stub requires an updated version of <rpcndr.h>
46 #endif // __RPCNDR_H_VERSION__
47
48
49 #ifndef __rectypes_h__
50 #define __rectypes_h__
51
52 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
53 #pragma once
54 #endif
55
56 /* Forward Declarations */ 
57
58 /* header files for imported files */
59 #include "wtypes.h"
60
61 #ifdef __cplusplus
62 extern "C"{
63 #endif 
64
65
66 /* interface __MIDL_itf_rectypes_0000_0000 */
67 /* [local] */ 
68
69 #include "RecDefs.h"
70 #define SAFE_PARTIAL        1
71 #define BEST_COMPLETE      2
72 #define MAX_VENDORNAME     32
73 #define MAX_FRIENDLYNAME 64
74 #define MAX_LANGUAGES      64
75 #define CAC_FULL        0
76 #define CAC_PREFIX     1
77 #define CAC_RANDOM     2
78 #define ASYNC_RECO_INTERRUPTED                         0x1        //when the process is interrupted
79 #define ASYNC_RECO_PROCESS_FAILED                    0x2
80 #define ASYNC_RECO_ADDSTROKE_FAILED                0x4
81 #define ASYNC_RECO_SETCACMODE_FAILED               0x8
82 #define ASYNC_RECO_RESETCONTEXT_FAILED           0x10
83 #define ASYNC_RECO_SETGUIDE_FAILED                  0x20
84 #define ASYNC_RECO_SETFLAGS_FAILED                  0x40
85 #define ASYNC_RECO_SETFACTOID_FAILED               0x80
86 #define ASYNC_RECO_SETTEXTCONTEXT_FAILED        0x100
87 #define ASYNC_RECO_SETWORDLIST_FAILED             0x200
88 #define RF_DONTCARE                       1L          // overrides all other ones if set
89 #define RF_OBJECT                          2L          // if not set, this is a text recognizer
90 #define RF_FREE_INPUT                    4L          // supports free input
91 #define RF_LINED_INPUT                  8L          // supports simple guide structure with lines only
92 #define RF_BOXED_INPUT                  16L        // supports boxed (guided) input
93 #define RF_CAC_INPUT                     32L        // supports boxed Character Auto Completion
94 #define RF_RIGHT_AND_DOWN             64L        // used in western and FE languages
95 #define RF_LEFT_AND_DOWN               128L      // used in Hebrew and Arabic
96 #define RF_DOWN_AND_LEFT               256L      // used in most FE languages
97 #define RF_DOWN_AND_RIGHT             512L      // used in Chinese only
98 #define RF_ARBITRARY_ANGLE           1024L     // can read text written at arbitrary angles (mimio)
99 #define RF_LATTICE                         2048L     // can return lattice in results
100 #define RF_ADVISEINKCHANGE           4096L     // advise ink change can interrupt process
101 #define RF_STROKEREORDER               8192L     // indicates that stroke order - spatial and temporal is handled
102 #define RF_PERSONALIZABLE             16384L  // Supports personalization
103 #define RF_PERFORMSLINEBREAKING  65536L  // Recognizer prefers to do the line breaking
104 #define RF_REQUIRESSEGMENTATIONBREAKING 131072L // Recognizer wants only segments of ink
105 #ifndef __RECOTYPES__
106 #define __RECOTYPES__
107 typedef struct tagRECO_GUIDE
108       {
109       int xOrigin;
110       int yOrigin;
111       int cxBox;
112       int cyBox;
113       int cxBase;
114       int cyBase;
115       int cHorzBox;
116       int cVertBox;
117       int cyMid;
118       }     RECO_GUIDE;
119
120 typedef struct tagRECO_ATTRS
121       {
122       DWORD dwRecoCapabilityFlags;
123       WCHAR awcVendorName[ 32 ];
124       WCHAR awcFriendlyName[ 64 ];
125       WORD awLanguageId[ 64 ];
126       }     RECO_ATTRS;
127
128 typedef struct tagRECO_RANGE
129       {
130       ULONG iwcBegin;
131       ULONG cCount;
132       }     RECO_RANGE;
133
134 typedef struct tagLINE_SEGMENT
Lines 135 ... 144 are skipped.
145
146 typedef 
147 enum enumLINE_METRICS
148       {    LM_BASELINE    = 0,
149     LM_MIDLINE    = 1,
150     LM_ASCENDER    = 2,
151     LM_DESCENDER    = 3
152       }     LINE_METRICS;
153
154 typedef 
155 enum enumCONFIDENCE_LEVEL
156       {    CFL_STRONG    = 0,
157     CFL_INTERMEDIATE    = 1,
158     CFL_POOR    = 2
159       }     CONFIDENCE_LEVEL;
160
161 typedef 
162 enum enumALT_BREAKS
163       {    ALT_BREAKS_SAME    = 0,
164     ALT_BREAKS_UNIQUE    = 1,
165     ALT_BREAKS_FULL    = 2
166       }     ALT_BREAKS;
167
168 typedef 
169 enum enumRECO_TYPE
170       {    RECO_TYPE_WSTRING    = 0,
171     RECO_TYPE_WCHAR    = 1
172       }     RECO_TYPE;
173
174 typedef struct tagRECO_LATTICE_PROPERTY
175       {
176       GUID guidProperty;
177       USHORT cbPropertyValue;
178       BYTE *pPropertyValue;
179       }     RECO_LATTICE_PROPERTY;
180
181 typedef struct tagRECO_LATTICE_PROPERTIES
182       {
183       ULONG cProperties;
184       RECO_LATTICE_PROPERTY **apProps;
185       }     RECO_LATTICE_PROPERTIES;
186
187 typedef int RECO_SCORE;
188
189 typedef struct tagRECO_LATTICE_ELEMENT
190       {
191       RECO_SCORE score;
192       WORD type;
193       BYTE *pData;
194       ULONG ulNextColumn;
195       ULONG ulStrokeNumber;
196       RECO_LATTICE_PROPERTIES epProp;
197       }     RECO_LATTICE_ELEMENT;
198
199 typedef struct tagRECO_LATTICE_COLUMN
200       {
201       ULONG key;
202       RECO_LATTICE_PROPERTIES cpProp;
203       ULONG cStrokes;
204       ULONG *pStrokes;
205       ULONG cLatticeElements;
206       RECO_LATTICE_ELEMENT *pLatticeElements;
207       }     RECO_LATTICE_COLUMN;
208
209 typedef struct tagRECO_LATTICE
210       {
211       ULONG ulColumnCount;
212       RECO_LATTICE_COLUMN *pLatticeColumns;
213       ULONG ulPropertyCount;
214       GUID *pGuidProperties;
215       ULONG ulBestResultColumnCount;
216       ULONG *pulBestResultColumns;
217       ULONG *pulBestResultIndexes;
218       }     RECO_LATTICE;
219
220 typedef struct tagCHARACTER_RANGE
221       {
222       WCHAR wcLow;
223       USHORT cChars;
224       }     CHARACTER_RANGE;
225
226 typedef struct tagCHARACTER_RANGE *PCHARACTER_RANGE;
227
228 #endif
229
230
231 extern RPC_IF_HANDLE __MIDL_itf_rectypes_0000_0000_v0_0_c_ifspec;
232 extern RPC_IF_HANDLE __MIDL_itf_rectypes_0000_0000_v0_0_s_ifspec;
233
234 /* Additional Prototypes for ALL interfaces */
235
236 /* end of Additional Prototypes */
237
238 #ifdef __cplusplus
239 }
240 #endif
241
242 #endif
243
244
245
246