A small vendored class representing the state of ImGui legacy Columns() layout. It stores IDs, flags, per-column list, cursor and clipping bounds, resize and channel state used by the old columns system.
// 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();
}