mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-28 00:39:02 +08:00
Changed SameLine() parameters from int to float.
This commit is contained in:
parent
8094aa78d2
commit
b67593a4b1
57
imgui.cpp
57
imgui.cpp
@ -136,6 +136,7 @@
|
||||
Occasionally introducing changes that are breaking the API. The breakage are generally minor and easy to fix.
|
||||
Here is a change-log of API breaking changes, if you are using one of the functions listed, expect to have to fix some code.
|
||||
|
||||
- 2015/07/10 (1.43) - changed SameLine() parameters from int to float.
|
||||
- 2015/07/02 (1.42) - renamed SetScrollPosHere() to SetScrollFromCursorPos(). Kept inline redirection function (will obsolete).
|
||||
- 2015/07/02 (1.42) - renamed GetScrollPosY() to GetScrollY(). Necessary to reduce confusion along with other scrolling functions, because positions (e.g. cursor position) are not equivalent to scrolling amount.
|
||||
- 2015/06/14 (1.41) - changed ImageButton() default bg_col parameter from (0,0,0,1) (black) to (0,0,0,0) (transparent) - makes a difference when texture have transparence
|
||||
@ -6161,7 +6162,7 @@ static bool SliderFloatN(const char* label, float* v, int components, float v_mi
|
||||
{
|
||||
ImGui::PushID(i);
|
||||
value_changed |= ImGui::SliderFloat("##v", &v[i], v_min, v_max, display_format, power);
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
ImGui::PopID();
|
||||
ImGui::PopItemWidth();
|
||||
}
|
||||
@ -6203,7 +6204,7 @@ static bool SliderIntN(const char* label, int* v, int components, int v_min, int
|
||||
{
|
||||
ImGui::PushID(i);
|
||||
value_changed |= ImGui::SliderInt("##v", &v[i], v_min, v_max, display_format);
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
ImGui::PopID();
|
||||
ImGui::PopItemWidth();
|
||||
}
|
||||
@ -6387,7 +6388,7 @@ static bool DragFloatN(const char* label, float* v, int components, float v_spee
|
||||
{
|
||||
ImGui::PushID(i);
|
||||
value_changed |= ImGui::DragFloat("##v", &v[i], v_speed, v_min, v_max, display_format, power);
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
ImGui::PopID();
|
||||
ImGui::PopItemWidth();
|
||||
}
|
||||
@ -6427,10 +6428,10 @@ bool ImGui::DragFloatRange2(const char* label, float* v_current_min, float* v_cu
|
||||
|
||||
bool value_changed = ImGui::DragFloat("##min", v_current_min, v_speed, (v_min >= v_max) ? -FLT_MAX : v_min, (v_min >= v_max) ? *v_current_max : ImMin(v_max, *v_current_max), display_format, power);
|
||||
ImGui::PopItemWidth();
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
value_changed |= ImGui::DragFloat("##max", v_current_max, v_speed, (v_min >= v_max) ? *v_current_min : ImMax(v_min, *v_current_min), (v_min >= v_max) ? FLT_MAX : v_max, display_format_max ? display_format_max : display_format, power);
|
||||
ImGui::PopItemWidth();
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
|
||||
ImGui::TextUnformatted(label, FindTextDisplayEnd(label));
|
||||
ImGui::EndGroup();
|
||||
@ -6465,7 +6466,7 @@ static bool DragIntN(const char* label, int* v, int components, float v_speed, i
|
||||
{
|
||||
ImGui::PushID(i);
|
||||
value_changed |= ImGui::DragInt("##v", &v[i], v_speed, v_min, v_max, display_format);
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
ImGui::PopID();
|
||||
ImGui::PopItemWidth();
|
||||
}
|
||||
@ -6505,10 +6506,10 @@ bool ImGui::DragIntRange2(const char* label, int* v_current_min, int* v_current_
|
||||
|
||||
bool value_changed = ImGui::DragInt("##min", v_current_min, v_speed, (v_min >= v_max) ? IM_INT_MIN : v_min, (v_min >= v_max) ? *v_current_max : ImMin(v_max, *v_current_max), display_format);
|
||||
ImGui::PopItemWidth();
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
value_changed |= ImGui::DragInt("##max", v_current_max, v_speed, (v_min >= v_max) ? *v_current_min : ImMax(v_min, *v_current_min), (v_min >= v_max) ? IM_INT_MAX : v_max, display_format_max ? display_format_max : display_format);
|
||||
ImGui::PopItemWidth();
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
|
||||
ImGui::TextUnformatted(label, FindTextDisplayEnd(label));
|
||||
ImGui::EndGroup();
|
||||
@ -6672,7 +6673,7 @@ bool ImGui::Checkbox(const char* label, bool* v)
|
||||
|
||||
ImRect total_bb = check_bb;
|
||||
if (label_size.x > 0)
|
||||
SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
SameLine(0, style.ItemInnerSpacing.x);
|
||||
const ImRect text_bb(window->DC.CursorPos + ImVec2(0,style.FramePadding.y), window->DC.CursorPos + ImVec2(0,style.FramePadding.y) + label_size);
|
||||
if (label_size.x > 0)
|
||||
{
|
||||
@ -6730,7 +6731,7 @@ bool ImGui::RadioButton(const char* label, bool active)
|
||||
|
||||
ImRect total_bb = check_bb;
|
||||
if (label_size.x > 0)
|
||||
SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
SameLine(0, style.ItemInnerSpacing.x);
|
||||
const ImRect text_bb(window->DC.CursorPos + ImVec2(0, style.FramePadding.y), window->DC.CursorPos + ImVec2(0, style.FramePadding.y) + label_size);
|
||||
if (label_size.x > 0)
|
||||
{
|
||||
@ -7575,13 +7576,13 @@ bool ImGui::InputFloat(const char* label, float *v, float step, float step_fast,
|
||||
if (step > 0.0f)
|
||||
{
|
||||
ImGui::PopItemWidth();
|
||||
ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, style.ItemInnerSpacing.x);
|
||||
if (ButtonEx("-", button_sz, ImGuiButtonFlags_Repeat | ImGuiButtonFlags_DontClosePopups))
|
||||
{
|
||||
*v -= g.IO.KeyCtrl && step_fast > 0.0f ? step_fast : step;
|
||||
value_changed = true;
|
||||
}
|
||||
ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, style.ItemInnerSpacing.x);
|
||||
if (ButtonEx("+", button_sz, ImGuiButtonFlags_Repeat | ImGuiButtonFlags_DontClosePopups))
|
||||
{
|
||||
*v += g.IO.KeyCtrl && step_fast > 0.0f ? step_fast : step;
|
||||
@ -7592,7 +7593,7 @@ bool ImGui::InputFloat(const char* label, float *v, float step, float step_fast,
|
||||
|
||||
if (label_size.x > 0)
|
||||
{
|
||||
ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, style.ItemInnerSpacing.x);
|
||||
RenderText(ImVec2(window->DC.CursorPos.x, window->DC.CursorPos.y + style.FramePadding.y), label);
|
||||
ItemSize(label_size, style.FramePadding.y);
|
||||
}
|
||||
@ -7625,7 +7626,7 @@ static bool InputFloatN(const char* label, float* v, int components, int decimal
|
||||
{
|
||||
ImGui::PushID(i);
|
||||
value_changed |= ImGui::InputFloat("##v", &v[i], 0, 0, decimal_precision, extra_flags);
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
ImGui::PopID();
|
||||
ImGui::PopItemWidth();
|
||||
}
|
||||
@ -7668,7 +7669,7 @@ static bool InputIntN(const char* label, int* v, int components, ImGuiInputTextF
|
||||
{
|
||||
ImGui::PushID(i);
|
||||
value_changed |= ImGui::InputInt("##v", &v[i], 0, 0, extra_flags);
|
||||
ImGui::SameLine(0, (int)g.Style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, g.Style.ItemInnerSpacing.x);
|
||||
ImGui::PopID();
|
||||
ImGui::PopItemWidth();
|
||||
}
|
||||
@ -8342,7 +8343,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], bool alpha)
|
||||
for (int n = 0; n < components; n++)
|
||||
{
|
||||
if (n > 0)
|
||||
ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, style.ItemInnerSpacing.x);
|
||||
if (n + 1 == components)
|
||||
ImGui::PushItemWidth(w_item_last);
|
||||
value_changed |= ImGui::DragInt(ids[n], &i[n], 1.0f, 0, 255, fmt[n]);
|
||||
@ -8377,7 +8378,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], bool alpha)
|
||||
break;
|
||||
}
|
||||
|
||||
ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, style.ItemInnerSpacing.x);
|
||||
|
||||
const ImVec4 col_display(col[0], col[1], col[2], 1.0f);
|
||||
if (ImGui::ColorButton(col_display))
|
||||
@ -8385,7 +8386,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], bool alpha)
|
||||
|
||||
if (window->DC.ColorEditMode == ImGuiColorEditMode_UserSelectShowButton)
|
||||
{
|
||||
ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, style.ItemInnerSpacing.x);
|
||||
const char* button_titles[3] = { "RGB", "HSV", "HEX" };
|
||||
if (ButtonEx(button_titles[edit_mode], ImVec2(0,0), ImGuiButtonFlags_DontClosePopups))
|
||||
g.ColorEditModeStorage.SetInt(id, (edit_mode + 1) % 3); // Don't set local copy of 'edit_mode' right away!
|
||||
@ -8393,7 +8394,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], bool alpha)
|
||||
}
|
||||
else
|
||||
{
|
||||
ImGui::SameLine(0, (int)style.ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, style.ItemInnerSpacing.x);
|
||||
}
|
||||
|
||||
ImGui::TextUnformatted(label, FindTextDisplayEnd(label));
|
||||
@ -8615,11 +8616,11 @@ void ImGui::EndGroup()
|
||||
}
|
||||
|
||||
// Gets back to previous line and continue with horizontal layout
|
||||
// column_x == 0 : follow on previous item
|
||||
// columm_x != 0 : align to specified column
|
||||
// pos_x == 0 : follow on previous item
|
||||
// pos_x != 0 : align to specified column
|
||||
// spacing_w < 0 : use default spacing if column_x==0, no spacing if column_x!=0
|
||||
// spacing_w >= 0 : enforce spacing
|
||||
void ImGui::SameLine(int column_x, int spacing_w)
|
||||
void ImGui::SameLine(float pos_x, float spacing_w)
|
||||
{
|
||||
ImGuiState& g = *GImGui;
|
||||
ImGuiWindow* window = GetCurrentWindow();
|
||||
@ -8627,16 +8628,16 @@ void ImGui::SameLine(int column_x, int spacing_w)
|
||||
return;
|
||||
|
||||
float x, y;
|
||||
if (column_x != 0)
|
||||
if (pos_x != 0.0f)
|
||||
{
|
||||
if (spacing_w < 0) spacing_w = 0;
|
||||
x = window->Pos.x + (float)column_x + (float)spacing_w;
|
||||
if (spacing_w < 0.0f) spacing_w = 0.0f;
|
||||
x = window->Pos.x + pos_x + spacing_w;
|
||||
y = window->DC.CursorPosPrevLine.y;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (spacing_w < 0) spacing_w = (int)g.Style.ItemSpacing.x;
|
||||
x = window->DC.CursorPosPrevLine.x + (float)spacing_w;
|
||||
if (spacing_w < 0.0f) spacing_w = g.Style.ItemSpacing.x;
|
||||
x = window->DC.CursorPosPrevLine.x + spacing_w;
|
||||
y = window->DC.CursorPosPrevLine.y;
|
||||
}
|
||||
window->DC.CurrentLineHeight = window->DC.PrevLineHeight;
|
||||
@ -11368,7 +11369,7 @@ void ImGui::ShowTestWindow(bool* opened)
|
||||
}
|
||||
}
|
||||
ImGui::PlotLines("##Graph", &values.front(), (int)values.Size, values_offset, "avg 0.0", -1.0f, 1.0f, ImVec2(0,80));
|
||||
ImGui::SameLine(0, (int)ImGui::GetStyle().ItemInnerSpacing.x);
|
||||
ImGui::SameLine(0, ImGui::GetStyle().ItemInnerSpacing.x);
|
||||
ImGui::BeginGroup();
|
||||
ImGui::Text("Graph");
|
||||
ImGui::Checkbox("pause", &pause);
|
||||
|
2
imgui.h
2
imgui.h
@ -170,7 +170,7 @@ namespace ImGui
|
||||
IMGUI_API void BeginGroup(); // once closing a group it is seen as a single item (so you can use IsItemHovered() on a group, SameLine() between groups, etc.
|
||||
IMGUI_API void EndGroup();
|
||||
IMGUI_API void Separator(); // horizontal line
|
||||
IMGUI_API void SameLine(int column_x = 0, int spacing_w = -1); // call between widgets or groups to layout them horizontally
|
||||
IMGUI_API void SameLine(float pos_x = 0.0f, float spacing_w = -1.0f); // call between widgets or groups to layout them horizontally
|
||||
IMGUI_API void Spacing(); // add spacing
|
||||
IMGUI_API void Dummy(const ImVec2& size); // add a dummy item of given size
|
||||
IMGUI_API void Indent(); // move content position toward the right by style.IndentSpacing pixels
|
||||
|
Loading…
Reference in New Issue
Block a user