Tables: Fixed demo layout when clipped. Fixed warnings.
This commit is contained in:
parent
f130db51ae
commit
0190b619cf
@ -4209,6 +4209,8 @@ static void ShowDemoWindowTables()
|
||||
|
||||
const ImDrawList* parent_draw_list = ImGui::GetWindowDrawList();
|
||||
const int parent_draw_list_draw_cmd_count = parent_draw_list->CmdBuffer.Size;
|
||||
ImVec2 table_scroll_cur, table_scroll_max; // For debug display
|
||||
const ImDrawList* table_draw_list = NULL; // "
|
||||
|
||||
const float inner_width_to_use = (flags & ImGuiTableFlags_ScrollX) ? inner_width_with_scroll : inner_width_without_scroll;
|
||||
if (ImGui::BeginTable("##table", 5, flags, outer_size_enabled ? outer_size_value : ImVec2(0, 0), inner_width_to_use))
|
||||
@ -4322,23 +4324,22 @@ static void ShowDemoWindowTables()
|
||||
}
|
||||
ImGui::PopButtonRepeat();
|
||||
|
||||
const ImVec2 table_scroll_cur = ImVec2(ImGui::GetScrollX(), ImGui::GetScrollY());
|
||||
const ImVec2 table_scroll_max = ImVec2(ImGui::GetScrollMaxX(), ImGui::GetScrollMaxY());
|
||||
const ImDrawList* table_draw_list = ImGui::GetWindowDrawList();
|
||||
table_scroll_cur = ImVec2(ImGui::GetScrollX(), ImGui::GetScrollY());
|
||||
table_scroll_max = ImVec2(ImGui::GetScrollMaxX(), ImGui::GetScrollMaxY());
|
||||
table_draw_list = ImGui::GetWindowDrawList();
|
||||
ImGui::EndTable();
|
||||
|
||||
static bool show_debug_details = false;
|
||||
ImGui::Checkbox("Debug details", &show_debug_details);
|
||||
if (show_debug_details)
|
||||
{
|
||||
ImGui::SameLine(0.0f, 0.0f);
|
||||
const int table_draw_list_draw_cmd_count = table_draw_list->CmdBuffer.Size;
|
||||
if (table_draw_list == parent_draw_list)
|
||||
ImGui::Text(": DrawCmd: +%d (in same window)", table_draw_list_draw_cmd_count - parent_draw_list_draw_cmd_count);
|
||||
else
|
||||
ImGui::Text(": DrawCmd: +%d (in child window), Scroll: (%.f/%.f) (%.f/%.f)",
|
||||
table_draw_list_draw_cmd_count - 1, table_scroll_cur.x, table_scroll_max.x, table_scroll_cur.y, table_scroll_max.y);
|
||||
}
|
||||
}
|
||||
static bool show_debug_details = false;
|
||||
ImGui::Checkbox("Debug details", &show_debug_details);
|
||||
if (show_debug_details && table_draw_list)
|
||||
{
|
||||
ImGui::SameLine(0.0f, 0.0f);
|
||||
const int table_draw_list_draw_cmd_count = table_draw_list->CmdBuffer.Size;
|
||||
if (table_draw_list == parent_draw_list)
|
||||
ImGui::Text(": DrawCmd: +%d (in same window)", table_draw_list_draw_cmd_count - parent_draw_list_draw_cmd_count);
|
||||
else
|
||||
ImGui::Text(": DrawCmd: +%d (in child window), Scroll: (%.f/%.f) (%.f/%.f)",
|
||||
table_draw_list_draw_cmd_count - 1, table_scroll_cur.x, table_scroll_max.x, table_scroll_cur.y, table_scroll_max.y);
|
||||
}
|
||||
ImGui::TreePop();
|
||||
}
|
||||
@ -5076,9 +5077,9 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
||||
ImGui::Text("Main");
|
||||
ImGui::SliderFloat2("WindowPadding", (float*)&style.WindowPadding, 0.0f, 20.0f, "%.0f");
|
||||
ImGui::SliderFloat2("FramePadding", (float*)&style.FramePadding, 0.0f, 20.0f, "%.0f");
|
||||
ImGui::SliderFloat2("CellPadding", (float*)&style.CellPadding, 0.0f, 20.0f, "%.0f");
|
||||
ImGui::SliderFloat2("ItemSpacing", (float*)&style.ItemSpacing, 0.0f, 20.0f, "%.0f");
|
||||
ImGui::SliderFloat2("ItemInnerSpacing", (float*)&style.ItemInnerSpacing, 0.0f, 20.0f, "%.0f");
|
||||
ImGui::SliderFloat2("CellPadding", (float*)&style.CellPadding, 0.0f, 20.0f, "%.0f");
|
||||
ImGui::SliderFloat2("TouchExtraPadding", (float*)&style.TouchExtraPadding, 0.0f, 10.0f, "%.0f");
|
||||
ImGui::SliderFloat("IndentSpacing", &style.IndentSpacing, 0.0f, 30.0f, "%.0f");
|
||||
ImGui::SliderFloat("ScrollbarSize", &style.ScrollbarSize, 1.0f, 20.0f, "%.0f");
|
||||
|
@ -1342,7 +1342,7 @@ void ImGui::TableDrawMergeChannels(ImGuiTable* table)
|
||||
continue;
|
||||
ImDrawChannel* channel = &splitter->_Channels[n];
|
||||
IM_ASSERT(channel->_CmdBuffer.Size == 1 && merge_clip_rect.Contains(ImRect(channel->_CmdBuffer[0].ClipRect)));
|
||||
channel->_CmdBuffer[0].ClipRect = *(ImVec4*)&merge_clip_rect;
|
||||
channel->_CmdBuffer[0].ClipRect = merge_clip_rect.ToVec4();
|
||||
memcpy(dst_tmp++, channel, sizeof(ImDrawChannel));
|
||||
merge_channels_mask &= ~n_mask;
|
||||
}
|
||||
@ -2478,7 +2478,7 @@ void ImGui::DebugNodeTable(ImGuiTable* table)
|
||||
for (int n = 0; n < settings->ColumnsCount; n++)
|
||||
{
|
||||
ImGuiTableColumnSettings* column_settings = &settings->GetColumnSettings()[n];
|
||||
ImGuiSortDirection sort_dir = (column_settings->SortOrder != -1) ? column_settings->SortDirection : ImGuiSortDirection_None;
|
||||
ImGuiSortDirection sort_dir = (column_settings->SortOrder != -1) ? (ImGuiSortDirection)column_settings->SortDirection : ImGuiSortDirection_None;
|
||||
BulletText("Column %d Order %d SortOrder %d %s Visible %d UserID 0x%08X WidthOrWeight %.3f",
|
||||
n, column_settings->DisplayOrder, column_settings->SortOrder,
|
||||
(sort_dir == ImGuiSortDirection_Ascending) ? "Asc" : (sort_dir == ImGuiSortDirection_Descending) ? "Des" : "---",
|
||||
|
Loading…
Reference in New Issue
Block a user