Main Widgets ​
Primary interactive widgets for ImGui.
Functions ​
Button() ​
lua
Button(label:string, size:ImVec2|nil) -> boolean- Description: Creates a button
- Parameters:
label:string- Button labelsize:ImVec2|nil- Button size (optional)
- Returns:
boolean- Button clicked
SmallButton() ​
lua
SmallButton(label:string) -> boolean- Description: Creates a small button
- Parameters:
label:string- Button label - Returns:
boolean- Button clicked
InvisibleButton() ​
lua
InvisibleButton(str_id:string, size:ImVec2, flags:ImGuiButtonFlags|nil) -> boolean- Description: Creates invisible button
- Parameters:
str_id:string- Button IDsize:ImVec2- Button sizeflags:ImGuiButtonFlags|nil- Button flags (optional)
- Returns:
boolean- Button clicked
ArrowButton() ​
lua
ArrowButton(str_id:string, dir:ImGuiDir) -> boolean- Description: Creates arrow button
- Parameters:
str_id:string- Button IDdir:ImGuiDir- Arrow direction
- Returns:
boolean- Button clicked
DragFloat() ​
lua
DragFloat(label:string, v:number, v_speed:number|nil, v_min:number|nil, v_max:number|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number- Description: Drag for float value
- Parameters:
label:string- Widget labelv:number- Value referencev_speed:number|nil- Drag speed (optional)v_min:number|nil- Minimum value (optional)v_max:number|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number- Active state, current value
DragFloat2() ​
lua
DragFloat2(label:string, v:number[], v_speed:number|nil, v_min:number|nil, v_max:number|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number[]- Description: Drag for 2 float values
- Parameters:
label:string- Widget labelv:number[]- Value array referencev_speed:number|nil- Drag speed (optional)v_min:number|nil- Minimum value (optional)v_max:number|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number[]- Active state, current values
DragFloat3() ​
lua
DragFloat3(label:string, v:number[], v_speed:number|nil, v_min:number|nil, v_max:number|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number[]- Description: Drag for 3 float values
- Parameters:
label:string- Widget labelv:number[]- Value array referencev_speed:number|nil- Drag speed (optional)v_min:number|nil- Minimum value (optional)v_max:number|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number[]- Active state, current values
DragFloat4() ​
lua
DragFloat4(label:string, v:number[], v_speed:number|nil, v_min:number|nil, v_max:number|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number[]- Description: Drag for 4 float values
- Parameters:
label:string- Widget labelv:number[]- Value array referencev_speed:number|nil- Drag speed (optional)v_min:number|nil- Minimum value (optional)v_max:number|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number[]- Active state, current values
DragFloatRange2() ​
lua
DragFloatRange2(label:string, v_current_min:number, v_current_max:number, v_speed:number|nil, v_min:number|nil, v_max:number|nil, format:string|nil, format_max:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number, number- Description: Drag for float range
- Parameters:
label:string- Widget labelv_current_min:number- Current minimum valuev_current_max:number- Current maximum valuev_speed:number|nil- Drag speed (optional)v_min:number|nil- Minimum value (optional)v_max:number|nil- Maximum value (optional)format:string|nil- Format string (optional)format_max:string|nil- Max format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number, number- Active state, min value, max value
DragInt() ​
lua
DragInt(label:string, v:integer, v_speed:number|nil, v_min:integer|nil, v_max:integer|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer- Description: Drag for integer value
- Parameters:
label:string- Widget labelv:integer- Value referencev_speed:number|nil- Drag speed (optional)v_min:integer|nil- Minimum value (optional)v_max:integer|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer- Active state, current value
DragInt2() ​
lua
DragInt2(label:string, v:integer[], v_speed:number|nil, v_min:integer|nil, v_max:integer|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer[]- Description: Drag for 2 integer values
- Parameters:
label:string- Widget labelv:integer[]- Value array referencev_speed:number|nil- Drag speed (optional)v_min:integer|nil- Minimum value (optional)v_max:integer|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer[]- Active state, current values
DragInt3() ​
lua
DragInt3(label:string, v:integer[], v_speed:number|nil, v_min:integer|nil, v_max:integer|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer[]- Description: Drag for 3 integer values
- Parameters:
label:string- Widget labelv:integer[]- Value array referencev_speed:number|nil- Drag speed (optional)v_min:integer|nil- Minimum value (optional)v_max:integer|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer[]- Active state, current values
DragInt4() ​
lua
DragInt4(label:string, v:integer[], v_speed:number|nil, v_min:integer|nil, v_max:integer|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer[]- Description: Drag for 4 integer values
- Parameters:
label:string- Widget labelv:integer[]- Value array referencev_speed:number|nil- Drag speed (optional)v_min:integer|nil- Minimum value (optional)v_max:integer|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer[]- Active state, current values
DragIntRange2() ​
lua
DragIntRange2(label:string, v_current_min:integer, v_current_max:integer, v_speed:number|nil, v_min:integer|nil, v_max:integer|nil, format:string|nil, format_max:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer, integer- Description: Drag for integer range
- Parameters:
label:string- Widget labelv_current_min:integer- Current minimum valuev_current_max:integer- Current maximum valuev_speed:number|nil- Drag speed (optional)v_min:integer|nil- Minimum value (optional)v_max:integer|nil- Maximum value (optional)format:string|nil- Format string (optional)format_max:string|nil- Max format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer, integer- Active state, min value, max value
DragScalar() ​
lua
DragScalar(label:string, data_type:ImGuiDataType, p_data:any, v_speed:number|nil, p_min:any|nil, p_max:any|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean- Description: Drag for scalar value
- Parameters:
label:string- Widget labeldata_type:ImGuiDataType- Data typep_data:any- Data referencev_speed:number|nil- Drag speed (optional)p_min:any|nil- Minimum value (optional)p_max:any|nil- Maximum value (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean- Active state
SliderFloat() ​
lua
SliderFloat(label:string, v:number, v_min:number, v_max:number, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number- Description: Slider for float value
- Parameters:
label:string- Widget labelv:number- Value referencev_min:number- Minimum valuev_max:number- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number- Active state, current value
SliderFloat2() ​
lua
SliderFloat2(label:string, v:number[], v_min:number, v_max:number, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number[]- Description: Slider for 2 float values
- Parameters:
label:string- Widget labelv:number[]- Value array referencev_min:number- Minimum valuev_max:number- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number[]- Active state, current values
SliderFloat3() ​
lua
SliderFloat3(label:string, v:number[], v_min:number, v_max:number, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number[]- Description: Slider for 3 float values
- Parameters:
label:string- Widget labelv:number[]- Value array referencev_min:number- Minimum valuev_max:number- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number[]- Active state, current values
SliderFloat4() ​
lua
SliderFloat4(label:string, v:number[], v_min:number, v_max:number, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number[]- Description: Slider for 4 float values
- Parameters:
label:string- Widget labelv:number[]- Value array referencev_min:number- Minimum valuev_max:number- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number[]- Active state, current values
SliderAngle() ​
lua
SliderAngle(label:string, v_rad:number, v_degrees_min:number|nil, v_degrees_max:number|nil, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number- Description: Slider for angle in radians
- Parameters:
label:string- Widget labelv_rad:number- Value in radiansv_degrees_min:number|nil- Minimum degrees (optional)v_degrees_max:number|nil- Maximum degrees (optional)format:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number- Active state, current value
SliderInt() ​
lua
SliderInt(label:string, v:integer, v_min:integer, v_max:integer, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer- Description: Slider for integer value
- Parameters:
label:string- Widget labelv:integer- Value referencev_min:integer- Minimum valuev_max:integer- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer- Active state, current value
SliderInt2() ​
lua
SliderInt2(label:string, v:integer[], v_min:integer, v_max:integer, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer[]- Description: Slider for 2 integer values
- Parameters:
label:string- Widget labelv:integer[]- Value array referencev_min:integer- Minimum valuev_max:integer- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer[]- Active state, current values
SliderInt3() ​
lua
SliderInt3(label:string, v:integer[], v_min:integer, v_max:integer, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer[]- Description: Slider for 3 integer values
- Parameters:
label:string- Widget labelv:integer[]- Value array referencev_min:integer- Minimum valuev_max:integer- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer[]- Active state, current values
SliderInt4() ​
lua
SliderInt4(label:string, v:integer[], v_min:integer, v_max:integer, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer[]- Description: Slider for 4 integer values
- Parameters:
label:string- Widget labelv:integer[]- Value array referencev_min:integer- Minimum valuev_max:integer- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer[]- Active state, current values
SliderScalar() ​
lua
SliderScalar(label:string, data_type:ImGuiDataType, p_data:any, p_min:any, p_max:any, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean- Description: Slider for scalar value
- Parameters:
label:string- Widget labeldata_type:ImGuiDataType- Data typep_data:any- Data referencep_min:any- Minimum valuep_max:any- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean- Active state
VSliderFloat() ​
lua
VSliderFloat(label:string, size:ImVec2, v:number, v_min:number, v_max:number, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, number- Description: Vertical slider for float
- Parameters:
label:string- Widget labelsize:ImVec2- Slider sizev:number- Value referencev_min:number- Minimum valuev_max:number- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, number- Active state, current value
VSliderInt() ​
lua
VSliderInt(label:string, size:ImVec2, v:integer, v_min:integer, v_max:integer, format:string|nil, flags:ImGuiSliderFlags|nil) -> boolean, integer- Description: Vertical slider for integer
- Parameters:
label:string- Widget labelsize:ImVec2- Slider sizev:integer- Value referencev_min:integer- Minimum valuev_max:integer- Maximum valueformat:string|nil- Format string (optional)flags:ImGuiSliderFlags|nil- Slider flags (optional)
- Returns:
boolean, integer- Active state, current value
Checkbox() ​
lua
Checkbox(label:string, v:boolean) -> boolean, boolean- Description: Checkbox widget
- Parameters:
label:string- Checkbox labelv:boolean- Value reference
- Returns:
boolean, boolean- Active state, current value
CheckboxFlags() ​
lua
CheckboxFlags(label:string, flags:integer, flags_value:integer) -> boolean, integer- Description: Checkbox for flags
- Parameters:
label:string- Checkbox labelflags:integer- Flags valueflags_value:integer- Flags reference
- Returns:
boolean, integer- Active state, current flags
RadioButton() ​
lua
RadioButton(label:string, active:boolean) -> boolean- Description: Radio button
- Parameters:
label:string- Button labelactive:boolean- Active state
- Returns:
boolean- Button clicked
RadioButtonInt() ​
lua
RadioButtonInt(label:string, v:integer, v_button:integer) -> boolean, integer- Description: Radio button returning integer
- Parameters:
label:string- Button labelv:integer- Value referencev_button:integer- Button value
- Returns:
boolean, integer- Button clicked, current value
ProgressBar() ​
lua
ProgressBar(fraction:number, size_arg:ImVec2|nil, overlay:string|nil)- Description: Progress bar
- Parameters:
fraction:number- Progress fractionsize_arg:ImVec2|nil- Size argument (optional)overlay:string|nil- Overlay text (optional)
- Returns: None
TreeNode() ​
lua
TreeNode(label:string, flags:ImGuiTreeNodeFlags|nil) -> boolean- Description: Tree node with label
- Parameters:
label:string- Node labelflags:ImGuiTreeNodeFlags|nil- Tree flags (optional)
- Returns:
boolean- Node open
TreeNode() ​
lua
TreeNode(str_id:string, flags:ImGuiTreeNodeFlags|nil, fmt:string, ...:any) -> boolean- Description: Tree node with string ID and format
- Parameters:
str_id:string- String IDflags:ImGuiTreeNodeFlags|nil- Tree flags (optional)fmt:string- Format string...:any- Format arguments
- Returns:
boolean- Node open
TreeNode() ​
lua
TreeNode(ptr_id:userdata, flags:ImGuiTreeNodeFlags|nil, fmt:string, ...:any) -> boolean- Description: Tree node with pointer ID and format
- Parameters:
ptr_id:userdata- Pointer IDflags:ImGuiTreeNodeFlags|nil- Tree flags (optional)fmt:string- Format string...:any- Format arguments
- Returns:
boolean- Node open
TreePush() ​
lua
TreePush()- Description: Pushes tree node
- Returns: None
TreePush() ​
lua
TreePush(str_id:string)- Description: Pushes tree node with string ID
- Parameters:
str_id:string- String ID - Returns: None
TreePush() ​
lua
TreePush(ptr_id:userdata)- Description: Pushes tree node with pointer ID
- Parameters:
ptr_id:userdata- Pointer ID - Returns: None
TreePop() ​
lua
TreePop()- Description: Pops tree node
- Returns: None
GetTreeNodeToLabelSpacing() ​
lua
GetTreeNodeToLabelSpacing() -> number- Description: Gets tree node to label spacing
- Returns:
number- Spacing value
CollapsingHeader() ​
lua
CollapsingHeader(label:string, flags:ImGuiTreeNodeFlags|nil) -> boolean- Description: Collapsing header
- Parameters:
label:string- Header labelflags:ImGuiTreeNodeFlags|nil- Tree flags (optional)
- Returns:
boolean- Header open
CollapsingHeader() ​
lua
CollapsingHeader(label:string, p_open:boolean, flags:ImGuiTreeNodeFlags|nil) -> boolean, boolean- Description: Collapsing header with open state
- Parameters:
label:string- Header labelp_open:boolean- Open state referenceflags:ImGuiTreeNodeFlags|nil- Tree flags (optional)
- Returns:
boolean, boolean- Header open, current state
ListBox() ​
lua
ListBox(label:string, current_item:integer, items:string[], height_in_items:integer|nil) -> boolean, integer- Description: List box
- Parameters:
label:string- List labelcurrent_item:integer- Current item indexitems:string[]- Item listheight_in_items:integer|nil- Height in items (optional)
- Returns:
boolean, integer- Item clicked, current item
ListBox() ​
lua
ListBox(label:string, current_item:integer, items_getter:function, data:userdata, items_count:integer, height_in_items:integer|nil) -> boolean, integer- Description: List box with callback
- Parameters:
label:string- List labelcurrent_item:integer- Current item indexitems_getter:function- Item getter callbackdata:userdata- User dataitems_count:integer- Item countheight_in_items:integer|nil- Height in items (optional)
- Returns:
boolean, integer- Item clicked, current item
BeginListBox() ​
lua
BeginListBox(label:string, size:ImVec2|nil) -> boolean- Description: Begins a list box
- Parameters:
label:string- List labelsize:ImVec2|nil- List size (optional)
- Returns:
boolean- List open
EndListBox() ​
lua
EndListBox()- Description: Ends a list box
- Returns: None
BeginCombo() ​
lua
BeginCombo(label:string, preview_value:string, flags:ImGuiComboFlags|nil) -> boolean- Description: Begins a combo box
- Parameters:
label:string- Combo labelpreview_value:string- Preview valueflags:ImGuiComboFlags|nil- Combo flags (optional)
- Returns:
boolean- Combo open
EndCombo() ​
lua
EndCombo()- Description: Ends a combo box
- Returns: None
Combo() ​
lua
Combo(label:string, current_item:integer, items:string[], popup_max_height_in_items:integer|nil) -> boolean, integer- Description: Combo box
- Parameters:
label:string- Combo labelcurrent_item:integer- Current item indexitems:string[]- Item listpopup_max_height_in_items:integer|nil- Max height in items (optional)
- Returns:
boolean, integer- Item clicked, current item
Combo() ​
lua
Combo(label:string, current_item:integer, items_getter:function, data:userdata, items_count:integer, popup_max_height_in_items:integer|nil) -> boolean, integer- Description: Combo box with callback
- Parameters:
label:string- Combo labelcurrent_item:integer- Current item indexitems_getter:function- Item getter callbackdata:userdata- User dataitems_count:integer- Item countpopup_max_height_in_items:integer|nil- Max height in items (optional)
- Returns:
boolean, integer- Item clicked, current item