mirror of
https://github.com/reactos/reactos.git
synced 2025-06-06 09:50:43 +00:00
[MSCTFIME] Implement CicBridge::EscapeKorean (#6585)
Supporting TIPs... JIRA issue: CORE-19360 - Add CicBridge::EscHanjaMode. - Add code to CicBridge::EscapeKorean.
This commit is contained in:
parent
299abf7c87
commit
1ee014525c
2 changed files with 35 additions and 1 deletions
dll/ime/msctfime
|
@ -736,9 +736,41 @@ CicBridge::SetCompositionString(
|
||||||
|
|
||||||
/// @unimplemented
|
/// @unimplemented
|
||||||
LRESULT
|
LRESULT
|
||||||
|
CicBridge::EscHanjaMode(TLS *pTLS, HIMC hIMC, LPVOID lpData)
|
||||||
|
{
|
||||||
|
CicIMCLock imcLock(hIMC);
|
||||||
|
if (FAILED(imcLock.m_hr))
|
||||||
|
return imcLock.m_hr;
|
||||||
|
|
||||||
|
CicIMCCLock<CTFIMECONTEXT> imeContext(imcLock.get().hCtfImeContext);
|
||||||
|
if (FAILED(imeContext.m_hr))
|
||||||
|
return imeContext.m_hr;
|
||||||
|
|
||||||
|
CicInputContext *pCicIC = imeContext.get().m_pCicIC;
|
||||||
|
if (!pCicIC)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
if (pCicIC->m_bCandidateOpen)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
pCicIC->m_dwUnknown6_5[4] |= 0x1;
|
||||||
|
|
||||||
|
//FIXME
|
||||||
|
|
||||||
|
pCicIC->m_dwUnknown6_5[4] &= ~0x1;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @implemented
|
||||||
|
LRESULT
|
||||||
CicBridge::EscapeKorean(TLS *pTLS, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
|
CicBridge::EscapeKorean(TLS *pTLS, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
|
||||||
{
|
{
|
||||||
return 0; // FIXME
|
if (uSubFunc == IME_ESC_QUERY_SUPPORT)
|
||||||
|
return *(DWORD*)lpData == IME_ESC_HANJA_MODE;
|
||||||
|
if (uSubFunc == IME_ESC_HANJA_MODE)
|
||||||
|
return EscHanjaMode(pTLS, hIMC, lpData);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @implemented
|
/// @implemented
|
||||||
|
|
|
@ -28,6 +28,8 @@ protected:
|
||||||
static BOOL CALLBACK EnumCreateInputContextCallback(HIMC hIMC, LPARAM lParam);
|
static BOOL CALLBACK EnumCreateInputContextCallback(HIMC hIMC, LPARAM lParam);
|
||||||
static BOOL CALLBACK EnumDestroyInputContextCallback(HIMC hIMC, LPARAM lParam);
|
static BOOL CALLBACK EnumDestroyInputContextCallback(HIMC hIMC, LPARAM lParam);
|
||||||
|
|
||||||
|
LRESULT EscHanjaMode(TLS *pTLS, HIMC hIMC, LPVOID lpData);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CicBridge();
|
CicBridge();
|
||||||
virtual ~CicBridge();
|
virtual ~CicBridge();
|
||||||
|
|
Loading…
Reference in a new issue