structImGuiTabItem;// Storage for a tab item (within a tab bar)
structImGuiTable;// Storage for a table
structImGuiTableHeaderData;// Storage for TableAngledHeadersRow()
structImGuiTableColumn;// Storage for one column of a table
structImGuiTableInstanceData;// Storage for one instance of a same table
structImGuiTableTempData;// Temporary storage for one table (one per table in the stack), shared between tables.
@ -2771,13 +2772,24 @@ struct ImGuiTableColumn
};
// Transient cell data stored per row.
// sizeof() ~ 6
// sizeof() ~ 6 bytes
structImGuiTableCellData
{
ImU32BgColor;// Actual color
ImGuiTableColumnIdxColumn;// Column number
};
// Parameters for TableAngledHeadersRowEx()
// This may end up being refactored for more general purpose.
// sizeof() ~ 12 bytes
structImGuiTableHeaderData
{
ImGuiTableColumnIdxIndex;// Column index
ImU32TextColor;
ImU32BgColor0;
ImU32BgColor1;
};
// Per-instance data that needs preserving across frames (seemingly most others do not need to be preserved aside from debug needs. Does that means they could be moved to ImGuiTableTempData?)
// sizeof() ~ 24 bytes
structImGuiTableInstanceData
@ -2863,7 +2875,7 @@ struct IMGUI_API ImGuiTable
ImGuiTableSortSpecsSortSpecs;// Public facing sorts specs, this is what we return in TableGetSortSpecs()
ImGuiTableColumnIdxSortSpecsCount;
ImGuiTableColumnIdxColumnsEnabledCount;// Number of enabled columns (<= ColumnsCount)
ImGuiTableColumnIdxColumnsEnabledFixedCount;// Number of enabled columns (<= ColumnsCount)
ImGuiTableColumnIdxColumnsEnabledFixedCount;// Number of enabled columns using fixed width (<= ColumnsCount)
ImGuiTableColumnIdxDeclColumnsCount;// Count calls to TableSetupColumn()
ImGuiTableColumnIdxAngledHeadersCount;// Count columns with angled headers
ImGuiTableColumnIdxHoveredColumnBody;// Index of column whose visible region is being hovered. Important: == ColumnsCount when hovering empty region after the right-most column!
draw_list->AddRectFilled(ImVec2(table->BgClipRect.Min.x,row_r.Min.y),ImVec2(table->BgClipRect.Max.x,row_r.Max.y),GetColorU32(ImGuiCol_TableHeaderBg,0.25f));// FIXME-STYLE: Change row background with an arbitrary color.
PushClipRect(ImVec2(clip_rect_min_x,table->BgClipRect.Min.y),table->BgClipRect.Max,true);// Span all columns