InputTextMultiline(): multi-line selection draw fix (#200)

This commit is contained in:
ocornut 2015-06-16 21:17:02 -06:00
parent 917a1fdbf7
commit f1dfc4d7c4

View File

@ -7144,7 +7144,7 @@ static bool InputTextEx(const char* label, char* buf, size_t buf_size, const ImV
for (const ImWchar* p = text_selected_begin; p < text_selected_end; ) for (const ImWchar* p = text_selected_begin; p < text_selected_end; )
{ {
ImVec2 rect_size = CalcTextSizeW(edit_state.Font, edit_state.FontSize, FLT_MAX, p, text_selected_end, &p, NULL, true); ImVec2 rect_size = CalcTextSizeW(edit_state.Font, edit_state.FontSize, FLT_MAX, p, text_selected_end, &p, NULL, true);
ImRect rect(render_pos + rect_pos + ImVec2(-edit_state.ScrollX, -font_offy_up), render_pos + rect_pos + ImVec2(rect_size.x - edit_state.ScrollX, +font_offy_dn)); ImRect rect(render_pos + rect_pos + ImVec2(-edit_state.ScrollX, (p == text_selected_begin) ? -font_offy_up : -g.FontSize), render_pos + rect_pos + ImVec2(rect_size.x - edit_state.ScrollX, (p == text_selected_end) ? +font_offy_dn : 0.0f));
rect.Clip(clip_rect); rect.Clip(clip_rect);
window->DrawList->AddRectFilled(rect.Min, rect.Max, font_color); window->DrawList->AddRectFilled(rect.Min, rect.Max, font_color);
rect_pos.x = 0.0f; rect_pos.x = 0.0f;