Some borken memory monitoring programs divide by dwTotalPageFile,
[wine/testsucceed.git] / dlls / imm32 / immddk.h
blob9377d66455f162403414fcaa79155e0ab6576086
1 /* DDK version of imm.h - imm.h for IMM and IME. */
3 #ifndef __WINE_IMMDDK_H
4 #define __WINE_IMMDDK_H
6 #include "imm.h"
8 #define NULLIMC ((HIMC)0)
10 /* offsets for WndExtra */
11 #define IMMGWL_IMC 0
12 #define IMMGWL_PRIVATE (sizeof(LONG))
14 /* INPUTCONTEXT.fdwInit */
15 #define INIT_STATUSWNDPOS 0x00000001
16 #define INIT_CONVERSION 0x00000002
17 #define INIT_SENTENCE 0x00000004
18 #define INIT_LOGFONT 0x00000008
19 #define INIT_COMPFORM 0x00000010
20 #define INIT_SOFTKBDPOS 0x00000020
22 /* IMEINFO.fdwProperty (low-order word) */
23 #define IME_PROP_END_UNLOAD 0x00000001
24 #define IME_PROP_KBD_CHAR_FIRST 0x00000002
25 #define IME_PROP_IGNORE_UPKEYS 0x00000004
26 #define IME_PROP_NEED_ALTKEY 0x00000008
27 #define IME_PROP_NO_KEYS_ON_CLOSE 0x00000010
28 /* IMEINFO.fdwProperty (high-order word) */
29 #define IME_PROP_AT_CARET 0x00010000
30 #define IME_PROP_SPECIAL_UI 0x00020000
31 #define IME_PROP_CANDLIST_START_FROM_1 0x00040000
32 #define IME_PROP_UNICODE 0x00080000
33 #define IME_PROP_COMPLETE_ON_UNSELECT 0x00100000
36 /*** IMM and IME Structures ***/
38 typedef struct tagINPUTCONTEXT {
39 HWND hWnd;
40 BOOL fOpen;
41 POINT ptStatusWndPos;
42 POINT ptSoftKbdPos;
43 DWORD fdwConversion;
44 DWORD fdwSentence;
45 union {
46 LOGFONTA A;
47 LOGFONTW W;
48 } lfFont;
49 COMPOSITIONFORM cfCompForm;
50 CANDIDATEFORM cfCandForm[4];
51 HIMCC hCompStr;
52 HIMCC hCandInfo;
53 HIMCC hGuideLine;
54 HIMCC hPrivate;
55 DWORD dwNumMsgBuf;
56 HIMCC hMsgBuf;
57 DWORD fdwInit;
58 DWORD dwReserve[3];
59 } INPUTCONTEXT, * LPINPUTCONTEXT;
61 typedef struct tagCOMPOSITIONSTRING
63 DWORD dwSize;
64 DWORD dwCompReadAttrLen;
65 DWORD dwCompReadAttrOffset;
66 DWORD dwCompReadClauseLen;
67 DWORD dwCompReadClauseOffset;
68 DWORD dwCompReadStrLen;
69 DWORD dwCompReadStrOffset;
70 DWORD dwCompAttrLen;
71 DWORD dwCompAttrOffset;
72 DWORD dwCompClauseLen;
73 DWORD dwCompClauseOffset;
74 DWORD dwCompStrLen;
75 DWORD dwCompStrOffset;
76 DWORD dwCursorPos;
77 DWORD dwDeltaStart;
78 DWORD dwResultReadClauseLen;
79 DWORD dwResultReadClauseOffset;
80 DWORD dwResultReadStrLen;
81 DWORD dwResultReadStrOffset;
82 DWORD dwResultClauseLen;
83 DWORD dwResultClauseOffset;
84 DWORD dwResultStrLen;
85 DWORD dwResultStrOffset;
86 DWORD dwPrivateSize;
87 DWORD dwPrivateOffset;
88 } COMPOSITIONSTRING, * LPCOMPOSITIONSTRING;
90 typedef struct tagCANDIDATEINFO
92 DWORD dwSize;
93 DWORD dwCount;
94 DWORD dwOffset[32];
95 DWORD dwPrivateSize;
96 DWORD dwPrivateOffset;
97 } CANDIDATEINFO, * LPCANDIDATEINFO;
99 typedef struct tagGUIDELINE
101 DWORD dwSize;
102 DWORD dwLevel;
103 DWORD dwIndex;
104 DWORD dwStrLen;
105 DWORD dwStrOffset;
106 DWORD dwPrivateSize;
107 DWORD dwPrivateOffset;
108 } GUIDELINE, * LPGUIDELINE;
112 /*** IME Management Structures ***/
114 typedef struct tagIMEINFO
116 DWORD dwPrivateDataSize;
117 DWORD fdwProperty;
118 DWORD fdwConversionCaps;
119 DWORD fdwSentenceCaps;
120 DWORD fdwUICaps;
121 DWORD fdwSCSCaps;
122 DWORD fdwSelectCaps;
123 } IMEINFO, * LPIMEINFO;
126 /*** IME Communication Structures ***/
128 typedef struct tagSOFTKBDDATA
130 UINT uCount;
131 WORD wCode[1][256];
132 } SOFTKBDDATA, * LPSOFTKBDDATA;
135 /*** IMM DDK APIs ***/
137 HWND WINAPI ImmCreateSoftKeyboard(UINT uType, HWND hwndOwner, int x, int y);
138 BOOL WINAPI ImmDestroySoftKeyboard(HWND hwndSoftKeyboard);
139 BOOL WINAPI ImmShowSoftKeyboard(HWND hwndSoftKeyboard, int nCmdShow);
141 LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC);
142 BOOL WINAPI ImmUnlockIMC(HIMC hIMC);
143 DWORD WINAPI ImmGetIMCLockCount(HIMC hIMC);
145 HIMCC WINAPI ImmCreateIMCC(DWORD dwSize);
146 HIMCC WINAPI ImmDestroyIMCC(HIMCC hIMCC);
147 LPVOID WINAPI ImmLockIMCC(HIMCC hIMCC);
148 BOOL WINAPI ImmUnlockIMCC(HIMCC hIMCC);
149 DWORD WINAPI ImmGetIMCCLockCount(HIMCC hIMCC);
150 HIMCC WINAPI ImmReSizeIMCC(HIMCC hIMCC, DWORD dwSize);
151 DWORD WINAPI ImmGetIMCCSize(HIMCC hIMCC);
154 #endif /* __WINE_IMMDDK_H */