MCPcopy Create free account
hub / github.com/Wemino/MarkerPatch / TableFixDisplayOrder

Method TableFixDisplayOrder

include/imgui/imgui_tables.cpp:3906–3919  ·  view source on GitHub ↗

Fix invalid display order data: compact values (0,1,3 -> 0,1,2); preserve relative order (0,3,1 -> 0,2,1); deduplicate (0,4,1,1 -> 0,3,1,2)

Source from the content-addressed store, hash-verified

3904
3905// Fix invalid display order data: compact values (0,1,3 -> 0,1,2); preserve relative order (0,3,1 -> 0,2,1); deduplicate (0,4,1,1 -> 0,3,1,2)
3906void ImGui::TableFixDisplayOrder(ImGuiTable* table)
3907{
3908 ImGuiContext& g = *GImGui;
3909 g.TempBuffer.reserve((int)(sizeof(ImGuiTableFixDisplayOrderColumnData) * table->ColumnsCount)); // FIXME: Maybe wrap those two lines as a helper.
3910 ImGuiTableFixDisplayOrderColumnData* fdo_columns = (ImGuiTableFixDisplayOrderColumnData*)(void*)g.TempBuffer.Data;
3911 for (int n = 0; n < table->ColumnsCount; n++)
3912 {
3913 fdo_columns[n].Idx = (ImGuiTableColumnIdx)n;
3914 fdo_columns[n].Table = table;
3915 }
3916 ImQsort(fdo_columns, (size_t)table->ColumnsCount, sizeof(ImGuiTableFixDisplayOrderColumnData), TableFixDisplayOrderComparer);
3917 for (int n = 0; n < table->ColumnsCount; n++)
3918 table->Columns[fdo_columns[n].Idx].DisplayOrder = (ImGuiTableColumnIdx)n;
3919}
3920
3921static void TableSettingsHandler_ClearAll(ImGuiContext* ctx, ImGuiSettingsHandler*)
3922{

Callers

nothing calls this directly

Calls 2

ImQsortFunction · 0.85
reserveMethod · 0.45

Tested by

no test coverage detected