Skip to content

Dear ImGui native API

This index is generated from docs/reference/api-inventory.json. It lists every entry marked included: true in that source: 365 signature rows across the pinned Dear ImGui 1.93.0 WIP docking revision (19297). Rows marked included: false are omitted, including host lifecycle and debug APIs such as CreateContext, NewFrame, and Render.

<imkit/native.h> imports these Dear ImGui overloads into namespace imkit with their original defaults and Begin/End contracts. These are declaration listings, not standalone headers or call examples. Search the page for a function name or use the section headings to find its category. The row count does not claim that every overload received a separate interactive test; see the integration guide and components guide for use, and the pinned public header for the exact implementation contract.

ImGuiStyle& GetStyle()
const char* GetVersion()
bool Begin(const char* name, bool* p_open = NULL, ImGuiWindowFlags flags = 0)
void End()
void PushFont(ImFont* font, float font_size_base_unscaled)
void PopFont()
ImFont* GetFont()
float GetFontSize()
ImFontBaked* GetFontBaked()
void PushStyleVar(ImGuiStyleVar idx, float val)
void PushStyleVar(ImGuiStyleVar idx, const ImVec2& val)
void PushStyleVarX(ImGuiStyleVar idx, float val_x)
void PushStyleVarY(ImGuiStyleVar idx, float val_y)
void PopStyleVar(int count = 1)
void PushItemFlag(ImGuiItemFlags option, bool enabled)
void PopItemFlag()
void PushItemWidth(float item_width)
void PopItemWidth()
void SetNextItemWidth(float item_width)
float CalcItemWidth()
ImVec2 GetFontTexUvWhitePixel()
ImVec2 GetCursorScreenPos()
void SetCursorScreenPos(const ImVec2& pos)
ImVec2 GetContentRegionAvail()
ImVec2 GetCursorPos()
float GetCursorPosX()
float GetCursorPosY()
void SetCursorPos(const ImVec2& local_pos)
void SetCursorPosX(float local_x)
void SetCursorPosY(float local_y)
ImVec2 GetCursorStartPos()
void Separator()
void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
void NewLine()
void Spacing()
void Dummy(const ImVec2& size)
void Indent(float indent_w = 0.0f)
void Unindent(float indent_w = 0.0f)
void BeginGroup()
void EndGroup()
float GetFrameHeight()
float GetFrameHeightWithSpacing()
void PushID(const char* str_id)
void PushID(const char* str_id_begin, const char* str_id_end)
void PushID(const void* ptr_id)
void PushID(int int_id)
void PopID()
ImGuiID GetID(const char* str_id)
ImGuiID GetID(const char* str_id_begin, const char* str_id_end)
ImGuiID GetID(const void* ptr_id)
ImGuiID GetID(int int_id)
void SetNextItemOpen(bool is_open, ImGuiCond cond = 0)
void SetNextItemStorageID(ImGuiID storage_id)
ImGuiMultiSelectIO* BeginMultiSelect(ImGuiMultiSelectFlags flags, int selection_size = -1, int items_count = -1)
ImGuiMultiSelectIO* EndMultiSelect()
void SetNextItemSelectionUserData(ImGuiSelectionUserData selection_user_data)
bool IsItemToggledSelection()
void Value(const char* prefix, bool b)
void Value(const char* prefix, int v)
void Value(const char* prefix, unsigned int v)
void Value(const char* prefix, float v, const char* float_format = NULL)
void Columns(int count = 1, const char* id = NULL, bool borders = true)
void NextColumn()
int GetColumnIndex()
float GetColumnWidth(int column_index = -1)
void SetColumnWidth(int column_index, float width)
float GetColumnOffset(int column_index = -1)
void SetColumnOffset(int column_index, float offset_x)
int GetColumnsCount()
bool BeginDragDropSource(ImGuiDragDropFlags flags = 0)
bool SetDragDropPayload(const char* type, const void* data, size_t sz, ImGuiCond cond = 0)
void EndDragDropSource()
bool BeginDragDropTarget()
const ImGuiPayload* AcceptDragDropPayload(const char* type, ImGuiDragDropFlags flags = 0)
void EndDragDropTarget()
const ImGuiPayload* GetDragDropPayload()
void BeginDisabled(bool disabled = true)
void EndDisabled()
void PushClipRect(const ImVec2& clip_rect_min, const ImVec2& clip_rect_max, bool intersect_with_current_clip_rect)
void PopClipRect()
void SetItemDefaultFocus()
void SetKeyboardFocusHere(int offset = 0)
void SetNavCursorVisible(bool visible)
void SetNextItemAllowOverlap()
bool IsItemHovered(ImGuiHoveredFlags flags = 0)
bool IsItemActive()
bool IsItemFocused()
bool IsItemClicked(ImGuiMouseButton mouse_button = 0)
bool IsItemVisible()
bool IsItemEdited()
bool IsItemActivated()
bool IsItemDeactivated()
bool IsItemDeactivatedAfterEdit()
bool IsItemToggledOpen()
bool IsAnyItemHovered()
bool IsAnyItemActive()
bool IsAnyItemFocused()
ImGuiID GetItemID()
ImVec2 GetItemRectMin()
ImVec2 GetItemRectMax()
ImVec2 GetItemRectSize()
ImGuiItemFlags GetItemFlags()
int GetItemClickedCountWithSingleClickDelay(ImGuiMouseButton mouse_button = 0, float delay = -1.0f)
ImGuiViewport* GetMainViewport()
ImDrawList* GetBackgroundDrawList(ImGuiViewport* viewport = NULL)
ImDrawList* GetForegroundDrawList(ImGuiViewport* viewport = NULL)
bool IsRectVisible(const ImVec2& size)
bool IsRectVisible(const ImVec2& rect_min, const ImVec2& rect_max)
double GetTime()
int GetFrameCount()
ImDrawListSharedData* GetDrawListSharedData()
void SetStateStorage(ImGuiStorage* storage)
ImGuiStorage* GetStateStorage()
bool IsKeyDown(ImGuiKey key)
bool IsKeyPressed(ImGuiKey key, bool repeat = true)
bool IsKeyReleased(ImGuiKey key)
bool IsKeyChordPressed(ImGuiKeyChord key_chord)
int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate)
const char* GetKeyName(ImGuiKey key)
void SetNextFrameWantCaptureKeyboard(bool want_capture_keyboard)
bool Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags = 0)
void SetNextItemShortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags = 0)
bool SetItemKeyOwner(ImGuiKey key)
bool IsMouseDown(ImGuiMouseButton button)
bool IsMouseClicked(ImGuiMouseButton button, bool repeat = false)
bool IsMouseReleased(ImGuiMouseButton button)
bool IsMouseDoubleClicked(ImGuiMouseButton button)
bool IsMouseReleasedWithDelay(ImGuiMouseButton button, float delay=-1.f)
int GetMouseClickedCount(ImGuiMouseButton button)
bool IsMouseHoveringRect(const ImVec2& r_min, const ImVec2& r_max, bool clip = true)
bool IsMousePosValid(const ImVec2* mouse_pos = NULL)
bool IsAnyMouseDown()
ImVec2 GetMousePos()
bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold = -1.0f)
ImVec2 GetMouseDragDelta(ImGuiMouseButton button = 0, float lock_threshold = -1.0f)
void ResetMouseDragDelta(ImGuiMouseButton button = 0)
ImGuiMouseCursor GetMouseCursor()
void SetMouseCursor(ImGuiMouseCursor cursor_type)
void SetNextFrameWantCaptureMouse(bool want_capture_mouse)

