Platform IME: add ImGuiPlatformImeData::InputLineHeight (unused by win32). (#3113)

This commit is contained in:
Liu Liu 2022-01-05 13:38:51 +01:00 committed by ocornut
parent 29a8ee0826
commit de36ff043e
3 changed files with 3 additions and 0 deletions

View File

@ -62,6 +62,7 @@ Other Changes:
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: add ImGuiPlatformImeData::WantVisible, hide IME composition window when not used. (#2589) [@actboy168] - Platform IME: add ImGuiPlatformImeData::WantVisible, hide IME composition window when not used. (#2589) [@actboy168]
- Platform IME: add ImGuiPlatformImeData::InputLineHeight. (#3113) [@liuliu]
- Platform IME: [windows] call ImmSetCandidateWindow() to position candidate window. - 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.

View File

@ -2834,6 +2834,7 @@ struct ImGuiPlatformImeData
{ {
bool WantVisible; // A widget wants the IME to be visible bool WantVisible; // A widget wants the IME to be visible
ImVec2 InputPos; // Position of the input cursor ImVec2 InputPos; // Position of the input cursor
float InputLineHeight; // Line height
ImGuiPlatformImeData() { memset(this, 0, sizeof(*this)); } ImGuiPlatformImeData() { memset(this, 0, sizeof(*this)); }
}; };

View File

@ -4763,6 +4763,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_
{ {
g.PlatformImeData.WantVisible = true; g.PlatformImeData.WantVisible = true;
g.PlatformImeData.InputPos = ImVec2(cursor_screen_pos.x - 1.0f, cursor_screen_pos.y - g.FontSize); g.PlatformImeData.InputPos = ImVec2(cursor_screen_pos.x - 1.0f, cursor_screen_pos.y - g.FontSize);
g.PlatformImeData.InputLineHeight = g.FontSize;
} }
} }
} }