Welcome to the sol2 ImGui bindings. I spent my time making these over the last few days. I hope you think they are useful as there's no others to my knowledge.
If you liked what I did and have some money to spare (I'm a student, haha), you can donate to me at https://paypal.me/mattseys. It would be appreciated!
Enjoy!
- This uses the latest sol2 version, the repo is located at https://github.com/ThePhD/sol2/.
- These bindings are based on one of the latest version of ImGui Docking Branch. Comment what you don't need or breaks.
- I've hid the U32 related function with a define (SOL_IMGUI_USE_COLOR_U32), if you wish to use these, define that!
- There's also another define hidden (CUSTOM_IMGUI) which is for my own adapted imgui version with a few more enum values, ignore if you wish.
// Call this function!
sol_ImGui::Init(lua); // lua being your sol::state
You can find all the supported functions and overloads below.
-- ImGui.Begin(...)
-- Parameters: text (name), bool (open) [O], ImGuiWindowFlags (flags) [O]
-- Returns A: bool (shouldDraw)
-- Returns B & C: bool (open), bool (shouldDraw)
-- Overloads
shouldDraw = ImGui.Begin("Name")
open, shouldDraw = ImGui.Begin("Name", open)
open, shouldDraw = ImGui.Begin("Name", open, ImGuiWindowFlags.NoMove)
-- ImGui.End()
ImGui.End()
-- ImGui.BeginChild(...)
-- Parameters: text (name), float (size_x) [O], float (size_y) [O], ImGuiWindowFlags (flags) [O]
-- Returns: bool (shouldDraw)
-- Overloads
shouldDraw = ImGui.BeginChild("Name", 100)
shouldDraw = ImGui.BeginChild("Name", 100)
shouldDraw = ImGui.BeginChild("Name", 100, 200)
shouldDraw = ImGui.BeginChild("Name", 100, 200, true)
shouldDraw = ImGui.BeginChild("Name", 100, 200, true, ImGuiWindowFlags.NoMove)
-- ImGui.EndChild()
ImGui.EndChild()
-- ImGui.IsWindowAppearing()
-- Returns: bool (appearing)
appearing = ImGui.IsWindowAppearing()
-- ImGui.IsWindowCollapsed()
-- Returns: bool (collapsed)
collapsed = ImGui.IsWindowCollapsed()
-- ImGui.IsWindowFocused(...)
-- Parameters: ImGuiFocusedFlags (flags) [O]
-- Returns: bool (focused)
-- Overloads
focused = ImGui.IsWindowFocused()
focused = ImGui.IsWindowFocused(ImGuiFocusedFlags.ChildWindows)
-- ImGui.IsWindowHovered(...)
-- Parameters: ImGuiHoveredFlags (flags) [O]
-- Returns: bool (hovered)
-- Overloads
hovered = ImGui.IswindowHovered()
hovered = ImGui.IsWindowHovered(ImGuiHoveredFlags.ChildWindows)
-- ImGui.GetWindowDpiScale()
-- Returns: float (dpiScale)
dpiScale = ImGui.GetWindowDpiScale()
-- ImGui.GetWindowPos()
-- Returns: float (pos_x), float (pos_y)
pos_x, pos_y = ImGui.GetWindowPos()
-- ImGui.GetWindowSize()
-- Returns: float (size_x), float (size_y)
size_x, size_y = ImGui.GetWindowSize()
-- ImGui.GetWindowWidth()
-- Returns: float (width)
width = ImGui.GetWindowWidth()
-- ImGui.GetWindowHeight()
-- Returns: float (height)
height = ImGui.GetWindowHeight()
-- ImGui.SetNextWindowPos(...)
-- Parameters: float (pos_x), float (pos_y), ImGuiCond (cond) [O], float (pivot_x) [O], float (pivot_y) [O]
-- Overloads
ImGui.SetNextWindowPos(100, 100)
ImGui.SetNextWindowPos(100, 100, ImGuiCond.Always)
ImGui.SetNextWindowPos(100, 100, ImGuiCond.Always, 0, 0.5)
-- ImGui.SetNextWindowSize(...)
-- Parameters: float (size_x), float (size_y), ImGuiCond (cond) [O]
-- Overloads
ImGui.SetNextWindowSize(500, 500)
ImGui.SetNextWindowSize(500, 500, ImGuiCond.Appearing)
-- ImGui.SetNextWindowSizeConstraints(...)
-- Parameters: float (min_x), float (min_y), float (max_x), float (max_y)
ImGui.SetNextWindowSizeConstraints(100, 100, 500, 600)
-- ImGui.SetNextWindowContentSize(...)
-- Parameters: float (size_x), float (size_y)
ImGui.SetNextWindowContentSize(200, 100)
-- ImGui.SetNextWindowCollapsed(...)
-- Parameters: bool (collapsed), ImGuiCond (cond) [O]
-- Overloads
ImGui.SetNextWindowCollapsed(true)
ImGui.SetNextWindowCollapsed(true, ImGuiCond.Appearing)
-- ImGui.SetNextWindowFocus()
ImGui.SetNextWindowFocus()
-- ImGui.SetNextWindowBgAlpha(...)
-- Parameters: float (alpha)
ImGui.SetNextWindowBgAlpha(0.5)
-- ImGui.SetWindowPos(...)
-- Parameters: float (pos_x), float (pos_y), ImguiCond (cond) [O]
-- Overloads
ImGui.SetWindowPos(100, 100)
ImGui.SetWindowPos(100, 100, ImGuiCond.Appearing)
-- ImGui.SetWindowSize(...)
-- Parameters: float (size_x), float (size_y), ImguiCond (cond) [O]
-- Overloads
ImGui.SetWindowSize(100, 300)
ImGui.SetWindowSize(100, 300, ImGuiCond.Appearing)
-- ImGui.SetWindowCollapsed(...)
-- Parameters: bool (collapsed), ImguiCond (cond) [O]
-- Overloads
ImGui.SetWindowCollapsed(false)
ImGui.SetWindowCollapsed(true, ImGuiCond.Appearing)
-- ImGui.SetWindowFocus()
ImGui.SetWindowFocus()
-- ImGui.SetWindowFontScale(...)
-- Parameters: float (scale)
ImGui.SetWindowFontScale(1.2)
-- ImGui.SetWindowPos(...)
-- Parameters: text (name), float (pos_x), float (pos_y), ImGuiCond (cond) [O]
-- Overloads
ImGui.SetWindowPos("WindowName", 100, 100)
ImGui.SetWindowPos("WindowName", 100, 100, ImGuiCond.Always)
-- ImGui.SetWindowSize(...)
-- Parameters: text (name), float (size_x), float (size_y), ImGuiCond (cond) [O]
-- Overloads
ImGui.SetWindowSize("WindowName", 300, 400)
ImGui.SetWindowSize("WindowName", 300, 400, ImGuiCond.Always)
-- ImGui.SetWindowCollapsed(...)
-- Parameters: text (name), bool (collapsed), ImGuiCond (cond) [O]
-- Overloads
ImGui.SetWindowCollapsed("WindowName", true)
ImGui.SetWindowCollapsed("WindowName", false, ImGuiCond.Always)
-- ImGui.SetWindowFocus(...)
-- Parameters: text (name)
ImGui.SetWindowFocus("WindowName")
-- ImGui.GetContentRegionMax()
-- Returns: float (x), float (y)
x, y = ImGui.GetContentRegionMax()
-- ImGui.GetContentRegionAvail()
-- Returns: float (x), float (y)
x, y = ImGui.GetContentRegionAvail()
-- ImGui.GetWindowContentRegionMin()
-- Returns: float (x), float (y)
x, y = ImGui.GetWindowContentRegionMin()
-- ImGui.GetWindowContentRegionMax()
-- Returns: float (x), float (y)
x, y = ImGui.GetWindowContentRegionMax()
-- ImGui.GetWindowContentRegionWidth()
-- Returns: float (width)
width = ImGui.GetWindowContentRegionWidth()
-- ImGui.GetScrollX()
-- Returns: float (x)
x = ImGui.GetScrollX()
-- ImGui.GetScrollY()
-- Returns: float (y)
y = ImGui.GetScrollY()
-- ImGui.GetScrollMaxX()
-- Returns: float (x)
x = ImGui.GetScrollMaxX()
-- ImGui.GetScrollMaxY()
-- Returns: float (y)
y = ImGui.GetScrollMaxY()
-- ImGui.SetScrollX(...)
-- Parameters: float (scroll_x)
ImGui.SetScrollX(0.7)
-- ImGui.SetScrollY(...)
-- Parameters: float (scroll_y)
ImGui.SetScrollY(0.7)
-- ImGui.SetScrollHereX(...)
-- Parameters: float (center_x_ratio) [O]
-- Overloads
ImGui.SetScrollHereX()
ImGui.SetScrollHereX(0.5)
-- ImGui.SetScrollHereY(...)
-- Parameters: float (center_y_ratio) [O]
-- Overloads
ImGui.SetScrollHereY()
ImGui.SetScrollHereY(0.5)
-- ImGui.SetScrollFromPosX(...)
-- Parameters: float (local_x), float (center_x_ratio) [O]
-- Overloads
ImGui.SetScrollFromPosX(10)
ImGui.SetScrollFromPosX(10, 0.5)
-- ImGui.SetScrollFromPosY(...)
-- Parameters: float (local_y), float (center_y_ratio) [O]
-- Overloads
ImGui.SetScrollFromPosY(10)
ImGui.SetScrollFromPosY(10, 0.5)
Note: This binding does not give functions that can obtain an ImFont* from inside Lua (besides GetFont), You'll need to add your own.
-- ImGui.PushFont(...)
-- Parameters: ImFont* (font)
ImGui.PushFont(font) -- font is obtained from your own custom function
-- ImGui.PopFont()
ImGui.PopFont()
-- ImGui.PushStyleColor(...)
-- Parameters: ImGuiCol (idx), float (color_r), float (color_g), float (color_b), float (color_a)
ImGui.PushStyleColor(ImGuiCol.Border, 1, 0, 0, 1)
-- ImGui.PopStyleColor(...)
-- Parameters: int (count) [O]
-- Overloads
ImGui.PopStyleColor()
ImGui.PopStyleColor(5)
-- ImGui.PushStyleVar(...)
-- Parameters A: ImGuiStyleVar (idx), float (value)
-- Parameters B: ImGuiStyleVar (idx), float (value_x), float (value_y)
-- Overloads
ImGui.PushStyleVar(ImGuiStyleVar.Alpha, 0.5)
ImGui.PushStyleVar(ImGuiStyleVar.WindowPadding, 0.2, 0.1)
-- ImGui.PopStyleVar(...)
-- Parameters: int (count) [O]
ImGui.PopStyleVar()
ImGui.PopStyleVar(2)
-- ImGui.GetStyleColorVec4(...)
-- Parameters: ImGuiCol (idx)
-- Returns: float (color_r), float (color_g), float (color_b), float (color_a)
color_r, color_g, color_b, color_a = ImGui.GetStyleColorVec4(ImGuiCol.Text)
-- ImGui.GetFont()
-- Returns: ImFont* (font) -- Only function in ImGui giving a font
font = ImGui.GetFont()
-- ImGui.GetFontSize()
-- Returns: float (fontSize)
fontSize = ImGui.GetFontSize()
-- ImGui.GetFontTexUvWhitePixel()
-- Returns: float (x), float (y)
x, y = ImGui.GetFontTexUvWhitePixel()
-- ImGui.PushItemWidth(...)
-- Parameters: float (width)
ImGui.PushItemWidth(100)
-- ImGui.PopItemWidth()
ImGui.PopItemWidth()
-- ImGui.SetNextItemWidth(...)
-- Parameters: float (width)
ImGui.SetNextItemWidth(100)
-- ImGui.CalcItemWidth()
-- Returns: float (width)
width = ImGui.CalcItemWidth()
-- ImGui.PushTextWrapPos(...)
-- Parameters: float (wrap_local_pos_x) [O]
-- Overloads
ImGui.PushTextWrapPos()
ImGui.PushTextWrapPos(50)
-- ImGui.PopTextWrapPos()
ImGui.PopTextWrapPos()
-- ImGui.PushAllowKeyboardFocus(...)
-- Parameters: bool (allow_keyboard_focus)
ImGui.PushAllowKeyboardFocus(true)
-- ImGui.PopAllowKeyboardFocus()
ImGui.PopAllowKeyboardFocus()
-- ImGui.PushButtonRepeat(...)
-- Parameters: bool (repeat)
ImGui.PushButtonRepeat(true)
-- ImGui.PopButtonRepeat()
ImGui.PopButtonRepeat()
-- ImGui.Separator()
ImGui.Separator
-- ImGui.SameLine(...)
-- Parameters: float (offset_from_start_x) [O], float (spacing) [O]
-- Overloads
ImGui.SameLine()
ImGui.SameLine(100)
ImGui.SameLine(100, 5)
-- ImGui.NewLine()
ImGui.NewLine()
-- ImGui.Spacing()
ImGui.Spacing()
-- ImGui.Dummy(...)
-- Parameters: float (size_x), float (size_y)
ImGui.Dummy(100, 200)
-- ImGui.Indent(...)
-- Parameters: float (indent_w) [O]
ImGui.Indent()
ImGui.Indent(10)
-- ImGui.Unindent(...)
-- Parameters: float (indent_w) [O]
ImGui.Unindent()
ImGui.Unindent(-10)
-- ImGui.BeginGroup()
ImGui.BeginGroup()
-- ImGui.EndGroup()
ImGui.EndGroup()
-- ImGui.GetCursorPos()
-- Returns: float (x), float(y)
x, y = ImGui.GetCursorPos()
-- ImGui.GetCursorPosX()
-- Returns: float (x)
x = ImGui.GetCursorPosX()
-- ImGui.GetCursorPosY()
-- Returns: float (y)
y = ImGui.GetCursorPosY()
-- ImGui.SetCursorPos(...)
-- Parameters: float (x), float (y)
ImGui.SetCursorPos(10, 10)
-- ImGui.SetCursorPosX(...)
-- Parameters: float (x)
ImGui.SetCursorPosX(10)
-- ImGui.SetCursorPosY(...)
-- Parameters: float (y)
ImGui.SetCursorPosY(10)
-- ImGui.GetCursorStartPos()
-- Returns: float (x), float(y)
x, y = ImGui.GetCursorStartPos()
-- ImGui.GetCursorScreenPos()
-- Returns: float (x), float(y)
x, y = ImGui.GetCursorScreenPos()
-- ImGui.SetCursorScreenPos(...)
-- Parameters: float (x), float (y)
ImGui.SetCursorScreenPos(10, 10)
-- ImGui.AlignTextToFramePadding()
ImGui.AlignTextToFramePadding()
-- ImGui.GetTextLineHeight()
-- Returns: float (height)
height = ImGui.GetTextLineHeight()
-- ImGui.GetTextLineHeightWithSpacing()
-- Returns: float (height)
height = ImGui.GetTextLineHeightWithSpacing()
-- ImGui.GetFrameHeight()
-- Returns: float (height)
height = ImGui.GetFrameHeight()
-- ImGui.GetFrameHeightWithSpacing()
-- Returns: float (height)
height = ImGui.GetFrameHeightWithSpacing()
-- ImGui.PushID(...)
-- Parameters A: text (str_id)
-- Parameters B: text (str_id_begin), text (str_id_end)
-- Parameters C: int (int_id)
-- Overloads
ImGui.PushID("MyID")
ImGui.PushID("MyID_Begin", "MyID_End")
ImGui.PushID(1)
-- ImGui.PopID()
ImGui.PopID()
-- ImGui.GetID(...)
-- Parameters A: text (str_id)
-- Parameters B: text (str_id_begin), text (str_id_end)
-- Returns: int (id)
-- Overloads
id = ImGui.PushID("MyID")
id = ImGui.PushID("MyID_Begin", "MyID_End")
-- ImGui.TextUnformatted(...)
-- Parameters: text (text), text (text_end) [O]
-- Overloads
ImGui.TextUnformatted("I am Unformatted")
ImGui.TextUnformatted("I am ", "Unformatted")
-- ImGui.Text(...)
-- Parameters: text (text)
ImGui.Text("Well hello there, General Kenobi")
-- ImGui.TextColored(...)
-- Parameters: float (color_r), float (color_g), float (color_b), float (color_a), text (text)
ImGui.TextColored(1, 0, 0, 1, "Well hello there, General Kenobi")
-- ImGui.TextDisabled(...)
-- Parameters: text (text)
ImGui.TextDisabled("Well hello there, General Kenobi")
-- ImGui.TextWrapped(...)
-- Parameters: text (text)
ImGui.TextWrapped("Well hello there, General Kenobi")
-- ImGui.LabelText(...)
-- Parameters: text (label), text (text)
ImGui.LabelText("Well hello there", "General Kenobi")
-- ImGui.BulletText(...)
-- Parameters: text (text)
ImGui.BulletText("Well hello there, General Kenobi")
-- ImGui.Button(...)
-- Parameters: text (label), float (size_x) [O], float (size_y) [O]
-- Returns: bool (clicked)
-- Overloads
clicked = ImGui.Button("Label")
clicked = ImGui.Button("Label", 100, 50)
-- ImGui.SmallButton(...)
-- Parameters: text (label)
-- Returns: bool (clicked)
clicked = ImGui.SmallButton("Label")
-- ImGui.InvisibleButton(...)
-- Parameters: text (label), float (size_x), float (size_y)
-- Returns: bool (clicked)
clicked = ImGui.InvisibleButton("Label", 100, 50)
-- ImGui.ArrowButton(...)
-- Parameters: text (str_id), ImGuiDir (dir)
-- Returns: bool (clicked)
clicked = ImGui.ArrowButton("I have an arrow", ImGuiDir.Down)
-- ImGui.Checkbox(...)
-- Parameters: text (label), bool (value)
-- Returns: bool (value), bool (pressed)
value, pressed = ImGui.Checkbox("My Checkbox", value)
-- ImGui.RadioButton(...)
-- Parameters A: text (label), bool (active)
-- Parameters B: text (label), int (value), int (v_button)
-- Returns A: bool (pressed)
-- Returns B: int (value), bool (pressed)
-- Overloads
pressed = ImGui.RadioButton("Click me", pressed == true)
value, pressed = ImGui.RadioButton("Click me too", value, 2)
-- ImGui.ProgressBar(...)
-- Parameters: float (fraction), float (size_x) [O], float (size_y) [O], text (overlay) [O]
-- Overloads
ImGui.ProgressBar(0.5)
ImGui.ProgressBar(0.5, 100, 25)
ImGui.ProgressBar(0.5, 100, 25, "Loading Failed. Sike. - 50%")
-- ImGui.Bullet()
ImGui.Bullet()
-- ImGui.BeginCombo(...)
-- Parameters: text (label), text (previewValue), ImGuiComboFlags (flags) [O]
-- Returns: bool (shouldDraw)
-- Overloads
shouldDraw = ImGui.BeginCombo("My Combo", "Preview")
shouldDraw = ImGui.BeginCombo("My Combo", "Preview", ImGuiComboFlags.PopupAlignLeft)
-- ImGui.EndCombo()
ImGui.EndCombo()
-- ImGui.Combo(...)
-- Parameters A: text (label), int (current_item), table (items), int (items_count), int (popup_max_height_in_items) [O]
-- Parameters B: text (label), int (current_item), text (items_separated_by_zeros), int (popup_max_height_in_items) [O]
-- Returns: int (current_item), bool (clicked)
-- Overloads
current_item, clicked = ImGui.Combo("Label", current_item, { "Option 1 ", "Option 2" }, 2)
current_item, clicked = ImGui.Combo("Label", current_item, { "Option 1 ", "Option 2" }, 2, 5)
current_item, clicked = ImGui.Combo("Label", current_item, "Option1\0Option2\0")
current_item, clicked = ImGui.Combo("Label", current_item, "Option1\0Option2\0", 5)
-- ImGui.DragFloat(...)
-- Parameters: text (label), float (value), float (value_speed) [O], float (value_min) [O], float (value_max) [O], text (format) [O], float (power) [O]
-- Returns: float (value), bool (used)
-- Overloads
value, used = ImGui.DragFloat("Label", value)
value, used = ImGui.DragFloat("Label", value, 0.01)
value, used = ImGui.DragFloat("Label", value, 0.01, -10)
value, used = ImGui.DragFloat("Label", value, 0.01, -10, 10)
value, used = ImGui.DragFloat("Label", value, 0.01, -10, 10, "%.1f")
value, used = ImGui.DragFloat("Label", value, 0.01, -10, 10, "%.1f", 0.5)
-- ImGui.DragFloat2(...)
-- Parameters: text (label), table (values), float (value_speed) [O], float (value_min) [O], float (value_max) [O], text (format) [O], float (power) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.DragFloat2("Label", values)
values, used = ImGui.DragFloat2("Label", values, 0.01)
values, used = ImGui.DragFloat2("Label", values, 0.01, -10)
values, used = ImGui.DragFloat2("Label", values, 0.01, -10, 10)
values, used = ImGui.DragFloat2("Label", values, 0.01, -10, 10, "%.1f")
values, used = ImGui.DragFloat2("Label", values, 0.01, -10, 10, "%.1f", 0.5)
-- ImGui.DragFloat3(...)
-- Parameters: text (label), table (values), float (value_speed) [O], float (value_min) [O], float (value_max) [O], text (format) [O], float (power) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.DragFloat3("Label", values)
values, used = ImGui.DragFloat3("Label", values, 0.01)
values, used = ImGui.DragFloat3("Label", values, 0.01, -10)
values, used = ImGui.DragFloat3("Label", values, 0.01, -10, 10)
values, used = ImGui.DragFloat3("Label", values, 0.01, -10, 10, "%.1f")
values, used = ImGui.DragFloat3("Label", values, 0.01, -10, 10, "%.1f", 0.5)
-- ImGui.DragFloat4(...)
-- Parameters: text (label), table (values), float (value_speed) [O], float (value_min) [O], float (value_max) [O], text (format) [O], float (power) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.DragFloat4("Label", values)
values, used = ImGui.DragFloat4("Label", values, 0.01)
values, used = ImGui.DragFloat4("Label", values, 0.01, -10)
values, used = ImGui.DragFloat4("Label", values, 0.01, -10, 10)
values, used = ImGui.DragFloat4("Label", values, 0.01, -10, 10, "%.1f")
values, used = ImGui.DragFloat4("Label", values, 0.01, -10, 10, "%.1f", 0.5)
-- ImGui.DragInt(...)
-- Parameters: text (label), int (value), float (value_speed) [O], int (value_min) [O], int (value_max) [O], text (format) [O]
-- Returns: int (value), bool (used)
-- Overloads
value, used = ImGui.DragInt("Label", value)
value, used = ImGui.DragInt("Label", value, 0.01)
value, used = ImGui.DragInt("Label", value, 0.01, -10)
value, used = ImGui.DragInt("Label", value, 0.01, -10, 10)
value, used = ImGui.DragInt("Label", value, 0.01, -10, 10, "%d")
-- ImGui.DragInt2(...)
-- Parameters: text (label), table (values), float (value_speed) [O], int (value_min) [O], int (value_max) [O], text (format) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.DragInt2("Label", values)
values, used = ImGui.DragInt2("Label", values, 0.01)
values, used = ImGui.DragInt2("Label", values, 0.01, -10)
values, used = ImGui.DragInt2("Label", values, 0.01, -10, 10)
values, used = ImGui.DragInt2("Label", values, 0.01, -10, 10, "%d")
-- ImGui.DragInt3(...)
-- Parameters: text (label), table (values), float (value_speed) [O], int (value_min) [O], int (value_max) [O], text (format) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.DragInt3("Label", values)
values, used = ImGui.DragInt3("Label", values, 0.01)
values, used = ImGui.DragInt3("Label", values, 0.01, -10)
values, used = ImGui.DragInt3("Label", values, 0.01, -10, 10)
values, used = ImGui.DragInt3("Label", values, 0.01, -10, 10, "%d")
-- ImGui.DragInt4(...)
-- Parameters: text (label), table (values), float (value_speed) [O], int (value_min) [O], int (value_max) [O], text (format) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.DragInt4("Label", values)
values, used = ImGui.DragInt4("Label", values, 0.01)
values, used = ImGui.DragInt4("Label", values, 0.01, -10)
values, used = ImGui.DragInt4("Label", values, 0.01, -10, 10)
values, used = ImGui.DragInt4("Label", values, 0.01, -10, 10, "%d")
-- ImGui.SliderFloat(...)
-- Parameters: text (label), float (value), float (value_min), float (value_max), text (format) [O], float (power) [O]
-- Returns: float (value), bool (used)
-- Overloads
value, used = ImGui.SliderFloat("Label", value, -10, 10)
value, used = ImGui.SliderFloat("Label", value, -10, 10, "%.1f")
value, used = ImGui.SliderFloat("Label", value, -10, 10, "%.1f", 0.5)
-- ImGui.SliderFloat2(...)
-- Parameters: text (label), table (values), float (value_min), float (value_max), text (format) [O], float (power) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.SliderFloat2("Label", values, 0.01, -10, 10)
values, used = ImGui.SliderFloat2("Label", values, 0.01, -10, 10, "%.1f")
values, used = ImGui.SliderFloat2("Label", values, 0.01, -10, 10, "%.1f", 0.5)
-- ImGui.SliderFloat3(...)
-- Parameters: text (label), table (values), float (value_min), float (value_max), text (format) [O], float (power) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.SliderFloat3("Label", values, 0.01, -10, 10)
values, used = ImGui.SliderFloat3("Label", values, 0.01, -10, 10, "%.1f")
values, used = ImGui.SliderFloat3("Label", values, 0.01, -10, 10, "%.1f", 0.5)
-- ImGui.SliderFloat4(...)
-- Parameters: text (label), table (values), float (value_min), float (value_max), text (format) [O], float (power) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.SliderFloat4("Label", values, 0.01, -10, 10)
values, used = ImGui.SliderFloat4("Label", values, 0.01, -10, 10, "%.1f")
values, used = ImGui.SliderFloat4("Label", values, 0.01, -10, 10, "%.1f", 0.5)
-- ImGui.SliderAngle(...)
-- Parameters: text (label), float (v_rad), float (v_degrees_min) [O], float (v_degrees_max) [O], text (format) [O]
-- Returns: float (v_rad), bool (used)
-- Overloads
v_rad, used = ImGui.SliderAngle("Label", v_rad)
v_rad, used = ImGui.SliderAngle("Label", v_rad, -255)
v_rad, used = ImGui.SliderAngle("Label", v_rad, -255, 360)
v_rad, used = ImGui.SliderAngle("Label", v_rad, -255, 360, "%.0f deg")
-- ImGui.SliderInt(...)
-- Parameters: text (label), int (value), int (value_min), int (value_max), text (format) [O]
-- Returns: int (value), bool (used)
-- Overloads
value, used = ImGui.SliderInt("Label", value, -10, 10)
value, used = ImGui.SliderInt("Label", value, -10, 10, "%d")
-- ImGui.SliderInt2(...)
-- Parameters: text (label), table (values), int (value_min), int (value_max), text (format) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.SliderInt2("Label", values, -10, 10)
values, used = ImGui.SliderInt2("Label", values, -10, 10, "%d")
-- ImGui.SliderInt3(...)
-- Parameters: text (label), table (values), int (value_min), int (value_max), text (format) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.SliderInt3("Label", values, -10, 10)
values, used = ImGui.SliderInt3("Label", values, -10, 10, "%d")
-- ImGui.SliderInt4(...)
-- Parameters: text (label), table (values), int (value_min), int (value_max), text (format) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.SliderInt4("Label", values, -10, 10)
values, used = ImGui.SliderInt4("Label", values, -10, 10, "%d")
-- ImGui.VSliderFloat(...)
-- Parameters: text (label), float (size_x), float (size_y), float (value), float (value_min), float (value_max), text (format) [O], float (power) [O]
-- Returns: float (value), bool (used)
-- Overloads
value, used = ImGui.VSliderFloat("Label", 100, 25, value, -10, 10)
value, used = ImGui.VSliderFloat("Label", 100, 25, value, -10, 10, "%.1f")
value, used = ImGui.VSliderFloat("Label", 100, 25, value, -10, 10, "%.1f", 0.5)
-- ImGui.VSliderInt(...)
-- Parameters: text (label), float (size_x), float (size_y), int (value), int (value_min), int (value_max), text (format) [O]
-- Returns: int (value), bool (used)
-- Overloads
value, used = ImGui.VSliderInt("Label", 100, 25, value, -10, 10)
value, used = ImGui.VSliderInt("Label", 100, 25, value, -10, 10, "%d")
-- ImGui.InputText(...)
-- Parameters: text (label), text (text), int (buf_size), ImGuiInputTextFlags (flags) [O]
-- Returns: text (text), bool (selected)
-- Overloads
text, selected = ImGui.InputText("Label", text, 100)
text, selected = ImGui.InputText("Label", text, 100, ImGuiInputTextFlags.ReadOnly)
-- ImGui.InputTextMultiline(...)
-- Parameters: text (label), text (text), int (buf_size), float (size_x) [O], float (size_y) [O], ImGuiInputTextFlags (flags) [O]
-- Returns: text (text), bool (selected)
-- Overloads
text, selected = ImGui.InputTextMultiline("Label", text, 100)
text, selected = ImGui.InputTextMultiline("Label", text, 100, 200, 35)
text, selected = ImGui.InputTextMultiline("Label", text, 100, 200, 35, ImGuiInputTextFlags.ReadOnly)
-- ImGui.InputTextWithHint(...)
-- Parameters: text (label), text (hint), text (text), int (buf_size), ImGuiInputTextFlags (flags) [O]
-- Returns: text (text), bool (selected)
-- Overloads
text, selected = ImGui.InputTextWithHint("Label", "Hint", text, 100)
text, selected = ImGui.InputTextWithHint("Label", "Hint", text, 100, ImGuiInputTextFlags.ReadOnly)
-- ImGui.InputFloat(...)
-- Parameters: text (label), float (value), float (step) [O], float (step_fast) [O], text (format) [O], ImGuiInputTextFlags (flags) [O]
-- Returns: float (value), bool (used)
-- Overloads
value, used = ImGui.InputFloat("Label", value)
value, used = ImGui.InputFloat("Label", value, 1)
value, used = ImGui.InputFloat("Label", value, 1, 10)
value, used = ImGui.InputFloat("Label", value, 1, 10, "%.1f")
value, used = ImGui.InputFloat("Label", value, 1, 10, "%.1f", ImGuiInputTextFlags.None)
-- ImGui.InputFloat2(...)
-- Parameters: text (label), table (values), text (format) [O], ImGuiInputTextFlags (flags) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.InputFloat2("Label", values)
values, used = ImGui.InputFloat2("Label", values, "%.1f")
values, used = ImGui.InputFloat2("Label", values, "%.1f", ImGuiInputTextFlags.None)
-- ImGui.InputFloat3(...)
-- Parameters: text (label), table (values), text (format) [O], ImGuiInputTextFlags (flags) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.InputFloat3("Label", values)
values, used = ImGui.InputFloat3("Label", values, "%.1f")
values, used = ImGui.InputFloat3("Label", values, "%.1f", ImGuiInputTextFlags.None)
-- ImGui.InputFloat4(...)
-- Parameters: text (label), table (values), text (format) [O], ImGuiInputTextFlags (flags) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.InputFloat4("Label", values)
values, used = ImGui.InputFloat4("Label", values, "%.1f")
values, used = ImGui.InputFloat4("Label", values, "%.1f", ImGuiInputTextFlags.None)
-- ImGui.InputInt(...)
-- Parameters: text (label), int (value), int (step) [O], int (step_fast) [O], ImGuiInputTextFlags (flags) [O]
-- Returns: int (value), bool (used)
-- Overloads
value, used = ImGui.InputInt("Label", value)
value, used = ImGui.InputInt("Label", value, 1)
value, used = ImGui.InputInt("Label", value, 1, 10)
value, used = ImGui.InputInt("Label", value, 1, 10, ImGuiInputTextFlags.None)
-- ImGui.InputInt2(...)
-- Parameters: text (label), table (values), ImGuiInputTextFlags (flags) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.InputInt2("Label", values)
values, used = ImGui.InputInt2("Label", values, ImGuiInputTextFlags.None)
-- ImGui.InputInt3(...)
-- Parameters: text (label), table (values), ImGuiInputTextFlags (flags) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.InputInt3("Label", values)
values, used = ImGui.InputInt3("Label", values, ImGuiInputTextFlags.None)
-- ImGui.InputInt4(...)
-- Parameters: text (label), table (values), ImGuiInputTextFlags (flags) [O]
-- Returns: table (values), bool (used)
-- Overloads
values, used = ImGui.InputInt4("Label", values)
values, used = ImGui.InputInt4("Label", values, ImGuiInputTextFlags.None)
-- ImGui.InputDouble(...)
-- Parameters: text (label), double (value), double (step) [O], double (step_fast) [O], text (format) [O], ImGuiInputTextFlags (flags) [O]
-- Returns: double (value), bool (used)
-- Overloads
value, used = ImGui.InputDouble("Label", value)
value, used = ImGui.InputDouble("Label", value, 1)
value, used = ImGui.InputDouble("Label", value, 1, 10)
value, used = ImGui.InputDouble("Label", value, 1, 10, "%.4f")
value, used = ImGui.InputDouble("Label", value, 1, 10, "%.4f", ImGuiInputTextFlags.None)
-- ImGui.ColorEdit3(...)
-- Parameters: text (label), table (col), ImGuiColorEditFlags (flags) [O]
-- Returns: table (col), bool (used)
-- Overloads
col, used = ImGui.ColorEdit3("Label", col)
col, used = ImGui.ColorEdit3("Label", col, ImGuiColorEditFlags.NoTooltip)
-- ImGui.ColorEdit4(...)
-- Parameters: text (label), table (col), ImGuiColorEditFlags (flags) [O]
-- Returns: table (col), bool (used)
-- Overloads
col, used = ImGui.ColorEdit4("Label", col)
col, used = ImGui.ColorEdit4("Label", col, ImGuiColorEditFlags.NoTooltip)
-- ImGui.ColorPicker3(...)
-- Parameters: text (label), table (col), ImGuiColorEditFlags (flags) [O]
-- Returns: table (col), bool (used)
-- Overloads
col, used = ImGui.ColorPicker3("Label", col)
col, used = ImGui.ColorPicker3("Label", col, ImGuiColorEditFlags.NoTooltip)
-- ImGui.ColorPicker4(...)
-- Parameters: text (label), table (col), ImGuiColorEditFlags (flags) [O]
-- Returns: table (col), bool (used)
-- Overloads
col, used = ImGui.ColorPicker4("Label", col)
col, used = ImGui.ColorPicker4("Label", col, ImGuiColorEditFlags.NoTooltip)
-- ImGui.ColorButton(...)
-- Parameters: text (desc_id), table (col), ImGuiColorEditFlags (flags) [O], float (size_x) [O], float (size_y) [O]
-- Returns: bool (pressed)
-- Overloads
pressed = ImGui.ColorButton("Desc ID", { 1, 0, 0, 1 })
pressed = ImGui.ColorButton("Desc ID", { 1, 0, 0, 1 }, ImGuiColorEditFlags.None)
pressed = ImGui.ColorButton("Desc ID", { 1, 0, 0, 1 }, ImGuiColorEditFlags.None, 100, 100)
-- ImGui.SetColorEditOptions(...)
-- Parameters: ImGuiColorEditFlags (flags)
ImGui.SetColorEditOptions(ImGuiColorEditFlags.NoTooltip | ImGuiColorEditFlags_NoInputs)
-- ImGui.TreeNode(...)
-- Parameters: text (label), text (fmt) [O]
-- Returns: bool (open)
-- Overloads
open = ImGui.TreeNode("Label")
open = ImGui.TreeNode("Label", "Some Text")
-- ImGui.TreeNodeEx(...)
-- Parameters: text (label), ImGuiTreeNodeFlags (flags) [O], text (fmt) [O]
-- Returns: bool (open)
-- Overloads
open = ImGui.TreeNodeEx("Label")
open = ImGui.TreeNodeEx("Label", ImGuiTreeNodeFlags.Selected)
open = ImGui.TreeNodeEx("Label", ImGuiTreeNodeFlags.Selected, "Some Text")
-- ImGui.TreePush(...)
-- Parameters: text (str_id)
ImGui.TreePush("String ID")
-- ImGui.TreePop()
ImGui.TreePop()
-- ImGui.GetTreeNodeToLabelSpacing()
-- Returns: float (spacing)
spacing = ImGui.GetTreeNodeToLabelSpacing()
-- ImGui.CollapsingHeader(...)
-- Parameters A: text (label), ImGuiTreeNodeFlags (flags) [O]
-- Parameters B: text (label), bool (open), ImGuiTreeNodeFlags (flags) [O]
-- Returns A: bool (notCollapsed)
-- Returns B: bool (open), bool (notCollapsed)
-- Overloads
notCollapsed = ImGui.CollapsingHeader("Label")
notCollapsed = ImGui.CollapsingHeader("Label", ImGuiTreeNodeFlags.Selected)
open, notCollapsed = ImGui.CollapsingHeader("Label", open)
open, notCollapsed = ImGui.CollapsingHeader("Label", open, ImGuiTreeNodeFlags.Selected)
-- ImGui.SetNextItemOpen(...)
-- Parameters: bool (open), ImGuiCond (cond) [O]
-- Overloads
ImGui.SetNextItemOpen(true)
ImGui.SetNextItemOpen(true, ImGuiCond.Always)
-- ImGui.Selectable(...)
-- Parameters: text (label), bool (selected) [O], ImGuiSelectableFlags (flags) [O], float (size_x) [O], float (size_y) [O]
-- Returns: bool (selected)
-- Overloads
selected = ImGui.Selectable("Label")
selected = ImGui.Selectable("Label", selected)
selected = ImGui.Selectable("Label", selected, ImGuiSelectableFlags.AllowDoubleClick)
selected = ImGui.Selectable("Label", selected, ImGuiSelectableFlags.AllowDoubleClick, 100, 100)
-- ImGui.ListBox(...)
-- Parameters: text (label), int (current_item), table (items), int (items_count), int (height_in_items) [O]
-- Returns: int (current_item), bool (clicked)
-- Overloads
current_item, clicked = ImGui.ListBox("Label", current_item, { "Item 1", "Item 2", 2 })
current_item, clicked = ImGui.ListBox("Label", current_item, { "Item 1", "Item 2", 2 }, 5)
-- ImGui.ListBoxHeader(...)
-- Parameters A: text (label), float (size_x), float (size_y)
-- Parameters B: text (label), int (items_count), int (height_in_items) [0]
-- Returns: bool (open)
-- Overloads
open = ImGui.ListBoxHeader("Label", 100.0, 100.0) -- size as params
open = ImGui.ListBoxHeader("Label", 5)
open = ImGui.ListBoxHeader("Label", 5, 5) -- items count and height
-- ImGui.ListBoxFooter()
ImGui.ListBoxFooter()
-- ImGui.Value(...)
-- Parameters: text (prefix) bool/int/unsigned int/float (value), text (float_format) [O] -- format only available with float
-- Overloads
ImGui.Value("Prefix", true)
ImGui.Value("Prefix", -5)
ImGui.Value("Prefix", 5)
ImGui.Value("Prefix", 5.0)
ImGui.Value("Prefix", 5.0, "%.2f")
-- ImGui.BeginMenuBar()
-- Returns: bool (shouldDraw)
shouldDraw = ImGui.BeginMenuBar()
-- ImGui.EndMenuBar()
ImGui.EndMenuBar()
-- ImGui.BeginMainMenuBar()
-- Returns: bool (shouldDraw)
shouldDraw = ImGui.BeginMainMenuBar()
-- ImGui.EndMainMenuBar()
ImGui.EndMainMenuBar()
-- ImGui.BeginMenu(...)
-- Parameters: text (label), bool (enabled) [O]
-- Returns: bool (shouldDraw)
-- Overloads
shouldDraw = ImGui.BeginMenu("Label")
shouldDraw = ImGui.BeginMenu("Label", true)
-- ImGui.EndMenu()
ImGui.EndMenu()
-- ImGui.MenuItem(...)
-- Parameters A: text (label), text (shortcut) [0]
-- Parameters B: text (label), text (shortcut), bool (selected)
-- Returns A: bool (activated)
-- returns B: bool (selected), bool (activated)
-- Overloads
activated = ImGui.MenuItem("Label")
activated = ImGui.MenuItem("Label", "ALT+F4")
selected, activated = ImGui.MenuItem("Label", "ALT+F4", selected)
selected, activated = ImGui.MenuItem("Label", "ALT+F4", selected, true)
-- ImGui.BeginTooltip()
ImGui.BeginTooltip()
-- ImGui.EndTooltip()
ImGui.EndTooltip()
-- ImGui.SetTooltip(...)
-- Parameters: text (fmt)
ImGui.SetTooltip("Did you know that I have the high ground?")
-- ImGui.BeginPopup(...)
-- Parameters: text (str_id), ImGuiWindowFlags (flags) [O]
-- Returns: bool (open)
-- Overloads
open = ImGui.BeginPopup("String ID")
open = ImGui.BeginPopup("String ID", ImGuiWindowFlags.NoCollapse)
-- ImGui.BeginPopupModal(...)
-- Parameters: text (name), bool (open) [O], ImGuiWindowFlags (flags) [O]
-- Returns: bool (open)
-- Overloads
open = ImGui.BeginPopupModal("Name")
open = ImGui.BeginPopupModal("Name", open)
open = ImGui.BeginPopupModal("Name", open, ImGuiWindowFlags.NoCollapse)
-- ImGui.EndPopup()
ImGui.EndPopup()
-- ImGui.OpenPopup(...)
-- Parameters: text (str_id), ImGuiPopupFlags (popup_flags)
-- Overloads
ImGui.OpenPopup("String ID")
ImGui.OpenPopup("String ID", ImGuiPopupFlags.NoOpenOverExistingPopup)
-- ImGui.OpenPopupContextItem(...)
-- Parameters: text (str_id), ImGuiPopupFlags (popup_flags)
-- Returns: bool (open)
-- Overloads
open = ImGui.OpenPopupContextItem()
open = ImGui.OpenPopupContextItem("String ID")
open = ImGui.OpenPopupContextItem("String ID", ImGuiPopupFlags.NoOpenOverExistingPopup)
-- ImGui.CloseCurrentPopup()
ImGui.CloseCurrentPopup()
-- ImGui.BeginPopupContextItem(...)
-- Parameters: text (str_id), ImGuiPopupFlags (popup_flags)
-- Returns: bool (open)
-- Overloads
open = ImGui.BeginPopupContextItem()
open = ImGui.BeginPopupContextItem("String ID")
open = ImGui.BeginPopupContextItem("String ID", ImGuiPopupFlags.NoOpenOverExistingPopup)
-- ImGui.BeginPopupContextWindow(...)
-- Parameters: text (str_id), ImGuiPopupFlags (popup_flags)
-- Returns: bool (open)
-- Overloads
open = ImGui.BeginPopupContextWindow()
open = ImGui.BeginPopupContextWindow("String ID")
open = ImGui.BeginPopupContextWindow("String ID", ImGuiPopupFlags.NoOpenOverExistingPopup)
-- ImGui.BeginPopupContextVoid(...)
-- Parameters: text (str_id), ImGuiPopupFlags (popup_flags)
-- Returns: bool (open)
-- Overloads
open = ImGui.BeginPopupContextVoid()
open = ImGui.BeginPopupContextVoid("String ID")
open = ImGui.BeginPopupContextVoid("String ID", ImGuiPopupFlags.NoOpenOverExistingPopup)
-- ImGui.IsPopupOpen(...)
-- Parameters: text (str_id), ImGuiPopupFlags (popup_flags)
-- Overloads
ImGui.IsPopupOpen("String ID")
ImGui.IsPopupOpen("String ID", ImGuiPopupFlags.NoOpenOverExistingPopup)
-- ImGui.Columns(...)
-- Parameters: int (count) [O], text (id) [O], bool (border) [O]
-- Overloads
ImGui.Columns()
ImGui.Columns(2)
ImGui.Columns(2, "MyOtherColumn")
ImGui.Columns(3, "MyColumnWithBorder", true)
-- ImGui.NextColumn()
ImGui.NextColumn()
-- ImGui.GetColumnIndex()
-- Returns: int (index)
index = ImGui.GetColumnIndex()
-- ImGui.GetColumnWidth(...)
-- Parameters: int (column_index) [O]
-- Returns: float (width)
-- Overloads
width = ImGui.GetColumnWidth()
width = ImGui.getColumnWidth(2)
-- ImGui.SetColumnWidth(...)
-- Parameters: int (column_index), float (width)
ImGui.SetColumnWidth(2, 100)
-- ImGui.GetColumnOffset(...)
-- Parameters: int (column_index) [O]
-- Returns: float (offset)
-- Overloads
offset = ImGui.GetColumnOffset()
offset = ImGui.GetColumnOffset(2)
-- ImGui.SetColumnOffset(...)
-- Parameters: int (column_index), float (offset)
ImGui.SetColumnOffset(2, 10)
-- ImGui.GetColumnsCount()
-- Returns: int (count)
count = ImGui.GetColumnsCount()
-- ImGui.BeginTabBar(...)
-- Parameters: text (str_id), ImGuiTabBarFlags (flags)
-- Returns: bool (open)
-- Overloads
open = ImGui.BeginTabBar("String ID")
open = ImGui.BeginTabBar("String ID", ImGuiTabBarFlags.Reorderable)
-- ImGui.EndTabBar()
ImGui.EndTabBar()
-- ImGui.BeginTabItem()
-- Parameters A: text (label)
-- Parameters B: text (label), bool (open), ImGuiTabItemFlags (flags) [O]
-- Returns A: bool (selected)
-- Returns B: bool (open), bool (selected)
-- Overloads
selected = ImGui.BeginTabItem("Label")
open, selected = ImGui.BeginTabItem("Label", open)
open, selected = ImGui.BeginTabItem("Label", open, ImGuiTabItemFlags_NoTooltip)
-- ImGui.EndTabItem()
ImGui.EndTabItem()
-- ImGui.SetTabItemClosed(...)
-- Parameters: text (tab_or_docked_window_label)
ImGui.SetTabItemClosed("MyDockedWindow")
-- ImGui.DockSpace(...)
-- Parameters: unsigned int (id), float (size_x) [O], float (size_y) [O], ImGuiDockNodeFlags (flags) [O]
-- Overloads
ImGui.DockSpace(0)
ImGui.DockSpace(1, 200, 300)
ImGui.DockSpace(1, 200, 300, ImGuiDockNodeFlags.NoDockingInCentralNode)
-- ImGui.SetNextWindowDockID(...)
-- Parameters: unsigned int (dock_id), ImGuiCond (cond) [O]
-- Overloads
ImGui.SetNextWindowDockID(0)
ImGui.SetNextWindowDockID(0, ImGuiCond.Always)
-- ImGui.GetWindowDockID()
-- Returns: unsigned int (id)
id = ImGui.GetWindowDockID()
-- ImGui.IsWindowDocked()
-- Returns: bool (docked)
docked = ImGui.IsWindowDocked()
-- ImGui.LogToTTY(...)
-- Parameters: int (auto_open_depth) [O]
-- Overloads
ImGui.LogToTTY()
ImGui.LogToTTY(1)
-- ImGui.LogToFile(...)
-- Parameters: int (auto_open_depth) [O], text (fileName) [O]
-- Overloads
ImGui.LogToFile()
ImGui.LogToFile(1)
ImGui.LogToFile(1, "myfile.txt")
-- ImGui.LogToClipboard(...)
-- Parameters: int (auto_open_depth) [O]
-- Overloads
ImGui.LogToClipboard()
ImGui.LogToClipboard(1)
-- ImGui.LogFinish()
ImGui.LogFinish()
-- ImGui.LogButtons()
ImGui.LogButtons()
-- ImGui.LogText(...)
-- Parameters: text (fmt)
ImGui.LogText("I want to log this, thanks.")
-- ImGui.PushClipRect(...)
-- Parameters: float (min_x), float (min_y), float (max_x), float (max_y), bool (intersect_current)
ImGui.PushClipRect(0, 0, 100, 100, false)
-- ImGui.PopClipRect()
ImGui.PopClipRect()
-- ImGui.SetItemDefaultFocus()
ImGui.SetItemDefaultFocus()
-- ImGui.SetKeyboardFocusHere(...)
-- Parameters: int (offset) [O]
-- Overloads
ImGui.SetItemDefaultFocus()
ImGui.SetItemDefaultFocus(5)
-- ImGui.IsItemHovered(...)
-- Parameters: ImGuiHoveredFlags (flags) [O]
-- Returns: bool (hovered)
-- Overloads
hovered = ImGui.IsItemHovered()
hovered = ImGui.IsItemHovered(ImGuiHoveredFlags.ChildWindows)
-- ImGui.IsItemActive()
-- Returns: bool (active)
active = ImGui.IsItemActive()
-- ImGui.IsItemFocused()
-- Returns: bool (focused)
focused = ImGui.IsItemFocused()
-- ImGui.IsItemClicked(...)
-- Parameters: ImGuiMouseButton (mouse_button) [O]
-- Returns: bool (clicked)
-- Overloads
clicked = ImGui.IsItemClicked()
clicked = ImGui.IsItemClicked(ImGuiMouseButton.Middle)
-- ImGui.IsItemVisible()
-- Returns: bool (visible)
visible = ImGui.IsItemVisible()
-- ImGui.IsItemEdited()
-- Returns: bool (edited)
edited = ImGui.IsItemEdited()
-- ImGui.IsItemActivated()
-- Returns: bool (activated)
activated = ImGui.IsItemActivated()
-- ImGui.IsItemDeactivated()
-- Returns: bool (deactivated)
deactivated = ImGui.IsItemDeactivated()
-- ImGui.IsItemDeactivatedAfterEdit()
-- Returns: bool (deactivated_after_edit)
deactivated_after_edit = ImGui.IsItemDeactivatedAfterEdit()
-- ImGui.IsItemToggledOpen()
-- Returns: bool (toggled_open)
toggled_open = ImGui.IsItemToggledOpen()
-- ImGui.IsAnyItemHovered()
-- Returns: bool (any_item_hovered)
any_item_hovered = ImGui.IsAnyItemHovered()
-- ImGui.IsAnyItemActive()
-- Returns: bool (any_item_active)
any_item_active = ImGui.IsAnyItemActive()
-- ImGui.IsAnyItemFocused()
-- Returns: bool (any_item_focused)
any_item_focused = ImGui.IsAnyItemFocused()
-- ImGui.GetItemRectMin()
-- Returns: float (x), float (y)
x, y = ImGui.GetItemRectMin()
-- ImGui.GetItemRectMax()
-- Returns: float (x), float (y)
x, y = ImGui.GetItemRectMax()
-- ImGui.GetItemRectSize()
-- Returns: float (x), float (y)
x, y = ImGui.GetItemRectSize()
-- ImGui.SetItemAllowOverlap()
ImGui.SetItemAllowOverlap()
-- ImGui.IsRectVisible(...)
-- Parameters A: float (size_x), float (size_y)
-- Parameters B: float(min_x), float (min_y), float (max_x), float (max_y)
-- Returns: bool (visible)
-- Overloads
visible = ImGui.IsRectVisible(100, 100)
visible = ImGui.IsRectVisible(50, 50, 200, 200)
-- ImGui.GetTime()
-- Returns double (time)
time = ImGui.GetTime()
-- ImGui.GetFrameCount()
-- Returns int (frame_count)
frame_count = ImGui.GetFrameCount()
-- ImGui.GetStyleColorName(...)
-- Parameters: ImGuiCol (idx)
-- Returns: text (style_color_name)
style_color_name = ImGui.GetStyleColorName(ImGuiCol.Text)
-- ImGui.BeginChildFrame(...)
-- Parameters: unsigned int (id), float (size_x), float (size_y), ImGuiWindowFlags (flags) [O]
-- Returns: bool (open)
-- Overloads
open = ImGui.BeginChildFrame(0, 100, 100)
open = ImGui.BeginChildFrame(0, 100, 100, ImGuiWindowFlags.NoBackground)
-- ImGui.EndChildFrame()
ImGui.EndChildFrame()
-- ImGui.CalcTextSize(...)
-- Parameters: text (text), text (text_end) [O], bool (hide_text_after_double_hash) [O], float (wrap_width) [O]
-- Returns: float (x), float (y)
-- Overloads
x, y = ImGui.CalcTextSize("Calculate me")
x, y = ImGui.CalcTextSize("Calculate me", " with an ending?")
x, y = ImGui.CalcTextSize("Calculate me", " with an ending?", true)
x, y = ImGui.CalcTextSize("Calculate me", " with an ending?", true, 100)
-- ImGui.ColorConvertRGBtoHSV(...)
-- Parameters: float (r), float (g), float (b)
-- Returns: float (h), float (s), float (v)
h, s, v = ImGui.ColorConvertRGBtoHSV(1, 0, 0.5)
-- ImGui.ColorConvertHSVtoRGB(...)
-- Parameters: float (h), float (s), float (v)
-- Returns: float (r), float (g), float (b)
r, g, b = ImGui.ColorConvertHSVtoRGB(1, 0, 0.5)
-- ImGui.GetKeyIndex(...)
-- Parameters: ImGuiKey (key)
-- Returns: int (index)
index = ImGui.GetKeyIndex(ImGuiKey.Tab)
-- ImGui.IsKeyDown(...)
-- Parameters: int (key_index)
-- Returns: bool (down)
down = ImGui.IsKeyDown(0)
-- ImGui.IsKeyPressed(...)
-- Parameters: int (key_index), bool (repeat) [O]
-- Returns: bool (pressed)
-- Overloads
pressed = ImGui.IsKeyPressed(0)
pressed = ImGui.IsKeyPressed(0, true)
-- ImGui.IsKeyReleased(...)
-- Parameters: int (key_index)
-- Returns: bool (released)
released = ImGui.IsKeyReleased(0)
-- ImGui.GetKeyPressedAmount(...)
-- Parameters: int (key_index), float (repeat_delay), float (rate)
-- Returns: int (pressed_amount)
pressed_amount = ImGui.GetKeyPressedAmount(0, 0.5, 5)
-- ImGui.CaptureKeyboardFromApp(...)
-- Parameters: bool (want_capture_keyboard_value) [O]
-- Overloads
ImGui.CaptureKeyboardFromApp()
ImGui.CaptureKeyboardFromApp(false)
-- ImGui.IsMouseDown(...)
-- Parameters: ImGuiMouseButton (button)
-- Returns: bool (down)
down = ImGui.IsMouseDown(ImGuiMouseButton.Right)
-- ImGui.IsMouseClicked(...)
-- Parameters: ImGuiMouseButton (button), bool (repeat) [O]
-- Returns: bool (clicked)
-- Overloads
clicked = ImGui.IsMouseClicked(ImGuiMouseButton.Right)
clicked = ImGui.IsMouseClicked(ImGuiMouseButton.Right, false)
-- ImGui.IsMouseReleased(...)
-- Parameters: ImGuiMouseButton (button)
-- Returns: bool (released)
released = ImGui.IsMouseReleased(ImGuiMouseButton.Right)
-- ImGui.IsMouseDoubleClicked(...)
-- Parameters: ImGuiMouseButton (button)
-- Returns: bool (double_clicked)
double_clicked = ImGui.IsMouseDoubleClicked(ImGuiMouseButton.Right)
-- ImGui.IsMouseHoveringRect(...)
-- Parameters: float (min_x), float (min_y), float(max_x), float(max_y), bool (clip) [O]
-- Returns: bool (hovered)
hovered = ImGui.IsMouseHoveringRect(0, 0, 100, 100)
hovered = ImGui.IsMouseHoveringRect(0, 0, 100, 100, true)
-- ImGui.IsAnyMouseDown()
-- Returns: bool (any_mouse_down)
any_mouse_down = ImGui.IsAnyMouseDown()
-- ImGui.GetMousePos()
-- Returns: float (x), float (y)
x, y = ImGui.GetMousePos()
-- ImGui.GetMousePosOnOpeningCurrentPopup()
-- Returns: float (x), float (y)
x, y = ImGui.GetMousePosOnOpeningCurrentPopup()
-- ImGui.IsMouseDragging(...)
-- Parameters: ImGuiMouseButton (button), float (lock_threshold) [O]
-- Returns: bool (dragging)
-- Overloads
dragging = ImGui.IsMouseDragging(ImGuiMouseButton.Middle)
dragging = ImGui.IsMouseDragging(ImGuiMouseButton.Middle, 0.5)
-- ImGui.GetMouseDragDelta(...)
-- Parameters: ImGuiMouseButton (button) [O], float (lock_threshold) [O]
-- Returns: float (x), float (y)
-- Overloads
x, y = ImGui.GetMouseDragDelta()
x, y = ImGui.GetMouseDragDelta(ImGuiMouseButton.Middle)
x, y = ImGui.GetMouseDragDelta(ImGuiMouseButton.Middle, 0.5)
-- ImGui.ResetMouseDragDelta(...)
-- Parameters: ImGuiMouseButton (button) [O]
-- Overloads
ImGui.ResetMouseDragDelta()
ImGui.ResetMouseDragDelta(ImGuiMouseButton.Middle)
-- ImGui.GetMouseCursor()
-- Returns: ImGuiMouseCursor (cursor)
cursor = ImGui.GetMouseCursor()
-- ImGui.SetMouseCursor(...)
-- Parameters: ImGuiMouseCursor (cursor_type)
ImGui.SetMouseCursor(ImGuiMouseCursor.Hand)
-- ImGui.CaptureMouseFromApp()
-- Parameters: bool (want_capture_mouse_value) [O]
-- Overloads
ImGui.CaptureMouseFromApp()
ImGui.CaptureMouseFromApp(true)
-- ImGui.GetClipboardText()
-- Returns: text (text)
text = ImGui.GetClipboardText()
-- ImGui.SetClipboardText(...)
-- Parameters: text (text)
ImGui.SetClipboardText("I made it to the clipboard!")