|
|
|
@ -7022,15 +7022,16 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 |
|
|
|
|
if (g.IO.InputCharacters[0]) |
|
|
|
|
{ |
|
|
|
|
// Process text input (before we check for Return because using some IME will effectively send a Return?)
|
|
|
|
|
for (int n = 0; n < IM_ARRAYSIZE(g.IO.InputCharacters) && g.IO.InputCharacters[n]; n++) |
|
|
|
|
if (!is_ctrl_down && !is_alt_down) |
|
|
|
|
{ |
|
|
|
|
if (unsigned int c = (unsigned int)g.IO.InputCharacters[n]) |
|
|
|
|
{ |
|
|
|
|
// Insert character if they pass filtering
|
|
|
|
|
if (!InputTextFilterCharacter(&c, flags, callback, user_data)) |
|
|
|
|
continue; |
|
|
|
|
edit_state.OnKeyPressed((int)c); |
|
|
|
|
} |
|
|
|
|
for (int n = 0; n < IM_ARRAYSIZE(g.IO.InputCharacters) && g.IO.InputCharacters[n]; n++) |
|
|
|
|
if (unsigned int c = (unsigned int)g.IO.InputCharacters[n]) |
|
|
|
|
{ |
|
|
|
|
// Insert character if they pass filtering
|
|
|
|
|
if (!InputTextFilterCharacter(&c, flags, callback, user_data)) |
|
|
|
|
continue; |
|
|
|
|
edit_state.OnKeyPressed((int)c); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Consume characters
|
|
|
|
|