- Make ImWchar32 unsigned.
- Fix Win32 version of ImFileOpen by including windows.h sooner.
- Make ImGuiIO::AddInputCharacterUTF16() more robust by disallowing illegal
surrogate pairs.
- Allow pushing higher plane codepoints through ImGuiIO::AddInputCharacter().
- Minor cleaning up in the high-plane Unicode support.
- Fix Clang -Wunreachable-code warning
elseif(IM_UNICODE_CODEPOINT_MAX==(0xFFFF))// Codepoint will not fit in ImWchar (extra parenthesis around 0xFFFF somehow fixes -Wunreachable-code with Clang)
inlineboolGetBit(size_tn)const{intoff=(int)(n>>5);ImU32mask=1u<<(n&31);return(UsedChars[off]&mask)!=0;}// Get bit n in the array
inlinevoidSetBit(size_tn){intoff=(int)(n>>5);ImU32mask=1u<<(n&31);UsedChars[off]|=mask;}// Set bit n in the array
inlinevoidAddChar(ImWcharc){SetBit(c);}// Add character
IMGUI_APIvoidAddText(constchar*text,constchar*text_end=NULL);// Add string (each character of the UTF-8 string are added)
IMGUI_APIvoidAddRanges(constImWchar*ranges);// Add ranges, e.g. builder.AddRanges(ImFontAtlas::GetGlyphRangesDefault()) to force add all of ASCII/Latin+Ext
IMGUI_APIvoidBuildRanges(ImVector<ImWchar>*out_ranges);// Output new ranges