From be8fb858cc810ff2125669e4e7e1254405f1ebc8 Mon Sep 17 00:00:00 2001 From: Daniel Gibson Date: Thu, 16 Jul 2015 05:15:03 +0200 Subject: [PATCH] Add ImGuiIO::AddInputCharactersUTF8(char* utf8str) It'll convert the utf8 string to ImWchar's and passes each of them to AddInputCharacter(). Very handy for SDL2 SDL_TEXTINPUT events, which provide a buffer with an UTF-8 string. --- imgui.cpp | 12 ++++++++++++ imgui.h | 1 + 2 files changed, 13 insertions(+) diff --git a/imgui.cpp b/imgui.cpp index 915c581a..6083fa4d 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -778,6 +778,18 @@ 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