ArrowButton(): Fixed arrow shape being horizontally misaligned by (FramePadding.y-FramePadding.x) if they are different.

Demo: Added extra usage of AlignTextToFramePadding() in a more visible section.
This commit is contained in:
omar
2018-09-20 10:24:29 +02:00
parent 0b190f11b9
commit 3d318a6577
3 changed files with 11 additions and 4 deletions

View File

@ -389,7 +389,8 @@ void ImGui::ShowDemoWindow(bool* p_open)
// Color buttons, demonstrate using PushID() to add unique identifier in the ID stack, and changing style.
for (int i = 0; i < 7; i++)
{
if (i > 0) ImGui::SameLine();
if (i > 0)
ImGui::SameLine();
ImGui::PushID(i);
ImGui::PushStyleColor(ImGuiCol_Button, (ImVec4)ImColor::HSV(i/7.0f, 0.6f, 0.6f));
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, (ImVec4)ImColor::HSV(i/7.0f, 0.7f, 0.7f));
@ -399,7 +400,12 @@ void ImGui::ShowDemoWindow(bool* p_open)
ImGui::PopID();
}
// Arrow buttons
// Use AlignTextToFramePadding() to align text baseline to the baseline of framed elements (otherwise a Text+SameLine+Button sequence will have the text a little too high by default)
ImGui::AlignTextToFramePadding();
ImGui::Text("Hold to repeat:");
ImGui::SameLine();
// Arrow buttons with Repeater
static int counter = 0;
float spacing = ImGui::GetStyle().ItemInnerSpacing.x;
ImGui::PushButtonRepeat(true);