SboxSuperuser/Engine/Vendor/ImGui/ImGuiTableColumn.cs

Internal class representing a single ImGui table column. It stores column metadata and layout state such as name, flags, sizing requests and results, visibility, ordering and sorting state used by the ImGui table implementation.

Native Interop
// Vendored from zeljkovranjes/sbox-imgui; see LICENSE and PROVENANCE.md in this folder.
using Sandbox;
#pragma warning disable CS0649 // Upstream reserves fields for optional widgets and features.
namespace SboxSuperuser.Engine.Vendor.ImGui;

internal class ImGuiTableColumn
{
	public string Name;
	public int UserID;
	public ImGuiTableColumnFlags DeclFlags;
	public ImGuiTableColumnFlags Flags; // effective flags (with width policy resolved)
	public float InitWidthOrWeight;
	public float WidthRequest = -1f;
	public float StretchWeight = -1f;
	public float WidthGiven;
	public float ContentWidthPrev;
	public float ContentWidthThisFrame;
	public float MinX, MaxX, WorkMinX, WorkMaxX;
	public float ClipMinX, ClipMaxX;
	public float ItemWidth;
	public bool IsUserEnabled = true;
	public bool IsUserEnabledNextFrame = true;
	public bool IsEnabled = true;
	public bool IsVisibleX = true;
	public bool IsFrozen;
	public int DisplayOrder;
	public int DisplayIndex;
	public int SortOrder = -1;
	public ImGuiSortDirection SortDirection = ImGuiSortDirection.None;
	public bool IsStretch => (Flags & ImGuiTableColumnFlags.WidthStretch) != 0;
}