1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-12-01 02:37:24 +01:00

Columns: Minor stylistic fixes. (#125)

This commit is contained in:
omar 2017-12-13 21:48:56 +01:00
parent f7c5f420e7
commit ba71e1c0e4

View File

@ -10879,6 +10879,17 @@ float ImGui::GetColumnOffset(int column_index)
return x_offset; return x_offset;
} }
float ImGui::GetColumnWidth(int column_index)
{
ImGuiWindow* window = GetCurrentWindowRead();
ImGuiColumnsSet* columns = window->DC.ColumnsSet;
IM_ASSERT(columns != NULL);
if (column_index < 0)
column_index = columns->Current;
return OffsetNormToPixels(columns, columns->Columns[column_index + 1].OffsetNorm - columns->Columns[column_index].OffsetNorm);
}
void ImGui::SetColumnOffset(int column_index, float offset) void ImGui::SetColumnOffset(int column_index, float offset)
{ {
ImGuiContext& g = *GImGui; ImGuiContext& g = *GImGui;
@ -10901,17 +10912,6 @@ void ImGui::SetColumnOffset(int column_index, float offset)
SetColumnOffset(column_index + 1, offset + ImMax(g.Style.ColumnsMinSpacing, width)); SetColumnOffset(column_index + 1, offset + ImMax(g.Style.ColumnsMinSpacing, width));
} }
float ImGui::GetColumnWidth(int column_index)
{
ImGuiWindow* window = GetCurrentWindowRead();
ImGuiColumnsSet* columns = window->DC.ColumnsSet;
IM_ASSERT(columns != NULL);
if (column_index < 0)
column_index = columns->Current;
return OffsetNormToPixels(columns, columns->Columns[column_index+1].OffsetNorm - columns->Columns[column_index].OffsetNorm);
}
void ImGui::SetColumnWidth(int column_index, float width) void ImGui::SetColumnWidth(int column_index, float width)
{ {
ImGuiWindow* window = GetCurrentWindowRead(); ImGuiWindow* window = GetCurrentWindowRead();
@ -11039,10 +11039,10 @@ void ImGui::EndColumns()
const float y1 = columns->StartPosY; const float y1 = columns->StartPosY;
const float y2 = window->DC.CursorPos.y; const float y2 = window->DC.CursorPos.y;
int dragging_column = -1; int dragging_column = -1;
for (int i = 1; i < columns->Count; i++) for (int n = 1; n < columns->Count; n++)
{ {
float x = window->Pos.x + GetColumnOffset(i); float x = window->Pos.x + GetColumnOffset(n);
const ImGuiID column_id = columns->ID + ImGuiID(i); const ImGuiID column_id = columns->ID + ImGuiID(n);
const float column_hw = 4.0f; // Half-width for interaction const float column_hw = 4.0f; // Half-width for interaction
const ImRect column_rect(ImVec2(x - column_hw, y1), ImVec2(x + column_hw, y2)); const ImRect column_rect(ImVec2(x - column_hw, y1), ImVec2(x + column_hw, y2));
KeepAliveID(column_id); KeepAliveID(column_id);
@ -11058,7 +11058,7 @@ void ImGui::EndColumns()
if (held && g.ActiveIdIsJustActivated) if (held && g.ActiveIdIsJustActivated)
g.ActiveIdClickOffset.x -= column_hw; // Store from center of column line (we used a 8 wide rect for columns clicking). This is used by GetDraggedColumnOffset(). g.ActiveIdClickOffset.x -= column_hw; // Store from center of column line (we used a 8 wide rect for columns clicking). This is used by GetDraggedColumnOffset().
if (held) if (held)
dragging_column = i; dragging_column = n;
} }
// Draw column (we clip the Y boundaries CPU side because very long triangles are mishandled by some GPU drivers.) // Draw column (we clip the Y boundaries CPU side because very long triangles are mishandled by some GPU drivers.)