Sync with trunk (r48545)
[reactos.git] / include / reactos / wine / ddk / imm.h
1
2 #ifndef _WINE_IMM_H_
3 #define _WINE_IMM_H_
4
5 #include <psdk/wingdi.h>
6
7 #ifdef WINE_NO_UNICODE_MACROS
8 # define WINELIB_NAME_AW(func) \
9 func##_must_be_suffixed_with_W_or_A_in_this_context \
10 func##_must_be_suffixed_with_W_or_A_in_this_context
11 #else /* WINE_NO_UNICODE_MACROS */
12 # ifdef UNICODE
13 # define WINELIB_NAME_AW(func) func##W
14 # else
15 # define WINELIB_NAME_AW(func) func##A
16 # endif
17 #endif /* WINE_NO_UNICODE_MACROS */
18
19 #ifdef WINE_NO_UNICODE_MACROS
20 # define DECL_WINELIB_TYPE_AW(type) /* nothing */
21 #else
22 # define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
23 #endif
24
25 #include <psdk/imm.h>
26
27 typedef struct _tagINPUTCONTEXT {
28 HWND hWnd;
29 BOOL fOpen;
30 POINT ptStatusWndPos;
31 POINT ptSoftKbdPos;
32 DWORD fdwConversion;
33 DWORD fdwSentence;
34 union {
35 LOGFONTA A;
36 LOGFONTW W;
37 } lfFont;
38 COMPOSITIONFORM cfCompForm;
39 CANDIDATEFORM cfCandForm[4];
40 HIMCC hCompStr;
41 HIMCC hCandInfo;
42 HIMCC hGuideLine;
43 HIMCC hPrivate;
44 DWORD dwNumMsgBuf;
45 HIMCC hMsgBuf;
46 DWORD fdwInit;
47 DWORD dwReserve[3];
48 } INPUTCONTEXT, *LPINPUTCONTEXT;
49
50 LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC);
51
52 #endif /* _WINE_IMM_H_ */