ImGui table flags enum vendored from an external ImGui wrapper. It defines bit flags for table behaviors and border/sizing options used by the UI 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;
[Flags]
internal enum ImGuiTableFlags
{
None = 0,
Resizable = 1 << 0,
Reorderable = 1 << 1,
Hideable = 1 << 2,
Sortable = 1 << 3,
NoSavedSettings = 1 << 4,
ContextMenuInBody = 1 << 5,
RowBg = 1 << 6,
BordersInnerH = 1 << 7,
BordersOuterH = 1 << 8,
BordersInnerV = 1 << 9,
BordersOuterV = 1 << 10,
BordersH = BordersInnerH | BordersOuterH,
BordersV = BordersInnerV | BordersOuterV,
BordersInner = BordersInnerV | BordersInnerH,
BordersOuter = BordersOuterV | BordersOuterH,
Borders = BordersInner | BordersOuter,
NoBordersInBody = 1 << 11,
NoBordersInBodyUntilResize = 1 << 12,
SizingFixedFit = 1 << 13,
SizingFixedSame = 2 << 13,
SizingStretchProp = 3 << 13,
SizingStretchSame = 4 << 13,
NoHostExtendX = 1 << 16,
NoHostExtendY = 1 << 17,
NoKeepColumnsVisible = 1 << 18,
PreciseWidths = 1 << 19,
NoClip = 1 << 20,
PadOuterX = 1 << 21,
NoPadOuterX = 1 << 22,
NoPadInnerX = 1 << 23,
ScrollX = 1 << 24,
ScrollY = 1 << 25,
SortMulti = 1 << 26,
SortTristate = 1 << 27,
HighlightHoveredColumn = 1 << 28,
SizingMask_ = SizingFixedFit | SizingFixedSame | SizingStretchProp | SizingStretchSame,
}