comparison src/video/win32/SDL_msctf.h @ 4893:b2e434e0553b

Fixed all MinGW problems (except libraries not added to build yet). Added SDL_msctf.h for MinGW. Added a few casts to fix warnings on MinGW.
author Daniel Wyatt <Daniel.Wyatt@gmail.com>
date Sun, 19 Sep 2010 16:19:22 -0400
parents
children ac19d74e2a47
comparison
equal deleted inserted replaced
4892:9e1f6d3fb870 4893:b2e434e0553b
1 #ifndef _SDL_msctf_h
2 #define _SDL_msctf_h
3
4 #define CONST_VTBL
5 #include <basetyps.h>
6 #include <unknwn.h>
7
8 EXTERN_C const IID IID_ITfInputProcessorProfileActivationSink;
9 EXTERN_C const IID IID_ITfUIElementSink;
10 EXTERN_C const IID IID_ITfSource;
11 EXTERN_C const IID IID_ITfUIElementMgr;
12 EXTERN_C const IID IID_ITfReadingInformationUIElement;
13 EXTERN_C const IID IID_ITfThreadMgr;
14 EXTERN_C const IID IID_ITfThreadMgrEx;
15
16 EXTERN_C const CLSID CLSID_TF_ThreadMgr;
17 EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;
18
19 #define TF_INVALID_COOKIE (0xffffffff)
20 #define TF_IPSINK_FLAG_ACTIVE 0x0001
21 #define TF_TMAE_UIELEMENTENABLEDONLY 0x00000004
22
23 typedef _COM_interface ITfThreadMgr ITfThreadMgr;
24 typedef _COM_interface ITfDocumentMgr ITfDocumentMgr;
25 typedef _COM_interface ITfClientId ITfClientId;
26
27 typedef _COM_interface IEnumTfDocumentMgrs IEnumTfDocumentMgrs;
28 typedef _COM_interface IEnumTfFunctionProviders IEnumTfFunctionProviders;
29 typedef _COM_interface ITfFunctionProvider ITfFunctionProvider;
30 typedef _COM_interface ITfCompartmentMgr ITfCompartmentMgr;
31 typedef _COM_interface ITfContext ITfContext;
32 typedef _COM_interface IEnumTfContexts IEnumTfContexts;
33 typedef _COM_interface ITfUIElementSink ITfUIElementSink;
34 typedef _COM_interface ITfUIElement ITfUIElement;
35 typedef _COM_interface ITfUIElementMgr ITfUIElementMgr;
36 typedef _COM_interface IEnumTfUIElements IEnumTfUIElements;
37 typedef _COM_interface ITfThreadMgrEx ITfThreadMgrEx;
38 typedef _COM_interface ITfReadingInformationUIElement ITfReadingInformationUIElement;
39 typedef _COM_interface ITfInputProcessorProfileActivationSink ITfInputProcessorProfileActivationSink;
40 typedef _COM_interface ITfSource ITfSource;
41
42 typedef DWORD TfClientId;
43 typedef DWORD TfEditCookie;
44
45 typedef struct ITfThreadMgrVtbl
46 {
47 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfThreadMgr *, REFIID, void **);
48 ULONG (STDMETHODCALLTYPE *AddRef)(ITfThreadMgr *);
49 ULONG (STDMETHODCALLTYPE *Release)(ITfThreadMgr *);
50 HRESULT (STDMETHODCALLTYPE *Activate)(ITfThreadMgr *, TfClientId *);
51 HRESULT (STDMETHODCALLTYPE *Deactivate)(ITfThreadMgr *);
52 HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)(ITfThreadMgr *);
53 HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)(ITfThreadMgr *, IEnumTfDocumentMgrs **);
54 HRESULT (STDMETHODCALLTYPE *GetFocus)(ITfThreadMgr *, ITfDocumentMgr **);
55 HRESULT (STDMETHODCALLTYPE *SetFocus)(ITfThreadMgr *, ITfDocumentMgr *);
56 HRESULT (STDMETHODCALLTYPE *AssociateFocus)(ITfThreadMgr *, HWND, ITfDocumentMgr *, ITfDocumentMgr **);
57 HRESULT (STDMETHODCALLTYPE *IsThreadFocus)(ITfThreadMgr *, BOOL *);
58 HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)(ITfThreadMgr *, REFCLSID, ITfFunctionProvider **);
59 HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)(ITfThreadMgr *, IEnumTfFunctionProviders **);
60 HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)(ITfThreadMgr *, ITfCompartmentMgr **);
61 } ITfThreadMgrVtbl;
62
63 _COM_interface ITfThreadMgr
64 {
65 CONST_VTBL struct ITfThreadMgrVtbl *lpVtbl;
66 };
67
68 typedef struct ITfThreadMgrExVtbl
69 {
70 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfThreadMgrEx *, REFIID, void **);
71 ULONG (STDMETHODCALLTYPE *AddRef)(ITfThreadMgrEx *);
72 ULONG (STDMETHODCALLTYPE *Release)(ITfThreadMgrEx *);
73 HRESULT (STDMETHODCALLTYPE *Activate)(ITfThreadMgrEx *, TfClientId *);
74 HRESULT (STDMETHODCALLTYPE *Deactivate)(ITfThreadMgrEx *);
75 HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)(ITfThreadMgrEx *, ITfDocumentMgr **);
76 HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)(ITfThreadMgrEx *, IEnumTfDocumentMgrs **);
77 HRESULT (STDMETHODCALLTYPE *GetFocus)(ITfThreadMgrEx *, ITfDocumentMgr **);
78 HRESULT (STDMETHODCALLTYPE *SetFocus)(ITfThreadMgrEx *, ITfDocumentMgr *);
79 HRESULT (STDMETHODCALLTYPE *AssociateFocus)(ITfThreadMgrEx *, ITfDocumentMgr *, ITfDocumentMgr **);
80 HRESULT (STDMETHODCALLTYPE *IsThreadFocus)(ITfThreadMgrEx *, BOOL *);
81 HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)(ITfThreadMgrEx *, REFCLSID, ITfFunctionProvider **);
82 HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)(ITfThreadMgrEx *, IEnumTfFunctionProviders **);
83 HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)(ITfThreadMgrEx *, ITfCompartmentMgr **);
84 HRESULT (STDMETHODCALLTYPE *ActivateEx)(ITfThreadMgrEx *, TfClientId *, DWORD);
85 HRESULT (STDMETHODCALLTYPE *GetActiveFlags)(ITfThreadMgrEx *, DWORD *);
86 } ITfThreadMgrExVtbl;
87
88 _COM_interface ITfThreadMgrEx
89 {
90 CONST_VTBL struct ITfThreadMgrExVtbl *lpVtbl;
91 };
92
93 typedef struct ITfDocumentMgrVtbl
94 {
95 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfDocumentMgr *, REFIID, void **);
96 ULONG (STDMETHODCALLTYPE *AddRef)(ITfDocumentMgr *);
97 ULONG (STDMETHODCALLTYPE *Release)(ITfDocumentMgr *);
98 HRESULT (STDMETHODCALLTYPE *CreateContext)(ITfDocumentMgr *, TfClientId, DWORD, IUnknown *, ITfContext **, TfEditCookie *);
99 HRESULT (STDMETHODCALLTYPE *Push)(ITfDocumentMgr *, ITfContext *);
100 HRESULT (STDMETHODCALLTYPE *Pop)(ITfDocumentMgr *);
101 HRESULT (STDMETHODCALLTYPE *GetTop)(ITfDocumentMgr *, ITfContext **);
102 HRESULT (STDMETHODCALLTYPE *GetBase)(ITfDocumentMgr *, ITfContext **);
103 HRESULT (STDMETHODCALLTYPE *EnumContexts)(ITfDocumentMgr *, IEnumTfContexts **);
104 } ITfDocumentMgrVtbl;
105
106 _COM_interface ITfDocumentMgr
107 {
108 CONST_VTBL struct ITfDocumentMgrVtbl *lpVtbl;
109 };
110
111 typedef struct ITfUIElementSinkVtbl
112 {
113 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElementSink *, REFIID, void **);
114 ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElementSink *);
115 ULONG (STDMETHODCALLTYPE *Release)(ITfUIElementSink *);
116 HRESULT (STDMETHODCALLTYPE *BeginUIElement)(ITfUIElementSink *, DWORD, BOOL *);
117 HRESULT (STDMETHODCALLTYPE *UpdateUIElement)(ITfUIElementSink *, DWORD);
118 HRESULT (STDMETHODCALLTYPE *EndUIElement)(ITfUIElementSink *, DWORD);
119 } ITfUIElementSinkVtbl;
120
121 _COM_interface ITfUIElementSink
122 {
123 CONST_VTBL struct ITfUIElementSinkVtbl *lpVtbl;
124 };
125
126 typedef struct ITfUIElementMgrVtbl
127 {
128 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElementMgr *, REFIID, void **);
129 ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElementMgr *);
130 ULONG (STDMETHODCALLTYPE *Release)(ITfUIElementMgr *);
131 HRESULT (STDMETHODCALLTYPE *BeginUIElement)(ITfUIElementMgr *, ITfUIElement *, BOOL *, DWORD *);
132 HRESULT (STDMETHODCALLTYPE *UpdateUIElement)(ITfUIElementMgr *, DWORD);
133 HRESULT (STDMETHODCALLTYPE *EndUIElement)(ITfUIElementMgr *, DWORD);
134 HRESULT (STDMETHODCALLTYPE *GetUIElement)(ITfUIElementMgr *, DWORD, ITfUIElement **);
135 HRESULT (STDMETHODCALLTYPE *EnumUIElements)(ITfUIElementMgr *, IEnumTfUIElements **);
136 } ITfUIElementMgrVtbl;
137
138 _COM_interface ITfUIElementMgr
139 {
140 CONST_VTBL struct ITfUIElementMgrVtbl *lpVtbl;
141 };
142
143 typedef struct ITfReadingInformationUIElementVtbl
144 {
145 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfReadingInformationUIElement *, REFIID, void **);
146 ULONG (STDMETHODCALLTYPE *AddRef)(ITfReadingInformationUIElement *);
147 ULONG (STDMETHODCALLTYPE *Release)(ITfReadingInformationUIElement *);
148 HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfReadingInformationUIElement *, BSTR *);
149 HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfReadingInformationUIElement *, GUID *);
150 HRESULT (STDMETHODCALLTYPE *Show)(ITfReadingInformationUIElement *, BOOL);
151 HRESULT (STDMETHODCALLTYPE *IsShown)(ITfReadingInformationUIElement *, BOOL *);
152 HRESULT (STDMETHODCALLTYPE *GetUpdatedFlags)(ITfReadingInformationUIElement *, DWORD *);
153 HRESULT (STDMETHODCALLTYPE *GetContext)(ITfReadingInformationUIElement *, ITfContext **);
154 HRESULT (STDMETHODCALLTYPE *GetString)(ITfReadingInformationUIElement *, BSTR *);
155 HRESULT (STDMETHODCALLTYPE *GetMaxReadingStringLength)(ITfReadingInformationUIElement *, UINT *);
156 HRESULT (STDMETHODCALLTYPE *GetErrorIndex)(ITfReadingInformationUIElement *, UINT *);
157 HRESULT (STDMETHODCALLTYPE *IsVerticalOrderPreferred)(ITfReadingInformationUIElement *, BOOL *);
158 } ITfReadingInformationUIElementVtbl;
159
160 _COM_interface ITfReadingInformationUIElement
161 {
162 CONST_VTBL struct ITfReadingInformationUIElementVtbl *lpVtbl;
163 };
164
165 typedef struct ITfUIElementVtbl
166 {
167 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElement *, REFIID, void **);
168 ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElement *);
169 ULONG (STDMETHODCALLTYPE *Release)(ITfUIElement *);
170 HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfUIElement *, BSTR *);
171 HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfUIElement *, GUID *);
172 HRESULT (STDMETHODCALLTYPE *Show)(ITfUIElement *, BOOL);
173 HRESULT (STDMETHODCALLTYPE *IsShown)(ITfUIElement *, BOOL *);
174 } ITfUIElementVtbl;
175
176 _COM_interface ITfUIElement
177 {
178 CONST_VTBL struct ITfUIElementVtbl *lpVtbl;
179 };
180
181 typedef struct ITfInputProcessorProfileActivationSinkVtbl
182 {
183 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfInputProcessorProfileActivationSink *, REFIID, void **);
184 ULONG (STDMETHODCALLTYPE *AddRef)(ITfInputProcessorProfileActivationSink *);
185 ULONG (STDMETHODCALLTYPE *Release)(ITfInputProcessorProfileActivationSink *);
186 HRESULT (STDMETHODCALLTYPE *OnActivated)(ITfInputProcessorProfileActivationSink *, DWORD, LANGID, REFCLSID, REFGUID, REFGUID, HKL, DWORD);
187
188 } ITfInputProcessorProfileActivationSinkVtbl;
189
190 _COM_interface ITfInputProcessorProfileActivationSink
191 {
192 CONST_VTBL struct ITfInputProcessorProfileActivationSinkVtbl *lpVtbl;
193 };
194
195 typedef struct ITfSourceVtbl
196 {
197 HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfSource *, REFIID, void **);
198 ULONG (STDMETHODCALLTYPE *AddRef)(ITfSource *);
199 ULONG (STDMETHODCALLTYPE *Release)(ITfSource *);
200 HRESULT (STDMETHODCALLTYPE *AdviseSink)(ITfSource *, REFIID, IUnknown *, DWORD *);
201 HRESULT (STDMETHODCALLTYPE *UnadviseSink)(ITfSource *, DWORD);
202 } ITfSourceVtbl;
203
204 _COM_interface ITfSource
205 {
206 CONST_VTBL struct ITfSourceVtbl *lpVtbl;
207 };
208
209 #endif /* _SDL_msctf_h */