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,17 +778,15 @@ void ImGuiIO::AddInputCharacter(ImWchar c)
}
}
void ImGuiIO::AddInputCharactersUTF8(const char* utf8chars)
{
// 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);
ImWchar wchars[wcharBufLen];
ImTextStrFromUtf8(wchars, wcharBufLen, utf8chars, NULL);
for(int i=0; i<wcharBufLen && wchars[i] != 0; ++i)
void ImGuiIO::AddInputCharactersUTF8(const char* utf8_chars)
{
// We can't pass more wchars than ImGuiIO::InputCharacters[] can hold so don't convert more
const int wchars_buf_len = sizeof(ImGuiIO::InputCharacters) / sizeof(ImWchar);
ImWchar wchars[wchars_buf_len];
ImTextStrFromUtf8(wchars, wchars_buf_len, utf8_chars, NULL);
for (int i = 0; wchars[i] != 0 && i < wchars_buf_len; i++)
AddInputCharacter(wchars[i]);
}
}
// Math bits
// We are keeping those static in the .cpp file so as not to leak them outside, in the case the user has implicit cast operators between ImVec2 and its own types.

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)
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 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