ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

imm.h
Go to the documentation of this file.
00001 /*
00002  * Declarations for IMM32
00003  *
00004  * Copyright (C) the Wine project
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef __WINE_IMM_H
00022 #define __WINE_IMM_H
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 typedef HANDLE HIMC;
00029 typedef HANDLE HIMCC;
00030 
00031 typedef struct tagREGISTERWORDA {
00032     LPSTR lpReading;
00033     LPSTR lpWord;
00034 } REGISTERWORDA, *PREGISTERWORDA, *NPREGISTERWORDA, *LPREGISTERWORDA;
00035 
00036 typedef struct tagREGISTERWORDW {
00037     LPWSTR lpReading;
00038     LPWSTR lpWord;
00039 } REGISTERWORDW, *PREGISTERWORDW, *NPREGISTERWORDW, *LPREGISTERWORDW;
00040 
00041 typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
00042 typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
00043 
00044 typedef struct tagCANDIDATEFORM
00045 {
00046                 DWORD   dwIndex;
00047                 DWORD   dwStyle;
00048                 POINT ptCurrentPos;
00049                 RECT  rcArea;
00050 } CANDIDATEFORM, *LPCANDIDATEFORM;
00051 
00052 typedef struct tagCANDIDATELIST
00053 {
00054                 DWORD dwSize;
00055                 DWORD dwStyle;
00056                 DWORD dwCount;
00057                 DWORD dwSelection;
00058                 DWORD dwPageStart;
00059                 DWORD dwPageSize;
00060                 DWORD dwOffset[1];
00061 } CANDIDATELIST, *LPCANDIDATELIST;
00062 
00063 typedef struct tagSTYLEBUFA
00064 {
00065                 DWORD dwStyle;
00066                 CHAR  szDescription[32];
00067 } STYLEBUFA, *LPSTYLEBUFA;
00068 
00069 typedef struct tagSTYLEBUFW
00070 {
00071                 DWORD dwStyle;
00072                 WCHAR  szDescription[32];
00073 } STYLEBUFW, *LPSTYLEBUFW;
00074 
00075 DECL_WINELIB_TYPE_AW(STYLEBUF)
00076 DECL_WINELIB_TYPE_AW(LPSTYLEBUF)
00077 
00078 typedef struct tagRECONVERTSTRING
00079 {
00080     DWORD   dwSize;
00081     DWORD   dwVersion;
00082     DWORD   dwStrLen;
00083     DWORD   dwStrOffset;
00084     DWORD   dwCompStrLen;
00085     DWORD   dwCompStrOffset;
00086     DWORD   dwTargetStrLen;
00087     DWORD   dwTargetStrOffset;
00088 } RECONVERTSTRING, *LPRECONVERTSTRING;
00089 
00090 
00091 #define IMEMENUITEM_STRING_SIZE 80
00092 
00093 typedef struct tagIMEMENUITEMINFOA
00094 {
00095     UINT        cbSize;
00096     UINT        fType;
00097     UINT        fState;
00098     UINT        wID;
00099     HBITMAP     hbmpChecked;
00100     HBITMAP     hbmpUnchecked;
00101     DWORD       dwItemData;
00102     CHAR        szString[IMEMENUITEM_STRING_SIZE];
00103     HBITMAP     hbmpItem;
00104 } IMEMENUITEMINFOA, *LPIMEMENUITEMINFOA;
00105 
00106 typedef struct tagIMEMENUITEMINFOW
00107 {
00108     UINT        cbSize;
00109     UINT        fType;
00110     UINT        fState;
00111     UINT        wID;
00112     HBITMAP     hbmpChecked;
00113     HBITMAP     hbmpUnchecked;
00114     DWORD       dwItemData;
00115     WCHAR       szString[IMEMENUITEM_STRING_SIZE];
00116     HBITMAP     hbmpItem;
00117 } IMEMENUITEMINFOW, *LPIMEMENUITEMINFOW;
00118 
00119 DECL_WINELIB_TYPE_AW(IMEMENUITEMINFO)
00120 DECL_WINELIB_TYPE_AW(LPIMEMENUITEMINFO)
00121 
00122 typedef struct tagIMECHARPOSITION {
00123     DWORD       dwSize;
00124     DWORD       dwCharPos;
00125     POINT       pt;
00126     UINT        cLineHeight;
00127     RECT        rcDocument;
00128 } IMECHARPOSITION, *PIMECHARPOSITION, *NPIMECHARPOSITION, *LPIMECHARPOSITION;
00129 
00130 typedef BOOL    (CALLBACK* IMCENUMPROC)(HIMC, LPARAM);
00131 
00132 typedef struct _tagCOMPOSITIONFORM
00133 {
00134                 DWORD   dwStyle;
00135                 POINT ptCurrentPos;
00136                 RECT  rcArea;
00137 } COMPOSITIONFORM, *LPCOMPOSITIONFORM;
00138 
00139 typedef struct _tagIMEINFO {
00140     DWORD       dwPrivateDataSize;
00141     DWORD       fdwProperty;
00142     DWORD       fdwConversionCaps;
00143     DWORD       fdwSentenceCaps;
00144     DWORD       fdwUICaps;
00145     DWORD       fdwSCSCaps;
00146     DWORD       fdwSelectCaps;
00147 } IMEINFO, *LPIMEINFO;
00148 
00149 typedef struct tagCOMPOSITIONSTRING {
00150     DWORD dwSize;
00151     DWORD dwCompReadAttrLen;
00152     DWORD dwCompReadAttrOffset;
00153     DWORD dwCompReadClauseLen;
00154     DWORD dwCompReadClauseOffset;
00155     DWORD dwCompReadStrLen;
00156     DWORD dwCompReadStrOffset;
00157     DWORD dwCompAttrLen;
00158     DWORD dwCompAttrOffset;
00159     DWORD dwCompClauseLen;
00160     DWORD dwCompClauseOffset;
00161     DWORD dwCompStrLen;
00162     DWORD dwCompStrOffset;
00163     DWORD dwCursorPos;
00164     DWORD dwDeltaStart;
00165     DWORD dwResultReadClauseLen;
00166     DWORD dwResultReadClauseOffset;
00167     DWORD dwResultReadStrLen;
00168     DWORD dwResultReadStrOffset;
00169     DWORD dwResultClauseLen;
00170     DWORD dwResultClauseOffset;
00171     DWORD dwResultStrLen;
00172     DWORD dwResultStrOffset;
00173     DWORD dwPrivateSize;
00174     DWORD dwPrivateOffset;
00175 } COMPOSITIONSTRING, *LPCOMPOSITIONSTRING;
00176 
00177 typedef struct tagGUIDELINE {
00178     DWORD dwSize;
00179     DWORD dwLevel;
00180     DWORD dwIndex;
00181     DWORD dwStrLen;
00182     DWORD dwStrOffset;
00183     DWORD dwPrivateSize;
00184     DWORD dwPrivateOffset;
00185 } GUIDELINE, *LPGUIDELINE;
00186 
00187 typedef struct tagCANDIDATEINFO {
00188     DWORD               dwSize;
00189     DWORD               dwCount;
00190     DWORD               dwOffset[32];
00191     DWORD               dwPrivateSize;
00192     DWORD               dwPrivateOffset;
00193 } CANDIDATEINFO, *LPCANDIDATEINFO;
00194 
00195 #define IMMGWL_IMC                      0
00196 #define IMMGWL_PRIVATE                  (sizeof(LONG))
00197 
00198 /* IME Property bits */
00199 #define IME_PROP_END_UNLOAD             0x0001
00200 #define IME_PROP_KBD_CHAR_FIRST         0x0002
00201 #define IME_PROP_IGNORE_UPKEYS          0x0004
00202 #define IME_PROP_NEED_ALTKEY            0x0008
00203 #define IME_PROP_NO_KEYS_ON_CLOSE       0x0010
00204 
00205 /* for NI_CONTEXTUPDATED */
00206 #define IMC_SETCONVERSIONMODE           0x0002
00207 #define IMC_SETSENTENCEMODE             0x0004
00208 #define IMC_SETOPENSTATUS               0x0006
00209 
00210 /* dwAction for ImmNotifyIME */
00211 #define NI_CONTEXTUPDATED               0x0003
00212 #define NI_OPENCANDIDATE                0x0010
00213 #define NI_CLOSECANDIDATE               0x0011
00214 #define NI_SELECTCANDIDATESTR           0x0012
00215 #define NI_CHANGECANDIDATELIST          0x0013
00216 #define NI_FINALIZECONVERSIONRESULT     0x0014
00217 #define NI_COMPOSITIONSTR               0x0015
00218 #define NI_SETCANDIDATE_PAGESTART       0x0016
00219 #define NI_SETCANDIDATE_PAGESIZE        0x0017
00220 #define NI_IMEMENUSELECTED              0x0018
00221 
00222 BOOL  WINAPI ImmUnlockIMC(HIMC);
00223 DWORD WINAPI ImmGetIMCLockCount(HIMC);
00224 HIMCC  WINAPI ImmCreateIMCC(DWORD);
00225 HIMCC  WINAPI ImmDestroyIMCC(HIMCC);
00226 LPVOID WINAPI ImmLockIMCC(HIMCC);
00227 BOOL   WINAPI ImmUnlockIMCC(HIMCC);
00228 DWORD  WINAPI ImmGetIMCCLockCount(HIMCC);
00229 HIMCC  WINAPI ImmReSizeIMCC(HIMCC, DWORD);
00230 DWORD  WINAPI ImmGetIMCCSize(HIMCC);
00231 
00232 BOOL WINAPI ImmGenerateMessage(HIMC);
00233 LRESULT WINAPI ImmRequestMessageA(HIMC, WPARAM, LPARAM);
00234 LRESULT WINAPI ImmRequestMessageW(HIMC, WPARAM, LPARAM);
00235 #define ImmRequestMessage WINELIB_NAME_AW(ImmRequestMessage);
00236 BOOL WINAPI ImmTranslateMessage(HWND, UINT, WPARAM, LPARAM);
00237 HWND WINAPI ImmCreateSoftKeyboard(UINT, UINT, int, int);
00238 BOOL WINAPI ImmDestroySoftKeyboard(HWND);
00239 BOOL WINAPI ImmShowSoftKeyboard(HWND, int);
00240 
00241 BOOL WINAPI ImeInquire(LPIMEINFO, LPWSTR, LPCWSTR lpszOptions);
00242 BOOL WINAPI ImeConfigure (HKL, HWND, DWORD, LPVOID);
00243 DWORD WINAPI ImeConversionList(HIMC, LPCWSTR, LPCANDIDATELIST,DWORD,UINT);
00244 BOOL WINAPI ImeDestroy(UINT);
00245 LRESULT WINAPI ImeEscape(HIMC, UINT, LPVOID);
00246 BOOL WINAPI ImeProcessKey(HIMC, UINT, LPARAM, CONST LPBYTE);
00247 BOOL WINAPI ImeSelect(HIMC, BOOL);
00248 BOOL WINAPI ImeSetActiveContext(HIMC, BOOL);
00249 UINT WINAPI ImeToAsciiEx(UINT, UINT, CONST LPBYTE, LPDWORD, UINT, HIMC);
00250 BOOL WINAPI NotifyIME(HIMC, DWORD, DWORD, DWORD);
00251 BOOL WINAPI ImeRegisterWord(LPCWSTR, DWORD, LPCWSTR);
00252 BOOL WINAPI ImeUnregisterWord(LPCWSTR, DWORD, LPCWSTR);
00253 UINT WINAPI ImeGetRegisterWordStyle(UINT, LPSTYLEBUFW);
00254 UINT WINAPI ImeEnumRegisterWord(REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID);
00255 BOOL WINAPI ImeSetCompositionString(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
00256 DWORD WINAPI ImeGetImeMenuItems(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
00257 
00258 /* wParam for WM_IME_CONTROL */
00259 #define IMC_GETCANDIDATEPOS             0x0007
00260 #define IMC_SETCANDIDATEPOS             0x0008
00261 #define IMC_GETCOMPOSITIONFONT          0x0009
00262 #define IMC_SETCOMPOSITIONFONT          0x000A
00263 #define IMC_GETCOMPOSITIONWINDOW        0x000B
00264 #define IMC_SETCOMPOSITIONWINDOW        0x000C
00265 #define IMC_GETSTATUSWINDOWPOS          0x000F
00266 #define IMC_SETSTATUSWINDOWPOS          0x0010
00267 #define IMC_CLOSESTATUSWINDOW           0x0021
00268 #define IMC_OPENSTATUSWINDOW            0x0022
00269 
00270 /*
00271  * wParam for WM_IME_CONTROL to the soft keyboard
00272  * dwAction for ImmNotifyIME
00273  */
00274 #define NI_OPENCANDIDATE                0x0010
00275 #define NI_CLOSECANDIDATE               0x0011
00276 #define NI_SELECTCANDIDATESTR           0x0012
00277 #define NI_CHANGECANDIDATELIST          0x0013
00278 #define NI_FINALIZECONVERSIONRESULT     0x0014
00279 #define NI_COMPOSITIONSTR               0x0015
00280 #define NI_SETCANDIDATE_PAGESTART       0x0016
00281 #define NI_SETCANDIDATE_PAGESIZE        0x0017
00282 #define NI_IMEMENUSELECTED      0x0018
00283 
00284 /* lParam for WM_IME_SETCONTEXT */
00285 #define ISC_SHOWUICANDIDATEWINDOW       0x00000001
00286 #define ISC_SHOWUICOMPOSITIONWINDOW     0x80000000
00287 #define ISC_SHOWUIGUIDELINE             0x40000000
00288 #define ISC_SHOWUIALLCANDIDATEWINDOW    0x0000000F
00289 #define ISC_SHOWUIALL                   0xC000000F
00290 
00291 
00292 /* dwIndex for ImmNotifyIME/NI_COMPOSITIONSTR */
00293 #define CPS_COMPLETE                    0x0001
00294 #define CPS_CONVERT                     0x0002
00295 #define CPS_REVERT                      0x0003
00296 #define CPS_CANCEL                      0x0004
00297 
00298 
00299 /* the modifiers of hot key */
00300 #define MOD_ALT                         0x0001
00301 #define MOD_CONTROL                     0x0002
00302 #define MOD_SHIFT                       0x0004
00303 
00304 #define MOD_LEFT                        0x8000
00305 #define MOD_RIGHT                       0x4000
00306 
00307 #define MOD_ON_KEYUP                    0x0800
00308 #define MOD_IGNORE_ALL_MODIFIER         0x0400
00309 
00310 
00311 /* Windows for Simplified Chinese Edition hot key ID from 0x10 - 0x2F */
00312 #define IME_CHOTKEY_IME_NONIME_TOGGLE           0x10
00313 #define IME_CHOTKEY_SHAPE_TOGGLE                0x11
00314 #define IME_CHOTKEY_SYMBOL_TOGGLE               0x12
00315 
00316 /* Windows for Japanese Edition hot key ID from 0x30 - 0x4F */
00317 #define IME_JHOTKEY_CLOSE_OPEN                  0x30
00318 
00319 /* Windows for Korean Edition hot key ID from 0x50 - 0x6F */
00320 #define IME_KHOTKEY_SHAPE_TOGGLE                0x50
00321 #define IME_KHOTKEY_HANJACONVERT                0x51
00322 #define IME_KHOTKEY_ENGLISH                     0x52
00323 /* Windows for Tranditional Chinese Edition hot key ID from 0x70 - 0x8F */
00324 #define IME_THOTKEY_IME_NONIME_TOGGLE           0x70
00325 #define IME_THOTKEY_SHAPE_TOGGLE                0x71
00326 #define IME_THOTKEY_SYMBOL_TOGGLE               0x72
00327 
00328 /* direct switch hot key ID from 0x100 - 0x11F */
00329 #define IME_HOTKEY_DSWITCH_FIRST                0x100
00330 #define IME_HOTKEY_DSWITCH_LAST                 0x11F
00331 
00332 /* IME private hot key from 0x200 - 0x21F */
00333 #define IME_HOTKEY_PRIVATE_FIRST                0x200
00334 #define IME_ITHOTKEY_RESEND_RESULTSTR           0x200
00335 #define IME_ITHOTKEY_PREVIOUS_COMPOSITION       0x201
00336 #define IME_ITHOTKEY_UISTYLE_TOGGLE             0x202
00337 #define IME_ITHOTKEY_RECONVERTSTRING        0x203
00338 #define IME_HOTKEY_PRIVATE_LAST                 0x21F
00339 
00340 
00341 /*
00342  * dwSystemInfoFlags bits
00343  * parameter of ImmGetCompositionString
00344  */
00345 #define GCS_COMPREADSTR                 0x0001
00346 #define GCS_COMPREADATTR                0x0002
00347 #define GCS_COMPREADCLAUSE              0x0004
00348 #define GCS_COMPSTR                     0x0008
00349 #define GCS_COMPATTR                    0x0010
00350 #define GCS_COMPCLAUSE                  0x0020
00351 #define GCS_CURSORPOS                   0x0080
00352 #define GCS_DELTASTART                  0x0100
00353 #define GCS_RESULTREADSTR               0x0200
00354 #define GCS_RESULTREADCLAUSE            0x0400
00355 #define GCS_RESULTSTR                   0x0800
00356 #define GCS_RESULTCLAUSE                0x1000
00357 
00358 /* style bit flags for WM_IME_COMPOSITION */
00359 #define CS_INSERTCHAR                   0x2000
00360 #define CS_NOMOVECARET                  0x4000
00361 
00362 
00363 /*
00364  * bits of fdwInit of INPUTCONTEXT
00365  * IME version constants
00366  */
00367 #define IMEVER_0310                     0x0003000A
00368 #define IMEVER_0400                     0x00040000
00369 
00370 
00371 /* IME property bits */
00372 #define IME_PROP_AT_CARET               0x00010000
00373 #define IME_PROP_SPECIAL_UI             0x00020000
00374 #define IME_PROP_CANDLIST_START_FROM_1  0x00040000
00375 #define IME_PROP_UNICODE                0x00080000
00376 #define IME_PROP_COMPLETE_ON_UNSELECT   0x00100000
00377 
00378 
00379 /* IME UICapability bits */
00380 #define UI_CAP_2700                     0x00000001
00381 #define UI_CAP_ROT90                    0x00000002
00382 #define UI_CAP_ROTANY                   0x00000004
00383 /* ImmSetCompositionString Capability bits */
00384 #define SCS_CAP_COMPSTR                 0x00000001
00385 #define SCS_CAP_MAKEREAD                0x00000002
00386 #define SCS_CAP_SETRECONVERTSTRING  0x00000004
00387 
00388 
00389 /* IME WM_IME_SELECT inheritance Capability bits */
00390 #define SELECT_CAP_CONVERSION           0x00000001
00391 #define SELECT_CAP_SENTENCE             0x00000002
00392 
00393 
00394 /* ID for deIndex of ImmGetGuideLine */
00395 #define GGL_LEVEL                       0x00000001
00396 #define GGL_INDEX                       0x00000002
00397 #define GGL_STRING                      0x00000003
00398 #define GGL_PRIVATE                     0x00000004
00399 
00400 /* ID for dwLevel of GUIDELINE Structure */
00401 #define GL_LEVEL_NOGUIDELINE            0x00000000
00402 #define GL_LEVEL_FATAL                  0x00000001
00403 #define GL_LEVEL_ERROR                  0x00000002
00404 #define GL_LEVEL_WARNING                0x00000003
00405 #define GL_LEVEL_INFORMATION            0x00000004
00406 
00407 /* ID for dwIndex of GUIDELINE Structure */
00408 #define GL_ID_UNKNOWN                   0x00000000
00409 #define GL_ID_NOMODULE                  0x00000001
00410 #define GL_ID_NODICTIONARY              0x00000010
00411 #define GL_ID_CANNOTSAVE                0x00000011
00412 #define GL_ID_NOCONVERT                 0x00000020
00413 #define GL_ID_TYPINGERROR               0x00000021
00414 #define GL_ID_TOOMANYSTROKE             0x00000022
00415 #define GL_ID_READINGCONFLICT           0x00000023
00416 #define GL_ID_INPUTREADING              0x00000024
00417 #define GL_ID_INPUTRADICAL              0x00000025
00418 #define GL_ID_INPUTCODE                 0x00000026
00419 #define GL_ID_INPUTSYMBOL               0x00000027
00420 #define GL_ID_CHOOSECANDIDATE           0x00000028
00421 #define GL_ID_REVERSECONVERSION         0x00000029
00422 #define GL_ID_PRIVATE_FIRST             0x00008000
00423 #define GL_ID_PRIVATE_LAST              0x0000FFFF
00424 
00425 /* ID for dwIndex of ImmGetProperty */
00426 #define IGP_GETIMEVERSION               (DWORD)(-4)
00427 #define IGP_PROPERTY                    0x00000004
00428 #define IGP_CONVERSION                  0x00000008
00429 #define IGP_SENTENCE                    0x0000000c
00430 #define IGP_UI                          0x00000010
00431 #define IGP_SETCOMPSTR                  0x00000014
00432 #define IGP_SELECT                      0x00000018
00433 
00434 
00435 /* dwIndex for ImmSetCompositionString API */
00436 #define SCS_SETSTR          (GCS_COMPREADSTR|GCS_COMPSTR)
00437 #define SCS_CHANGEATTR      (GCS_COMPREADATTR|GCS_COMPATTR)
00438 #define SCS_CHANGECLAUSE    (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
00439 #define SCS_SETRECONVERTSTRING      0x00010000
00440 #define SCS_QUERYRECONVERTSTRING    0x00020000
00441 
00442 /* attribute for COMPOSITIONSTRING Structure */
00443 #define ATTR_INPUT                      0x00
00444 #define ATTR_TARGET_CONVERTED           0x01
00445 #define ATTR_CONVERTED                  0x02
00446 #define ATTR_TARGET_NOTCONVERTED        0x03
00447 #define ATTR_INPUT_ERROR                0x04
00448 #define ATTR_FIXEDCONVERTED     0x05
00449 
00450 
00451 /* bit field for IMC_SETCOMPOSITIONWINDOW, IMC_SETCANDIDATEWINDOW */
00452 #define CFS_DEFAULT                     0x0000
00453 #define CFS_RECT                        0x0001
00454 #define CFS_POINT                       0x0002
00455 #define CFS_FORCE_POSITION              0x0020
00456 #define CFS_CANDIDATEPOS                0x0040
00457 #define CFS_EXCLUDE                     0x0080
00458 
00459 /* conversion direction for ImmGetConversionList */
00460 #define GCL_CONVERSION                  0x0001
00461 #define GCL_REVERSECONVERSION           0x0002
00462 #define GCL_REVERSE_LENGTH              0x0003
00463 
00464 
00465 /* bit field for conversion mode */
00466 #define IME_CMODE_ALPHANUMERIC          0x0000
00467 #define IME_CMODE_NATIVE                0x0001
00468 #define IME_CMODE_CHINESE               IME_CMODE_NATIVE
00469 /* IME_CMODE_HANGEUL is old name of IME_CMODE_HANGUL. It will be gone eventually. */
00470 #define IME_CMODE_HANGEUL               IME_CMODE_NATIVE
00471 #define IME_CMODE_HANGUL                IME_CMODE_NATIVE
00472 #define IME_CMODE_JAPANESE              IME_CMODE_NATIVE
00473 #define IME_CMODE_KATAKANA              0x0002  /* only effect under IME_CMODE_NATIVE */
00474 #define IME_CMODE_LANGUAGE              0x0003
00475 #define IME_CMODE_FULLSHAPE             0x0008
00476 #define IME_CMODE_ROMAN                 0x0010
00477 #define IME_CMODE_CHARCODE              0x0020
00478 #define IME_CMODE_HANJACONVERT          0x0040
00479 #define IME_CMODE_SOFTKBD               0x0080
00480 #define IME_CMODE_NOCONVERSION          0x0100
00481 #define IME_CMODE_EUDC                  0x0200
00482 #define IME_CMODE_SYMBOL                0x0400
00483 #define IME_CMODE_FIXED         0x0800
00484 
00485 
00486 #define IME_SMODE_NONE                  0x0000
00487 #define IME_SMODE_PLAURALCLAUSE         0x0001
00488 #define IME_SMODE_SINGLECONVERT         0x0002
00489 #define IME_SMODE_AUTOMATIC             0x0004
00490 #define IME_SMODE_PHRASEPREDICT         0x0008
00491 #define IME_SMODE_CONVERSATION      0x0010
00492 
00493 /* style of candidate */
00494 #define IME_CAND_UNKNOWN                0x0000
00495 #define IME_CAND_READ                   0x0001
00496 #define IME_CAND_CODE                   0x0002
00497 #define IME_CAND_MEANING                0x0003
00498 #define IME_CAND_RADICAL                0x0004
00499 #define IME_CAND_STROKE                 0x0005
00500 
00501 
00502 /* wParam of report message WM_IME_NOTIFY */
00503 #define IMN_CLOSESTATUSWINDOW           0x0001
00504 #define IMN_OPENSTATUSWINDOW            0x0002
00505 #define IMN_CHANGECANDIDATE             0x0003
00506 #define IMN_CLOSECANDIDATE              0x0004
00507 #define IMN_OPENCANDIDATE               0x0005
00508 #define IMN_SETCONVERSIONMODE           0x0006
00509 #define IMN_SETSENTENCEMODE             0x0007
00510 #define IMN_SETOPENSTATUS               0x0008
00511 #define IMN_SETCANDIDATEPOS             0x0009
00512 #define IMN_SETCOMPOSITIONFONT          0x000A
00513 #define IMN_SETCOMPOSITIONWINDOW        0x000B
00514 #define IMN_SETSTATUSWINDOWPOS          0x000C
00515 #define IMN_GUIDELINE                   0x000D
00516 #define IMN_PRIVATE                     0x000E
00517 
00518 
00519 /* wParam of report message WM_IME_REQUEST */
00520 #define IMR_COMPOSITIONWINDOW       0x0001
00521 #define IMR_CANDIDATEWINDOW     0x0002
00522 #define IMR_COMPOSITIONFONT     0x0003
00523 #define IMR_RECONVERTSTRING     0x0004
00524 #define IMR_CONFIRMRECONVERTSTRING  0x0005
00525 #define IMR_QUERYCHARPOSITION       0x0006
00526 #define IMR_DOCUMENTFEED        0x0007
00527 
00528 
00529 /* error code of ImmGetCompositionString */
00530 #define IMM_ERROR_NODATA                (-1)
00531 #define IMM_ERROR_GENERAL               (-2)
00532 
00533 
00534 /* dialog mode of ImmConfigureIME */
00535 #define IME_CONFIG_GENERAL              1
00536 #define IME_CONFIG_REGISTERWORD         2
00537 #define IME_CONFIG_SELECTDICTIONARY     3
00538 
00539 /* dialog mode of ImmEscape */
00540 #define IME_ESC_QUERY_SUPPORT           0x0003
00541 #define IME_ESC_RESERVED_FIRST          0x0004
00542 #define IME_ESC_RESERVED_LAST           0x07FF
00543 #define IME_ESC_PRIVATE_FIRST           0x0800
00544 #define IME_ESC_PRIVATE_LAST            0x0FFF
00545 #define IME_ESC_SEQUENCE_TO_INTERNAL    0x1001
00546 #define IME_ESC_GET_EUDC_DICTIONARY     0x1003
00547 #define IME_ESC_SET_EUDC_DICTIONARY     0x1004
00548 #define IME_ESC_MAX_KEY                 0x1005
00549 #define IME_ESC_IME_NAME                0x1006
00550 #define IME_ESC_SYNC_HOTKEY             0x1007
00551 #define IME_ESC_HANJA_MODE              0x1008
00552 #define IME_ESC_AUTOMATA                0x1009
00553 #define IME_ESC_PRIVATE_HOTKEY          0x100a
00554 #define IME_ESC_GETHELPFILENAME     0x100b
00555 
00556 
00557 /* style of word registration */
00558 #define IME_REGWORD_STYLE_EUDC          0x00000001
00559 #define IME_REGWORD_STYLE_USER_FIRST    0x80000000
00560 #define IME_REGWORD_STYLE_USER_LAST     0xFFFFFFFF
00561 
00562 
00563 /* dwFlags for ImmAssociateContextEx */
00564 #define IACE_CHILDREN           0x0001
00565 #define IACE_DEFAULT            0x0010
00566 #define IACE_IGNORENOCONTEXT        0x0020
00567 
00568 /* dwFlags for ImmGetImeMenuItems */
00569 #define IGIMIF_RIGHTMENU        0x0001
00570 
00571 /* dwType for ImmGetImeMenuItems */
00572 #define IGIMII_CMODE            0x0001
00573 #define IGIMII_SMODE            0x0002
00574 #define IGIMII_CONFIGURE        0x0004
00575 #define IGIMII_TOOLS            0x0008
00576 #define IGIMII_HELP         0x0010
00577 #define IGIMII_OTHER            0x0020
00578 #define IGIMII_INPUTTOOLS       0x0040
00579 
00580 /* fType of IMEMENUITEMINFO structure */
00581 #define IMFT_RADIOCHECK         0x00001
00582 #define IMFT_SEPARATOR          0x00002
00583 #define IMFT_SUBMENU            0x00004
00584 
00585 /* fState of IMEMENUITEMINFO structure */
00586 #define IMFS_GRAYED         MFS_GRAYED
00587 #define IMFS_DISABLED           MFS_DISABLED
00588 #define IMFS_CHECKED            MFS_CHECKED
00589 #define IMFS_HILITE         MFS_HILITE
00590 #define IMFS_ENABLED            MFS_ENABLED
00591 #define IMFS_UNCHECKED          MFS_UNCHECKED
00592 #define IMFS_UNHILITE           MFS_UNHILITE
00593 #define IMFS_DEFAULT            MFS_DEFAULT
00594 
00595 
00596 /*
00597  * type of soft keyboard
00598  * for Windows Tranditional Chinese Edition
00599  */
00600 #define SOFTKEYBOARD_TYPE_T1            0x0001
00601 /* for Windows Simplified Chinese Edition */
00602 #define SOFTKEYBOARD_TYPE_C1            0x0002
00603 
00604 
00605 HIMC   WINAPI ImmAssociateContext(HWND, HIMC);
00606 BOOL   WINAPI ImmAssociateContextEx(HWND, HIMC, DWORD);
00607 BOOL   WINAPI ImmConfigureIMEA(HKL, HWND, DWORD, LPVOID);
00608 BOOL   WINAPI ImmConfigureIMEW(HKL, HWND, DWORD, LPVOID);
00609 #define  ImmConfigureIME WINELIB_NAME_AW(ImmConfigureIME)
00610 HIMC   WINAPI ImmCreateContext(void);
00611 BOOL   WINAPI ImmDestroyContext(HIMC hIMC);
00612 BOOL   WINAPI ImmDisableIME(DWORD idThread);
00613 BOOL   WINAPI ImmEnumInputContext(DWORD, IMCENUMPROC, LPARAM);
00614 UINT   WINAPI ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, LPVOID);
00615 UINT   WINAPI ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID);
00616 #define  ImmEnumRegisterWord WINELIB_NAME_AW(ImmEnumRegisterWord)
00617 LRESULT  WINAPI ImmEscapeA(HKL, HIMC, UINT, LPVOID);
00618 LRESULT  WINAPI ImmEscapeW(HKL, HIMC, UINT, LPVOID);
00619 #define  ImmEscape WINELIB_NAME_AW(ImmEscape)
00620 DWORD    WINAPI ImmGetCandidateListA(HIMC, DWORD, LPCANDIDATELIST, DWORD);
00621 DWORD    WINAPI ImmGetCandidateListW(HIMC, DWORD, LPCANDIDATELIST, DWORD);
00622 #define  ImmGetCandidateList WINELIB_NAME_AW(ImmGetCandidateList)
00623 DWORD    WINAPI ImmGetCandidateListCountA(HIMC, LPDWORD);
00624 DWORD    WINAPI ImmGetCandidateListCountW(HIMC, LPDWORD);
00625 #define  ImmGetCandidateListCount WINELIB_NAME_AW(ImmGetCandidateListCount)
00626 BOOL   WINAPI ImmGetCandidateWindow(HIMC, DWORD, LPCANDIDATEFORM);
00627 #if defined(_WINGDI_) && !defined(NOGDI)
00628 BOOL   WINAPI ImmGetCompositionFontA(HIMC, LPLOGFONTA);
00629 BOOL   WINAPI ImmGetCompositionFontW(HIMC, LPLOGFONTW);
00630 #define  ImmGetCompositionFont WINELIB_NAME_AW(ImmGetCompositionFont)
00631 BOOL   WINAPI ImmSetCompositionFontA(HIMC, LPLOGFONTA);
00632 BOOL   WINAPI ImmSetCompositionFontW(HIMC, LPLOGFONTW);
00633 #define  ImmSetCompositionFont WINELIB_NAME_AW(ImmSetCompositionFont)
00634 #endif
00635 LONG     WINAPI ImmGetCompositionStringA(HIMC, DWORD, LPVOID, DWORD);
00636 LONG     WINAPI ImmGetCompositionStringW(HIMC, DWORD, LPVOID, DWORD);
00637 #define  ImmGetCompositionString WINELIB_NAME_AW(ImmGetCompositionString)
00638 BOOL   WINAPI ImmGetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
00639 HIMC   WINAPI ImmGetContext(HWND);
00640 DWORD    WINAPI ImmGetConversionListA(HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD, UINT);
00641 DWORD    WINAPI ImmGetConversionListW(HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD, UINT);
00642 #define  ImmGetConversionList WINELIB_NAME_AW(ImmGetConversionList)
00643 BOOL   WINAPI ImmGetConversionStatus(HIMC, LPDWORD, LPDWORD);
00644 HWND   WINAPI ImmGetDefaultIMEWnd(HWND);
00645 UINT   WINAPI ImmGetDescriptionA(HKL, LPSTR, UINT);
00646 UINT   WINAPI ImmGetDescriptionW(HKL, LPWSTR, UINT);
00647 #define  ImmGetDescription WINELIB_NAME_AW(ImmGetDescription)
00648 DWORD    WINAPI ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD);
00649 DWORD    WINAPI ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD);
00650 #define  ImmGetGuideLine WINELIB_NAME_AW(ImmGetGuideLine)
00651 UINT   WINAPI ImmGetIMEFileNameA(HKL, LPSTR, UINT);
00652 UINT   WINAPI ImmGetIMEFileNameW(HKL, LPWSTR, UINT);
00653 #define  ImmGetIMEFileName WINELIB_NAME_AW(ImmGetIMEFileName)
00654 DWORD  WINAPI ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD);
00655 DWORD  WINAPI ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
00656 #define ImmGetImeMenuItems  WINELIB_NAME_AW(ImmGetImeMenuItems)
00657 BOOL   WINAPI ImmGetOpenStatus(HIMC);
00658 DWORD    WINAPI ImmGetProperty(HKL, DWORD);
00659 UINT   WINAPI ImmGetRegisterWordStyleA(HKL, UINT, LPSTYLEBUFA);
00660 UINT   WINAPI ImmGetRegisterWordStyleW(HKL, UINT, LPSTYLEBUFW);
00661 #define  ImmGetRegisterWordStyle WINELIB_NAME_AW(ImmGetRegisterWordStyle)
00662 BOOL   WINAPI ImmGetStatusWindowPos(HIMC, LPPOINT);
00663 UINT   WINAPI ImmGetVirtualKey(HWND);
00664 HKL    WINAPI ImmInstallIMEA(LPCSTR, LPCSTR);
00665 HKL    WINAPI ImmInstallIMEW(LPCWSTR, LPCWSTR);
00666 #define  ImmInstallIME WINELIB_NAME_AW(ImmInstallIME)
00667 BOOL   WINAPI ImmIsIME(HKL);
00668 BOOL   WINAPI ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
00669 BOOL   WINAPI ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
00670 #define  ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage)
00671 BOOL   WINAPI ImmNotifyIME(HIMC, DWORD, DWORD, DWORD);
00672 BOOL   WINAPI ImmProcessKey(HWND, HKL, UINT, LPARAM, DWORD);
00673 BOOL   WINAPI ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
00674 BOOL   WINAPI ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
00675 #define  ImmRegisterWord WINELIB_NAME_AW(ImmRegisterWord)
00676 BOOL   WINAPI ImmReleaseContext(HWND, HIMC);
00677 BOOL   WINAPI ImmSetCandidateWindow(HIMC, LPCANDIDATEFORM);
00678 BOOL   WINAPI ImmSetCompositionStringA(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
00679 BOOL   WINAPI ImmSetCompositionStringW(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
00680 #define  ImmSetCompositionString WINELIB_NAME_AW(ImmSetCompositionString)
00681 BOOL   WINAPI ImmSetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
00682 BOOL   WINAPI ImmSetConversionStatus(HIMC, DWORD, DWORD);
00683 BOOL   WINAPI ImmSetOpenStatus(HIMC, BOOL);
00684 BOOL   WINAPI ImmSetStatusWindowPos(HIMC, LPPOINT);
00685 BOOL   WINAPI ImmSimulateHotKey(HWND, DWORD);
00686 BOOL   WINAPI ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
00687 BOOL   WINAPI ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
00688 #define  ImmUnregisterWord WINELIB_NAME_AW(ImmUnregisterWord)
00689 
00690 
00691 #ifdef __cplusplus
00692 }
00693 #endif
00694 
00695 #endif  /* __WINE_IMM_H */

Generated on Sat May 26 2012 04:30:14 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.