| 2166 | } |
| 2167 | |
| 2168 | int ImTextStrToUtf8(char* out_buf, int out_buf_size, const ImWchar* in_text, const ImWchar* in_text_end) |
| 2169 | { |
| 2170 | char* buf_p = out_buf; |
| 2171 | const char* buf_end = out_buf + out_buf_size; |
| 2172 | while (buf_p < buf_end - 1 && (!in_text_end || in_text < in_text_end) && *in_text) |
| 2173 | { |
| 2174 | unsigned int c = (unsigned int)(*in_text++); |
| 2175 | if (c < 0x80) |
| 2176 | *buf_p++ = (char)c; |
| 2177 | else |
| 2178 | buf_p += ImTextCharToUtf8_inline(buf_p, (int)(buf_end - buf_p - 1), c); |
| 2179 | } |
| 2180 | *buf_p = 0; |
| 2181 | return (int)(buf_p - out_buf); |
| 2182 | } |
| 2183 | |
| 2184 | int ImTextCountUtf8BytesFromStr(const ImWchar* in_text, const ImWchar* in_text_end) |
| 2185 | { |
no test coverage detected