| 2105 | } |
| 2106 | |
| 2107 | int ImTextStrToUtf8(char* out_buf, int out_buf_size, const ImWchar* in_text, const ImWchar* in_text_end) |
| 2108 | { |
| 2109 | char* buf_p = out_buf; |
| 2110 | const char* buf_end = out_buf + out_buf_size; |
| 2111 | while (buf_p < buf_end - 1 && (!in_text_end || in_text < in_text_end) && *in_text) |
| 2112 | { |
| 2113 | unsigned int c = (unsigned int)(*in_text++); |
| 2114 | if (c < 0x80) |
| 2115 | *buf_p++ = (char)c; |
| 2116 | else |
| 2117 | buf_p += ImTextCharToUtf8_inline(buf_p, (int)(buf_end - buf_p - 1), c); |
| 2118 | } |
| 2119 | *buf_p = 0; |
| 2120 | return (int)(buf_p - out_buf); |
| 2121 | } |
| 2122 | |
| 2123 | int ImTextCountUtf8BytesFromStr(const ImWchar* in_text, const ImWchar* in_text_end) |
| 2124 | { |
no test coverage detected