Lines Matching refs:ImWchar
107 static ImVec2 InputTextCalcTextSizeW(const ImWchar* text_begin, const ImWchar* text_end, const ImWchar** remaining = NULL, ImVec2* out_offset = NULL, bool stop_on_new_line = false);
2852 static ImVec2 InputTextCalcTextSizeW(const ImWchar* text_begin, const ImWchar* text_end, const ImWchar** remaining, ImVec2* out_offset, bool stop_on_new_line)
2862 const ImWchar* s = text_begin;
2878 const float char_width = font->GetCharAdvance((ImWchar)c) * scale;
2902 static ImWchar STB_TEXTEDIT_GETCHAR(const STB_TEXTEDIT_STRING* obj, int idx) { return obj->TextW[idx]; }
2903 static float STB_TEXTEDIT_GETWIDTH(STB_TEXTEDIT_STRING* obj, int line_start_idx, int char_idx) { ImWchar c = obj->TextW[line_start_idx+char_idx]; if (c == '\n') return STB_TEXTEDIT_GETWIDTH_NEWLINE; return GImGui->Font->GetCharAdvance(c) * (GImGui->FontSize / GImGui->Font->FontSize); }
2905 static ImWchar STB_TEXTEDIT_NEWLINE = '\n';
2908 const ImWchar* text = obj->TextW.Data;
2909 const ImWchar* text_remaining = NULL;
2933 ImWchar* dst = obj->TextW.Data + pos;
2940 const ImWchar* src = obj->TextW.Data + pos + n;
2941 while (ImWchar c = *src++)
2946 static bool STB_TEXTEDIT_INSERTCHARS(STB_TEXTEDIT_STRING* obj, int pos, const ImWchar* new_text, int new_text_len)
2965 ImWchar* text = obj->TextW.Data;
2967 memmove(text + pos + new_text_len, text + pos, (size_t)(text_len - pos) * sizeof(ImWchar));
2968 memcpy(text + pos, new_text, (size_t)new_text_len * sizeof(ImWchar));
3109 callback_data.EventChar = (ImWchar)c;
3443 ImWchar* clipboard_filtered = (ImWchar*)MemAlloc((clipboard_len+1) * sizeof(ImWchar));
3453 clipboard_filtered[clipboard_filtered_len++] = (ImWchar)c;
3535 // We have to convert from wchar-positions to UTF-8-positions, which can be pretty slow (an incentive to ditch the ImWchar buffer, see https://github.com/nothings/stb/issues/188)
3536 ImWchar* text = edit_state.TextW.Data;
3635 const ImWchar* text_begin = edit_state.TextW.Data;
3640 const ImWchar* searches_input_ptr[2];
3656 //for (const ImWchar* s = text_begin; (s = (const ImWchar*)wcschr((const wchar_t*)s, (wchar_t)'\n')) != NULL; s++) // FIXME-OPT: Could use this when wchar_t are 16-bits
3657 for (const ImWchar* s = text_begin; *s != 0; s++)
3718 const ImWchar* text_selected_begin = text_begin + ImMin(edit_state.StbState.select_start, edit_state.StbState.select_end);
3719 const ImWchar* text_selected_end = text_begin + ImMax(edit_state.StbState.select_start, edit_state.StbState.select_end);
3725 for (const ImWchar* p = text_selected_begin; p < text_selected_end; )
3731 //p = (const ImWchar*)wmemchr((const wchar_t*)p, '\n', text_selected_end - p); // FIXME-OPT: Could use this when wchar_t are 16-bits
3740 if (rect_size.x <= 0.0f) rect_size.x = (float)(int)(g.Font->GetCharAdvance((ImWchar)' ') * 0.50f); // So we can see selected empty lines