bool BeginChild(const char* str_id, const ImVec2& size = ImVec2(0, 0), ImGuiChildFlags child_flags = 0, ImGuiWindowFlags window_flags = 0)
bool BeginChild(ImGuiID id, const ImVec2& size = ImVec2(0, 0), ImGuiChildFlags child_flags = 0, ImGuiWindowFlags window_flags = 0)
void EndChild()
bool IsWindowAppearing()
bool IsWindowCollapsed()
bool IsWindowFocused(ImGuiFocusedFlags flags=0)
bool IsWindowHovered(ImGuiHoveredFlags flags=0)
ImDrawList* GetWindowDrawList()
float GetWindowDpiScale()
ImVec2 GetWindowPos()
ImVec2 GetWindowSize()
float GetWindowWidth()
float GetWindowHeight()
ImGuiViewport* GetWindowViewport()
void SetNextWindowPos(const ImVec2& pos, ImGuiCond cond = 0, const ImVec2& pivot = ImVec2(0, 0))
void SetNextWindowSize(const ImVec2& size, ImGuiCond cond = 0)
void SetNextWindowSizeConstraints(const ImVec2& size_min, const ImVec2& size_max, ImGuiSizeCallback custom_callback = NULL, void* custom_callback_data = NULL)
void SetNextWindowContentSize(const ImVec2& size)
void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond = 0)
void SetNextWindowFocus()
void SetNextWindowScroll(const ImVec2& scroll)
void SetNextWindowBgAlpha(float alpha)
void SetNextWindowViewport(ImGuiID viewport_id)
void SetWindowPos(const ImVec2& pos, ImGuiCond cond = 0)
void SetWindowSize(const ImVec2& size, ImGuiCond cond = 0)
void SetWindowCollapsed(bool collapsed, ImGuiCond cond = 0)
void SetWindowFocus()
void SetWindowPos(const char* name, const ImVec2& pos, ImGuiCond cond = 0)
void SetWindowSize(const char* name, const ImVec2& size, ImGuiCond cond = 0)
void SetWindowCollapsed(const char* name, bool collapsed, ImGuiCond cond = 0)
void SetWindowFocus(const char* name)
float GetScrollX()
float GetScrollY()
void SetScrollX(float scroll_x)
void SetScrollY(float scroll_y)
float GetScrollMaxX()
float GetScrollMaxY()
void SetScrollHereX(float center_x_ratio = 0.5f)
void SetScrollHereY(float center_y_ratio = 0.5f)
void SetScrollFromPosX(float local_x, float center_x_ratio = 0.5f)
void SetScrollFromPosY(float local_y, float center_y_ratio = 0.5f)
bool BeginMenuBar()
void EndMenuBar()
bool BeginMainMenuBar()
void EndMainMenuBar()
bool BeginMenu(const char* label, bool enabled = true)
void EndMenu()
bool MenuItem(const char* label, const char* shortcut = NULL, bool selected = false, bool enabled = true)
bool MenuItem(const char* label, const char* shortcut, bool* p_selected, bool enabled = true)
bool BeginTooltip()
void EndTooltip()
void SetTooltip(const char* fmt, ...)
void SetTooltipV(const char* fmt, va_list args)
bool BeginItemTooltip()
void SetItemTooltip(const char* fmt, ...)
void SetItemTooltipV(const char* fmt, va_list args)
bool BeginPopup(const char* str_id, ImGuiWindowFlags flags = 0)
bool BeginPopupModal(const char* name, bool* p_open = NULL, ImGuiWindowFlags flags = 0)
void EndPopup()
bool OpenPopup(const char* str_id, ImGuiPopupFlags popup_flags = 0)
bool OpenPopup(ImGuiID id, ImGuiPopupFlags popup_flags = 0)
bool OpenPopupOnItemClick(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 0)
void CloseCurrentPopup()
bool BeginPopupContextItem(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 0)
bool BeginPopupContextWindow(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 0)
bool BeginPopupContextVoid(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 0)
bool IsPopupOpen(const char* str_id, ImGuiPopupFlags flags = 0)
ImGuiID DockSpace(ImGuiID dockspace_id, const ImVec2& size = ImVec2(0, 0), ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL)
ImGuiID DockSpaceOverViewport(ImGuiID dockspace_id = 0, const ImGuiViewport* viewport = NULL, ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL)
void SetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond = 0)
void SetNextWindowClass(const ImGuiWindowClass* window_class)
ImGuiID GetWindowDockID()
bool IsWindowDocked()
ImVec2 GetMousePosOnOpeningCurrentPopup()

