Artifact Content

Not logged in

Artifact 9541f37a98b1f966c91c0edc2f5496c92a140d9c


     1  module win32.ansi.imm;
     2  
     3  // Translated from Microsoft Platform SDK August 2001 Edition
     4  // by Y.Tomino (demoonlit@inter7.jp)
     5  
     6  import win32.ansi.winuser;
     7  
     8  // #ifndef _IMM_
     9  // #define _IMM_
    10  
    11  // #ifdef __cplusplus
    12  // extern "C" {
    13  // #endif
    14  
    15  // #ifndef _IMM_SDK_DEFINED_
    16  // #define _IMM_SDK_DEFINED_
    17  
    18  // #if (WINVER >= 0x040A)
    19  alias void* HIMC;
    20  alias void* HIMCC;
    21  // #else
    22  // ...
    23  // #endif /* WINVER >= 0x040A */
    24  
    25  alias HKL* LPHKL;
    26  alias UINT* LPUINT;
    27  
    28  struct tagCOMPOSITIONFORM {
    29    DWORD dwStyle;
    30    POINT ptCurrentPos;
    31    RECT rcArea;
    32  }
    33  alias tagCOMPOSITIONFORM COMPOSITIONFORM;
    34  alias tagCOMPOSITIONFORM* PCOMPOSITIONFORM;
    35  alias tagCOMPOSITIONFORM* NPCOMPOSITIONFORM;
    36  alias tagCOMPOSITIONFORM* LPCOMPOSITIONFORM;
    37  
    38  struct tagCANDIDATEFORM {
    39    DWORD dwIndex;
    40    DWORD dwStyle;
    41    POINT ptCurrentPos;
    42    RECT rcArea;
    43  }
    44  alias tagCANDIDATEFORM CANDIDATEFORM;
    45  alias tagCANDIDATEFORM* PCANDIDATEFORM;
    46  alias tagCANDIDATEFORM* NPCANDIDATEFORM;
    47  alias tagCANDIDATEFORM* LPCANDIDATEFORM;
    48  
    49  struct tagCANDIDATELIST {
    50    DWORD dwSize;
    51    DWORD dwStyle;
    52    DWORD dwCount;
    53    DWORD dwSelection;
    54    DWORD dwPageStart;
    55    DWORD dwPageSize;
    56    DWORD dwOffset[1];
    57  }
    58  alias tagCANDIDATELIST CANDIDATELIST;
    59  alias tagCANDIDATELIST* PCANDIDATELIST;
    60  alias tagCANDIDATELIST* NPCANDIDATELIST;
    61  alias tagCANDIDATELIST* LPCANDIDATELIST;
    62  
    63  struct tagREGISTERWORDA {
    64    LPSTR lpReading;
    65    LPSTR lpWord;
    66  }
    67  alias tagREGISTERWORDA REGISTERWORDA;
    68  alias tagREGISTERWORDA* PREGISTERWORDA;
    69  alias tagREGISTERWORDA* NPREGISTERWORDA;
    70  alias tagREGISTERWORDA* LPREGISTERWORDA;
    71  
    72  struct tagREGISTERWORDW {
    73    LPWSTR lpReading;
    74    LPWSTR lpWord;
    75  }
    76  alias tagREGISTERWORDW REGISTERWORDW;
    77  alias tagREGISTERWORDW* PREGISTERWORDW;
    78  alias tagREGISTERWORDW* NPREGISTERWORDW;
    79  alias tagREGISTERWORDW* LPREGISTERWORDW;
    80  
    81  // #ifdef UNICODE
    82  // ...
    83  // #else
    84  alias REGISTERWORDA REGISTERWORD;
    85  alias PREGISTERWORDA PREGISTERWORD;
    86  alias NPREGISTERWORDA NPREGISTERWORD;
    87  alias LPREGISTERWORDA LPREGISTERWORD;
    88  // #endif // UNICODE
    89  
    90  // #if (WINVER >= 0x040A)
    91  
    92  struct tagRECONVERTSTRING {
    93    DWORD dwSize;
    94    DWORD dwVersion;
    95    DWORD dwStrLen;
    96    DWORD dwStrOffset;
    97    DWORD dwCompStrLen;
    98    DWORD dwCompStrOffset;
    99    DWORD dwTargetStrLen;
   100    DWORD dwTargetStrOffset;
   101  }
   102  alias tagRECONVERTSTRING RECONVERTSTRING;
   103  alias tagRECONVERTSTRING* PRECONVERTSTRING;
   104  alias tagRECONVERTSTRING* NPRECONVERTSTRING;
   105  alias tagRECONVERTSTRING* LPRECONVERTSTRING;
   106  
   107  // #endif /* WINVER >= 0x040A */
   108  
   109  enum : uint { STYLE_DESCRIPTION_SIZE = 32 }
   110  
   111  struct tagSTYLEBUFA {
   112    DWORD dwStyle;
   113    CHAR szDescription[STYLE_DESCRIPTION_SIZE];
   114  }
   115  alias tagSTYLEBUFA STYLEBUFA;
   116  alias tagSTYLEBUFA* PSTYLEBUFA;
   117  alias tagSTYLEBUFA* NPSTYLEBUFA;
   118  alias tagSTYLEBUFA* LPSTYLEBUFA;
   119  
   120  struct tagSTYLEBUFW {
   121    DWORD dwStyle;
   122    WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
   123  }
   124  alias tagSTYLEBUFW STYLEBUFW;
   125  alias tagSTYLEBUFW* PSTYLEBUFW;
   126  alias tagSTYLEBUFW* NPSTYLEBUFW;
   127  alias tagSTYLEBUFW* LPSTYLEBUFW;
   128  
   129  // #ifdef UNICODE
   130  // ...
   131  // #else
   132  alias STYLEBUFA STYLEBUF;
   133  alias PSTYLEBUFA PSTYLEBUF;
   134  alias NPSTYLEBUFA NPSTYLEBUF;
   135  alias LPSTYLEBUFA LPSTYLEBUF;
   136  // #endif // UNICODE
   137  
   138  // #if (WINVER >= 0x040A)
   139  
   140  enum : uint { IMEMENUITEM_STRING_SIZE = 80 }
   141  
   142  struct tagIMEMENUITEMINFOA {
   143    UINT cbSize;
   144    UINT fType;
   145    UINT fState;
   146    UINT wID;
   147    HBITMAP hbmpChecked;
   148    HBITMAP hbmpUnchecked;
   149    DWORD dwItemData;
   150    CHAR szString[IMEMENUITEM_STRING_SIZE];
   151    HBITMAP hbmpItem;
   152  }
   153  alias tagIMEMENUITEMINFOA IMEMENUITEMINFOA;
   154  alias tagIMEMENUITEMINFOA* PIMEMENUITEMINFOA;
   155  alias tagIMEMENUITEMINFOA* NPIMEMENUITEMINFOA;
   156  alias tagIMEMENUITEMINFOA* LPIMEMENUITEMINFOA;
   157  
   158  struct tagIMEMENUITEMINFOW {
   159    UINT cbSize;
   160    UINT fType;
   161    UINT fState;
   162    UINT wID;
   163    HBITMAP hbmpChecked;
   164    HBITMAP hbmpUnchecked;
   165    DWORD dwItemData;
   166    WCHAR szString[IMEMENUITEM_STRING_SIZE];
   167    HBITMAP hbmpItem;
   168  }
   169  alias tagIMEMENUITEMINFOW IMEMENUITEMINFOW;
   170  alias tagIMEMENUITEMINFOW* PIMEMENUITEMINFOW;
   171  alias tagIMEMENUITEMINFOW* NPIMEMENUITEMINFOW;
   172  alias tagIMEMENUITEMINFOW* LPIMEMENUITEMINFOW;
   173  
   174  // #ifdef UNICODE
   175  // ...
   176  // #else
   177  alias IMEMENUITEMINFOA IMEMENUITEMINFO;
   178  alias PIMEMENUITEMINFOA PIMEMENUITEMINFO;
   179  alias NPIMEMENUITEMINFOA NPIMEMENUITEMINFO;
   180  alias LPIMEMENUITEMINFOA LPIMEMENUITEMINFO;
   181  // #endif // UNICODE
   182  
   183  struct tagIMECHARPOSITION {
   184    DWORD dwSize;
   185    DWORD dwCharPos;
   186    POINT pt;
   187    UINT cLineHeight;
   188    RECT rcDocument;
   189  }
   190  alias tagIMECHARPOSITION IMECHARPOSITION;
   191  alias tagIMECHARPOSITION* PIMECHARPOSITION;
   192  alias tagIMECHARPOSITION* NPIMECHARPOSITION;
   193  alias tagIMECHARPOSITION* LPIMECHARPOSITION;
   194  
   195  extern(Windows) alias BOOL function(HIMC, LPARAM) IMCENUMPROC;
   196  
   197  // #endif /* WINVER >= 0x040A */
   198  
   199  extern(Windows) export HKL ImmInstallIMEA( LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText);
   200  extern(Windows) export HKL ImmInstallIMEW( LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText);
   201  // #ifdef UNICODE
   202  // #...
   203  // #else
   204  alias ImmInstallIMEA ImmInstallIME;
   205  // #endif // !UNICODE
   206  
   207  extern(Windows) export HWND ImmGetDefaultIMEWnd( HWND);
   208  
   209  extern(Windows) export UINT ImmGetDescriptionA( HKL, LPSTR, UINT uBufLen);
   210  extern(Windows) export UINT ImmGetDescriptionW( HKL, LPWSTR, UINT uBufLen);
   211  // #ifdef UNICODE
   212  // #...
   213  // #else
   214  alias ImmGetDescriptionA ImmGetDescription;
   215  // #endif // !UNICODE
   216  
   217  extern(Windows) export UINT ImmGetIMEFileNameA( HKL, LPSTR, UINT uBufLen);
   218  extern(Windows) export UINT ImmGetIMEFileNameW( HKL, LPWSTR, UINT uBufLen);
   219  // #ifdef UNICODE
   220  // #...
   221  // #else
   222  alias ImmGetIMEFileNameA ImmGetIMEFileName;
   223  // #endif // !UNICODE
   224  
   225  extern(Windows) export DWORD ImmGetProperty( HKL, DWORD);
   226  
   227  extern(Windows) export BOOL ImmIsIME( HKL);
   228  
   229  extern(Windows) export BOOL ImmSimulateHotKey( HWND, DWORD);
   230  
   231  extern(Windows) export HIMC ImmCreateContext();
   232  extern(Windows) export BOOL ImmDestroyContext( HIMC);
   233  extern(Windows) export HIMC ImmGetContext( HWND);
   234  extern(Windows) export BOOL ImmReleaseContext( HWND, HIMC);
   235  extern(Windows) export HIMC ImmAssociateContext( HWND, HIMC);
   236  // #if (WINVER >= 0x040A)
   237  extern(Windows) export BOOL ImmAssociateContextEx( HWND, HIMC, DWORD);
   238  // #endif /* WINVER >= 0x040A */
   239  
   240  extern(Windows) export LONG ImmGetCompositionStringA( HIMC, DWORD, LPVOID, DWORD);
   241  extern(Windows) export LONG ImmGetCompositionStringW( HIMC, DWORD, LPVOID, DWORD);
   242  // #ifdef UNICODE
   243  // #...
   244  // #else
   245  alias ImmGetCompositionStringA ImmGetCompositionString;
   246  // #endif // !UNICODE
   247  
   248  extern(Windows) export BOOL ImmSetCompositionStringA( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD);
   249  extern(Windows) export BOOL ImmSetCompositionStringW( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD);
   250  // #ifdef UNICODE
   251  // #...
   252  // #else
   253  alias ImmSetCompositionStringA ImmSetCompositionString;
   254  // #endif // !UNICODE
   255  
   256  extern(Windows) export DWORD ImmGetCandidateListCountA( HIMC, LPDWORD lpdwListCount);
   257  extern(Windows) export DWORD ImmGetCandidateListCountW( HIMC, LPDWORD lpdwListCount);
   258  // #ifdef UNICODE
   259  // #...
   260  // #else
   261  alias ImmGetCandidateListCountA ImmGetCandidateListCount;
   262  // #endif // !UNICODE
   263  
   264  extern(Windows) export DWORD ImmGetCandidateListA( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen);
   265  extern(Windows) export DWORD ImmGetCandidateListW( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen);
   266  // #ifdef UNICODE
   267  // #...
   268  // #else
   269  alias ImmGetCandidateListA ImmGetCandidateList;
   270  // #endif // !UNICODE
   271  
   272  extern(Windows) export DWORD ImmGetGuideLineA( HIMC, DWORD dwIndex, LPSTR, DWORD dwBufLen);
   273  extern(Windows) export DWORD ImmGetGuideLineW( HIMC, DWORD dwIndex, LPWSTR, DWORD dwBufLen);
   274  // #ifdef UNICODE
   275  // #...
   276  // #else
   277  alias ImmGetGuideLineA ImmGetGuideLine;
   278  // #endif // !UNICODE
   279  
   280  extern(Windows) export BOOL ImmGetConversionStatus( HIMC, LPDWORD, LPDWORD);
   281  extern(Windows) export BOOL ImmSetConversionStatus( HIMC, DWORD, DWORD);
   282  extern(Windows) export BOOL ImmGetOpenStatus( HIMC);
   283  extern(Windows) export BOOL ImmSetOpenStatus( HIMC, BOOL);
   284  
   285  // #if defined(_WINGDI_) && !defined(NOGDI)
   286  // ...
   287  // #ifdef UNICODE
   288  // #...
   289  // #else
   290  // #...
   291  // #endif // !UNICODE
   292  
   293  // ...
   294  // #ifdef UNICODE
   295  // #...
   296  // #else
   297  // #...
   298  // #endif // !UNICODE
   299  // #endif  // defined(_WINGDI_) && !defined(NOGDI)
   300  
   301  extern(Windows) export BOOL ImmConfigureIMEA( HKL, HWND, DWORD, LPVOID);
   302  extern(Windows) export BOOL ImmConfigureIMEW( HKL, HWND, DWORD, LPVOID);
   303  // #ifdef UNICODE
   304  // #...
   305  // #else
   306  alias ImmConfigureIMEA ImmConfigureIME;
   307  // #endif // !UNICODE
   308  
   309  extern(Windows) export LRESULT ImmEscapeA( HKL, HIMC, UINT, LPVOID);
   310  extern(Windows) export LRESULT ImmEscapeW( HKL, HIMC, UINT, LPVOID);
   311  // #ifdef UNICODE
   312  // #...
   313  // #else
   314  alias ImmEscapeA ImmEscape;
   315  // #endif // !UNICODE
   316  
   317  extern(Windows) export DWORD ImmGetConversionListA( HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag);
   318  extern(Windows) export DWORD ImmGetConversionListW( HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag);
   319  // #ifdef UNICODE
   320  // #...
   321  // #else
   322  alias ImmGetConversionListA ImmGetConversionList;
   323  // #endif // !UNICODE
   324  
   325  extern(Windows) export BOOL ImmNotifyIME( HIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue);
   326  
   327  extern(Windows) export BOOL ImmGetStatusWindowPos( HIMC, LPPOINT);
   328  extern(Windows) export BOOL ImmSetStatusWindowPos( HIMC, LPPOINT);
   329  extern(Windows) export BOOL ImmGetCompositionWindow( HIMC, LPCOMPOSITIONFORM);
   330  extern(Windows) export BOOL ImmSetCompositionWindow( HIMC, LPCOMPOSITIONFORM);
   331  extern(Windows) export BOOL ImmGetCandidateWindow( HIMC, DWORD, LPCANDIDATEFORM);
   332  extern(Windows) export BOOL ImmSetCandidateWindow( HIMC, LPCANDIDATEFORM);
   333  
   334  extern(Windows) export BOOL ImmIsUIMessageA( HWND, UINT, WPARAM, LPARAM);
   335  extern(Windows) export BOOL ImmIsUIMessageW( HWND, UINT, WPARAM, LPARAM);
   336  // #ifdef UNICODE
   337  // #...
   338  // #else
   339  alias ImmIsUIMessageA ImmIsUIMessage;
   340  // #endif // !UNICODE
   341  
   342  extern(Windows) export UINT ImmGetVirtualKey( HWND);
   343  
   344  extern(Windows) alias int function(LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA;
   345  extern(Windows) alias int function(LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW;
   346  // #ifdef UNICODE
   347  // #...
   348  // #else
   349  alias REGISTERWORDENUMPROCA REGISTERWORDENUMPROC;
   350  // #endif // !UNICODE
   351  
   352  extern(Windows) export BOOL ImmRegisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister);
   353  extern(Windows) export BOOL ImmRegisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister);
   354  // #ifdef UNICODE
   355  // #...
   356  // #else
   357  alias ImmRegisterWordA ImmRegisterWord;
   358  // #endif // !UNICODE
   359  
   360  extern(Windows) export BOOL ImmUnregisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszUnregister);
   361  extern(Windows) export BOOL ImmUnregisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszUnregister);
   362  // #ifdef UNICODE
   363  // #...
   364  // #else
   365  alias ImmUnregisterWordA ImmUnregisterWord;
   366  // #endif // !UNICODE
   367  
   368  extern(Windows) export UINT ImmGetRegisterWordStyleA( HKL, UINT nItem, LPSTYLEBUFA);
   369  extern(Windows) export UINT ImmGetRegisterWordStyleW( HKL, UINT nItem, LPSTYLEBUFW);
   370  // #ifdef UNICODE
   371  // #...
   372  // #else
   373  alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle;
   374  // #endif // !UNICODE
   375  
   376  extern(Windows) export UINT ImmEnumRegisterWordA( HKL, REGISTERWORDENUMPROCA, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister, LPVOID);
   377  extern(Windows) export UINT ImmEnumRegisterWordW( HKL, REGISTERWORDENUMPROCW, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister, LPVOID);
   378  // #ifdef UNICODE
   379  // #...
   380  // #else
   381  alias ImmEnumRegisterWordA ImmEnumRegisterWord;
   382  // #endif // !UNICODE
   383  
   384  // #if (WINVER >= 0x040A)
   385  extern(Windows) export BOOL ImmDisableIME( DWORD);
   386  extern(Windows) export BOOL ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam);
   387  extern(Windows) export DWORD ImmGetImeMenuItemsA( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD);
   388  extern(Windows) export DWORD ImmGetImeMenuItemsW( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
   389  // #ifdef UNICODE
   390  // #...
   391  // #else
   392  alias ImmGetImeMenuItemsA ImmGetImeMenuItems;
   393  // #endif // !UNICODE
   394  // #endif /* WINVER >= 0x040A */
   395  
   396  enum : uint { IMC_GETCANDIDATEPOS = 0x0007 }
   397  enum : uint { IMC_SETCANDIDATEPOS = 0x0008 }
   398  enum : uint { IMC_GETCOMPOSITIONFONT = 0x0009 }
   399  enum : uint { IMC_SETCOMPOSITIONFONT = 0x000A }
   400  enum : uint { IMC_GETCOMPOSITIONWINDOW = 0x000B }
   401  enum : uint { IMC_SETCOMPOSITIONWINDOW = 0x000C }
   402  enum : uint { IMC_GETSTATUSWINDOWPOS = 0x000F }
   403  enum : uint { IMC_SETSTATUSWINDOWPOS = 0x0010 }
   404  enum : uint { IMC_CLOSESTATUSWINDOW = 0x0021 }
   405  enum : uint { IMC_OPENSTATUSWINDOW = 0x0022 }
   406  
   407  enum : uint { NI_OPENCANDIDATE = 0x0010 }
   408  enum : uint { NI_CLOSECANDIDATE = 0x0011 }
   409  enum : uint { NI_SELECTCANDIDATESTR = 0x0012 }
   410  enum : uint { NI_CHANGECANDIDATELIST = 0x0013 }
   411  enum : uint { NI_FINALIZECONVERSIONRESULT = 0x0014 }
   412  enum : uint { NI_COMPOSITIONSTR = 0x0015 }
   413  enum : uint { NI_SETCANDIDATE_PAGESTART = 0x0016 }
   414  enum : uint { NI_SETCANDIDATE_PAGESIZE = 0x0017 }
   415  enum : uint { NI_IMEMENUSELECTED = 0x0018 }
   416  
   417  enum : uint { ISC_SHOWUICANDIDATEWINDOW = 0x00000001 }
   418  enum : uint { ISC_SHOWUICOMPOSITIONWINDOW = 0x80000000 }
   419  enum : uint { ISC_SHOWUIGUIDELINE = 0x40000000 }
   420  enum : uint { ISC_SHOWUIALLCANDIDATEWINDOW = 0x0000000F }
   421  enum : uint { ISC_SHOWUIALL = 0xC000000F }
   422  
   423  enum : uint { CPS_COMPLETE = 0x0001 }
   424  enum : uint { CPS_CONVERT = 0x0002 }
   425  enum : uint { CPS_REVERT = 0x0003 }
   426  enum : uint { CPS_CANCEL = 0x0004 }
   427  
   428  enum : uint { MOD_ALT = 0x0001 }
   429  enum : uint { MOD_CONTROL = 0x0002 }
   430  enum : uint { MOD_SHIFT = 0x0004 }
   431  
   432  enum : uint { MOD_LEFT = 0x8000 }
   433  enum : uint { MOD_RIGHT = 0x4000 }
   434  
   435  enum : uint { MOD_ON_KEYUP = 0x0800 }
   436  enum : uint { MOD_IGNORE_ALL_MODIFIER = 0x0400 }
   437  
   438  enum : uint { IME_CHOTKEY_IME_NONIME_TOGGLE = 0x10 }
   439  enum : uint { IME_CHOTKEY_SHAPE_TOGGLE = 0x11 }
   440  enum : uint { IME_CHOTKEY_SYMBOL_TOGGLE = 0x12 }
   441  
   442  enum : uint { IME_JHOTKEY_CLOSE_OPEN = 0x30 }
   443  
   444  enum : uint { IME_KHOTKEY_SHAPE_TOGGLE = 0x50 }
   445  enum : uint { IME_KHOTKEY_HANJACONVERT = 0x51 }
   446  enum : uint { IME_KHOTKEY_ENGLISH = 0x52 }
   447  
   448  enum : uint { IME_THOTKEY_IME_NONIME_TOGGLE = 0x70 }
   449  enum : uint { IME_THOTKEY_SHAPE_TOGGLE = 0x71 }
   450  enum : uint { IME_THOTKEY_SYMBOL_TOGGLE = 0x72 }
   451  
   452  enum : uint { IME_HOTKEY_DSWITCH_FIRST = 0x100 }
   453  enum : uint { IME_HOTKEY_DSWITCH_LAST = 0x11F }
   454  
   455  enum : uint { IME_HOTKEY_PRIVATE_FIRST = 0x200 }
   456  enum : uint { IME_ITHOTKEY_RESEND_RESULTSTR = 0x200 }
   457  enum : uint { IME_ITHOTKEY_PREVIOUS_COMPOSITION = 0x201 }
   458  enum : uint { IME_ITHOTKEY_UISTYLE_TOGGLE = 0x202 }
   459  enum : uint { IME_ITHOTKEY_RECONVERTSTRING = 0x203 }
   460  enum : uint { IME_HOTKEY_PRIVATE_LAST = 0x21F }
   461  
   462  enum : uint { GCS_COMPREADSTR = 0x0001 }
   463  enum : uint { GCS_COMPREADATTR = 0x0002 }
   464  enum : uint { GCS_COMPREADCLAUSE = 0x0004 }
   465  enum : uint { GCS_COMPSTR = 0x0008 }
   466  enum : uint { GCS_COMPATTR = 0x0010 }
   467  enum : uint { GCS_COMPCLAUSE = 0x0020 }
   468  enum : uint { GCS_CURSORPOS = 0x0080 }
   469  enum : uint { GCS_DELTASTART = 0x0100 }
   470  enum : uint { GCS_RESULTREADSTR = 0x0200 }
   471  enum : uint { GCS_RESULTREADCLAUSE = 0x0400 }
   472  enum : uint { GCS_RESULTSTR = 0x0800 }
   473  enum : uint { GCS_RESULTCLAUSE = 0x1000 }
   474  
   475  enum : uint { CS_INSERTCHAR = 0x2000 }
   476  enum : uint { CS_NOMOVECARET = 0x4000 }
   477  
   478  enum : uint { IMEVER_0310 = 0x0003000A }
   479  enum : uint { IMEVER_0400 = 0x00040000 }
   480  
   481  enum : uint { IME_PROP_AT_CARET = 0x00010000 }
   482  enum : uint { IME_PROP_SPECIAL_UI = 0x00020000 }
   483  enum : uint { IME_PROP_CANDLIST_START_FROM_1 = 0x00040000 }
   484  enum : uint { IME_PROP_UNICODE = 0x00080000 }
   485  enum : uint { IME_PROP_COMPLETE_ON_UNSELECT = 0x00100000 }
   486  
   487  enum : uint { UI_CAP_2700 = 0x00000001 }
   488  enum : uint { UI_CAP_ROT90 = 0x00000002 }
   489  enum : uint { UI_CAP_ROTANY = 0x00000004 }
   490  
   491  enum : uint { SCS_CAP_COMPSTR = 0x00000001 }
   492  enum : uint { SCS_CAP_MAKEREAD = 0x00000002 }
   493  enum : uint { SCS_CAP_SETRECONVERTSTRING = 0x00000004 }
   494  
   495  enum : uint { SELECT_CAP_CONVERSION = 0x00000001 }
   496  enum : uint { SELECT_CAP_SENTENCE = 0x00000002 }
   497  
   498  enum : uint { GGL_LEVEL = 0x00000001 }
   499  enum : uint { GGL_INDEX = 0x00000002 }
   500  enum : uint { GGL_STRING = 0x00000003 }
   501  enum : uint { GGL_PRIVATE = 0x00000004 }
   502  
   503  enum : uint { GL_LEVEL_NOGUIDELINE = 0x00000000 }
   504  enum : uint { GL_LEVEL_FATAL = 0x00000001 }
   505  enum : uint { GL_LEVEL_ERROR = 0x00000002 }
   506  enum : uint { GL_LEVEL_WARNING = 0x00000003 }
   507  enum : uint { GL_LEVEL_INFORMATION = 0x00000004 }
   508  
   509  enum : uint { GL_ID_UNKNOWN = 0x00000000 }
   510  enum : uint { GL_ID_NOMODULE = 0x00000001 }
   511  enum : uint { GL_ID_NODICTIONARY = 0x00000010 }
   512  enum : uint { GL_ID_CANNOTSAVE = 0x00000011 }
   513  enum : uint { GL_ID_NOCONVERT = 0x00000020 }
   514  enum : uint { GL_ID_TYPINGERROR = 0x00000021 }
   515  enum : uint { GL_ID_TOOMANYSTROKE = 0x00000022 }
   516  enum : uint { GL_ID_READINGCONFLICT = 0x00000023 }
   517  enum : uint { GL_ID_INPUTREADING = 0x00000024 }
   518  enum : uint { GL_ID_INPUTRADICAL = 0x00000025 }
   519  enum : uint { GL_ID_INPUTCODE = 0x00000026 }
   520  enum : uint { GL_ID_INPUTSYMBOL = 0x00000027 }
   521  enum : uint { GL_ID_CHOOSECANDIDATE = 0x00000028 }
   522  enum : uint { GL_ID_REVERSECONVERSION = 0x00000029 }
   523  enum : uint { GL_ID_PRIVATE_FIRST = 0x00008000 }
   524  enum : uint { GL_ID_PRIVATE_LAST = 0x0000FFFF }
   525  
   526  enum : DWORD { IGP_GETIMEVERSION = cast(DWORD)-4 }
   527  enum : uint { IGP_PROPERTY = 0x00000004 }
   528  enum : uint { IGP_CONVERSION = 0x00000008 }
   529  enum : uint { IGP_SENTENCE = 0x0000000c }
   530  enum : uint { IGP_UI = 0x00000010 }
   531  enum : uint { IGP_SETCOMPSTR = 0x00000014 }
   532  enum : uint { IGP_SELECT = 0x00000018 }
   533  
   534  enum : uint { SCS_SETSTR = GCS_COMPREADSTR|GCS_COMPSTR }
   535  enum : uint { SCS_CHANGEATTR = GCS_COMPREADATTR|GCS_COMPATTR }
   536  enum : uint { SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE }
   537  enum : uint { SCS_SETRECONVERTSTRING = 0x00010000 }
   538  enum : uint { SCS_QUERYRECONVERTSTRING = 0x00020000 }
   539  
   540  enum : uint { ATTR_INPUT = 0x00 }
   541  enum : uint { ATTR_TARGET_CONVERTED = 0x01 }
   542  enum : uint { ATTR_CONVERTED = 0x02 }
   543  enum : uint { ATTR_TARGET_NOTCONVERTED = 0x03 }
   544  enum : uint { ATTR_INPUT_ERROR = 0x04 }
   545  enum : uint { ATTR_FIXEDCONVERTED = 0x05 }
   546  
   547  enum : uint { CFS_DEFAULT = 0x0000 }
   548  enum : uint { CFS_RECT = 0x0001 }
   549  enum : uint { CFS_POINT = 0x0002 }
   550  enum : uint { CFS_FORCE_POSITION = 0x0020 }
   551  enum : uint { CFS_CANDIDATEPOS = 0x0040 }
   552  enum : uint { CFS_EXCLUDE = 0x0080 }
   553  
   554  enum : uint { GCL_CONVERSION = 0x0001 }
   555  enum : uint { GCL_REVERSECONVERSION = 0x0002 }
   556  enum : uint { GCL_REVERSE_LENGTH = 0x0003 }
   557  
   558  enum : uint { IME_CMODE_ALPHANUMERIC = 0x0000 }
   559  enum : uint { IME_CMODE_NATIVE = 0x0001 }
   560  alias IME_CMODE_NATIVE IME_CMODE_CHINESE;
   561  
   562  alias IME_CMODE_NATIVE IME_CMODE_HANGEUL;
   563  alias IME_CMODE_NATIVE IME_CMODE_HANGUL;
   564  alias IME_CMODE_NATIVE IME_CMODE_JAPANESE;
   565  enum : uint { IME_CMODE_KATAKANA = 0x0002 }
   566  enum : uint { IME_CMODE_LANGUAGE = 0x0003 }
   567  enum : uint { IME_CMODE_FULLSHAPE = 0x0008 }
   568  enum : uint { IME_CMODE_ROMAN = 0x0010 }
   569  enum : uint { IME_CMODE_CHARCODE = 0x0020 }
   570  enum : uint { IME_CMODE_HANJACONVERT = 0x0040 }
   571  enum : uint { IME_CMODE_SOFTKBD = 0x0080 }
   572  enum : uint { IME_CMODE_NOCONVERSION = 0x0100 }
   573  enum : uint { IME_CMODE_EUDC = 0x0200 }
   574  enum : uint { IME_CMODE_SYMBOL = 0x0400 }
   575  enum : uint { IME_CMODE_FIXED = 0x0800 }
   576  
   577  enum : uint { IME_SMODE_NONE = 0x0000 }
   578  enum : uint { IME_SMODE_PLAURALCLAUSE = 0x0001 }
   579  enum : uint { IME_SMODE_SINGLECONVERT = 0x0002 }
   580  enum : uint { IME_SMODE_AUTOMATIC = 0x0004 }
   581  enum : uint { IME_SMODE_PHRASEPREDICT = 0x0008 }
   582  enum : uint { IME_SMODE_CONVERSATION = 0x0010 }
   583  
   584  enum : uint { IME_CAND_UNKNOWN = 0x0000 }
   585  enum : uint { IME_CAND_READ = 0x0001 }
   586  enum : uint { IME_CAND_CODE = 0x0002 }
   587  enum : uint { IME_CAND_MEANING = 0x0003 }
   588  enum : uint { IME_CAND_RADICAL = 0x0004 }
   589  enum : uint { IME_CAND_STROKE = 0x0005 }
   590  
   591  enum : uint { IMN_CLOSESTATUSWINDOW = 0x0001 }
   592  enum : uint { IMN_OPENSTATUSWINDOW = 0x0002 }
   593  enum : uint { IMN_CHANGECANDIDATE = 0x0003 }
   594  enum : uint { IMN_CLOSECANDIDATE = 0x0004 }
   595  enum : uint { IMN_OPENCANDIDATE = 0x0005 }
   596  enum : uint { IMN_SETCONVERSIONMODE = 0x0006 }
   597  enum : uint { IMN_SETSENTENCEMODE = 0x0007 }
   598  enum : uint { IMN_SETOPENSTATUS = 0x0008 }
   599  enum : uint { IMN_SETCANDIDATEPOS = 0x0009 }
   600  enum : uint { IMN_SETCOMPOSITIONFONT = 0x000A }
   601  enum : uint { IMN_SETCOMPOSITIONWINDOW = 0x000B }
   602  enum : uint { IMN_SETSTATUSWINDOWPOS = 0x000C }
   603  enum : uint { IMN_GUIDELINE = 0x000D }
   604  enum : uint { IMN_PRIVATE = 0x000E }
   605  
   606  // #if (WINVER >= 0x040A)
   607  
   608  enum : uint { IMR_COMPOSITIONWINDOW = 0x0001 }
   609  enum : uint { IMR_CANDIDATEWINDOW = 0x0002 }
   610  enum : uint { IMR_COMPOSITIONFONT = 0x0003 }
   611  enum : uint { IMR_RECONVERTSTRING = 0x0004 }
   612  enum : uint { IMR_CONFIRMRECONVERTSTRING = 0x0005 }
   613  enum : uint { IMR_QUERYCHARPOSITION = 0x0006 }
   614  enum : uint { IMR_DOCUMENTFEED = 0x0007 }
   615  // #endif /* WINVER >= 0x040A */
   616  
   617  enum { IMM_ERROR_NODATA = -1 }
   618  enum { IMM_ERROR_GENERAL = -2 }
   619  
   620  enum : uint { IME_CONFIG_GENERAL = 1 }
   621  enum : uint { IME_CONFIG_REGISTERWORD = 2 }
   622  enum : uint { IME_CONFIG_SELECTDICTIONARY = 3 }
   623  
   624  enum : uint { IME_ESC_QUERY_SUPPORT = 0x0003 }
   625  enum : uint { IME_ESC_RESERVED_FIRST = 0x0004 }
   626  enum : uint { IME_ESC_RESERVED_LAST = 0x07FF }
   627  enum : uint { IME_ESC_PRIVATE_FIRST = 0x0800 }
   628  enum : uint { IME_ESC_PRIVATE_LAST = 0x0FFF }
   629  
   630  enum : uint { IME_ESC_SEQUENCE_TO_INTERNAL = 0x1001 }
   631  enum : uint { IME_ESC_GET_EUDC_DICTIONARY = 0x1003 }
   632  enum : uint { IME_ESC_SET_EUDC_DICTIONARY = 0x1004 }
   633  enum : uint { IME_ESC_MAX_KEY = 0x1005 }
   634  enum : uint { IME_ESC_IME_NAME = 0x1006 }
   635  enum : uint { IME_ESC_SYNC_HOTKEY = 0x1007 }
   636  enum : uint { IME_ESC_HANJA_MODE = 0x1008 }
   637  enum : uint { IME_ESC_AUTOMATA = 0x1009 }
   638  enum : uint { IME_ESC_PRIVATE_HOTKEY = 0x100a }
   639  enum : uint { IME_ESC_GETHELPFILENAME = 0x100b }
   640  
   641  enum : uint { IME_REGWORD_STYLE_EUDC = 0x00000001 }
   642  enum : uint { IME_REGWORD_STYLE_USER_FIRST = 0x80000000 }
   643  enum : uint { IME_REGWORD_STYLE_USER_LAST = 0xFFFFFFFF }
   644  
   645  // #if (WINVER >= 0x040A)
   646  
   647  enum : uint { IACE_CHILDREN = 0x0001 }
   648  enum : uint { IACE_DEFAULT = 0x0010 }
   649  enum : uint { IACE_IGNORENOCONTEXT = 0x0020 }
   650  
   651  enum : uint { IGIMIF_RIGHTMENU = 0x0001 }
   652  
   653  enum : uint { IGIMII_CMODE = 0x0001 }
   654  enum : uint { IGIMII_SMODE = 0x0002 }
   655  enum : uint { IGIMII_CONFIGURE = 0x0004 }
   656  enum : uint { IGIMII_TOOLS = 0x0008 }
   657  enum : uint { IGIMII_HELP = 0x0010 }
   658  enum : uint { IGIMII_OTHER = 0x0020 }
   659  enum : uint { IGIMII_INPUTTOOLS = 0x0040 }
   660  
   661  enum : uint { IMFT_RADIOCHECK = 0x00001 }
   662  enum : uint { IMFT_SEPARATOR = 0x00002 }
   663  enum : uint { IMFT_SUBMENU = 0x00004 }
   664  
   665  alias MFS_GRAYED IMFS_GRAYED;
   666  alias MFS_DISABLED IMFS_DISABLED;
   667  alias MFS_CHECKED IMFS_CHECKED;
   668  alias MFS_HILITE IMFS_HILITE;
   669  alias MFS_ENABLED IMFS_ENABLED;
   670  alias MFS_UNCHECKED IMFS_UNCHECKED;
   671  alias MFS_UNHILITE IMFS_UNHILITE;
   672  alias MFS_DEFAULT IMFS_DEFAULT;
   673  
   674  // #endif /* WINVER >= 0x040A */
   675  
   676  enum : uint { SOFTKEYBOARD_TYPE_T1 = 0x0001 }
   677  
   678  enum : uint { SOFTKEYBOARD_TYPE_C1 = 0x0002 }
   679  
   680  // #endif  // _IMM_SDK_DEFINED_
   681  
   682  // #ifdef __cplusplus
   683  // }
   684  // #endif
   685  
   686  // #endif  // _IMM_