// you can handle single-selection in a simpler manner by just calling Selectable() and reacting on clicks yourself.
enumImGuiMultiSelectFlags_
{
ImGuiMultiSelectFlags_None=0,
ImGuiMultiSelectFlags_NoMultiSelect=1<<0,
ImGuiMultiSelectFlags_NoUnselect=1<<1,// Disable unselecting items with CTRL+Click, CTRL+Space etc.
ImGuiMultiSelectFlags_NoSelectAll=1<<2,// Disable CTRL+A shortcut to set RequestSelectAll
ImGuiMultiSelectFlags_ClearOnEscape=1<<3,// Enable ESC shortcut to clear selection
ImGuiMultiSelectFlags_None=0,
ImGuiMultiSelectFlags_NoMultiSelect=1<<0,
ImGuiMultiSelectFlags_NoUnselect=1<<1,// Disable unselecting items with CTRL+Click, CTRL+Space etc.
ImGuiMultiSelectFlags_NoSelectAll=1<<2,// Disable CTRL+A shortcut to set RequestSelectAll
ImGuiMultiSelectFlags_ClearOnClickWindowVoid=1<<3,// Clear selection when clicking on empty location within host window (use if BeginMultiSelect() covers a whole window)
//ImGuiMultiSelectFlags_ClearOnClickRectVoid= 1 << 4, // Clear selection when clicking on empty location within rectangle covered by selection scope (use if multiple BeginMultiSelect() are used in the same host window)
ImGuiMultiSelectFlags_ClearOnEscape=1<<5,// Clear selection when pressing Escape while scope is focused.
ImGuiMultiSelectDataOut;// The Out requests are finalized and returned by EndMultiSelect()
boolInRangeDstPassedBy;// (Internal) set by the the item that match NavJustMovedToId when InRequestRangeSetNav is set.
boolInRequestSetRangeNav;// (Internal) set by BeginMultiSelect() when using Shift+Navigation. Because scrolling may be affected we can't afford a frame of lag with Shift+Navigation.
//ImRect Rect; // Extent of selection scope between BeginMultiSelect() / EndMultiSelect(), used by ImGuiMultiSelectFlags_ClearOnClickRectVoid.