void PushStyleColor(ImGuiCol idx, ImU32 col)
void PushStyleColor(ImGuiCol idx, const ImVec4& col)
void PopStyleColor(int count = 1)
ImU32 GetColorU32(ImGuiCol idx, float alpha_mul = 1.0f)
ImU32 GetColorU32(const ImVec4& col)
ImU32 GetColorU32(ImU32 col, float alpha_mul = 1.0f)
const ImVec4& GetStyleColorVec4(ImGuiCol idx)
void TextColored(const ImVec4& col, const char* fmt, ...)
void TextColoredV(const ImVec4& col, const char* fmt, va_list args)
void Image(ImTextureRef tex_ref, const ImVec2& image_size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1))
void ImageWithBg(ImTextureRef tex_ref, const ImVec2& image_size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1), const ImVec4& bg_col = ImVec4(0, 0, 0, 0), const ImVec4& tint_col = ImVec4(1, 1, 1, 1))
bool ImageButton(const char* str_id, ImTextureRef tex_ref, const ImVec2& image_size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1), const ImVec4& bg_col = ImVec4(0, 0, 0, 0), const ImVec4& tint_col = ImVec4(1, 1, 1, 1))
bool InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL)
bool InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0, 0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL)
bool InputTextWithHint(const char* label, const char* hint, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL)
bool ColorEdit3(const char* label, float col[3], ImGuiColorEditFlags flags = 0)
bool ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flags = 0)
bool ColorPicker3(const char* label, float col[3], ImGuiColorEditFlags flags = 0)
bool ColorPicker4(const char* label, float col[4], ImGuiColorEditFlags flags = 0, const float* ref_col = NULL)
bool ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFlags flags = 0, const ImVec2& size = ImVec2(0, 0))
void PlotLines(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float))
void PlotLines(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0))
void PlotHistogram(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float))
void PlotHistogram(const char* label, float (*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0))
void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n = -1)
const char* GetStyleColorName(ImGuiCol idx)
ImVec4 ColorConvertU32ToFloat4(ImU32 in)
ImU32 ColorConvertFloat4ToU32(const ImVec4& in)
void ColorConvertRGBtoHSV(float r, float g, float b, float& out_h, float& out_s, float& out_v)
void ColorConvertHSVtoRGB(float h, float s, float v, float& out_r, float& out_g, float& out_b)

