Code/SboxSuperuser/Engine/Vendor/ImGui/ImGuiOldColumns.cs

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.

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;

/// <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();
}