fix the strange behavior of Korean ime composition window.

Because Hangul is a combination character, WM_IME_STARTCOMPOSITION is only called once when the IME input is started, so the position of the composition window is strange.

Therefore, I solved the problem by controlling the state of characters combined using WM_IME_COMPOSITION and WM_IME_CHAR.

We have also improved to support other IME languages such as Chinese and Japanese.
This commit is contained in:
이지한
2019-08-01 15:24:46 +09:00
parent de9043e223
commit 129b83e68f
13 changed files with 152 additions and 12 deletions

View File

@@ -773,6 +773,13 @@ namespace nana
API::dev::lazy_refresh();
}
void trigger::key_ime(graph_reference, const arg_ime& arg)
{
drawer_->editor()->respond_ime(arg);
if (drawer_->editor()->try_refresh())
API::dev::lazy_refresh();
}
void trigger::key_char(graph_reference, const arg_keyboard& arg)
{
drawer_->editor()->respond_char(arg);