@ -154,7 +154,7 @@ struct ImGuiTableInstanceData; // Storage for one instance of a same table
structImGuiTableTempData;// Temporary storage for one table (one per table in the stack), shared between tables.
structImGuiTableSettings;// Storage for a table .ini settings
structImGuiTableColumnsSettings;// Storage for a column .ini settings
structImGuiTypingSelectData;// Storage for GetTypingSelectRequest()
structImGuiTypingSelectState;// Storage for GetTypingSelectRequest()
structImGuiTypingSelectRequest;// Storage for GetTypingSelectRequest() (aimed to be public)
structImGuiWindow;// Storage for one window
structImGuiWindowTempData;// Temporary storage for one window (that's the data which in theory we could ditch at the end of the frame, in practice we currently keep it for each window)
boolSelectRequest;// Set when buffer was modified this frame, requesting a selection.
boolSingleCharMode;// Notify when buffer contains same character repeated, to implement special mode.
boolSingleCharMode;// Notify when buffer contains same character repeated, to implement special mode. In this situation it preferred to not display any on-screen search indication.
ImS8SingleCharSize;// Length in bytes of first letter codepoint (1 for ascii, 2-4 for UTF-8). If (SearchBufferLen==RepeatCharSize) only 1 letter has been input.
};
// Storage for GetTypingSelectRequest()
structIMGUI_APIImGuiTypingSelectData
structIMGUI_APIImGuiTypingSelectState
{
ImGuiTypingSelectRequestRequest;// User-facing data
charSearchBuffer[64];// Search buffer: no need to make dynamic as this search is very transient.
ImGuiIDFocusScope;
intLastRequestFrame=0;
floatLastRequestTime=0.0f;
boolSingleCharModeLock=false;// After a certain single char repeat count we lock into SingleCharMode. Two benefits: 1) buffer never fill, 2) we can provide an immediate SingleChar mode without timer elapsing.
data->SingleCharModeLock|=(single_char_count>=TYPING_SELECT_SINGLE_CHAR_COUNT_FOR_LOCK);// From now on we stop search matching to lock to single char mode.
// if your SetNextItemSelectionData() values are index, you can obtain it from ImGuiMultiSelectIO::NavIdItem, otherwise from g.NavLastValidSelectionUserData.