comparison src/video/windows/SDL_msctf.h @ 5062:e8916fe9cfc8

Fixed bug #925 Changed "win32" to "windows"
author Sam Lantinga <slouken@libsdl.org>
date Thu, 20 Jan 2011 18:04:05 -0800
parents src/video/win32/SDL_msctf.h@56206f6e4e58
children 329d435f97f4
comparison
equal deleted inserted replaced
5061:9e9940eae455 5062:e8916fe9cfc8
1 #ifndef _SDL_msctf_h
2 #define _SDL_msctf_h
3
4 #include <unknwn.h>
5
6 #define TF_INVALID_COOKIE (0xffffffff)
7 #define TF_IPSINK_FLAG_ACTIVE 0x0001
8 #define TF_TMAE_UIELEMENTENABLEDONLY 0x00000004
9
10 typedef struct ITfThreadMgr ITfThreadMgr;
11 typedef struct ITfDocumentMgr ITfDocumentMgr;
12 typedef struct ITfClientId ITfClientId;
13
14 typedef struct IEnumTfDocumentMgrs IEnumTfDocumentMgrs;
15 typedef struct IEnumTfFunctionProviders IEnumTfFunctionProviders;
16 typedef struct ITfFunctionProvider ITfFunctionProvider;
17 typedef struct ITfCompartmentMgr ITfCompartmentMgr;
18 typedef struct ITfContext ITfContext;
19 typedef struct IEnumTfContexts IEnumTfContexts;
20 typedef struct ITfUIElementSink ITfUIElementSink;
21 typedef struct ITfUIElement ITfUIElement;
22 typedef struct ITfUIElementMgr ITfUIElementMgr;
23 typedef struct IEnumTfUIElements IEnumTfUIElements;
24 typedef struct ITfThreadMgrEx ITfThreadMgrEx;
25 typedef struct ITfCandidateListUIElement ITfCandidateListUIElement;
26 typedef struct ITfReadingInformationUIElement ITfReadingInformationUIElement;
27 typedef struct ITfInputProcessorProfileActivationSink ITfInputProcessorProfileActivationSink;
28 typedef struct ITfSource ITfSource;
29
30 typedef DWORD TfClientId;
31 typedef DWORD TfEditCookie;
32
33 typedef struct ITfThreadMgrVtbl
34 {
35 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfThreadMgr *, REFIID, void **);
36 ULONG (STDMETHODCALLTYPE *AddRef)(ITfThreadMgr *);
37 ULONG (STDMETHODCALLTYPE *Release)(ITfThreadMgr *);
38 HRESULT (STDMETHODCALLTYPE *Activate)(ITfThreadMgr *, TfClientId *);
39 HRESULT (STDMETHODCALLTYPE *Deactivate)(ITfThreadMgr *);
40 HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)(ITfThreadMgr *);
41 HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)(ITfThreadMgr *, IEnumTfDocumentMgrs **);
42 HRESULT (STDMETHODCALLTYPE *GetFocus)(ITfThreadMgr *, ITfDocumentMgr **);
43 HRESULT (STDMETHODCALLTYPE *SetFocus)(ITfThreadMgr *, ITfDocumentMgr *);
44 HRESULT (STDMETHODCALLTYPE *AssociateFocus)(ITfThreadMgr *, HWND, ITfDocumentMgr *, ITfDocumentMgr **);
45 HRESULT (STDMETHODCALLTYPE *IsThreadFocus)(ITfThreadMgr *, BOOL *);
46 HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)(ITfThreadMgr *, REFCLSID, ITfFunctionProvider **);
47 HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)(ITfThreadMgr *, IEnumTfFunctionProviders **);
48 HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)(ITfThreadMgr *, ITfCompartmentMgr **);
49 } ITfThreadMgrVtbl;
50
51 struct ITfThreadMgr
52 {
53 const struct ITfThreadMgrVtbl *lpVtbl;
54 };
55
56 typedef struct ITfThreadMgrExVtbl
57 {
58 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfThreadMgrEx *, REFIID, void **);
59 ULONG (STDMETHODCALLTYPE *AddRef)(ITfThreadMgrEx *);
60 ULONG (STDMETHODCALLTYPE *Release)(ITfThreadMgrEx *);
61 HRESULT (STDMETHODCALLTYPE *Activate)(ITfThreadMgrEx *, TfClientId *);
62 HRESULT (STDMETHODCALLTYPE *Deactivate)(ITfThreadMgrEx *);
63 HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)(ITfThreadMgrEx *, ITfDocumentMgr **);
64 HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)(ITfThreadMgrEx *, IEnumTfDocumentMgrs **);
65 HRESULT (STDMETHODCALLTYPE *GetFocus)(ITfThreadMgrEx *, ITfDocumentMgr **);
66 HRESULT (STDMETHODCALLTYPE *SetFocus)(ITfThreadMgrEx *, ITfDocumentMgr *);
67 HRESULT (STDMETHODCALLTYPE *AssociateFocus)(ITfThreadMgrEx *, ITfDocumentMgr *, ITfDocumentMgr **);
68 HRESULT (STDMETHODCALLTYPE *IsThreadFocus)(ITfThreadMgrEx *, BOOL *);
69 HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)(ITfThreadMgrEx *, REFCLSID, ITfFunctionProvider **);
70 HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)(ITfThreadMgrEx *, IEnumTfFunctionProviders **);
71 HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)(ITfThreadMgrEx *, ITfCompartmentMgr **);
72 HRESULT (STDMETHODCALLTYPE *ActivateEx)(ITfThreadMgrEx *, TfClientId *, DWORD);
73 HRESULT (STDMETHODCALLTYPE *GetActiveFlags)(ITfThreadMgrEx *, DWORD *);
74 } ITfThreadMgrExVtbl;
75
76 struct ITfThreadMgrEx
77 {
78 const struct ITfThreadMgrExVtbl *lpVtbl;
79 };
80
81 typedef struct ITfDocumentMgrVtbl
82 {
83 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfDocumentMgr *, REFIID, void **);
84 ULONG (STDMETHODCALLTYPE *AddRef)(ITfDocumentMgr *);
85 ULONG (STDMETHODCALLTYPE *Release)(ITfDocumentMgr *);
86 HRESULT (STDMETHODCALLTYPE *CreateContext)(ITfDocumentMgr *, TfClientId, DWORD, IUnknown *, ITfContext **, TfEditCookie *);
87 HRESULT (STDMETHODCALLTYPE *Push)(ITfDocumentMgr *, ITfContext *);
88 HRESULT (STDMETHODCALLTYPE *Pop)(ITfDocumentMgr *);
89 HRESULT (STDMETHODCALLTYPE *GetTop)(ITfDocumentMgr *, ITfContext **);
90 HRESULT (STDMETHODCALLTYPE *GetBase)(ITfDocumentMgr *, ITfContext **);
91 HRESULT (STDMETHODCALLTYPE *EnumContexts)(ITfDocumentMgr *, IEnumTfContexts **);
92 } ITfDocumentMgrVtbl;
93
94 struct ITfDocumentMgr
95 {
96 const struct ITfDocumentMgrVtbl *lpVtbl;
97 };
98
99 typedef struct ITfUIElementSinkVtbl
100 {
101 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElementSink *, REFIID, void **);
102 ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElementSink *);
103 ULONG (STDMETHODCALLTYPE *Release)(ITfUIElementSink *);
104 HRESULT (STDMETHODCALLTYPE *BeginUIElement)(ITfUIElementSink *, DWORD, BOOL *);
105 HRESULT (STDMETHODCALLTYPE *UpdateUIElement)(ITfUIElementSink *, DWORD);
106 HRESULT (STDMETHODCALLTYPE *EndUIElement)(ITfUIElementSink *, DWORD);
107 } ITfUIElementSinkVtbl;
108
109 struct ITfUIElementSink
110 {
111 const struct ITfUIElementSinkVtbl *lpVtbl;
112 };
113
114 typedef struct ITfUIElementMgrVtbl
115 {
116 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElementMgr *, REFIID, void **);
117 ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElementMgr *);
118 ULONG (STDMETHODCALLTYPE *Release)(ITfUIElementMgr *);
119 HRESULT (STDMETHODCALLTYPE *BeginUIElement)(ITfUIElementMgr *, ITfUIElement *, BOOL *, DWORD *);
120 HRESULT (STDMETHODCALLTYPE *UpdateUIElement)(ITfUIElementMgr *, DWORD);
121 HRESULT (STDMETHODCALLTYPE *EndUIElement)(ITfUIElementMgr *, DWORD);
122 HRESULT (STDMETHODCALLTYPE *GetUIElement)(ITfUIElementMgr *, DWORD, ITfUIElement **);
123 HRESULT (STDMETHODCALLTYPE *EnumUIElements)(ITfUIElementMgr *, IEnumTfUIElements **);
124 } ITfUIElementMgrVtbl;
125
126 struct ITfUIElementMgr
127 {
128 const struct ITfUIElementMgrVtbl *lpVtbl;
129 };
130
131 typedef struct ITfCandidateListUIElementVtbl
132 {
133 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfCandidateListUIElement *, REFIID, void **);
134 ULONG (STDMETHODCALLTYPE *AddRef)(ITfCandidateListUIElement *);
135 ULONG (STDMETHODCALLTYPE *Release)(ITfCandidateListUIElement *);
136 HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfCandidateListUIElement *, BSTR *);
137 HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfCandidateListUIElement *, GUID *);
138 HRESULT (STDMETHODCALLTYPE *Show)(ITfCandidateListUIElement *, BOOL);
139 HRESULT (STDMETHODCALLTYPE *IsShown)(ITfCandidateListUIElement *, BOOL *);
140 HRESULT (STDMETHODCALLTYPE *GetUpdatedFlags)(ITfCandidateListUIElement *, DWORD *);
141 HRESULT (STDMETHODCALLTYPE *GetDocumentMgr)(ITfCandidateListUIElement *, ITfDocumentMgr **);
142 HRESULT (STDMETHODCALLTYPE *GetCount)(ITfCandidateListUIElement *, UINT *);
143 HRESULT (STDMETHODCALLTYPE *GetSelection)(ITfCandidateListUIElement *, UINT *);
144 HRESULT (STDMETHODCALLTYPE *GetString)(ITfCandidateListUIElement *, UINT, BSTR *);
145 HRESULT (STDMETHODCALLTYPE *GetPageIndex)(ITfCandidateListUIElement *, UINT *, UINT, UINT *);
146 HRESULT (STDMETHODCALLTYPE *SetPageIndex)(ITfCandidateListUIElement *, UINT *, UINT);
147 HRESULT (STDMETHODCALLTYPE *GetCurrentPage)(ITfCandidateListUIElement *, UINT *);
148 } ITfCandidateListUIElementVtbl;
149
150 struct ITfCandidateListUIElement
151 {
152 const struct ITfCandidateListUIElementVtbl *lpVtbl;
153 };
154
155 typedef struct ITfReadingInformationUIElementVtbl
156 {
157 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfReadingInformationUIElement *, REFIID, void **);
158 ULONG (STDMETHODCALLTYPE *AddRef)(ITfReadingInformationUIElement *);
159 ULONG (STDMETHODCALLTYPE *Release)(ITfReadingInformationUIElement *);
160 HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfReadingInformationUIElement *, BSTR *);
161 HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfReadingInformationUIElement *, GUID *);
162 HRESULT (STDMETHODCALLTYPE *Show)(ITfReadingInformationUIElement *, BOOL);
163 HRESULT (STDMETHODCALLTYPE *IsShown)(ITfReadingInformationUIElement *, BOOL *);
164 HRESULT (STDMETHODCALLTYPE *GetUpdatedFlags)(ITfReadingInformationUIElement *, DWORD *);
165 HRESULT (STDMETHODCALLTYPE *GetContext)(ITfReadingInformationUIElement *, ITfContext **);
166 HRESULT (STDMETHODCALLTYPE *GetString)(ITfReadingInformationUIElement *, BSTR *);
167 HRESULT (STDMETHODCALLTYPE *GetMaxReadingStringLength)(ITfReadingInformationUIElement *, UINT *);
168 HRESULT (STDMETHODCALLTYPE *GetErrorIndex)(ITfReadingInformationUIElement *, UINT *);
169 HRESULT (STDMETHODCALLTYPE *IsVerticalOrderPreferred)(ITfReadingInformationUIElement *, BOOL *);
170 } ITfReadingInformationUIElementVtbl;
171
172 struct ITfReadingInformationUIElement
173 {
174 const struct ITfReadingInformationUIElementVtbl *lpVtbl;
175 };
176
177 typedef struct ITfUIElementVtbl
178 {
179 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElement *, REFIID, void **);
180 ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElement *);
181 ULONG (STDMETHODCALLTYPE *Release)(ITfUIElement *);
182 HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfUIElement *, BSTR *);
183 HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfUIElement *, GUID *);
184 HRESULT (STDMETHODCALLTYPE *Show)(ITfUIElement *, BOOL);
185 HRESULT (STDMETHODCALLTYPE *IsShown)(ITfUIElement *, BOOL *);
186 } ITfUIElementVtbl;
187
188 struct ITfUIElement
189 {
190 const struct ITfUIElementVtbl *lpVtbl;
191 };
192
193 typedef struct ITfInputProcessorProfileActivationSinkVtbl
194 {
195 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfInputProcessorProfileActivationSink *, REFIID, void **);
196 ULONG (STDMETHODCALLTYPE *AddRef)(ITfInputProcessorProfileActivationSink *);
197 ULONG (STDMETHODCALLTYPE *Release)(ITfInputProcessorProfileActivationSink *);
198 HRESULT (STDMETHODCALLTYPE *OnActivated)(ITfInputProcessorProfileActivationSink *, DWORD, LANGID, REFCLSID, REFGUID, REFGUID, HKL, DWORD);
199
200 } ITfInputProcessorProfileActivationSinkVtbl;
201
202 struct ITfInputProcessorProfileActivationSink
203 {
204 const struct ITfInputProcessorProfileActivationSinkVtbl *lpVtbl;
205 };
206
207 typedef struct ITfSourceVtbl
208 {
209 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfSource *, REFIID, void **);
210 ULONG (STDMETHODCALLTYPE *AddRef)(ITfSource *);
211 ULONG (STDMETHODCALLTYPE *Release)(ITfSource *);
212 HRESULT (STDMETHODCALLTYPE *AdviseSink)(ITfSource *, REFIID, IUnknown *, DWORD *);
213 HRESULT (STDMETHODCALLTYPE *UnadviseSink)(ITfSource *, DWORD);
214 } ITfSourceVtbl;
215
216 struct ITfSource
217 {
218 const struct ITfSourceVtbl *lpVtbl;
219 };
220
221 #endif /* _SDL_msctf_h */