mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	Internal: Renamed fields + minor tweaks (probably shallow break stack-layout pr, sorry!)
This commit is contained in:
		@@ -139,7 +139,7 @@ void ImGui::TextEx(const char* text, const char* text_end, ImGuiTextFlags flags)
 | 
			
		||||
    if (text_end == NULL)
 | 
			
		||||
        text_end = text + strlen(text); // FIXME-OPT
 | 
			
		||||
 | 
			
		||||
    const ImVec2 text_pos(window->DC.CursorPos.x, window->DC.CursorPos.y + window->DC.CurrentLineTextBaseOffset);
 | 
			
		||||
    const ImVec2 text_pos(window->DC.CursorPos.x, window->DC.CursorPos.y + window->DC.CurrLineTextBaseOffset);
 | 
			
		||||
    const float wrap_pos_x = window->DC.TextWrapPos;
 | 
			
		||||
    const bool wrap_enabled = (wrap_pos_x >= 0.0f);
 | 
			
		||||
    if (text_end - text > 2000 && !wrap_enabled)
 | 
			
		||||
@@ -358,8 +358,8 @@ void ImGui::BulletTextV(const char* fmt, va_list args)
 | 
			
		||||
    const char* text_begin = g.TempBuffer;
 | 
			
		||||
    const char* text_end = text_begin + ImFormatStringV(g.TempBuffer, IM_ARRAYSIZE(g.TempBuffer), fmt, args);
 | 
			
		||||
    const ImVec2 label_size = CalcTextSize(text_begin, text_end, false);
 | 
			
		||||
    const float text_base_offset_y = ImMax(0.0f, window->DC.CurrentLineTextBaseOffset); // Latch before ItemSize changes it
 | 
			
		||||
    const float line_height = ImMax(ImMin(window->DC.CurrentLineSize.y, g.FontSize + g.Style.FramePadding.y*2), g.FontSize);
 | 
			
		||||
    const float text_base_offset_y = ImMax(0.0f, window->DC.CurrLineTextBaseOffset); // Latch before ItemSize changes it
 | 
			
		||||
    const float line_height = ImMax(ImMin(window->DC.CurrLineSize.y, g.FontSize + g.Style.FramePadding.y*2), g.FontSize);
 | 
			
		||||
    const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + ImVec2(g.FontSize + (label_size.x > 0.0f ? (label_size.x + style.FramePadding.x*2) : 0.0f), ImMax(line_height, label_size.y)));  // Empty text doesn't add padding
 | 
			
		||||
    ItemSize(bb);
 | 
			
		||||
    if (!ItemAdd(bb, 0))
 | 
			
		||||
