ImGuiInputTextFlags_CharsNoBlank=1<<3,// Filter out spaces, tabs
ImGuiInputTextFlags_CharsUppercase=1<<3,// Turn a..z into A..Z
ImGuiInputTextFlags_AutoSelectAll=1<<4,// Select entire text when first taking mouse focus
ImGuiInputTextFlags_CharsNoBlank=1<<4,// Filter out spaces, tabs
ImGuiInputTextFlags_EnterReturnsTrue=1<<5,// Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.
ImGuiInputTextFlags_CallbackCompletion=1<<6,// Callback on pressing TAB (for completion handling)
// Inputs
ImGuiInputTextFlags_CallbackHistory=1<<7,// Callback on pressing Up/Down arrows (for history handling)
ImGuiInputTextFlags_AllowTabInput=1<<5,// Pressing TAB input a '\t' character into the text field
ImGuiInputTextFlags_CallbackAlways=1<<8,// Callback on each iteration. User code may query cursor position, modify text buffer.
ImGuiInputTextFlags_EnterReturnsTrue=1<<6,// Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.
ImGuiInputTextFlags_CallbackCharFilter=1<<9,// Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
ImGuiInputTextFlags_EscapeClearsAll=1<<7,// Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert)
ImGuiInputTextFlags_AllowTabInput=1<<10,// Pressing TAB input a '\t' character into the text field
ImGuiInputTextFlags_CtrlEnterForNewLine=1<<8,// In multi-line mode, validate with Enter, add new line with Ctrl+Enter (default is opposite: validate with Ctrl+Enter, add line with Enter).
ImGuiInputTextFlags_CtrlEnterForNewLine=1<<11,// In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
ImGuiInputTextFlags_NoHorizontalScroll=1<<12,// Disable following the cursor horizontally
ImGuiInputTextFlags_AutoSelectAll=1<<12,// Select entire text when first taking mouse focus
ImGuiInputTextFlags_ParseEmptyRefVal=1<<13,// InputFloat(), InputInt(), InputScalar() etc. only: parse empty string as zero value.
ImGuiInputTextFlags_DisplayEmptyRefVal=1<<14,// InputFloat(), InputInt(), InputScalar() etc. only: when value is zero, do not display it. Generally used with ImGuiInputTextFlags_ParseEmptyRefVal.
ImGuiInputTextFlags_NoHorizontalScroll=1<<15,// Disable following the cursor horizontally
ImGuiInputTextFlags_NoUndoRedo=1<<16,// Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().
ImGuiInputTextFlags_NoUndoRedo=1<<16,// Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().
ImGuiInputTextFlags_CallbackResize=1<<18,// Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this)
// Callback features
ImGuiInputTextFlags_CallbackEdit=1<<19,// Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active)
ImGuiInputTextFlags_CallbackCompletion=1<<17,// Callback on pressing TAB (for completion handling)
ImGuiInputTextFlags_EscapeClearsAll=1<<20,// Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert)
ImGuiInputTextFlags_CallbackHistory=1<<18,// Callback on pressing Up/Down arrows (for history handling)
ImGuiInputTextFlags_CallbackAlways=1<<19,// Callback on each iteration. User code may query cursor position, modify text buffer.
ImGuiInputTextFlags_CallbackCharFilter=1<<20,// Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
ImGuiInputTextFlags_CallbackResize=1<<21,// Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this)
ImGuiInputTextFlags_CallbackEdit=1<<22,// Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active)
// Obsolete names
// Obsolete names
//ImGuiInputTextFlags_AlwaysInsertMode = ImGuiInputTextFlags_AlwaysOverwrite // [renamed in 1.82] name was not matching behavior
//ImGuiInputTextFlags_AlwaysInsertMode = ImGuiInputTextFlags_AlwaysOverwrite // [renamed in 1.82] name was not matching behavior
@ -1166,7 +1175,7 @@ enum ImGuiTreeNodeFlags_
ImGuiTreeNodeFlags_OpenOnArrow=1<<7,// Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.
ImGuiTreeNodeFlags_OpenOnArrow=1<<7,// Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.
ImGuiTreeNodeFlags_Leaf=1<<8,// No collapsing, no arrow (use as a convenience for leaf nodes).
ImGuiTreeNodeFlags_Leaf=1<<8,// No collapsing, no arrow (use as a convenience for leaf nodes).
ImGuiTreeNodeFlags_Bullet=1<<9,// Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don't set the _Leaf flag!
ImGuiTreeNodeFlags_Bullet=1<<9,// Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don't set the _Leaf flag!
ImGuiTreeNodeFlags_FramePadding=1<<10,// Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding().
ImGuiTreeNodeFlags_FramePadding=1<<10,// Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding() before the node.
ImGuiTreeNodeFlags_SpanAvailWidth=1<<11,// Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line without using AllowOverlap mode.
ImGuiTreeNodeFlags_SpanAvailWidth=1<<11,// Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line without using AllowOverlap mode.
ImGuiTreeNodeFlags_SpanFullWidth=1<<12,// Extend hit box to the left-most and right-most edges (cover the indent area).
ImGuiTreeNodeFlags_SpanFullWidth=1<<12,// Extend hit box to the left-most and right-most edges (cover the indent area).
ImGuiTreeNodeFlags_SpanTextWidth=1<<13,// Narrow hit box + narrow hovering highlight, will only cover the label text.
ImGuiTreeNodeFlags_SpanTextWidth=1<<13,// Narrow hit box + narrow hovering highlight, will only cover the label text.
@ -1729,10 +1738,8 @@ enum ImGuiButtonFlags_
ImGuiButtonFlags_MouseButtonLeft=1<<0,// React on left mouse button (default)
ImGuiButtonFlags_MouseButtonLeft=1<<0,// React on left mouse button (default)
ImGuiButtonFlags_MouseButtonRight=1<<1,// React on right mouse button
ImGuiButtonFlags_MouseButtonRight=1<<1,// React on right mouse button
ImGuiButtonFlags_MouseButtonMiddle=1<<2,// React on center mouse button
ImGuiButtonFlags_MouseButtonMiddle=1<<2,// React on center mouse button
IMGUI_APIboolImageButton(ImTextureIDuser_texture_id,constImVec2&size,constImVec2&uv0=ImVec2(0,0),constImVec2&uv1=ImVec2(1,1),intframe_padding=-1,constImVec4&bg_col=ImVec4(0,0,0,0),constImVec4&tint_col=ImVec4(1,1,1,1));// Use new ImageButton() signature (explicit item id, regular FramePadding)
IMGUI_APIboolImageButton(ImTextureIDuser_texture_id,constImVec2&size,constImVec2&uv0=ImVec2(0,0),constImVec2&uv1=ImVec2(1,1),intframe_padding=-1,constImVec4&bg_col=ImVec4(0,0,0,0),constImVec4&tint_col=ImVec4(1,1,1,1));// Use new ImageButton() signature (explicit item id, regular FramePadding)
// OBSOLETED in 1.87 (from February 2022)
// OBSOLETED in 1.87 (from February 2022 but more formally obsoleted April 2024)
IMGUI_APIImGuiKeyGetKeyIndex(ImGuiKeykey);// Map ImGuiKey_* values into legacy native key index. == io.KeyMap[key]. When using a 1.87+ backend using io.AddKeyEvent(), calling GetKeyIndex() with ANY ImGuiKey_XXXX values will return the same value!
IMGUI_APIImGuiKeyGetKeyIndex(ImGuiKeykey);// Map ImGuiKey_* values into legacy native key index. == io.KeyMap[key]. When using a 1.87+ backend using io.AddKeyEvent(), calling GetKeyIndex() with ANY ImGuiKey_XXXX values will return the same value!
inlineImGuiInputTextState*GetInputTextState(ImGuiIDid){ImGuiContext&g=*GImGui;return(id!=0&&g.InputTextState.ID==id)?&g.InputTextState:NULL;}// Get input text state if active
inlineImGuiInputTextState*GetInputTextState(ImGuiIDid){ImGuiContext&g=*GImGui;return(id!=0&&g.InputTextState.ID==id)?&g.InputTextState:NULL;}// Get input text state if active
flags|=ImGuiInputTextFlags_AutoSelectAll|(ImGuiInputTextFlags)ImGuiInputTextFlags_NoMarkEdited;// We call MarkItemEdited() ourselves by comparing the actual data rather than the string.
flags|=ImGuiInputTextFlags_AutoSelectAll|(ImGuiInputTextFlags)ImGuiInputTextFlags_NoMarkEdited;// We call MarkItemEdited() ourselves by comparing the actual data rather than the string.