LabelText: value is properly clipped (fixes #23)

This commit is contained in:
ocornut 2015-02-08 15:46:23 +00:00
parent 93917e76a6
commit b8cd080cdb

View File

@ -3648,8 +3648,8 @@ void ImGui::LabelTextV(const char* label, const char* fmt, va_list args)
const float w = window->DC.ItemWidth.back(); const float w = window->DC.ItemWidth.back();
static char buf[1024]; static char buf[1024];
const char* text_begin = &buf[0]; const char* value_text_begin = &buf[0];
const char* text_end = text_begin + ImFormatStringV(buf, IM_ARRAYSIZE(buf), fmt, args); const char* value_text_end = value_text_begin + ImFormatStringV(buf, IM_ARRAYSIZE(buf), fmt, args);
const ImVec2 text_size = CalcTextSize(label, NULL, true); const ImVec2 text_size = CalcTextSize(label, NULL, true);
const ImGuiAabb value_bb(window->DC.CursorPos, window->DC.CursorPos + ImVec2(w + style.FramePadding.x*2, text_size.y)); const ImGuiAabb value_bb(window->DC.CursorPos, window->DC.CursorPos + ImVec2(w + style.FramePadding.x*2, text_size.y));
@ -3659,7 +3659,7 @@ void ImGui::LabelTextV(const char* label, const char* fmt, va_list args)
return; return;
// Render // Render
RenderText(value_bb.Min, text_begin, text_end); RenderTextClipped(value_bb.Min, value_text_begin, value_text_end, NULL, value_bb);
RenderText(ImVec2(value_bb.Max.x + style.ItemInnerSpacing.x, value_bb.Min.y), label); RenderText(ImVec2(value_bb.Max.x + style.ItemInnerSpacing.x, value_bb.Min.y), label);
} }