1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-11-14 19:17:48 +01:00

Added Indent(), Unindent()

This commit is contained in:
ocornut 2015-03-15 11:19:10 +00:00
parent edde703f8f
commit 44826972c0
2 changed files with 21 additions and 8 deletions

View File

@ -6891,32 +6891,43 @@ void ImGui::Columns(int columns_count, const char* id, bool border)
} }
} }
void ImGui::TreePush(const char* str_id)
inline void ImGui::Indent()
{ {
ImGuiState& g = *GImGui; ImGuiState& g = *GImGui;
ImGuiWindow* window = GetCurrentWindow(); ImGuiWindow* window = GetCurrentWindow();
window->DC.ColumnsStartX += g.Style.IndentSpacing; window->DC.ColumnsStartX += g.Style.IndentSpacing;
window->DC.CursorPos.x = window->Pos.x + window->DC.ColumnsStartX + window->DC.ColumnsOffsetX; window->DC.CursorPos.x = window->Pos.x + window->DC.ColumnsStartX + window->DC.ColumnsOffsetX;
}
inline void ImGui::Unindent()
{
ImGuiState& g = *GImGui;
ImGuiWindow* window = GetCurrentWindow();
window->DC.ColumnsStartX -= g.Style.IndentSpacing;
window->DC.CursorPos.x = window->Pos.x + window->DC.ColumnsStartX + window->DC.ColumnsOffsetX;
}
void ImGui::TreePush(const char* str_id)
{
ImGuiWindow* window = GetCurrentWindow();
ImGui::Indent();
window->DC.TreeDepth++; window->DC.TreeDepth++;
PushID(str_id ? str_id : "#TreePush"); PushID(str_id ? str_id : "#TreePush");
} }
void ImGui::TreePush(const void* ptr_id) void ImGui::TreePush(const void* ptr_id)
{ {
ImGuiState& g = *GImGui;
ImGuiWindow* window = GetCurrentWindow(); ImGuiWindow* window = GetCurrentWindow();
window->DC.ColumnsStartX += g.Style.IndentSpacing; ImGui::Indent();
window->DC.CursorPos.x = window->Pos.x + window->DC.ColumnsStartX + window->DC.ColumnsOffsetX;
window->DC.TreeDepth++; window->DC.TreeDepth++;
PushID(ptr_id ? ptr_id : (const void*)"#TreePush"); PushID(ptr_id ? ptr_id : (const void*)"#TreePush");
} }
void ImGui::TreePop() void ImGui::TreePop()
{ {
ImGuiState& g = *GImGui;
ImGuiWindow* window = GetCurrentWindow(); ImGuiWindow* window = GetCurrentWindow();
window->DC.ColumnsStartX -= g.Style.IndentSpacing; ImGui::Unindent();
window->DC.CursorPos.x = window->Pos.x + window->DC.ColumnsStartX + window->DC.ColumnsOffsetX;
window->DC.TreeDepth--; window->DC.TreeDepth--;
PopID(); PopID();
} }

View File

@ -225,7 +225,9 @@ namespace ImGui
// Layout // Layout
IMGUI_API void Separator(); // horizontal line IMGUI_API void Separator(); // horizontal line
IMGUI_API void SameLine(int column_x = 0, int spacing_w = -1); // call between widgets to layout them horizontally IMGUI_API void SameLine(int column_x = 0, int spacing_w = -1); // call between widgets to layout them horizontally
IMGUI_API void Spacing(); IMGUI_API void Spacing(); // add vertical spacing
IMGUI_API void Indent(); // move content position toward the right by style.IndentSpacing pixels
IMGUI_API void Unindent(); // move content position back to the left (cancel Indent)
IMGUI_API void Columns(int count = 1, const char* id = NULL, bool border=true); // setup number of columns IMGUI_API void Columns(int count = 1, const char* id = NULL, bool border=true); // setup number of columns
IMGUI_API void NextColumn(); // next column IMGUI_API void NextColumn(); // next column
IMGUI_API int GetColumnIndex(); // get current column index IMGUI_API int GetColumnIndex(); // get current column index