Author: hpoussin
Date: Fri Apr 4 08:10:46 2008
New Revision: 32842
URL:
http://svn.reactos.org/svn/reactos?rev=32842&view=rev
Log:
Update header
Modified:
trunk/reactos/include/ddk/imm.h
Modified: trunk/reactos/include/ddk/imm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/imm.h?rev=3284…
==============================================================================
--- trunk/reactos/include/ddk/imm.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/imm.h [iso-8859-1] Fri Apr 4 08:10:46 2008
@@ -1,4 +1,23 @@
-#ifndef __IMM_H
+/*
+ * Copyright (C) 2007 CodeWeavers, Aric Stewart
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef _DDKIMM_H_
+#define _DDKIMM_H_
#define __IMM_H
#if __GNUC__ >=3
@@ -9,8 +28,41 @@
extern "C" {
#endif
-typedef struct _COMPOSITIONSTRING
-{
+typedef struct _tagINPUTCONTEXT {
+ HWND hWnd;
+ BOOL fOpen;
+ HWND hwndImeInUse;
+ POINT ptStatusWndPos;
+ POINT ptSoftKbdPos;
+ DWORD fdwConversion;
+ DWORD fdwSentence;
+ union {
+ LOGFONTA A;
+ LOGFONTW W;
+ } lfFont;
+ COMPOSITIONFORM cfCompForm;
+ CANDIDATEFORM cfCandForm[4];
+ HIMCC hCompStr;
+ HIMCC hCandInfo;
+ HIMCC hGuideLine;
+ HIMCC hPrivate;
+ DWORD dwNumMsgBuf;
+ HIMCC hMsgBuf;
+ DWORD fdwInit;
+ DWORD dwReserve[3];
+} INPUTCONTEXT, *PINPUTCONTEXT, *LPINPUTCONTEXT;
+
+typedef struct _tagIMEINFO {
+ DWORD dwPrivateDataSize;
+ DWORD fdwProperty;
+ DWORD fdwConversionCaps;
+ DWORD fdwSentenceCaps;
+ DWORD fdwUICaps;
+ DWORD fdwSCSCaps;
+ DWORD fdwSelectCaps;
+} IMEINFO, *LPIMEINFO;
+
+typedef struct tagCOMPOSITIONSTRING {
DWORD dwSize;
DWORD dwCompReadAttrLen;
DWORD dwCompReadAttrOffset;
@@ -38,39 +90,65 @@
DWORD dwPrivateOffset;
} COMPOSITIONSTRING, *LPCOMPOSITIONSTRING;
-typedef struct _INPUTCONTEXT
-{
- HWND hWnd;
- BOOL fOpen;
- HWND hwndImeInUse;
- POINT ptStatusWndPos;
- POINT ptSoftKbdPos;
- DWORD fdwConversion;
- DWORD fdwSentence;
- union
- {
- LOGFONTA A;
- LOGFONTW W;
- } lfFont;
- COMPOSITIONFORM cfCompForm;
- CANDIDATEFORM cfCandForm[4];
- HIMCC hCompStr;
- HIMCC hCandInfo;
- HIMCC hGuideLine;
- HIMCC hPrivate;
- DWORD dwNumMsgBuf;
- HIMCC hMsgBuf;
- DWORD fdwInit;
- DWORD dwReserve[3]
-} INPUTCONTEXT, *PINPUTCONTEXT, *LPINPUTCONTEXT;
+LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC);
+BOOL WINAPI ImmUnlockIMC(HIMC);
+DWORD WINAPI ImmGetIMCLockCount(HIMC);
+HIMCC WINAPI ImmCreateIMCC(DWORD);
+HIMCC WINAPI ImmDestroyIMCC(HIMCC);
+LPVOID WINAPI ImmLockIMCC(HIMCC);
+BOOL WINAPI ImmUnlockIMCC(HIMCC);
+DWORD WINAPI ImmGetIMCCLockCount(HIMCC);
+HIMCC WINAPI ImmReSizeIMCC(HIMCC, DWORD);
+DWORD WINAPI ImmGetIMCCSize(HIMCC);
-HIMCC WINAPI ImmCreateIMCC(DWORD dwSize);
-HIMCC WINAPI ImmDestroyIMCC(HIMCC hIMCC);
-LPVOID WINAPI ImmLockIMCC(HIMCC hIMCC);
-BOOL WINAPI ImmUnlockIMCC(HIMCC hIMCC);
+#define IMMGWL_IMC 0
+#define IMMGWL_PRIVATE (sizeof(LONG))
+
+/* IME Property bits */
+#define IME_PROP_END_UNLOAD 0x0001
+#define IME_PROP_KBD_CHAR_FIRST 0x0002
+#define IME_PROP_IGNORE_UPKEYS 0x0004
+#define IME_PROP_NEED_ALTKEY 0x0008
+#define IME_PROP_NO_KEYS_ON_CLOSE 0x0010
+
+/* for NI_CONTEXTUPDATED */
+#define IMC_SETCONVERSIONMODE 0x0002
+#define IMC_SETSENTENCEMODE 0x0004
+#define IMC_SETOPENSTATUS 0x0006
+
+/* dwAction for ImmNotifyIME */
+#define NI_CONTEXTUPDATED 0x0003
+#define NI_OPENCANDIDATE 0x0010
+#define NI_CLOSECANDIDATE 0x0011
+#define NI_SELECTCANDIDATESTR 0x0012
+#define NI_CHANGECANDIDATELIST 0x0013
+#define NI_FINALIZECONVERSIONRESULT 0x0014
+#define NI_COMPOSITIONSTR 0x0015
+#define NI_SETCANDIDATE_PAGESTART 0x0016
+#define NI_SETCANDIDATE_PAGESIZE 0x0017
+#define NI_IMEMENUSELECTED 0x0018
+
+BOOL WINAPI ImmGenerateMessage(HIMC);
+
+BOOL WINAPI ImeInquire(LPIMEINFO, LPWSTR, LPCWSTR lpszOptions);
+BOOL WINAPI ImeConfigure (HKL, HWND, DWORD, LPVOID);
+DWORD WINAPI ImeConversionList(HIMC, LPCWSTR, LPCANDIDATELIST,DWORD,UINT);
+BOOL WINAPI ImeDestroy(UINT);
+LRESULT WINAPI ImeEscape(HIMC, UINT, LPVOID);
+BOOL WINAPI ImeProcessKey(HIMC, UINT, LPARAM, CONST LPBYTE);
+BOOL WINAPI ImeSelect(HIMC, BOOL);
+BOOL WINAPI ImeSetActiveContext(HIMC, BOOL);
+UINT WINAPI ImeToAsciiEx(UINT, UINT, CONST LPBYTE, LPDWORD, UINT, HIMC);
+BOOL WINAPI NotifyIME(HIMC, DWORD, DWORD, DWORD);
+BOOL WINAPI ImeRegisterWord(LPCWSTR, DWORD, LPCWSTR);
+BOOL WINAPI ImeUnregisterWord(LPCWSTR, DWORD, LPCWSTR);
+UINT WINAPI ImeGetRegisterWordStyle(UINT, LPSTYLEBUFW);
+UINT WINAPI ImeEnumRegisterWord(REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID);
+BOOL WINAPI ImeSetCompositionString(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
+DWORD WINAPI ImeGetImeMenuItems(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW,
LPIMEMENUITEMINFOW, DWORD);
#ifdef __cplusplus
-}
+} /* extern "C" */
#endif
-#endif /* __IMM_H */
+#endif /* _DDKIMM_H_ */