mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-22 20:07:01 +00:00
Platform IME: [windows] call ImmSetCandidateWindow() to position candidate window.
This commit is contained in:
parent
2706c9d66e
commit
1cbfe93520
@ -61,6 +61,7 @@ Other Changes:
|
|||||||
- Platform IME: changed io.ImeSetInputScreenPosFn() to io.SetPlatformImeDataFn() API,
|
- Platform IME: changed io.ImeSetInputScreenPosFn() to io.SetPlatformImeDataFn() API,
|
||||||
now taking a ImGuiPlatformImeData structure which we can more easily extend in the future.
|
now taking a ImGuiPlatformImeData structure which we can more easily extend in the future.
|
||||||
- Platform IME: moved io.ImeWindowHandle to GetMainViewport()->PlatformHandleRaw.
|
- Platform IME: moved io.ImeWindowHandle to GetMainViewport()->PlatformHandleRaw.
|
||||||
|
- Platform IME: [windows] call ImmSetCandidateWindow() to position candidate window.
|
||||||
- Backends: OpenGL3: Fixed a buffer overflow in imgui_impl_opengl3_loader.h init (added in 1.86). (#4468, #4830) [@dymk]
|
- Backends: OpenGL3: Fixed a buffer overflow in imgui_impl_opengl3_loader.h init (added in 1.86). (#4468, #4830) [@dymk]
|
||||||
It would generally not have noticeable side-effect at runtime but would be detected by runtime checkers.
|
It would generally not have noticeable side-effect at runtime but would be detected by runtime checkers.
|
||||||
- Backends: Metal: Added Apple Metal C++ API support. (#4824, #4746) [@luigifcruz]
|
- Backends: Metal: Added Apple Metal C++ API support. (#4824, #4746) [@luigifcruz]
|
||||||
|
15
imgui.cpp
15
imgui.cpp
@ -11512,11 +11512,16 @@ static void SetPlatformImeDataFn_DefaultImpl(ImGuiViewport* viewport, ImGuiPlatf
|
|||||||
|
|
||||||
if (HIMC himc = ::ImmGetContext(hwnd))
|
if (HIMC himc = ::ImmGetContext(hwnd))
|
||||||
{
|
{
|
||||||
COMPOSITIONFORM cf;
|
COMPOSITIONFORM composition_form = {};
|
||||||
cf.ptCurrentPos.x = (LONG)data->InputPos.x;
|
composition_form.ptCurrentPos.x = (LONG)data->InputPos.x;
|
||||||
cf.ptCurrentPos.y = (LONG)data->InputPos.y;
|
composition_form.ptCurrentPos.y = (LONG)data->InputPos.y;
|
||||||
cf.dwStyle = CFS_FORCE_POSITION;
|
composition_form.dwStyle = CFS_FORCE_POSITION;
|
||||||
::ImmSetCompositionWindow(himc, &cf);
|
::ImmSetCompositionWindow(himc, &composition_form);
|
||||||
|
CANDIDATEFORM candidate_form = {};
|
||||||
|
candidate_form.dwStyle = CFS_CANDIDATEPOS;
|
||||||
|
candidate_form.ptCurrentPos.x = (LONG)data->InputPos.x;
|
||||||
|
candidate_form.ptCurrentPos.y = (LONG)data->InputPos.y;
|
||||||
|
::ImmSetCandidateWindow(himc, &candidate_form);
|
||||||
::ImmReleaseContext(hwnd, himc);
|
::ImmReleaseContext(hwnd, himc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user