codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/* * Input Method Manager (IMM) additional declarations and definitions. * Created by Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>. */ #ifndef _IMMADD_ #define _IMMADD_ #ifdef __cplusplus extern "C" { #endif /************************************************************************ * additional private declarations/definitions for IMM * ************************************************************************/ #define NULLIMC ((HIMC)NULL) typedef struct tagCOMPOSITIONSTRING { DWORD dwSize; DWORD dwCompReadAttrLen; DWORD dwCompReadAttrOffset; DWORD dwCompReadClauseLen; DWORD dwCompReadClauseOffset; DWORD dwCompReadStrLen; DWORD dwCompReadStrOffset; DWORD dwCompAttrLen; DWORD dwCompAttrOffset; DWORD dwCompClauseLen; DWORD dwCompClauseOffset; DWORD dwCompStrLen; DWORD dwCompStrOffset; DWORD dwCursorPos; DWORD dwDeltaStart; DWORD dwResultReadClauseLen; DWORD dwResultReadClauseOffset; DWORD dwResultReadStrLen; DWORD dwResultReadStrOffset; DWORD dwResultClauseLen; DWORD dwResultClauseOffset; DWORD dwResultStrLen; DWORD dwResultStrOffset; DWORD dwPrivateSize; DWORD dwPrivateOffset; } COMPOSITIONSTRING, *PCOMPOSITIONSTRING, FAR *LPCOMPOSITIONSTRING; typedef struct tagGUIDELINE { DWORD dwSize; DWORD dwLevel; DWORD dwIndex; DWORD dwStrLen; DWORD dwStrOffset; DWORD dwPrivateSize; DWORD dwPrivateOffset; } GUIDELINE, *PGUIDELINE, FAR *LPGUIDELINE; typedef struct tagCANDIDATEINFO { DWORD dwSize; DWORD dwCount; DWORD dwOffset[32]; DWORD dwPrivateSize; DWORD dwPrivateOffset; } CANDIDATEINFO, *PCANDIDATEINFO, FAR *LPCANDIDATEINFO; typedef struct tagINPUTCONTEXT { HWND hWnd; BOOL fOpen; 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, FAR *LPINPUTCONTEXT; typedef struct tagIMEINFO { DWORD dwPrivateDataSize; DWORD fdwProperty; DWORD fdwConversionCaps; DWORD fdwSentenceCaps; DWORD fdwUICaps; DWORD fdwSCSCaps; DWORD fdwSelectCaps; } IMEINFO, *PIMEINFO, FAR *LPIMEINFO; typedef struct tagSOFTKBDDATA { UINT uCount; WORD wCode[1][256]; } SOFTKBDDATA, *PSOFTKBDDATA, FAR * LPSOFTKBDDATA; BOOL WINAPI ImmGetHotKey(DWORD, LPUINT, LPUINT, LPHKL); BOOL WINAPI ImmSetHotKey(DWORD, UINT, UINT, HKL); BOOL WINAPI ImmGenerateMessage(HIMC); #if(WINVER >= 0x040A) LRESULT WINAPI ImmRequestMessageA(HIMC, WPARAM, LPARAM); LRESULT WINAPI ImmRequestMessageW(HIMC, WPARAM, LPARAM); #ifdef UNICODE #define ImmRequestMessage ImmRequestMessageW #else #define ImmRequestMessage ImmRequestMessageA #endif #endif /* WINVER >= 0x040A */ HWND WINAPI ImmCreateSoftKeyboard(UINT, HWND, INT, INT); BOOL WINAPI ImmDestroySoftKeyboard(HWND); BOOL WINAPI ImmShowSoftKeyboard(HWND, INT); 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); #define IMMGWL_IMC 0 #define IMMGWL_PRIVATE (sizeof(LONG)) #define IMC_SETCONVERSIONMODE 0x0002 #define IMC_SETSENTENCEMODE 0x0004 #define IMC_SETOPENSTATUS 0x0006 #define IMC_GETSOFTKBDFONT 0x0011 #define IMC_SETSOFTKBDFONT 0x0012 #define IMC_GETSOFTKBDPOS 0x0013 #define IMC_SETSOFTKBDPOS 0x0014 #define IMC_GETSOFTKBDSUBTYPE 0x0015 #define IMC_SETSOFTKBDSUBTYPE 0x0016 #define IMC_SETSOFTKBDDATA 0x0018 #define NI_CONTEXTUPDATED 0x0003 #define IME_SYSINFO_WINLOGON 0x0001 #define GCS_COMP (GCS_COMPSTR|GCS_COMPATTR|GCS_COMPCLAUSE) #define GCS_COMPREAD (GCS_COMPREADSTR|GCS_COMPREADATTR|GCS_COMPREADCLAUSE) #define GCS_RESULT (GCS_RESULTSTR|GCS_RESULTCLAUSE) #define GCS_RESULTREAD (GCS_RESULTREADSTR|GCS_RESULTREADCLAUSE) #define INIT_STATUSWNDPOS 0x00000001 #define INIT_CONVERSION 0x00000002 #define INIT_SENTENCE 0x00000004 #define INIT_LOGFONT 0x00000008 #define INIT_COMPFORM 0x00000010 #define INIT_SOFTKBDPOS 0x00000020 #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 #define IME_PROP_COMPLETE_ON_UNSELECT 0x00100000 #define UI_CAP_SOFTKBD 0x00010000 #define IMN_SOFTKBDDESTROYED 0x0011 /************************************************************************ * additional public declarations/definitions for IMM * * FIXME: Could you add this to MinGW's <imm.h> ? * ************************************************************************/ UINT WINAPI ImmGetVirtualKey(HWND); #if (WINVER >= 0x040A) BOOL WINAPI ImmAssociateContextEx(HWND, HIMC, DWORD); #endif /* (WINVER >= 0x040A) */ #define IME_HOTKEY_PRIVATE_FIRST 0x200 #define IME_ITHOTKEY_RECONVERTSTRING 0x203 #define IME_HOTKEY_PRIVATE_LAST 0x21F #define IMEVER_0310 0x0003000A #define IMEVER_0400 0x00040000 #define SCS_CAP_SETRECONVERTSTRING 0x00000004 #define SCS_SETRECONVERTSTRING 0x00010000 #define SCS_QUERYRECONVERTSTRING 0x00020000 #define IME_SMODE_CONVERSATION 0x0010 #define IME_CAND_UNKNOWN 0x0000 #define IME_CAND_READ 0x0001 #define IME_CAND_CODE 0x0002 #define IME_CAND_MEANING 0x0003 #define IME_CAND_RADICAL 0x0004 #define IME_CAND_STROKE 0x0005 #if (WINVER >= 0x040A) #define IMR_COMPOSITIONWINDOW 0x0001 #define IMR_CANDIDATEWINDOW 0x0002 #define IMR_COMPOSITIONFONT 0x0003 #define IMR_CONFIRMRECONVERTSTRING 0x0005 #define IMR_DOCUMENTFEED 0x0007 #endif #define IME_ESC_PRIVATE_HOTKEY 0x100a #define IME_ESC_GETHELPFILENAME 0x100b #define SOFTKEYBOARD_TYPE_T1 0x0001 #define SOFTKEYBOARD_TYPE_C1 0x0002 #ifdef __cplusplus } #endif #endif // _IMMADD_
Private
[
?
]
Run code
Submit