void PushTextWrapPos(float wrap_local_pos_x = 0.0f)
void PopTextWrapPos()
void AlignTextToFramePadding()
float GetTextLineHeight()
float GetTextLineHeightWithSpacing()
void TextUnformatted(const char* text, const char* text_end = NULL)
void Text(const char* fmt, ...)
void TextV(const char* fmt, va_list args)
void TextDisabled(const char* fmt, ...)
void TextDisabledV(const char* fmt, va_list args)
void TextWrapped(const char* fmt, ...)
void TextWrappedV(const char* fmt, va_list args)
void LabelText(const char* label, const char* fmt, ...)
void LabelTextV(const char* label, const char* fmt, va_list args)
void BulletText(const char* fmt, ...)
void BulletTextV(const char* fmt, va_list args)
void SeparatorText(const char* label)
bool Button(const char* label, const ImVec2& size = ImVec2(0, 0))
bool SmallButton(const char* label)
bool InvisibleButton(const char* str_id, const ImVec2& size, ImGuiButtonFlags flags = 0)
bool ArrowButton(const char* str_id, ImGuiDir dir)
bool Checkbox(const char* label, bool* v)
bool CheckboxFlags(const char* label, int* flags, int flags_value)
bool CheckboxFlags(const char* label, unsigned int* flags, unsigned int flags_value)
bool RadioButton(const char* label, bool active)
bool RadioButton(const char* label, int* v, int v_button)
void ProgressBar(float fraction, const ImVec2& size_arg = ImVec2(-FLT_MIN, 0), const char* overlay = NULL)
void Bullet()
bool TextLink(const char* label)
bool TextLinkOpenURL(const char* label, const char* url = NULL)
bool BeginCombo(const char* label, const char* preview_value, ImGuiComboFlags flags = 0)
void EndCombo()
bool Combo(const char* label, int* current_item, const char* const items[], int items_count, int popup_max_height_in_items = -1)
bool Combo(const char* label, int* current_item, const char* items_separated_by_zeros, int popup_max_height_in_items = -1)
bool Combo(const char* label, int* current_item, const char* (*getter)(void* user_data, int idx), void* user_data, int items_count, int popup_max_height_in_items = -1)
bool Selectable(const char* label, bool selected = false, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0))
bool Selectable(const char* label, bool* p_selected, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0))
bool BeginListBox(const char* label, const ImVec2& size = ImVec2(0, 0))
void EndListBox()
bool ListBox(const char* label, int* current_item, const char* const items[], int items_count, int height_in_items = -1)
bool ListBox(const char* label, int* current_item, const char* (*getter)(void* user_data, int idx), void* user_data, int items_count, int height_in_items = -1)
ImVec2 CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f)
const char* GetClipboardText()
void SetClipboardText(const char* text)

