A small internal class representing the state of a legacy ImGui Columns set. It stores IDs, flags, layout metrics, clip rects and a list of per-column data used by the old Columns() API.
// 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;
/// <summary>State of a legacy Columns() set. Prefer tables for new code.</summary>
internal class ImGuiOldColumns
{
public int ID;
public ImGuiOldColumnFlags Flags;
public bool IsFirstFrame;
public bool IsBeingResized;
public bool UsesChannels;
public int Current;
public int Count;
public float OffMinX, OffMaxX;
public float LineMinY, LineMaxY;
public float HostCursorPosY;
public float HostCursorMaxPosX;
public ImRect HostInitialClipRect;
public ImRect HostBackupClipRect;
public ImRect HostBackupParentWorkRect;
public readonly List<ImGuiOldColumnData> Columns = new();
}