@@ -563,7 +563,7 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool
 | 
			
		||||
    if (g.ActiveId == id)
 | 
			
		||||
    {
 | 
			
		||||
        if (pressed)
 | 
			
		||||
            g.ActiveIdHasBeenPressed = true;
 | 
			
		||||
            g.ActiveIdHasBeenPressedBefore = true;
 | 
			
		||||
        if (g.ActiveIdSource == ImGuiInputSource_Mouse)
 | 
			
		||||
        {
 | 
			
		||||
            if (g.ActiveIdIsJustActivated)
 | 
			
		||||
@@ -611,8 +611,8 @@ bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags
 | 
			
		||||
    const ImVec2 label_size = CalcTextSize(label, NULL, true);
 | 
			
		||||
 | 
			
		||||
    ImVec2 pos = window->DC.CursorPos;
 | 
			
		||||
    if ((flags & ImGuiButtonFlags_AlignTextBaseLine) && style.FramePadding.y < window->DC.CurrentLineTextBaseOffset) // Try to vertically align buttons that are smaller/have no padding so that text baseline matches (bit hacky, since it shouldn't be a flag)
 | 
			
		||||
        pos.y += window->DC.CurrentLineTextBaseOffset - style.FramePadding.y;
 | 
			
		||||
    if ((flags & ImGuiButtonFlags_AlignTextBaseLine) && style.FramePadding.y < window->DC.CurrLineTextBaseOffset) // Try to vertically align buttons that are smaller/have no padding so that text baseline matches (bit hacky, since it shouldn't be a flag)
 | 
			
		||||
        pos.y += window->DC.CurrLineTextBaseOffset - style.FramePadding.y;
 | 
			
		||||
    ImVec2 size = CalcItemSize(size_arg, label_size.x + style.FramePadding.x * 2.0f, label_size.y + style.FramePadding.y * 2.0f);
 | 
			
		||||
 | 
			
		||||
    const ImRect bb(pos, pos + size);
 | 
			
		||||
@@ -1125,7 +1125,7 @@ void ImGui::Bullet()
 | 
			
		||||
 | 
			
		||||
    ImGuiContext& g = *GImGui;
 | 
			
		||||
    const ImGuiStyle& style = g.Style;
 | 
			
		||||
    const float line_height = ImMax(ImMin(window->DC.CurrentLineSize.y, g.FontSize + g.Style.FramePadding.y*2), g.FontSize);
 | 
			
		||||
    const float line_height = ImMax(ImMin(window->DC.CurrLineSize.y, g.FontSize + g.Style.FramePadding.y*2), g.FontSize);
 | 
			
		||||
    const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + ImVec2(g.FontSize, line_height));
 | 
			
		||||
    ItemSize(bb);
 | 
			
		||||
    if (!ItemAdd(bb, 0))
 | 
			
		||||
@@ -1179,7 +1179,7 @@ void ImGui::NewLine()
 | 
			
		||||
    ImGuiContext& g = *GImGui;
 | 
			
		||||
    const ImGuiLayoutType backup_layout_type = window->DC.LayoutType;
 | 
			
		||||
    window->DC.LayoutType = ImGuiLayoutType_Vertical;
 | 
			
		||||
    if (window->DC.CurrentLineSize.y > 0.0f)     // In the event that we are on a line with items that is smaller that FontSize high, we will preserve its height.
 | 
			
		||||
    if (window->DC.CurrLineSize.y > 0.0f)     // In the event that we are on a line with items that is smaller that FontSize high, we will preserve its height.
 | 
			
		||||
        ItemSize(ImVec2(0,0));
 | 
			
		||||
    else
 | 
			
		||||
        ItemSize(ImVec2(0.0f, g.FontSize));
 | 
			
		||||
@@ -1193,8 +1193,8 @@ void ImGui::AlignTextToFramePadding()
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    ImGuiContext& g = *GImGui;
 | 
			
		||||
    window->DC.CurrentLineSize.y = ImMax(window->DC.CurrentLineSize.y, g.FontSize + g.Style.FramePadding.y * 2);
 | 
			
		||||
    window->DC.CurrentLineTextBaseOffset = ImMax(window->DC.CurrentLineTextBaseOffset, g.Style.FramePadding.y);
 | 
			
		||||
    window->DC.CurrLineSize.y = ImMax(window->DC.CurrLineSize.y, g.FontSize + g.Style.FramePadding.y * 2);
 | 
			
		||||
    window->DC.CurrLineTextBaseOffset = ImMax(window->DC.CurrLineTextBaseOffset, g.Style.FramePadding.y);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Horizontal/vertical separating line
 | 
			
		||||
@@ -1213,7 +1213,7 @@ void ImGui::SeparatorEx(ImGuiSeparatorFlags flags)
 | 
			
		||||
    {
 | 
			
		||||
        // Vertical separator, for menu bars (use current line height). Not exposed because it is misleading and it doesn't have an effect on regular layout.
 | 
			
		||||
        float y1 = window->DC.CursorPos.y;
 | 
			
		||||
        float y2 = window->DC.CursorPos.y + window->DC.CurrentLineSize.y;
 | 
			
		||||
        float y2 = window->DC.CursorPos.y + window->DC.CurrLineSize.y;
 | 
			
		||||
        const ImRect bb(ImVec2(window->DC.CursorPos.x, y1), ImVec2(window->DC.CursorPos.x + thickness_draw, y2));
 | 
			
		||||
        ItemSize(ImVec2(thickness_layout, 0.0f));
 | 
			
		||||
        if (!ItemAdd(bb, 0))
 | 
			
		||||
@@ -5060,8 +5060,8 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l
 | 
			
		||||
    const ImVec2 label_size = CalcTextSize(label, label_end, false);
 | 
			
		||||
 | 
			
		||||
    // We vertically grow up to current line height up the typical widget height.
 | 
			
		||||
    const float text_base_offset_y = ImMax(padding.y, window->DC.CurrentLineTextBaseOffset); // Latch before ItemSize changes it
 | 
			
		||||
    const float frame_height = ImMax(ImMin(window->DC.CurrentLineSize.y, g.FontSize + style.FramePadding.y*2), label_size.y + padding.y*2);
 | 
			
		||||
    const float text_base_offset_y = ImMax(padding.y, window->DC.CurrLineTextBaseOffset); // Latch before ItemSize changes it
 | 
			
		||||
    const float frame_height = ImMax(ImMin(window->DC.CurrLineSize.y, g.FontSize + style.FramePadding.y*2), label_size.y + padding.y*2);
 | 
			
		||||
    ImRect frame_bb = ImRect(window->DC.CursorPos, ImVec2(GetWorkRectMax().x, window->DC.CursorPos.y + frame_height));
 | 
			
		||||
    if (display_frame)
 | 
			
		||||
    {
 | 
			
		||||
@@ -5330,7 +5330,7 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
 | 
			
		||||
    ImVec2 label_size = CalcTextSize(label, NULL, true);
 | 
			
		||||
    ImVec2 size(size_arg.x != 0.0f ? size_arg.x : label_size.x, size_arg.y != 0.0f ? size_arg.y : label_size.y);
 | 
			
		||||
    ImVec2 pos = window->DC.CursorPos;
 | 
			
		||||
    pos.y += window->DC.CurrentLineTextBaseOffset;
 | 
			
		||||
    pos.y += window->DC.CurrLineTextBaseOffset;
 | 
			
		||||
    ImRect bb_inner(pos, pos + size);
 | 
			
		||||
    ItemSize(size);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user