mirror of https://github.com/ocornut/imgui
Button centering left to RenderTextClipped function.
This commit is contained in:
parent
f26de46350
commit
f841097e99
|
@ -2643,6 +2643,7 @@ static void RenderTextClipped(ImVec2 pos, const char* text, const char* text_end
|
|||
// Align
|
||||
if (align & ImGuiAlign_Center) pos.x = ImMax(pos.x, (pos.x + pos_max.x - text_size.x) * 0.5f);
|
||||
else if (align & ImGuiAlign_Right) pos.x = ImMax(pos.x, pos_max.x - text_size.x);
|
||||
if (align & ImGuiAlign_VCenter) pos.y = ImMax(pos.y, (pos.y + pos_max.y - text_size.y) * 0.5f);
|
||||
|
||||
// Render
|
||||
window->DrawList->AddText(g.Font, g.FontSize, pos, window->Color(ImGuiCol_Text), text, text_display_end, 0.0f, need_clipping ? clip_max : NULL);
|
||||
|
@ -4888,9 +4889,7 @@ static bool ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags
|
|||
// Render
|
||||
const ImU32 col = window->Color((hovered && held) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button);
|
||||
RenderFrame(bb.Min, bb.Max, col, true, style.FrameRounding);
|
||||
|
||||
const ImVec2 off = ImVec2(ImMax(0.0f, size.x - label_size.x) * 0.5f, ImMax(0.0f, size.y - label_size.y) * 0.5f); // Center (only applies if we explicitly gave a size bigger than the text size, which isn't the common path)
|
||||
RenderTextClipped(bb.Min + off, label, NULL, &label_size, bb.Max); // Render clip (only applies if we explicitly gave a size smaller than the text size, which isn't common)
|
||||
RenderTextClipped(bb.Min, label, NULL, &label_size, bb.Max, NULL, ImGuiAlign_Center | ImGuiAlign_VCenter);
|
||||
|
||||
// Automatically close popups
|
||||
if (pressed && !(flags & ImGuiButtonFlags_DontClosePopups) && (window->Flags & ImGuiWindowFlags_Popup))
|
||||
|
|
4
imgui.h
4
imgui.h
|
@ -522,7 +522,9 @@ enum ImGuiAlign_
|
|||
ImGuiAlign_Left = 1 << 0,
|
||||
ImGuiAlign_Center = 1 << 1,
|
||||
ImGuiAlign_Right = 1 << 2,
|
||||
ImGuiAlign_Default = ImGuiAlign_Left,
|
||||
ImGuiAlign_Top = 1 << 3,
|
||||
ImGuiAlign_VCenter = 1 << 4,
|
||||
ImGuiAlign_Default = ImGuiAlign_Left | ImGuiAlign_Top,
|
||||
};
|
||||
|
||||
// Enumeration for ColorEditMode()
|
||||
|
|
Loading…
Reference in New Issue