|
@@ -693,12 +693,9 @@ bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags
|
|
|
RenderNavHighlight(bb, id);
|
|
|
RenderFrame(bb.Min, bb.Max, col, true, style.FrameRounding);
|
|
|
|
|
|
- ImRect render_text_pos = ImRect(bb.Min + style.FramePadding, bb.Max - style.FramePadding);
|
|
|
if (g.LogEnabled)
|
|
|
- LogRenderedText(&render_text_pos.Min, "[");
|
|
|
- RenderTextClipped(render_text_pos.Min, render_text_pos.Max ,label, NULL, &label_size, style.ButtonTextAlign, &bb);
|
|
|
- if (g.LogEnabled)
|
|
|
- LogRenderedText(&render_text_pos.Min, "]");
|
|
|
+ LogSetNextTextDecoration("[", "]");
|
|
|
+ RenderTextClipped(bb.Min + style.FramePadding, bb.Max - style.FramePadding, label, NULL, &label_size, style.ButtonTextAlign, &bb);
|
|
|
|
|
|
// Automatically close popups
|
|
|
//if (pressed && !(flags & ImGuiButtonFlags_DontClosePopups) && (window->Flags & ImGuiWindowFlags_Popup))
|
|
@@ -1103,12 +1100,11 @@ bool ImGui::Checkbox(const char* label, bool* v)
|
|
|
RenderCheckMark(window->DrawList, check_bb.Min + ImVec2(pad, pad), check_col, square_sz - pad * 2.0f);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- ImVec2 render_text_pos = ImVec2(check_bb.Max.x + style.ItemInnerSpacing.x, check_bb.Min.y + style.FramePadding.y);
|
|
|
+ ImVec2 label_pos = ImVec2(check_bb.Max.x + style.ItemInnerSpacing.x, check_bb.Min.y + style.FramePadding.y);
|
|
|
if (g.LogEnabled)
|
|
|
- LogRenderedText(&render_text_pos, mixed_value ? "[~]" : *v ? "[x]" : "[ ]");
|
|
|
+ LogRenderedText(&label_pos, mixed_value ? "[~]" : *v ? "[x]" : "[ ]");
|
|
|
if (label_size.x > 0.0f)
|
|
|
- RenderText(render_text_pos, label);
|
|
|
+ RenderText(label_pos, label);
|
|
|
|
|
|
IMGUI_TEST_ENGINE_ITEM_INFO(id, label, window->DC.ItemFlags | ImGuiItemStatusFlags_Checkable | (*v ? ImGuiItemStatusFlags_Checked : 0));
|
|
|
return pressed;
|
|
@@ -1206,11 +1202,11 @@ bool ImGui::RadioButton(const char* label, bool active)
|
|
|
window->DrawList->AddCircle(center, radius, GetColorU32(ImGuiCol_Border), 16, style.FrameBorderSize);
|
|
|
}
|
|
|
|
|
|
- ImVec2 render_text_pos = ImVec2(check_bb.Max.x + style.ItemInnerSpacing.x, check_bb.Min.y + style.FramePadding.y);
|
|
|
+ ImVec2 label_pos = ImVec2(check_bb.Max.x + style.ItemInnerSpacing.x, check_bb.Min.y + style.FramePadding.y);
|
|
|
if (g.LogEnabled)
|
|
|
- LogRenderedText(&render_text_pos, active ? "(x)" : "( )");
|
|
|
+ LogRenderedText(&label_pos, active ? "(x)" : "( )");
|
|
|
if (label_size.x > 0.0f)
|
|
|
- RenderText(render_text_pos, label);
|
|
|
+ RenderText(label_pos, label);
|
|
|
|
|
|
IMGUI_TEST_ENGINE_ITEM_INFO(id, label, window->DC.ItemFlags);
|
|
|
return pressed;
|
|
@@ -1394,10 +1390,7 @@ void ImGui::SeparatorEx(ImGuiSeparatorFlags flags)
|
|
|
// Draw
|
|
|
window->DrawList->AddLine(bb.Min, ImVec2(bb.Max.x, bb.Min.y), GetColorU32(ImGuiCol_Separator));
|
|
|
if (g.LogEnabled)
|
|
|
- {
|
|
|
- LogRenderedText(&bb.Min, "--------------------------------");
|
|
|
- LogRenderedTextNewLine(); // Separator isn't tall enough to trigger a new line automatically in LogRenderText
|
|
|
- }
|
|
|
+ LogRenderedText(&bb.Min, "--------------------------------\n");
|
|
|
|
|
|
}
|
|
|
if (columns)
|
|
@@ -1589,7 +1582,12 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImGuiComboF
|
|
|
}
|
|
|
RenderFrameBorder(frame_bb.Min, frame_bb.Max, style.FrameRounding);
|
|
|
if (preview_value != NULL && !(flags & ImGuiComboFlags_NoPreview))
|
|
|
- RenderTextClipped(frame_bb.Min + style.FramePadding, ImVec2(value_x2, frame_bb.Max.y), preview_value, NULL, NULL, ImVec2(0.0f, 0.0f));
|
|
|
+ {
|
|
|
+ ImVec2 preview_pos = frame_bb.Min + style.FramePadding;
|
|
|
+ if (g.LogEnabled)
|
|
|
+ LogSetNextTextDecoration("{", "}");
|
|
|
+ RenderTextClipped(preview_pos, ImVec2(value_x2, frame_bb.Max.y), preview_value, NULL, NULL, ImVec2(0.0f, 0.0f));
|
|
|
+ }
|
|
|
if (label_size.x > 0)
|
|
|
RenderText(ImVec2(frame_bb.Max.x + style.ItemInnerSpacing.x, frame_bb.Min.y + style.FramePadding.y), label);
|
|
|
|
|
@@ -2339,6 +2337,8 @@ bool ImGui::DragScalar(const char* label, ImGuiDataType data_type, void* p_data,
|
|
|
// Display value using user-provided display format so user can add prefix/suffix/decorations to the value.
|
|
|
char value_buf[64];
|
|
|
const char* value_buf_end = value_buf + DataTypeFormatString(value_buf, IM_ARRAYSIZE(value_buf), data_type, p_data, format);
|
|
|
+ if (g.LogEnabled)
|
|
|
+ LogSetNextTextDecoration("{", "}");
|
|
|
RenderTextClipped(frame_bb.Min, frame_bb.Max, value_buf, value_buf_end, NULL, ImVec2(0.5f, 0.5f));
|
|
|
|
|
|
if (label_size.x > 0.0f)
|
|
@@ -2951,6 +2951,8 @@ bool ImGui::SliderScalar(const char* label, ImGuiDataType data_type, void* p_dat
|
|
|
// Display value using user-provided display format so user can add prefix/suffix/decorations to the value.
|
|
|
char value_buf[64];
|
|
|
const char* value_buf_end = value_buf + DataTypeFormatString(value_buf, IM_ARRAYSIZE(value_buf), data_type, p_data, format);
|
|
|
+ if (g.LogEnabled)
|
|
|
+ LogSetNextTextDecoration("{", "}");
|
|
|
RenderTextClipped(frame_bb.Min, frame_bb.Max, value_buf, value_buf_end, NULL, ImVec2(0.5f, 0.5f));
|
|
|
|
|
|
if (label_size.x > 0.0f)
|
|
@@ -4602,7 +4604,10 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_
|
|
|
|
|
|
// Log as text
|
|
|
if (g.LogEnabled && (!is_password || is_displaying_hint))
|
|
|
+ {
|
|
|
+ LogSetNextTextDecoration("{", "}");
|
|
|
LogRenderedText(&draw_pos, buf_display, buf_display_end);
|
|
|
+ }
|
|
|
|
|
|
if (label_size.x > 0)
|
|
|
RenderText(ImVec2(frame_bb.Max.x + style.ItemInnerSpacing.x, frame_bb.Min.y + style.FramePadding.y), label);
|
|
@@ -5809,18 +5814,10 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l
|
|
|
text_pos.x -= text_offset_x;
|
|
|
if (flags & ImGuiTreeNodeFlags_ClipLabelForTrailingButton)
|
|
|
frame_bb.Max.x -= g.FontSize + style.FramePadding.x;
|
|
|
+
|
|
|
if (g.LogEnabled)
|
|
|
- {
|
|
|
- // NB: '##' is normally used to hide text (as a library-wide feature), so we need to specify the text range to make sure the ## aren't stripped out here.
|
|
|
- const char log_prefix[] = "##";
|
|
|
- LogRenderedText(&text_pos, log_prefix, log_prefix + 2);
|
|
|
- RenderTextClipped(text_pos, frame_bb.Max, label, label_end, &label_size);
|
|
|
- LogRenderedText(&text_pos, log_prefix, log_prefix + 2);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- RenderTextClipped(text_pos, frame_bb.Max, label, label_end, &label_size);
|
|
|
- }
|
|
|
+ LogSetNextTextDecoration("###", "###");
|
|
|
+ RenderTextClipped(text_pos, frame_bb.Max, label, label_end, &label_size);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -5836,7 +5833,7 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l
|
|
|
else if (!is_leaf)
|
|
|
RenderArrow(window->DrawList, ImVec2(text_pos.x - text_offset_x + padding.x, text_pos.y + g.FontSize * 0.15f), text_col, is_open ? ImGuiDir_Down : ImGuiDir_Right, 0.70f);
|
|
|
if (g.LogEnabled)
|
|
|
- LogRenderedText(&text_pos, ">");
|
|
|
+ LogSetNextTextDecoration(">", NULL);
|
|
|
RenderText(text_pos, label, label_end, false);
|
|
|
}
|
|
|
|