File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                                 imm.d                                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
c2b7a98c21 2011-02-23        kinaba: module win32.imm;
4e2933c620 2015-04-21        kinaba: pragma(lib, "imm32.lib");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: import win32.windef, win32.wingdi;
4e2933c620 2015-04-21        kinaba: import win32.winuser; // for the MFS_xxx enums.
4e2933c620 2015-04-21        kinaba: private import win32.w32api;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const WM_CONVERTREQUESTEX     = 0x108;
4e2933c620 2015-04-21        kinaba: const WM_IME_STARTCOMPOSITION = 0x10D;
4e2933c620 2015-04-21        kinaba: const WM_IME_ENDCOMPOSITION   = 0x10E;
4e2933c620 2015-04-21        kinaba: const WM_IME_COMPOSITION      = 0x10F;
4e2933c620 2015-04-21        kinaba: const WM_IME_KEYLAST          = 0x10F;
4e2933c620 2015-04-21        kinaba: const WM_IME_SETCONTEXT       = 0x281;
4e2933c620 2015-04-21        kinaba: const WM_IME_NOTIFY           = 0x282;
4e2933c620 2015-04-21        kinaba: const WM_IME_CONTROL          = 0x283;
4e2933c620 2015-04-21        kinaba: const WM_IME_COMPOSITIONFULL  = 0x284;
4e2933c620 2015-04-21        kinaba: const WM_IME_SELECT           = 0x285;
4e2933c620 2015-04-21        kinaba: const WM_IME_CHAR             = 0x286;
4e2933c620 2015-04-21        kinaba: static if (WINVER >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	const WM_IME_REQUEST      = 0x288;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: const WM_IME_KEYDOWN          = 0x290;
4e2933c620 2015-04-21        kinaba: const WM_IME_KEYUP            = 0x291;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IMC_GETCANDIDATEPOS=7;
4e2933c620 2015-04-21        kinaba: const IMC_SETCANDIDATEPOS=8;
4e2933c620 2015-04-21        kinaba: const IMC_GETCOMPOSITIONFONT=9;
4e2933c620 2015-04-21        kinaba: const IMC_SETCOMPOSITIONFONT=10;
4e2933c620 2015-04-21        kinaba: const IMC_GETCOMPOSITIONWINDOW=11;
4e2933c620 2015-04-21        kinaba: const IMC_SETCOMPOSITIONWINDOW=12;
4e2933c620 2015-04-21        kinaba: const IMC_GETSTATUSWINDOWPOS=15;
4e2933c620 2015-04-21        kinaba: const IMC_SETSTATUSWINDOWPOS=16;
4e2933c620 2015-04-21        kinaba: const IMC_CLOSESTATUSWINDOW=0x21;
4e2933c620 2015-04-21        kinaba: const IMC_OPENSTATUSWINDOW=0x22;
4e2933c620 2015-04-21        kinaba: const IMN_CLOSESTATUSWINDOW=1;
4e2933c620 2015-04-21        kinaba: const IMN_OPENSTATUSWINDOW=2;
4e2933c620 2015-04-21        kinaba: const IMN_CHANGECANDIDATE=3;
4e2933c620 2015-04-21        kinaba: const IMN_CLOSECANDIDATE=4;
4e2933c620 2015-04-21        kinaba: const IMN_OPENCANDIDATE=5;
4e2933c620 2015-04-21        kinaba: const IMN_SETCONVERSIONMODE=6;
4e2933c620 2015-04-21        kinaba: const IMN_SETSENTENCEMODE=7;
4e2933c620 2015-04-21        kinaba: const IMN_SETOPENSTATUS=8;
4e2933c620 2015-04-21        kinaba: const IMN_SETCANDIDATEPOS=9;
4e2933c620 2015-04-21        kinaba: const IMN_SETCOMPOSITIONFONT=10;
4e2933c620 2015-04-21        kinaba: const IMN_SETCOMPOSITIONWINDOW=11;
4e2933c620 2015-04-21        kinaba: const IMN_SETSTATUSWINDOWPOS=12;
4e2933c620 2015-04-21        kinaba: const IMN_GUIDELINE=13;
4e2933c620 2015-04-21        kinaba: const IMN_PRIVATE=14;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const NI_OPENCANDIDATE=16;
4e2933c620 2015-04-21        kinaba: const NI_CLOSECANDIDATE=17;
4e2933c620 2015-04-21        kinaba: const NI_SELECTCANDIDATESTR=18;
4e2933c620 2015-04-21        kinaba: const NI_CHANGECANDIDATELIST=19;
4e2933c620 2015-04-21        kinaba: const NI_FINALIZECONVERSIONRESULT=20;
4e2933c620 2015-04-21        kinaba: const NI_COMPOSITIONSTR=21;
4e2933c620 2015-04-21        kinaba: const NI_SETCANDIDATE_PAGESTART=22;
4e2933c620 2015-04-21        kinaba: const NI_SETCANDIDATE_PAGESIZE=23;
4e2933c620 2015-04-21        kinaba: const NI_IMEMENUSELECTED=24;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const ISC_SHOWUICANDIDATEWINDOW=1;
4e2933c620 2015-04-21        kinaba: const ISC_SHOWUICOMPOSITIONWINDOW=0x80000000;
4e2933c620 2015-04-21        kinaba: const ISC_SHOWUIGUIDELINE=0x40000000;
4e2933c620 2015-04-21        kinaba: const ISC_SHOWUIALLCANDIDATEWINDOW=15;
4e2933c620 2015-04-21        kinaba: const ISC_SHOWUIALL=0xC000000F;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const CPS_COMPLETE=1;
4e2933c620 2015-04-21        kinaba: const CPS_CONVERT=2;
4e2933c620 2015-04-21        kinaba: const CPS_REVERT=3;
4e2933c620 2015-04-21        kinaba: const CPS_CANCEL=4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IME_CHOTKEY_IME_NONIME_TOGGLE=16;
4e2933c620 2015-04-21        kinaba: const IME_CHOTKEY_SHAPE_TOGGLE=17;
4e2933c620 2015-04-21        kinaba: const IME_CHOTKEY_SYMBOL_TOGGLE=18;
4e2933c620 2015-04-21        kinaba: const IME_JHOTKEY_CLOSE_OPEN=0x30;
4e2933c620 2015-04-21        kinaba: const IME_KHOTKEY_SHAPE_TOGGLE=0x50;
4e2933c620 2015-04-21        kinaba: const IME_KHOTKEY_HANJACONVERT=0x51;
4e2933c620 2015-04-21        kinaba: const IME_KHOTKEY_ENGLISH=0x52;
4e2933c620 2015-04-21        kinaba: const IME_THOTKEY_IME_NONIME_TOGGLE=0x70;
4e2933c620 2015-04-21        kinaba: const IME_THOTKEY_SHAPE_TOGGLE=0x71;
4e2933c620 2015-04-21        kinaba: const IME_THOTKEY_SYMBOL_TOGGLE=0x72;
4e2933c620 2015-04-21        kinaba: const IME_HOTKEY_DSWITCH_FIRST=256;
4e2933c620 2015-04-21        kinaba: const IME_HOTKEY_DSWITCH_LAST=0x11F;
4e2933c620 2015-04-21        kinaba: const IME_ITHOTKEY_RESEND_RESULTSTR=512;
4e2933c620 2015-04-21        kinaba: const IME_ITHOTKEY_PREVIOUS_COMPOSITION=513;
4e2933c620 2015-04-21        kinaba: const IME_ITHOTKEY_UISTYLE_TOGGLE=514;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const GCS_COMPREADSTR=1;
4e2933c620 2015-04-21        kinaba: const GCS_COMPREADATTR=2;
4e2933c620 2015-04-21        kinaba: const GCS_COMPREADCLAUSE=4;
4e2933c620 2015-04-21        kinaba: const GCS_COMPSTR=8;
4e2933c620 2015-04-21        kinaba: const GCS_COMPATTR=16;
4e2933c620 2015-04-21        kinaba: const GCS_COMPCLAUSE=32;
4e2933c620 2015-04-21        kinaba: const GCS_CURSORPOS=128;
4e2933c620 2015-04-21        kinaba: const GCS_DELTASTART=256;
4e2933c620 2015-04-21        kinaba: const GCS_RESULTREADSTR=512;
4e2933c620 2015-04-21        kinaba: const GCS_RESULTREADCLAUSE=1024;
4e2933c620 2015-04-21        kinaba: const GCS_RESULTSTR=2048;
4e2933c620 2015-04-21        kinaba: const GCS_RESULTCLAUSE=4096;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const CS_INSERTCHAR=0x2000;
4e2933c620 2015-04-21        kinaba: const CS_NOMOVECARET=0x4000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IMEVER_0310=0x3000A;
4e2933c620 2015-04-21        kinaba: const IMEVER_0400=0x40000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IME_PROP_AT_CARET=0x10000;
4e2933c620 2015-04-21        kinaba: const IME_PROP_SPECIAL_UI=0x20000;
4e2933c620 2015-04-21        kinaba: const IME_PROP_CANDLIST_START_FROM_1=0x40000;
4e2933c620 2015-04-21        kinaba: const IME_PROP_UNICODE=0x80000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const UI_CAP_2700=1;
4e2933c620 2015-04-21        kinaba: const UI_CAP_ROT90=2;
4e2933c620 2015-04-21        kinaba: const UI_CAP_ROTANY=4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SCS_CAP_COMPSTR=1;
4e2933c620 2015-04-21        kinaba: const SCS_CAP_MAKEREAD=2;
4e2933c620 2015-04-21        kinaba: const SELECT_CAP_CONVERSION=1;
4e2933c620 2015-04-21        kinaba: const SELECT_CAP_SENTENCE=2;
4e2933c620 2015-04-21        kinaba: const GGL_LEVEL=1;
4e2933c620 2015-04-21        kinaba: const GGL_INDEX=2;
4e2933c620 2015-04-21        kinaba: const GGL_STRING=3;
4e2933c620 2015-04-21        kinaba: const GGL_PRIVATE=4;
4e2933c620 2015-04-21        kinaba: const GL_LEVEL_NOGUIDELINE=0;
4e2933c620 2015-04-21        kinaba: const GL_LEVEL_FATAL=1;
4e2933c620 2015-04-21        kinaba: const GL_LEVEL_ERROR=2;
4e2933c620 2015-04-21        kinaba: const GL_LEVEL_WARNING=3;
4e2933c620 2015-04-21        kinaba: const GL_LEVEL_INFORMATION=4;
4e2933c620 2015-04-21        kinaba: const GL_ID_UNKNOWN=0;
4e2933c620 2015-04-21        kinaba: const GL_ID_NOMODULE=1;
4e2933c620 2015-04-21        kinaba: const GL_ID_NODICTIONARY=16;
4e2933c620 2015-04-21        kinaba: const GL_ID_CANNOTSAVE=17;
4e2933c620 2015-04-21        kinaba: const GL_ID_NOCONVERT=32;
4e2933c620 2015-04-21        kinaba: const GL_ID_TYPINGERROR=33;
4e2933c620 2015-04-21        kinaba: const GL_ID_TOOMANYSTROKE=34;
4e2933c620 2015-04-21        kinaba: const GL_ID_READINGCONFLICT=35;
4e2933c620 2015-04-21        kinaba: const GL_ID_INPUTREADING=36;
4e2933c620 2015-04-21        kinaba: const GL_ID_INPUTRADICAL=37;
4e2933c620 2015-04-21        kinaba: const GL_ID_INPUTCODE=38;
4e2933c620 2015-04-21        kinaba: const GL_ID_INPUTSYMBOL=39;
4e2933c620 2015-04-21        kinaba: const GL_ID_CHOOSECANDIDATE=40;
4e2933c620 2015-04-21        kinaba: const GL_ID_REVERSECONVERSION=41;
4e2933c620 2015-04-21        kinaba: const GL_ID_PRIVATE_FIRST=0x8000;
4e2933c620 2015-04-21        kinaba: const GL_ID_PRIVATE_LAST=0xFFFF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD IGP_GETIMEVERSION = -4;
4e2933c620 2015-04-21        kinaba: const IGP_PROPERTY=4;
4e2933c620 2015-04-21        kinaba: const IGP_CONVERSION=8;
4e2933c620 2015-04-21        kinaba: const IGP_SENTENCE=12;
4e2933c620 2015-04-21        kinaba: const IGP_UI=16;
4e2933c620 2015-04-21        kinaba: const IGP_SETCOMPSTR=0x14;
4e2933c620 2015-04-21        kinaba: const IGP_SELECT=0x18;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SCS_SETSTR       = GCS_COMPREADSTR|GCS_COMPSTR;
4e2933c620 2015-04-21        kinaba: const SCS_CHANGEATTR   = GCS_COMPREADATTR|GCS_COMPATTR;
4e2933c620 2015-04-21        kinaba: const SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const ATTR_INPUT=0;
4e2933c620 2015-04-21        kinaba: const ATTR_TARGET_CONVERTED=1;
4e2933c620 2015-04-21        kinaba: const ATTR_CONVERTED=2;
4e2933c620 2015-04-21        kinaba: const ATTR_TARGET_NOTCONVERTED=3;
4e2933c620 2015-04-21        kinaba: const ATTR_INPUT_ERROR=4;
4e2933c620 2015-04-21        kinaba: const ATTR_FIXEDCONVERTED=5;
4e2933c620 2015-04-21        kinaba: const CFS_DEFAULT=0;
4e2933c620 2015-04-21        kinaba: const CFS_RECT=1;
4e2933c620 2015-04-21        kinaba: const CFS_POINT=2;
4e2933c620 2015-04-21        kinaba: const CFS_SCREEN=4;
4e2933c620 2015-04-21        kinaba: const CFS_FORCE_POSITION=32;
4e2933c620 2015-04-21        kinaba: const CFS_CANDIDATEPOS=64;
4e2933c620 2015-04-21        kinaba: const CFS_EXCLUDE=128;
4e2933c620 2015-04-21        kinaba: const GCL_CONVERSION=1;
4e2933c620 2015-04-21        kinaba: const GCL_REVERSECONVERSION=2;
4e2933c620 2015-04-21        kinaba: const GCL_REVERSE_LENGTH=3;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IME_CMODE_ALPHANUMERIC=0;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_NATIVE=1;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_CHINESE=IME_CMODE_NATIVE;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_HANGEUL=IME_CMODE_NATIVE;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_HANGUL=IME_CMODE_NATIVE;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_JAPANESE=IME_CMODE_NATIVE;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_KATAKANA=2;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_LANGUAGE=3;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_FULLSHAPE=8;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_ROMAN=16;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_CHARCODE=32;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_HANJACONVERT=64;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_SOFTKBD=128;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_NOCONVERSION=256;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_EUDC=512;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_SYMBOL=1024;
4e2933c620 2015-04-21        kinaba: const IME_CMODE_FIXED=2048;
4e2933c620 2015-04-21        kinaba: const IME_SMODE_NONE=0;
4e2933c620 2015-04-21        kinaba: const IME_SMODE_PLAURALCLAUSE=1;
4e2933c620 2015-04-21        kinaba: const IME_SMODE_SINGLECONVERT=2;
4e2933c620 2015-04-21        kinaba: const IME_SMODE_AUTOMATIC=4;
4e2933c620 2015-04-21        kinaba: const IME_SMODE_PHRASEPREDICT=8;
4e2933c620 2015-04-21        kinaba: const IME_CAND_UNKNOWN=0;
4e2933c620 2015-04-21        kinaba: const IME_CAND_READ=1;
4e2933c620 2015-04-21        kinaba: const IME_CAND_CODE=2;
4e2933c620 2015-04-21        kinaba: const IME_CAND_MEANING=3;
4e2933c620 2015-04-21        kinaba: const IME_CAND_RADICAL=4;
4e2933c620 2015-04-21        kinaba: const IME_CAND_STROKE=5;
4e2933c620 2015-04-21        kinaba: const IMM_ERROR_NODATA=(-1);
4e2933c620 2015-04-21        kinaba: const IMM_ERROR_GENERAL=(-2);
4e2933c620 2015-04-21        kinaba: const IME_CONFIG_GENERAL=1;
4e2933c620 2015-04-21        kinaba: const IME_CONFIG_REGISTERWORD=2;
4e2933c620 2015-04-21        kinaba: const IME_CONFIG_SELECTDICTIONARY=3;
4e2933c620 2015-04-21        kinaba: const IME_ESC_QUERY_SUPPORT=3;
4e2933c620 2015-04-21        kinaba: const IME_ESC_RESERVED_FIRST=4;
4e2933c620 2015-04-21        kinaba: const IME_ESC_RESERVED_LAST=0x7FF;
4e2933c620 2015-04-21        kinaba: const IME_ESC_PRIVATE_FIRST=0x800;
4e2933c620 2015-04-21        kinaba: const IME_ESC_PRIVATE_LAST=0xFFF;
4e2933c620 2015-04-21        kinaba: const IME_ESC_SEQUENCE_TO_INTERNAL=0x1001;
4e2933c620 2015-04-21        kinaba: const IME_ESC_GET_EUDC_DICTIONARY=0x1003;
4e2933c620 2015-04-21        kinaba: const IME_ESC_SET_EUDC_DICTIONARY=0x1004;
4e2933c620 2015-04-21        kinaba: const IME_ESC_MAX_KEY=0x1005;
4e2933c620 2015-04-21        kinaba: const IME_ESC_IME_NAME=0x1006;
4e2933c620 2015-04-21        kinaba: const IME_ESC_SYNC_HOTKEY=0x1007;
4e2933c620 2015-04-21        kinaba: const IME_ESC_HANJA_MODE=0x1008;
4e2933c620 2015-04-21        kinaba: const IME_ESC_AUTOMATA=0x1009;
4e2933c620 2015-04-21        kinaba: const IME_REGWORD_STYLE_EUDC=1;
4e2933c620 2015-04-21        kinaba: const IME_REGWORD_STYLE_USER_FIRST=0x80000000;
4e2933c620 2015-04-21        kinaba: const IME_REGWORD_STYLE_USER_LAST=0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SOFTKEYBOARD_TYPE_T1=1;
4e2933c620 2015-04-21        kinaba: const SOFTKEYBOARD_TYPE_C1=2;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IMEMENUITEM_STRING_SIZE=80;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const MOD_ALT=1;
4e2933c620 2015-04-21        kinaba: const MOD_CONTROL=2;
4e2933c620 2015-04-21        kinaba: const MOD_SHIFT=4;
4e2933c620 2015-04-21        kinaba: const MOD_WIN=8;
4e2933c620 2015-04-21        kinaba: const MOD_IGNORE_ALL_MODIFIER=1024;
4e2933c620 2015-04-21        kinaba: const MOD_ON_KEYUP=2048;
4e2933c620 2015-04-21        kinaba: const MOD_RIGHT=16384;
4e2933c620 2015-04-21        kinaba: const MOD_LEFT=32768;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IACE_CHILDREN=1;
4e2933c620 2015-04-21        kinaba: const IACE_DEFAULT=16;
4e2933c620 2015-04-21        kinaba: const IACE_IGNORENOCONTEXT=32;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IGIMIF_RIGHTMENU=1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IGIMII_CMODE=1;
4e2933c620 2015-04-21        kinaba: const IGIMII_SMODE=2;
4e2933c620 2015-04-21        kinaba: const IGIMII_CONFIGURE=4;
4e2933c620 2015-04-21        kinaba: const IGIMII_TOOLS=8;
4e2933c620 2015-04-21        kinaba: const IGIMII_HELP=16;
4e2933c620 2015-04-21        kinaba: const IGIMII_OTHER=32;
4e2933c620 2015-04-21        kinaba: const IGIMII_INPUTTOOLS=64;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IMFT_RADIOCHECK=1;
4e2933c620 2015-04-21        kinaba: const IMFT_SEPARATOR=2;
4e2933c620 2015-04-21        kinaba: const IMFT_SUBMENU=4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IMFS_GRAYED=MFS_GRAYED;
4e2933c620 2015-04-21        kinaba: const IMFS_DISABLED=MFS_DISABLED;
4e2933c620 2015-04-21        kinaba: const IMFS_CHECKED=MFS_CHECKED;
4e2933c620 2015-04-21        kinaba: const IMFS_HILITE=MFS_HILITE;
4e2933c620 2015-04-21        kinaba: const IMFS_ENABLED=MFS_ENABLED;
4e2933c620 2015-04-21        kinaba: const IMFS_UNCHECKED=MFS_UNCHECKED;
4e2933c620 2015-04-21        kinaba: const IMFS_UNHILITE=MFS_UNHILITE;
4e2933c620 2015-04-21        kinaba: const IMFS_DEFAULT=MFS_DEFAULT;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const STYLE_DESCRIPTION_SIZE=32;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias DWORD HIMC;
4e2933c620 2015-04-21        kinaba: alias DWORD HIMCC;
c2b7a98c21 2011-02-23        kinaba: alias HKL* LPHKL;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct COMPOSITIONFORM{
4e2933c620 2015-04-21        kinaba: 	DWORD dwStyle;
4e2933c620 2015-04-21        kinaba: 	POINT ptCurrentPos;
4e2933c620 2015-04-21        kinaba: 	RECT rcArea;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias COMPOSITIONFORM* PCOMPOSITIONFORM, LPCOMPOSITIONFORM;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CANDIDATEFORM{
4e2933c620 2015-04-21        kinaba: 	DWORD dwIndex;
4e2933c620 2015-04-21        kinaba: 	DWORD dwStyle;
4e2933c620 2015-04-21        kinaba: 	POINT ptCurrentPos;
4e2933c620 2015-04-21        kinaba: 	RECT rcArea;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CANDIDATEFORM* PCANDIDATEFORM, LPCANDIDATEFORM;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CANDIDATELIST{
4e2933c620 2015-04-21        kinaba: 	DWORD dwSize;
4e2933c620 2015-04-21        kinaba: 	DWORD dwStyle;
4e2933c620 2015-04-21        kinaba: 	DWORD dwCount;
4e2933c620 2015-04-21        kinaba: 	DWORD dwSelection;
4e2933c620 2015-04-21        kinaba: 	DWORD dwPageStart;
4e2933c620 2015-04-21        kinaba: 	DWORD dwPageSize;
4e2933c620 2015-04-21        kinaba: 	DWORD dwOffset[1];
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct REGISTERWORDA{
4e2933c620 2015-04-21        kinaba: 	LPSTR lpReading;
4e2933c620 2015-04-21        kinaba: 	LPSTR lpWord;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias REGISTERWORDA* PREGISTERWORDA, LPREGISTERWORDA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct REGISTERWORDW{
4e2933c620 2015-04-21        kinaba: 	LPWSTR lpReading;
4e2933c620 2015-04-21        kinaba: 	LPWSTR lpWord;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct STYLEBUFA{
4e2933c620 2015-04-21        kinaba: 	DWORD dwStyle;
4e2933c620 2015-04-21        kinaba: 	CHAR szDescription[STYLE_DESCRIPTION_SIZE];
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct STYLEBUFW{
4e2933c620 2015-04-21        kinaba: 	DWORD dwStyle;
4e2933c620 2015-04-21        kinaba: 	WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMEMENUITEMINFOA{
4e2933c620 2015-04-21        kinaba: 	UINT cbSize = this.sizeof;
4e2933c620 2015-04-21        kinaba: 	UINT fType;
4e2933c620 2015-04-21        kinaba: 	UINT fState;
4e2933c620 2015-04-21        kinaba: 	UINT wID;
4e2933c620 2015-04-21        kinaba: 	HBITMAP hbmpChecked;
4e2933c620 2015-04-21        kinaba: 	HBITMAP hbmpUnchecked;
4e2933c620 2015-04-21        kinaba: 	DWORD dwItemData;
4e2933c620 2015-04-21        kinaba: 	CHAR szString[IMEMENUITEM_STRING_SIZE];
4e2933c620 2015-04-21        kinaba: 	HBITMAP hbmpItem;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct IMEMENUITEMINFOW{
4e2933c620 2015-04-21        kinaba: 	UINT cbSize = this.sizeof;
4e2933c620 2015-04-21        kinaba: 	UINT fType;
4e2933c620 2015-04-21        kinaba: 	UINT fState;
4e2933c620 2015-04-21        kinaba: 	UINT wID;
4e2933c620 2015-04-21        kinaba: 	HBITMAP hbmpChecked;
4e2933c620 2015-04-21        kinaba: 	HBITMAP hbmpUnchecked;
4e2933c620 2015-04-21        kinaba: 	DWORD dwItemData;
4e2933c620 2015-04-21        kinaba: 	WCHAR szString[IMEMENUITEM_STRING_SIZE];
4e2933c620 2015-04-21        kinaba: 	HBITMAP hbmpItem;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: alias int function (LPCSTR, DWORD, LPCSTR, LPVOID)  REGISTERWORDENUMPROCA;
4e2933c620 2015-04-21        kinaba: alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: version(Unicode) {
4e2933c620 2015-04-21        kinaba: 	alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC;
4e2933c620 2015-04-21        kinaba: 	alias REGISTERWORDW REGISTERWORD;
4e2933c620 2015-04-21        kinaba: 	alias IMEMENUITEMINFOW IMEMENUITEMINFO;
4e2933c620 2015-04-21        kinaba: 	alias STYLEBUFW STYLEBUF;
4e2933c620 2015-04-21        kinaba: } else {
4e2933c620 2015-04-21        kinaba: 	alias REGISTERWORDENUMPROCA REGISTERWORDENUMPROC;
4e2933c620 2015-04-21        kinaba: 	alias REGISTERWORDA REGISTERWORD;
4e2933c620 2015-04-21        kinaba: 	alias IMEMENUITEMINFOA IMEMENUITEMINFO;
4e2933c620 2015-04-21        kinaba: 	alias STYLEBUFA STYLEBUF;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: alias STYLEBUF* PSTYLEBUF, LPSTYLEBUF;
4e2933c620 2015-04-21        kinaba: alias REGISTERWORD* PREGISTERWORD, LPREGISTERWORD;
4e2933c620 2015-04-21        kinaba: alias IMEMENUITEMINFO* PIMEMENUITEMINFO, LPIMEMENUITEMINFO;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows):
4e2933c620 2015-04-21        kinaba: HKL ImmInstallIMEA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: HKL ImmInstallIMEW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: HWND ImmGetDefaultIMEWnd(HWND);
4e2933c620 2015-04-21        kinaba: UINT ImmGetDescriptionA(HKL, LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: UINT ImmGetDescriptionW(HKL, LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: UINT ImmGetIMEFileNameA(HKL, LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: UINT ImmGetIMEFileNameW(HKL, LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetProperty(HKL, DWORD);
4e2933c620 2015-04-21        kinaba: BOOL ImmIsIME(HKL);
4e2933c620 2015-04-21        kinaba: BOOL ImmSimulateHotKey(HWND, DWORD);
4e2933c620 2015-04-21        kinaba: HIMC ImmCreateContext();
4e2933c620 2015-04-21        kinaba: BOOL ImmDestroyContext(HIMC);
4e2933c620 2015-04-21        kinaba: HIMC ImmGetContext(HWND);
4e2933c620 2015-04-21        kinaba: BOOL ImmReleaseContext(HWND, HIMC);
4e2933c620 2015-04-21        kinaba: HIMC ImmAssociateContext(HWND, HIMC);
4e2933c620 2015-04-21        kinaba: LONG ImmGetCompositionStringA(HIMC, DWORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: LONG ImmGetCompositionStringW(HIMC, DWORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetCompositionStringA(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetCompositionStringW(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetCandidateListCountA(HIMC, PDWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetCandidateListCountW(HIMC, PDWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetCandidateListA(HIMC, DWORD, PCANDIDATELIST, DWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetCandidateListW(HIMC, DWORD, PCANDIDATELIST, DWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: BOOL ImmGetConversionStatus(HIMC, LPDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetConversionStatus(HIMC, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: BOOL ImmGetOpenStatus(HIMC);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetOpenStatus(HIMC, BOOL);
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: BOOL ImmGetCompositionFontA(HIMC, LPLOGFONTA);
4e2933c620 2015-04-21        kinaba: BOOL ImmGetCompositionFontW(HIMC, LPLOGFONTW);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetCompositionFontA(HIMC, LPLOGFONTA);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetCompositionFontW(HIMC, LPLOGFONTW);
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: BOOL ImmConfigureIMEA(HKL, HWND, DWORD, PVOID);
4e2933c620 2015-04-21        kinaba: BOOL ImmConfigureIMEW(HKL, HWND, DWORD, PVOID);
4e2933c620 2015-04-21        kinaba: LRESULT ImmEscapeA(HKL, HIMC, UINT, PVOID);
4e2933c620 2015-04-21        kinaba: LRESULT ImmEscapeW(HKL, HIMC, UINT, PVOID);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetConversionListA(HKL, HIMC, LPCSTR, PCANDIDATELIST, DWORD, UINT);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetConversionListW(HKL, HIMC, LPCWSTR, PCANDIDATELIST, DWORD, UINT);
4e2933c620 2015-04-21        kinaba: BOOL ImmNotifyIME(HIMC, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: BOOL ImmGetStatusWindowPos(HIMC, LPPOINT);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetStatusWindowPos(HIMC, LPPOINT);
4e2933c620 2015-04-21        kinaba: BOOL ImmGetCompositionWindow(HIMC, PCOMPOSITIONFORM);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetCompositionWindow(HIMC, PCOMPOSITIONFORM);
4e2933c620 2015-04-21        kinaba: BOOL ImmGetCandidateWindow(HIMC, DWORD, PCANDIDATEFORM);
4e2933c620 2015-04-21        kinaba: BOOL ImmSetCandidateWindow(HIMC, PCANDIDATEFORM);
4e2933c620 2015-04-21        kinaba: BOOL ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
4e2933c620 2015-04-21        kinaba: BOOL ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
4e2933c620 2015-04-21        kinaba: UINT ImmGetVirtualKey(HWND);
4e2933c620 2015-04-21        kinaba: BOOL ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
4e2933c620 2015-04-21        kinaba: BOOL ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
4e2933c620 2015-04-21        kinaba: BOOL ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
4e2933c620 2015-04-21        kinaba: BOOL ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
4e2933c620 2015-04-21        kinaba: UINT ImmGetRegisterWordStyleA(HKL, UINT, PSTYLEBUFA);
4e2933c620 2015-04-21        kinaba: UINT ImmGetRegisterWordStyleW(HKL, UINT, PSTYLEBUFW);
4e2933c620 2015-04-21        kinaba: UINT ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, PVOID);
4e2933c620 2015-04-21        kinaba: UINT ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, PVOID);
4e2933c620 2015-04-21        kinaba: BOOL EnableEUDC(BOOL);
4e2933c620 2015-04-21        kinaba: BOOL ImmDisableIME(DWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD);
4e2933c620 2015-04-21        kinaba: DWORD ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: version(Unicode) {
4e2933c620 2015-04-21        kinaba: 	alias ImmEnumRegisterWordW ImmEnumRegisterWord;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle;
4e2933c620 2015-04-21        kinaba: 	alias ImmUnregisterWordW ImmUnregisterWord;
4e2933c620 2015-04-21        kinaba: 	alias ImmRegisterWordW ImmRegisterWord;
4e2933c620 2015-04-21        kinaba: 	alias ImmInstallIMEW ImmInstallIME;
4e2933c620 2015-04-21        kinaba: 	alias ImmIsUIMessageW ImmIsUIMessage;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetConversionListW ImmGetConversionList;
4e2933c620 2015-04-21        kinaba: 	alias ImmEscapeW ImmEscape;
4e2933c620 2015-04-21        kinaba: 	alias ImmConfigureIMEW ImmConfigureIME;
4e2933c620 2015-04-21        kinaba: 	alias ImmSetCompositionFontW ImmSetCompositionFont;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCompositionFontW ImmGetCompositionFont;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetGuideLineW ImmGetGuideLine;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCandidateListW ImmGetCandidateList;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCandidateListCountW ImmGetCandidateListCount;
4e2933c620 2015-04-21        kinaba: 	alias ImmSetCompositionStringW ImmSetCompositionString;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCompositionStringW ImmGetCompositionString;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetDescriptionW ImmGetDescription;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetIMEFileNameW ImmGetIMEFileName;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetImeMenuItemsW ImmGetImeMenuItems;
4e2933c620 2015-04-21        kinaba: } else {
4e2933c620 2015-04-21        kinaba: 	alias ImmEnumRegisterWordA ImmEnumRegisterWord;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle;
4e2933c620 2015-04-21        kinaba: 	alias ImmUnregisterWordA ImmUnregisterWord;
4e2933c620 2015-04-21        kinaba: 	alias ImmRegisterWordA ImmRegisterWord;
4e2933c620 2015-04-21        kinaba: 	alias ImmInstallIMEA ImmInstallIME;
4e2933c620 2015-04-21        kinaba: 	alias ImmIsUIMessageA ImmIsUIMessage;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetConversionListA ImmGetConversionList;
4e2933c620 2015-04-21        kinaba: 	alias ImmEscapeA ImmEscape;
4e2933c620 2015-04-21        kinaba: 	alias ImmConfigureIMEA ImmConfigureIME;
4e2933c620 2015-04-21        kinaba: 	alias ImmSetCompositionFontA ImmSetCompositionFont;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCompositionFontA ImmGetCompositionFont;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetGuideLineA ImmGetGuideLine;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCandidateListA ImmGetCandidateList;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCandidateListCountA ImmGetCandidateListCount;
4e2933c620 2015-04-21        kinaba: 	alias ImmSetCompositionStringA ImmSetCompositionString;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetCompositionStringA ImmGetCompositionString;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetDescriptionA ImmGetDescription;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetIMEFileNameA ImmGetIMEFileName;
4e2933c620 2015-04-21        kinaba: 	alias ImmGetImeMenuItemsW ImmGetImeMenuItems;
4e2933c620 2015-04-21        kinaba: }