AddInputCharactersUTF8: shallow tweaks (#274)

This commit is contained in:
ocornut 2015-07-15 22:14:04 -06:00
parent bc4ede656b
commit d6117e33d0
2 changed files with 9 additions and 11 deletions

View File

@ -778,16 +778,14 @@ void ImGuiIO::AddInputCharacter(ImWchar c)
} }
} }
void ImGuiIO::AddInputCharactersUTF8(const char* utf8chars) void ImGuiIO::AddInputCharactersUTF8(const char* utf8_chars)
{ {
// we can't pass more wchars than ImGuiIO::InputCharacters[] can hold so don't convert more // We can't pass more wchars than ImGuiIO::InputCharacters[] can hold so don't convert more
static const int wcharBufLen = sizeof(ImGuiIO::InputCharacters)/sizeof(ImWchar); const int wchars_buf_len = sizeof(ImGuiIO::InputCharacters) / sizeof(ImWchar);
ImWchar wchars[wcharBufLen]; ImWchar wchars[wchars_buf_len];
ImTextStrFromUtf8(wchars, wcharBufLen, utf8chars, NULL); ImTextStrFromUtf8(wchars, wchars_buf_len, utf8_chars, NULL);
for(int i=0; i<wcharBufLen && wchars[i] != 0; ++i) for (int i = 0; wchars[i] != 0 && i < wchars_buf_len; i++)
{
AddInputCharacter(wchars[i]); AddInputCharacter(wchars[i]);
}
} }
// Math bits // Math bits

View File

@ -703,9 +703,9 @@ struct ImGuiIO
bool KeysDown[512]; // Keyboard keys that are pressed (in whatever storage order you naturally have access to keyboard data) bool KeysDown[512]; // Keyboard keys that are pressed (in whatever storage order you naturally have access to keyboard data)
ImWchar InputCharacters[16+1]; // List of characters input (translated by user from keypress+keyboard state). Fill using AddInputCharacter() helper. ImWchar InputCharacters[16+1]; // List of characters input (translated by user from keypress+keyboard state). Fill using AddInputCharacter() helper.
// Function // Functions
IMGUI_API void AddInputCharacter(ImWchar c); // Helper to add a new character into InputCharacters[] IMGUI_API void AddInputCharacter(ImWchar c); // Helper to add a new character into InputCharacters[]
IMGUI_API void AddInputCharactersUTF8(const char* utf8chars); // Helper to add new characters into InputCharacters[] from an utf8-string IMGUI_API void AddInputCharactersUTF8(const char* utf8_chars); // Helper to add new characters into InputCharacters[] from an UTF-8 string
//------------------------------------------------------------------ //------------------------------------------------------------------
// Output - Retrieve after calling NewFrame(), you can use them to discard inputs or hide them from the rest of your application // Output - Retrieve after calling NewFrame(), you can use them to discard inputs or hide them from the rest of your application