bool DragFloat(const char* label, float* v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool DragFloat2(const char* label, float v[2], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool DragFloat3(const char* label, float v[3], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool DragFloat4(const char* label, float v[4], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool DragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", const char* format_max = NULL, ImGuiSliderFlags flags = 0)
bool DragInt(const char* label, int* v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool DragInt2(const char* label, int v[2], float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool DragInt3(const char* label, int v[3], float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool DragInt4(const char* label, int v[4], float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool DragIntRange2(const char* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", const char* format_max = NULL, ImGuiSliderFlags flags = 0)
bool DragScalar(const char* label, ImGuiDataType data_type, void* p_data, float v_speed = 1.0f, const void* p_min = NULL, const void* p_max = NULL, const char* format = NULL, ImGuiSliderFlags flags = 0)
bool DragScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, float v_speed = 1.0f, const void* p_min = NULL, const void* p_max = NULL, const char* format = NULL, ImGuiSliderFlags flags = 0)
bool SliderFloat(const char* label, float* v, float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool SliderFloat2(const char* label, float v[2], float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool SliderFloat3(const char* label, float v[3], float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool SliderFloat4(const char* label, float v[4], float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool SliderAngle(const char* label, float* v_rad, float v_degrees_min = -360.0f, float v_degrees_max = +360.0f, const char* format = "%.0f deg", ImGuiSliderFlags flags = 0)
bool SliderInt(const char* label, int* v, int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool SliderInt2(const char* label, int v[2], int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool SliderInt3(const char* label, int v[3], int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool SliderInt4(const char* label, int v[4], int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool SliderScalar(const char* label, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format = NULL, ImGuiSliderFlags flags = 0)
bool SliderScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, const void* p_min, const void* p_max, const char* format = NULL, ImGuiSliderFlags flags = 0)
bool VSliderFloat(const char* label, const ImVec2& size, float* v, float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0)
bool VSliderInt(const char* label, const ImVec2& size, int* v, int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0)
bool VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format = NULL, ImGuiSliderFlags flags = 0)
bool InputFloat(const char* label, float* v, float step = 0.0f, float step_fast = 0.0f, const char* format = "%.3f", ImGuiInputTextFlags flags = 0)
bool InputFloat2(const char* label, float v[2], const char* format = "%.3f", ImGuiInputTextFlags flags = 0)
bool InputFloat3(const char* label, float v[3], const char* format = "%.3f", ImGuiInputTextFlags flags = 0)
bool InputFloat4(const char* label, float v[4], const char* format = "%.3f", ImGuiInputTextFlags flags = 0)
bool InputInt(const char* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags flags = 0)
bool InputInt2(const char* label, int v[2], ImGuiInputTextFlags flags = 0)
bool InputInt3(const char* label, int v[3], ImGuiInputTextFlags flags = 0)
bool InputInt4(const char* label, int v[4], ImGuiInputTextFlags flags = 0)
bool InputDouble(const char* label, double* v, double step = 0.0, double step_fast = 0.0, const char* format = "%.6f", ImGuiInputTextFlags flags = 0)
bool InputScalar(const char* label, ImGuiDataType data_type, void* p_data, const void* p_step = NULL, const void* p_step_fast = NULL, const char* format = NULL, ImGuiInputTextFlags flags = 0)
bool InputScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, const void* p_step = NULL, const void* p_step_fast = NULL, const char* format = NULL, ImGuiInputTextFlags flags = 0)

bool TreeNode(const char* label)
bool TreeNode(const char* str_id, const char* fmt, ...)
bool TreeNode(const void* ptr_id, const char* fmt, ...)
bool TreeNodeV(const char* str_id, const char* fmt, va_list args)
bool TreeNodeV(const void* ptr_id, const char* fmt, va_list args)
bool TreeNodeEx(const char* label, ImGuiTreeNodeFlags flags = 0)
bool TreeNodeEx(const char* str_id, ImGuiTreeNodeFlags flags, const char* fmt, ...)
bool TreeNodeEx(const void* ptr_id, ImGuiTreeNodeFlags flags, const char* fmt, ...)
bool TreeNodeExV(const char* str_id, ImGuiTreeNodeFlags flags, const char* fmt, va_list args)
bool TreeNodeExV(const void* ptr_id, ImGuiTreeNodeFlags flags, const char* fmt, va_list args)
void TreePush(const char* str_id)
void TreePush(const void* ptr_id)
void TreePop()
float GetTreeNodeToLabelSpacing()
bool CollapsingHeader(const char* label, ImGuiTreeNodeFlags flags = 0)
bool CollapsingHeader(const char* label, bool* p_visible, ImGuiTreeNodeFlags flags = 0)
bool TreeNodeGetOpen(ImGuiID storage_id)
bool BeginTable(const char* str_id, int columns, ImGuiTableFlags flags = 0, const ImVec2& outer_size = ImVec2(0.0f, 0.0f), float inner_width = 0.0f)
void EndTable()
void TableNextRow(ImGuiTableRowFlags row_flags = 0, float min_row_height = 0.0f)
bool TableNextColumn()
bool TableSetColumnIndex(int column_n)
void TableSetupColumn(const char* label, ImGuiTableColumnFlags flags = 0, float init_width_or_weight = 0.0f, ImGuiID user_data = 0)
void TableSetupScrollFreeze(int cols, int rows)
void TableHeader(const char* label)
void TableHeadersRow()
void TableAngledHeadersRow()
ImGuiTableSortSpecs* TableGetSortSpecs()
int TableGetColumnCount()
int TableGetColumnIndex()
int TableGetRowIndex()
const char* TableGetColumnName(int column_n = -1)
ImGuiTableColumnFlags TableGetColumnFlags(int column_n = -1)
void TableSetColumnEnabled(int column_n, bool v)
int TableGetHoveredColumn()
bool BeginTabBar(const char* str_id, ImGuiTabBarFlags flags = 0)
void EndTabBar()
bool BeginTabItem(const char* label, bool* p_open = NULL, ImGuiTabItemFlags flags = 0)
void EndTabItem()
bool TabItemButton(const char* label, ImGuiTabItemFlags flags = 0)
void SetTabItemClosed(const char* tab_or_docked_window_label)