imgui.cimgui

D wrapper for cimgui (Dear ImGui). Provides bindings for Dear ImGui immediate mode GUI library.

Features: Full ImGui API coverage @trusted wrapper functions Preserves ImGui naming conventions Handles memory management

Public Imports

imgui.c.dcimgui
public import imgui.c.dcimgui;
Undocumented in source.

Members

Aliases

BulletTextV
alias BulletTextV = igBulletTextV
Undocumented in source.
ColorConvertRGBtoHSV
alias ColorConvertRGBtoHSV = igColorConvertRGBtoHSV
Undocumented in source.
DebugLogV
alias DebugLogV = igDebugLogV
Undocumented in source.
ImGuiGet_item_name_funcCallback
alias ImGuiGet_item_name_funcCallback = const(char)* function(void*, int)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ImGuiGetterCallback
alias ImGuiGetterCallback = const(char)* function(void*, int)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ImGuiOld_callbackCallback
alias ImGuiOld_callbackCallback = bool function(void*, int, const(char)**)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ImGuiValues_getterCallback
alias ImGuiValues_getterCallback = float function(void*, int)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ImGui__funcCallback
alias ImGui__funcCallback = void function(int, void*)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
LabelTextV
alias LabelTextV = igLabelTextV
Undocumented in source.
LogTextV
alias LogTextV = igLogTextV
Undocumented in source.
SetItemTooltipV
alias SetItemTooltipV = igSetItemTooltipV
Undocumented in source.
SetTooltipV
alias SetTooltipV = igSetTooltipV
Undocumented in source.
ShadeVertsLinearUV
alias ShadeVertsLinearUV = igShadeVertsLinearUV
Undocumented in source.
Text
alias Text = igText
Undocumented in source.
TextAligned
alias TextAligned = igTextAligned
Undocumented in source.
TextAlignedV
alias TextAlignedV = igTextAlignedV
Undocumented in source.
TextColored
alias TextColored = igTextColored
Undocumented in source.
TextColoredV
alias TextColoredV = igTextColoredV
Undocumented in source.
TextDisabled
alias TextDisabled = igTextDisabled
Undocumented in source.
TextDisabledV
alias TextDisabledV = igTextDisabledV
Undocumented in source.
TextV
alias TextV = igTextV
Undocumented in source.
TextWrapped
alias TextWrapped = igTextWrapped
Undocumented in source.
TextWrappedV
alias TextWrappedV = igTextWrappedV
Undocumented in source.
TreeNodeExV
alias TreeNodeExV = igTreeNodeExV
Undocumented in source.
TreeNodeExVPtr
alias TreeNodeExVPtr = igTreeNodeExVPtr
Undocumented in source.
TreeNodeV
alias TreeNodeV = igTreeNodeV
Undocumented in source.
TreeNodeVPtr
alias TreeNodeVPtr = igTreeNodeVPtr
Undocumented in source.

Functions

AcceptDragDropPayload
const(ImGuiPayload)* AcceptDragDropPayload(const(char)* type, ImGuiDragDropFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ActivateItemByID
void ActivateItemByID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
AddContextHook
ImGuiID AddContextHook(ImGuiContext* context, ImGuiContextHook* hook)

Generic context hooks

AddDrawListToDrawDataEx
void AddDrawListToDrawDataEx(ImDrawData* draw_data, ImVector_ImDrawListPtr* out_list, ImDrawList* draw_list)
Undocumented in source. Be warned that the author may not have intended to support it.
AddSettingsHandler
void AddSettingsHandler(ImGuiSettingsHandler* handler)
Undocumented in source. Be warned that the author may not have intended to support it.
AlignTextToFramePadding
void AlignTextToFramePadding()
Undocumented in source. Be warned that the author may not have intended to support it.
ArrowButton
bool ArrowButton(const(char)* str_id, ImGuiDir dir)
Undocumented in source. Be warned that the author may not have intended to support it.
ArrowButtonEx
bool ArrowButtonEx(const(char)* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
Begin
bool Begin(const(char)* name, bool* p_open, ImGuiWindowFlags flags)

Windows Begin() = push window to the stack and start appending to it. End() = pop window from the stack. Passing 'bool* p_open != NULL' shows a windowclosing widget in the upperright corner of the window, which clicking will set the boolean to false when clicked. You may append multiple times to the same window during the same frame by calling Begin()/End() pairs multiple times. Some information such as 'flags' or 'p_open' will only be considered by the first call to Begin(). Begin() return false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window. Always call a matching End() for each Begin() call, regardless of its return value! [Important: due to legacy reason, Begin/End and BeginChild/EndChild are inconsistent with all other functions such as BeginMenu/EndMenu, BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.] Note that the bottom of window stack always contains a window called "Debug".

BeginBoxSelect
bool BeginBoxSelect(ImRect scope_rect, ImGuiWindow* window, ImGuiID box_select_id, ImGuiMultiSelectFlags ms_flags)

BoxSelect API

BeginChild
bool BeginChild(const(char)* str_id, ImVec2 size, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags)

Child Windows Use child windows to begin into a selfcontained independent scrolling/clipping regions within a host window. Child windows can embed their own child. Before 1.90 (November 2023), the "ImGuiChildFlags child_flags = 0" parameter was "bool border = false". This API is backward compatible with old code, as we guarantee that ImGuiChildFlags_Borders == true. Consider updating your old code: BeginChild("Name", size, false) > Begin("Name", size, 0); or Begin("Name", size, ImGuiChildFlags_None); BeginChild("Name", size, true) > Begin("Name", size, ImGuiChildFlags_Borders); Manual sizing (each axis can use a different setting e.g. ImVec2(0.0f, 400.0f)): == 0.0f: use remaining parent window size for this axis. > 0.0f: use specified size for this axis.

BeginChildEx
bool BeginChildEx(const(char)* name, ImGuiID id, ImVec2 size_arg, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags)

Childs

BeginChildFrame
bool BeginChildFrame(ImGuiID id, ImVec2 size)

OBSOLETED in 1.90.0 (from September 2023)

BeginChildFrameEx
bool BeginChildFrameEx(ImGuiID id, ImVec2 size, ImGuiWindowFlags window_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginChildID
bool BeginChildID(ImGuiID id, ImVec2 size, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginColumns
void BeginColumns(const(char)* str_id, int count, ImGuiOldColumnFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginCombo
bool BeginCombo(const(char)* label, const(char)* preview_value, ImGuiComboFlags flags)

Widgets: Combo Box (Dropdown) The BeginCombo()/EndCombo() api allows you to manage your contents and selection state however you want it, by creating e.g. Selectable() items. The old Combo() api are helpers over BeginCombo()/EndCombo() which are kept available for convenience purpose. This is analogous to how ListBox are created.

BeginComboPopup
bool BeginComboPopup(ImGuiID popup_id, ImRect bb, ImGuiComboFlags flags)

Combos

BeginComboPreview
bool BeginComboPreview()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginDisabled
void BeginDisabled(bool disabled)

Disabling [BETA API] Disable all user interactions and dim items visuals (applying style.DisabledAlpha over current colors) Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled) Tooltips windows by exception are opted out of disabling. BeginDisabled(false)/EndDisabled() essentially does nothing but is provided to facilitate use of boolean expressions (as a microoptimization: if you have tens of thousands of BeginDisabled(false)/EndDisabled() pairs, you might want to reformulate your code to avoid making those calls)

BeginDisabledOverrideReenable
void BeginDisabledOverrideReenable()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginDragDropSource
bool BeginDragDropSource(ImGuiDragDropFlags flags)

Drag and Drop On source items, call BeginDragDropSource(), if it returns true also call SetDragDropPayload() + EndDragDropSource(). On target candidates, call BeginDragDropTarget(), if it returns true also call AcceptDragDropPayload() + EndDragDropTarget(). If you stop calling BeginDragDropSource() the payload is preserved however it won't have a preview tooltip (we currently display a fallback "..." tooltip, see #1725) An item can be both drag source and drop target.

BeginDragDropTarget
bool BeginDragDropTarget()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginDragDropTargetCustom
bool BeginDragDropTargetCustom(ImRect bb, ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginErrorTooltip
bool BeginErrorTooltip()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginGroup
void BeginGroup()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginItemTooltip
bool BeginItemTooltip()

Tooltips: helpers for showing a tooltip when hovering an item BeginItemTooltip() is a shortcut for the 'if (IsItemHovered(ImGuiHoveredFlags_ForTooltip) & & BeginTooltip())' idiom. SetItemTooltip() is a shortcut for the 'if (IsItemHovered(ImGuiHoveredFlags_ForTooltip)) { SetTooltip(...); }' idiom. Where 'ImGuiHoveredFlags_ForTooltip' itself is a shortcut to use 'style.HoverFlagsForTooltipMouse' or 'style.HoverFlagsForTooltipNav' depending on active input type. For mouse it defaults to 'ImGuiHoveredFlags_Stationary | ImGuiHoveredFlags_DelayShort'.

BeginListBox
bool BeginListBox(const(char)* label, ImVec2 size)

Widgets: List Boxes This is essentially a thin wrapper to using BeginChild/EndChild with the ImGuiChildFlags_FrameStyle flag for stylistic changes + displaying a label. If you don't need a label you can probably simply use BeginChild() with the ImGuiChildFlags_FrameStyle flag for the same result. You can submit contents and manage your selection state however you want it, by creating e.g. Selectable() or any other items. The simplified/old ListBox() api are helpers over BeginListBox()/EndListBox() which are kept available for convenience purpose. This is analogous to how Combos are created. Choose frame width: size.x > 0.0f: custom / size.x < 0.0f or FLT_MIN: rightalign / size.x = 0.0f (default): use current ItemWidth Choose frame height: size.y > 0.0f: custom / size.y < 0.0f or FLT_MIN: bottomalign / size.y = 0.0f (default): arbitrary default height which can fit ~7 items

BeginMainMenuBar
bool BeginMainMenuBar()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginMenu
bool BeginMenu(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginMenuBar
bool BeginMenuBar()

Widgets: Menus Use BeginMenuBar() on a window ImGuiWindowFlags_MenuBar to append to its menu bar. Use BeginMainMenuBar() to create a menu bar at the top of the screen and append to it. Use BeginMenu() to create a menu. You can call BeginMenu() multiple time with the same identifier to append more items to it. Not that MenuItem() keyboardshortcuts are displayed as a convenience but _not processed_ by Dear ImGui at the moment.

BeginMenuEx
bool BeginMenuEx(const(char)* label, bool enabled)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginMenuWithIcon
bool BeginMenuWithIcon(const(char)* label, const(char)* icon)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginMenuWithIconEx
bool BeginMenuWithIconEx(const(char)* label, const(char)* icon, bool enabled)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginMultiSelect
ImGuiMultiSelectIO* BeginMultiSelect(ImGuiMultiSelectFlags flags)

Multiselection system for Selectable(), Checkbox(), TreeNode() functions BETA This enables standard multiselection/rangeselection idioms (CTRL+Mouse/Keyboard, SHIFT+Mouse/Keyboard, etc.) in a way that also allow a clipper to be used. ImGuiSelectionUserData is often used to store your item index within the current view (but may store something else). Read comments near ImGuiMultiSelectIO for instructions/details and see 'Demo>Widgets>Selection State & MultiSelect' for demo. TreeNode() is technically supported but... using this correctly is more complicated. You need some sort of linear/random access to your tree, which is suited to advanced trees setups already implementing filters and clipper. We will work simplifying the current demo. 'selection_size' and 'items_count' parameters are optional and used by a few features. If they are costly for you to compute, you may avoid them.

BeginMultiSelectEx
ImGuiMultiSelectIO* BeginMultiSelectEx(ImGuiMultiSelectFlags flags, int selection_size, int items_count)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginPopup
bool BeginPopup(const(char)* str_id, ImGuiWindowFlags flags)

Popups, Modals They block normal mouse hovering detection (and therefore most mouse interactions) behind them. If not modal: they can be closed by clicking anywhere outside them, or by pressing ESCAPE. Their visibility state (~bool) is held internally instead of being held by the programmer as we are used to with regular Begin*() calls. The 3 properties above are related: we need to retain popup visibility state in the library because popups may be closed as any time. You can bypass the hovering restriction by using ImGuiHoveredFlags_AllowWhenBlockedByPopup when calling IsItemHovered() or IsWindowHovered(). IMPORTANT: Popup identifiers are relative to the current ID stack, so OpenPopup and BeginPopup generally needs to be at the same level of the stack. This is sometimes leading to confusing mistakes. May rework this in the future. BeginPopup(): query popup state, if open start appending into the window. Call EndPopup() afterwards if returned true. ImGuiWindowFlags are forwarded to the window. BeginPopupModal(): block every interaction behind the window, cannot be closed by user, add a dimming background, has a title bar.

BeginPopupContextItem
bool BeginPopupContextItem()

Popups: open+begin combined functions helpers Helpers to do OpenPopup+BeginPopup where the Open action is triggered by e.g. hovering an item and rightclicking. They are convenient to easily create context menus, hence the name. IMPORTANT: Notice that BeginPopupContextXXX takes ImGuiPopupFlags just like OpenPopup() and unlike BeginPopup(). For full consistency, we may add ImGuiWindowFlags to the BeginPopupContextXXX functions in the future. IMPORTANT: Notice that we exceptionally default their flags to 1 (== ImGuiPopupFlags_MouseButtonRight) for backward compatibility with older API taking 'int mouse_button = 1' parameter, so if you add other flags remember to readd the ImGuiPopupFlags_MouseButtonRight.

BeginPopupContextItemEx
bool BeginPopupContextItemEx(const(char)* str_id, ImGuiPopupFlags popup_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginPopupContextVoid
bool BeginPopupContextVoid()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginPopupContextVoidEx
bool BeginPopupContextVoidEx(const(char)* str_id, ImGuiPopupFlags popup_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginPopupContextWindow
bool BeginPopupContextWindow()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginPopupContextWindowEx
bool BeginPopupContextWindowEx(const(char)* str_id, ImGuiPopupFlags popup_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginPopupEx
bool BeginPopupEx(ImGuiID id, ImGuiWindowFlags extra_window_flags)

Popups, Modals

BeginPopupMenuEx
bool BeginPopupMenuEx(ImGuiID id, const(char)* label, ImGuiWindowFlags extra_window_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginPopupModal
bool BeginPopupModal(const(char)* name, bool* p_open, ImGuiWindowFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginTabBar
bool BeginTabBar(const(char)* str_id, ImGuiTabBarFlags flags)

Tab Bars, Tabs Note: Tabs are automatically created by the docking system (when in 'docking' branch). Use this to create tab bars/tabs yourself.

BeginTabBarEx
bool BeginTabBarEx(ImGuiTabBar* tab_bar, ImRect bb, ImGuiTabBarFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginTabItem
bool BeginTabItem(const(char)* label, bool* p_open, ImGuiTabItemFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginTable
bool BeginTable(const(char)* str_id, int columns, ImGuiTableFlags flags)

Tables Fullfeatured replacement for old Columns API. See Demo>Tables for demo code. See top of imgui_tables.cpp for general commentary. See ImGuiTableFlags_ and ImGuiTableColumnFlags_ enums for a description of available flags. The typical call flow is: 1. Call BeginTable(), early out if returning false. 2. Optionally call TableSetupColumn() to submit column name/flags/defaults. 3. Optionally call TableSetupScrollFreeze() to request scroll freezing of columns/rows. 4. Optionally call TableHeadersRow() to submit a header row. Names are pulled from TableSetupColumn() data. 5. Populate contents: In most situations you can use TableNextRow() + TableSetColumnIndex(N) to start appending into a column. If you are using tables as a sort of grid, where every column is holding the same type of contents, you may prefer using TableNextColumn() instead of TableNextRow() + TableSetColumnIndex(). TableNextColumn() will automatically wraparound into the next row if needed. IMPORTANT: Comparatively to the old Columns() API, we need to call TableNextColumn() for the first column! Summary of possible call flow: TableNextRow() > TableSetColumnIndex(0) > Text("Hello 0") > TableSetColumnIndex(1) > Text("Hello 1") // OK TableNextRow() > TableNextColumn() > Text("Hello 0") > TableNextColumn() > Text("Hello 1") // OK TableNextColumn() > Text("Hello 0") > TableNextColumn() > Text("Hello 1") // OK: TableNextColumn() automatically gets to next row! TableNextRow() > Text("Hello 0") // Not OK! Missing TableSetColumnIndex() or TableNextColumn()! Text will not appear! 5. Call EndTable()

BeginTableEx
bool BeginTableEx(const(char)* str_id, int columns, ImGuiTableFlags flags, ImVec2 outer_size, float inner_width)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginTableWithID
bool BeginTableWithID(const(char)* name, ImGuiID id, int columns_count, ImGuiTableFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginTableWithIDEx
bool BeginTableWithIDEx(const(char)* name, ImGuiID id, int columns_count, ImGuiTableFlags flags, ImVec2 outer_size, float inner_width)
Undocumented in source. Be warned that the author may not have intended to support it.
BeginTooltip
bool BeginTooltip()

Tooltips Tooltips are windows following the mouse. They do not take focus away. A tooltip window can contain items of any types. SetTooltip() is more or less a shortcut for the 'if (BeginTooltip()) { Text(...); EndTooltip(); }' idiom (with a subtlety that it discard any previously submitted tooltip)

BeginTooltipEx
bool BeginTooltipEx(ImGuiTooltipFlags tooltip_flags, ImGuiWindowFlags extra_window_flags)

Tooltips

BeginTooltipHidden
bool BeginTooltipHidden()
Undocumented in source. Be warned that the author may not have intended to support it.
BeginViewportSideBar
bool BeginViewportSideBar(const(char)* name, ImGuiViewport* viewport, ImGuiDir dir, float size, ImGuiWindowFlags window_flags)

Menus

BringWindowToDisplayBack
void BringWindowToDisplayBack(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
BringWindowToDisplayBehind
void BringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* above_window)
Undocumented in source. Be warned that the author may not have intended to support it.
BringWindowToDisplayFront
void BringWindowToDisplayFront(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
BringWindowToFocusFront
void BringWindowToFocusFront(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
Bullet
void Bullet()
Undocumented in source. Be warned that the author may not have intended to support it.
BulletText
void BulletText(const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
Button
bool Button(const(char)* label)

Widgets: Main Most widgets return true when the value has been changed or when pressed/selected You may also use one of the many IsItemXXX functions (e.g. IsItemActive, IsItemHovered, etc.) to query widget state.

ButtonBehavior
bool ButtonBehavior(ImRect bb, ImGuiID id, bool* out_hovered, bool* out_held, ImGuiButtonFlags flags)

Widgets lowlevel behaviors

ButtonEx
bool ButtonEx(const(char)* label, ImVec2 size)
Undocumented in source. Be warned that the author may not have intended to support it.
ButtonWithFlags
bool ButtonWithFlags(const(char)* label)

Widgets

ButtonWithFlagsEx
bool ButtonWithFlagsEx(const(char)* label, ImVec2 size_arg, ImGuiButtonFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
CalcItemSize
ImVec2 CalcItemSize(ImVec2 size, float default_w, float default_h)
Undocumented in source. Be warned that the author may not have intended to support it.
CalcItemWidth
float CalcItemWidth()
Undocumented in source. Be warned that the author may not have intended to support it.
CalcTextSize
ImVec2 CalcTextSize(const(char)* text)

Text Utilities

CalcTextSizeEx
ImVec2 CalcTextSizeEx(const(char)* text, const(char)* text_end, bool hide_text_after_double_hash, float wrap_width)
Undocumented in source. Be warned that the author may not have intended to support it.
CalcTypematicRepeatAmount
int CalcTypematicRepeatAmount(float t0, float t1, float repeat_delay, float repeat_rate)
Undocumented in source. Be warned that the author may not have intended to support it.
CalcWindowNextAutoFitSize
ImVec2 CalcWindowNextAutoFitSize(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
CalcWrapWidthForPos
float CalcWrapWidthForPos(ImVec2 pos, float wrap_pos_x)
Undocumented in source. Be warned that the author may not have intended to support it.
CallContextHooks
void CallContextHooks(ImGuiContext* context, ImGuiContextHookType type)
Undocumented in source. Be warned that the author may not have intended to support it.
Checkbox
bool Checkbox(const(char)* label, bool* v)
Undocumented in source. Be warned that the author may not have intended to support it.
CheckboxFlagsImS64Ptr
bool CheckboxFlagsImS64Ptr(const(char)* label, ImS64* flags, ImS64 flags_value)
Undocumented in source. Be warned that the author may not have intended to support it.
CheckboxFlagsImU64Ptr
bool CheckboxFlagsImU64Ptr(const(char)* label, ImU64* flags, ImU64 flags_value)
Undocumented in source. Be warned that the author may not have intended to support it.
CheckboxFlagsIntPtr
bool CheckboxFlagsIntPtr(const(char)* label, int* flags, int flags_value)
Undocumented in source. Be warned that the author may not have intended to support it.
CheckboxFlagsUintPtr
bool CheckboxFlagsUintPtr(const(char)* label, uint* flags, uint flags_value)
Undocumented in source. Be warned that the author may not have intended to support it.
ClearActiveID
void ClearActiveID()
Undocumented in source. Be warned that the author may not have intended to support it.
ClearDragDrop
void ClearDragDrop()
Undocumented in source. Be warned that the author may not have intended to support it.
ClearIniSettings
void ClearIniSettings()
Undocumented in source. Be warned that the author may not have intended to support it.
ClearWindowSettings
void ClearWindowSettings(const(char)* name)
Undocumented in source. Be warned that the author may not have intended to support it.
CloseButton
bool CloseButton(ImGuiID id, ImVec2 pos)

Widgets: Window Decorations

CloseCurrentPopup
void CloseCurrentPopup()
Undocumented in source. Be warned that the author may not have intended to support it.
ClosePopupToLevel
void ClosePopupToLevel(int remaining, bool restore_focus_to_window_under_popup)
Undocumented in source. Be warned that the author may not have intended to support it.
ClosePopupsExceptModals
void ClosePopupsExceptModals()
Undocumented in source. Be warned that the author may not have intended to support it.
ClosePopupsOverWindow
void ClosePopupsOverWindow(ImGuiWindow* ref_window, bool restore_focus_to_window_under_popup)
Undocumented in source. Be warned that the author may not have intended to support it.
CollapseButton
bool CollapseButton(ImGuiID id, ImVec2 pos)
Undocumented in source. Be warned that the author may not have intended to support it.
CollapsingHeader
bool CollapsingHeader(const(char)* label, ImGuiTreeNodeFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
CollapsingHeaderBoolPtr
bool CollapsingHeaderBoolPtr(const(char)* label, bool* p_visible, ImGuiTreeNodeFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorButton
bool ColorButton(const(char)* desc_id, ImVec4 col, ImGuiColorEditFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorButtonEx
bool ColorButtonEx(const(char)* desc_id, ImVec4 col, ImGuiColorEditFlags flags, ImVec2 size)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorConvertFloat4ToU32
ImU32 ColorConvertFloat4ToU32(ImVec4 in_)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorConvertHSVtoRGB
void ColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorConvertU32ToFloat4
ImVec4 ColorConvertU32ToFloat4(ImU32 in_)

Color Utilities

ColorEdit3
bool ColorEdit3(const(char)* label, float* col, ImGuiColorEditFlags flags)

Widgets: Color Editor/Picker (tip: the ColorEdit* functions have a little color square that can be leftclicked to open a picker, and rightclicked to open an option menu.) Note that in C++ a 'float vX' function argument is the _same_ as 'float* v', the array syntax is just a way to document the number of elements that are expected to be accessible. You can pass the address of a first float element out of a contiguous structure, e.g. &myvector .x

ColorEdit4
bool ColorEdit4(const(char)* label, float* col, ImGuiColorEditFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorEditOptionsPopup
void ColorEditOptionsPopup(const(float)* col, ImGuiColorEditFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorPicker3
bool ColorPicker3(const(char)* label, float* col, ImGuiColorEditFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorPicker4
bool ColorPicker4(const(char)* label, float* col, ImGuiColorEditFlags flags, const(float)* ref_col)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorPickerOptionsPopup
void ColorPickerOptionsPopup(const(float)* ref_col, ImGuiColorEditFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ColorTooltip
void ColorTooltip(const(char)* text, const(float)* col, ImGuiColorEditFlags flags)

Color

Columns
void Columns()

Legacy Columns API (prefer using Tables!) You can also use SameLine(pos_x) to mimic simplified columns.

ColumnsEx
void ColumnsEx(int count, const(char)* id, bool borders)
Undocumented in source. Be warned that the author may not have intended to support it.
Combo
bool Combo(const(char)* label, int* current_item, const(char)* items_separated_by_zeros)
Undocumented in source. Be warned that the author may not have intended to support it.
ComboCallback
bool ComboCallback(const(char)* label, int* current_item, ImGuiGetterCallback getter, void* user_data, int items_count)
Undocumented in source. Be warned that the author may not have intended to support it.
ComboCallbackEx
bool ComboCallbackEx(const(char)* label, int* current_item, ImGuiGetterCallback getter, void* user_data, int items_count, int popup_max_height_in_items)
Undocumented in source. Be warned that the author may not have intended to support it.
ComboChar
bool ComboChar(const(char)* label, int* current_item, const(char)** items, int items_count)
Undocumented in source. Be warned that the author may not have intended to support it.
ComboCharEx
bool ComboCharEx(const(char)* label, int* current_item, const(char)** items, int items_count, int popup_max_height_in_items)
Undocumented in source. Be warned that the author may not have intended to support it.
ComboEx
bool ComboEx(const(char)* label, int* current_item, const(char)* items_separated_by_zeros, int popup_max_height_in_items)
Undocumented in source. Be warned that the author may not have intended to support it.
ComboObsolete
bool ComboObsolete(const(char)* label, int* current_item, ImGuiOld_callbackCallback old_callback, void* user_data, int items_count)
Undocumented in source. Be warned that the author may not have intended to support it.
ComboObsoleteEx
bool ComboObsoleteEx(const(char)* label, int* current_item, ImGuiOld_callbackCallback old_callback, void* user_data, int items_count, int popup_max_height_in_items)
Undocumented in source. Be warned that the author may not have intended to support it.
ConvertSingleModFlagToKey
ImGuiKey ConvertSingleModFlagToKey(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
CreateContext
ImGuiContext* CreateContext(ImFontAtlas* shared_font_atlas)

Context creation and access Each context create its own ImFontAtlas by default. You may instance one yourself and pass it to CreateContext() to share a font atlas between contexts. DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions() for each static/DLL boundary you are calling from. Read "Context and Memory Allocators" section of imgui.cpp for details.

CreateNewWindowSettings
ImGuiWindowSettings* CreateNewWindowSettings(const(char)* name)

Settings Windows

DataTypeApplyFromText
bool DataTypeApplyFromText(const(char)* buf, ImGuiDataType data_type, void* p_data, const(char)* format)
Undocumented in source. Be warned that the author may not have intended to support it.
DataTypeApplyFromTextEx
bool DataTypeApplyFromTextEx(const(char)* buf, ImGuiDataType data_type, void* p_data, const(char)* format, void* p_data_when_empty)
Undocumented in source. Be warned that the author may not have intended to support it.
DataTypeApplyOp
void DataTypeApplyOp(ImGuiDataType data_type, int op, void* output, const(void)* arg_1, const(void)* arg_2)
Undocumented in source. Be warned that the author may not have intended to support it.
DataTypeClamp
bool DataTypeClamp(ImGuiDataType data_type, void* p_data, const(void)* p_min, const(void)* p_max)
Undocumented in source. Be warned that the author may not have intended to support it.
DataTypeCompare
int DataTypeCompare(ImGuiDataType data_type, const(void)* arg_1, const(void)* arg_2)
Undocumented in source. Be warned that the author may not have intended to support it.
DataTypeFormatString
int DataTypeFormatString(char* buf, int buf_size, ImGuiDataType data_type, const(void)* p_data, const(char)* format)
Undocumented in source. Be warned that the author may not have intended to support it.
DataTypeGetInfo
const(ImGuiDataTypeInfo)* DataTypeGetInfo(ImGuiDataType data_type)

Data type helpers

DataTypeIsZero
bool DataTypeIsZero(ImGuiDataType data_type, const(void)* p_data)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugAllocHook
void DebugAllocHook(ImGuiDebugAllocInfo* info, int frame_count, void* ptr, size_t size)

Debug Tools

DebugBreakButton
bool DebugBreakButton(const(char)* label, const(char)* description_of_location)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugBreakButtonTooltip
void DebugBreakButtonTooltip(bool keyboard_only, const(char)* description_of_location)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugBreakClearData
void DebugBreakClearData()
Undocumented in source. Be warned that the author may not have intended to support it.
DebugCheckVersionAndDataLayout
bool DebugCheckVersionAndDataLayout(const(char)* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugDrawCursorPos
void DebugDrawCursorPos()
Undocumented in source. Be warned that the author may not have intended to support it.
DebugDrawCursorPosEx
void DebugDrawCursorPosEx(ImU32 col)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugDrawItemRect
void DebugDrawItemRect()
Undocumented in source. Be warned that the author may not have intended to support it.
DebugDrawItemRectEx
void DebugDrawItemRectEx(ImU32 col)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugDrawLineExtents
void DebugDrawLineExtents()
Undocumented in source. Be warned that the author may not have intended to support it.
DebugDrawLineExtentsEx
void DebugDrawLineExtentsEx(ImU32 col)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugFlashStyleColor
void DebugFlashStyleColor(ImGuiCol idx)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugHookIdInfo
void DebugHookIdInfo(ImGuiID id, ImGuiDataType data_type, const(void)* data_id, const(void)* data_id_end)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugLocateItem
void DebugLocateItem(ImGuiID target_id)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugLocateItemOnHover
void DebugLocateItemOnHover(ImGuiID target_id)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugLocateItemResolveWithLastItem
void DebugLocateItemResolveWithLastItem()
Undocumented in source. Be warned that the author may not have intended to support it.
DebugLog
void DebugLog(const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeColumns
void DebugNodeColumns(ImGuiOldColumns* columns)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeDrawCmdShowMeshAndBoundingBox
void DebugNodeDrawCmdShowMeshAndBoundingBox(ImDrawList* out_draw_list, ImDrawList* draw_list, ImDrawCmd* draw_cmd, bool show_mesh, bool show_aabb)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeDrawList
void DebugNodeDrawList(ImGuiWindow* window, ImGuiViewportP* viewport, ImDrawList* draw_list, const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeFont
void DebugNodeFont(ImFont* font)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeFontGlyph
void DebugNodeFontGlyph(ImFont* font, ImFontGlyph* glyph)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeFontGlyphesForSrcMask
void DebugNodeFontGlyphesForSrcMask(ImFont* font, ImFontBaked* baked, int src_mask)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeMultiSelectState
void DebugNodeMultiSelectState(ImGuiMultiSelectState* state)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeStorage
void DebugNodeStorage(ImGuiStorage* storage, const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeTabBar
void DebugNodeTabBar(ImGuiTabBar* tab_bar, const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeTable
void DebugNodeTable(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeTableSettings
void DebugNodeTableSettings(ImGuiTableSettings* settings)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeTexture
void DebugNodeTexture(ImTextureData* tex, int int_id)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeTextureEx
void DebugNodeTextureEx(ImTextureData* tex, int int_id, ImFontAtlasRect* highlight_rect)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeTypingSelectState
void DebugNodeTypingSelectState(ImGuiTypingSelectState* state)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeViewport
void DebugNodeViewport(ImGuiViewportP* viewport)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeWindow
void DebugNodeWindow(ImGuiWindow* window, const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeWindowSettings
void DebugNodeWindowSettings(ImGuiWindowSettings* settings)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeWindowsList
void DebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows, const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugNodeWindowsListByBeginStackParent
void DebugNodeWindowsListByBeginStackParent(ImGuiWindow** windows, int windows_size, ImGuiWindow* parent_in_begin_stack)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugRenderKeyboardPreview
void DebugRenderKeyboardPreview(ImDrawList* draw_list)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugRenderViewportThumbnail
void DebugRenderViewportThumbnail(ImDrawList* draw_list, ImGuiViewportP* viewport, ImRect bb)
Undocumented in source. Be warned that the author may not have intended to support it.
DebugStartItemPicker
void DebugStartItemPicker()
Undocumented in source. Be warned that the author may not have intended to support it.
DebugTextEncoding
void DebugTextEncoding(const(char)* text)

Debug Utilities Your main debugging friend is the ShowMetricsWindow() function, which is also accessible from Demo>Tools>Metrics Debugger

DebugTextUnformattedWithLocateItem
void DebugTextUnformattedWithLocateItem(const(char)* line_begin, const(char)* line_end)
Undocumented in source. Be warned that the author may not have intended to support it.
DestroyContext
void DestroyContext(ImGuiContext* ctx)
Undocumented in source. Be warned that the author may not have intended to support it.
DragBehavior
bool DragBehavior(ImGuiID id, ImGuiDataType data_type, void* p_v, float v_speed, const(void)* p_min, const(void)* p_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloat
bool DragFloat(const(char)* label, float* v)

Widgets: Drag Sliders CTRL+Click on any drag box to turn them into an input box. Manually input values aren't clamped by default and can go offbounds. Use ImGuiSliderFlags_AlwaysClamp to always clamp. For all the Float2/Float3/Float4/Int2/Int3/Int4 versions of every function, note that a 'float vX' function argument is the same as 'float* v', the array syntax is just a way to document the number of elements that are expected to be accessible. You can pass address of your first element out of a contiguous set, e.g. &myvector .x Adjust format string to decorate the value with a prefix, a suffix, or adapt the editing and display precision e.g. "%.3f" > 1.234; "%5.2f secs" > 01.23 secs; "Biscuit: %.0f" > Biscuit: 1; etc. Format string may also be set to NULL or use the default format ("%f" or "%d"). Speed are perpixel of mouse movement (v_speed=0.2f: mouse needs to move by 5 pixels to increase value by 1). For keyboard/gamepad navigation, minimum speed is Max(v_speed, minimum_step_at_given_precision). Use v_min < v_max to clamp edits to given limits. Note that CTRL+Click manual input can override those limits if ImGuiSliderFlags_AlwaysClamp is not used. Use v_max = FLT_MAX / INT_MAX etc to avoid clamping to a maximum, same with v_min = FLT_MAX / INT_MIN to avoid clamping to a minimum. We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them. Legacy: Pre1.78 there are DragXXX() function signatures that take a final float power=1.0f' argument instead of the ImGuiSliderFlags flags=0' argument. If you get a warning converting a float to ImGuiSliderFlags, read https://github.com/ocornut/imgui/issues/3361

DragFloat2
bool DragFloat2(const(char)* label, float* v)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloat2Ex
bool DragFloat2Ex(const(char)* label, float* v, float v_speed, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloat3
bool DragFloat3(const(char)* label, float* v)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloat3Ex
bool DragFloat3Ex(const(char)* label, float* v, float v_speed, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloat4
bool DragFloat4(const(char)* label, float* v)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloat4Ex
bool DragFloat4Ex(const(char)* label, float* v, float v_speed, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloatEx
bool DragFloatEx(const(char)* label, float* v, float v_speed, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloatRange2
bool DragFloatRange2(const(char)* label, float* v_current_min, float* v_current_max)
Undocumented in source. Be warned that the author may not have intended to support it.
DragFloatRange2Ex
bool DragFloatRange2Ex(const(char)* label, float* v_current_min, float* v_current_max, float v_speed, float v_min, float v_max, const(char)* format, const(char)* format_max, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragInt
bool DragInt(const(char)* label, int* v)
Undocumented in source. Be warned that the author may not have intended to support it.
DragInt2
bool DragInt2(const(char)* label, int* v)
Undocumented in source. Be warned that the author may not have intended to support it.
DragInt2Ex
bool DragInt2Ex(const(char)* label, int* v, float v_speed, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragInt3
bool DragInt3(const(char)* label, int* v)
Undocumented in source. Be warned that the author may not have intended to support it.
DragInt3Ex
bool DragInt3Ex(const(char)* label, int* v, float v_speed, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragInt4
bool DragInt4(const(char)* label, int* v)
Undocumented in source. Be warned that the author may not have intended to support it.
DragInt4Ex
bool DragInt4Ex(const(char)* label, int* v, float v_speed, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragIntEx
bool DragIntEx(const(char)* label, int* v, float v_speed, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragIntRange2
bool DragIntRange2(const(char)* label, int* v_current_min, int* v_current_max)
Undocumented in source. Be warned that the author may not have intended to support it.
DragIntRange2Ex
bool DragIntRange2Ex(const(char)* label, int* v_current_min, int* v_current_max, float v_speed, int v_min, int v_max, const(char)* format, const(char)* format_max, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragScalar
bool DragScalar(const(char)* label, ImGuiDataType data_type, void* p_data)
Undocumented in source. Be warned that the author may not have intended to support it.
DragScalarEx
bool DragScalarEx(const(char)* label, ImGuiDataType data_type, void* p_data, float v_speed, const(void)* p_min, const(void)* p_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
DragScalarN
bool DragScalarN(const(char)* label, ImGuiDataType data_type, void* p_data, int components)
Undocumented in source. Be warned that the author may not have intended to support it.
DragScalarNEx
bool DragScalarNEx(const(char)* label, ImGuiDataType data_type, void* p_data, int components, float v_speed, const(void)* p_min, const(void)* p_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
Dummy
void Dummy(ImVec2 size)
Undocumented in source. Be warned that the author may not have intended to support it.
End
void End()
Undocumented in source. Be warned that the author may not have intended to support it.
EndBoxSelect
void EndBoxSelect(ImRect scope_rect, ImGuiMultiSelectFlags ms_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
EndChild
void EndChild()
Undocumented in source. Be warned that the author may not have intended to support it.
EndChildFrame
void EndChildFrame()
Undocumented in source. Be warned that the author may not have intended to support it.
EndColumns
void EndColumns()
Undocumented in source. Be warned that the author may not have intended to support it.
EndCombo
void EndCombo()
Undocumented in source. Be warned that the author may not have intended to support it.
EndComboPreview
void EndComboPreview()
Undocumented in source. Be warned that the author may not have intended to support it.
EndDisabled
void EndDisabled()
Undocumented in source. Be warned that the author may not have intended to support it.
EndDisabledOverrideReenable
void EndDisabledOverrideReenable()
Undocumented in source. Be warned that the author may not have intended to support it.
EndDragDropSource
void EndDragDropSource()
Undocumented in source. Be warned that the author may not have intended to support it.
EndDragDropTarget
void EndDragDropTarget()
Undocumented in source. Be warned that the author may not have intended to support it.
EndErrorTooltip
void EndErrorTooltip()
Undocumented in source. Be warned that the author may not have intended to support it.
EndFrame
void EndFrame()
Undocumented in source. Be warned that the author may not have intended to support it.
EndGroup
void EndGroup()
Undocumented in source. Be warned that the author may not have intended to support it.
EndListBox
void EndListBox()
Undocumented in source. Be warned that the author may not have intended to support it.
EndMainMenuBar
void EndMainMenuBar()
Undocumented in source. Be warned that the author may not have intended to support it.
EndMenu
void EndMenu()
Undocumented in source. Be warned that the author may not have intended to support it.
EndMenuBar
void EndMenuBar()
Undocumented in source. Be warned that the author may not have intended to support it.
EndMultiSelect
ImGuiMultiSelectIO* EndMultiSelect()
Undocumented in source. Be warned that the author may not have intended to support it.
EndPopup
void EndPopup()
Undocumented in source. Be warned that the author may not have intended to support it.
EndTabBar
void EndTabBar()
Undocumented in source. Be warned that the author may not have intended to support it.
EndTabItem
void EndTabItem()
Undocumented in source. Be warned that the author may not have intended to support it.
EndTable
void EndTable()
Undocumented in source. Be warned that the author may not have intended to support it.
EndTooltip
void EndTooltip()
Undocumented in source. Be warned that the author may not have intended to support it.
ErrorCheckEndFrameFinalizeErrorTooltip
void ErrorCheckEndFrameFinalizeErrorTooltip()
Undocumented in source. Be warned that the author may not have intended to support it.
ErrorCheckUsingSetCursorPosToExtendParentBoundaries
void ErrorCheckUsingSetCursorPosToExtendParentBoundaries()
Undocumented in source. Be warned that the author may not have intended to support it.
ErrorLog
bool ErrorLog(const(char)* msg)

Error handling, State Recovery

ErrorRecoveryStoreState
void ErrorRecoveryStoreState(ImGuiErrorRecoveryState* state_out)
Undocumented in source. Be warned that the author may not have intended to support it.
ErrorRecoveryTryToRecoverState
void ErrorRecoveryTryToRecoverState(ImGuiErrorRecoveryState* state_in)
Undocumented in source. Be warned that the author may not have intended to support it.
ErrorRecoveryTryToRecoverWindowState
void ErrorRecoveryTryToRecoverWindowState(ImGuiErrorRecoveryState* state_in)
Undocumented in source. Be warned that the author may not have intended to support it.
FindBestWindowPosForPopup
ImVec2 FindBestWindowPosForPopup(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
FindBestWindowPosForPopupEx
ImVec2 FindBestWindowPosForPopupEx(ImVec2 ref_pos, ImVec2 size, ImGuiDir* last_dir, ImRect r_outer, ImRect r_avoid, ImGuiPopupPositionPolicy policy)
Undocumented in source. Be warned that the author may not have intended to support it.
FindBlockingModal
ImGuiWindow* FindBlockingModal(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
FindBottomMostVisibleWindowWithinBeginStack
ImGuiWindow* FindBottomMostVisibleWindowWithinBeginStack(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
FindHoveredWindowEx
void FindHoveredWindowEx(ImVec2 pos, bool find_first_and_in_any_viewport, ImGuiWindow** out_hovered_window, ImGuiWindow** out_hovered_window_under_moving_window)
Undocumented in source. Be warned that the author may not have intended to support it.
FindOrCreateColumns
ImGuiOldColumns* FindOrCreateColumns(ImGuiWindow* window, ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
FindRenderedTextEnd
const(char)* FindRenderedTextEnd(const(char)* text)
Undocumented in source. Be warned that the author may not have intended to support it.
FindRenderedTextEndEx
const(char)* FindRenderedTextEndEx(const(char)* text, const(char)* text_end)
Undocumented in source. Be warned that the author may not have intended to support it.
FindSettingsHandler
ImGuiSettingsHandler* FindSettingsHandler(const(char)* type_name)
Undocumented in source. Be warned that the author may not have intended to support it.
FindWindowByID
ImGuiWindow* FindWindowByID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
FindWindowByName
ImGuiWindow* FindWindowByName(const(char)* name)
Undocumented in source. Be warned that the author may not have intended to support it.
FindWindowDisplayIndex
int FindWindowDisplayIndex(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
FindWindowSettingsByID
ImGuiWindowSettings* FindWindowSettingsByID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
FindWindowSettingsByWindow
ImGuiWindowSettings* FindWindowSettingsByWindow(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
FixupKeyChord
ImGuiKeyChord FixupKeyChord(ImGuiKeyChord key_chord)
Undocumented in source. Be warned that the author may not have intended to support it.
FocusItem
void FocusItem()

Focus/Activation This should be part of a larger set of API: FocusItem(offset = 1), FocusItemByID(id), ActivateItem(offset = 1), ActivateItemByID(id) etc. which are much harder to design and implement than expected. I have a couple of private branches on this matter but it's not simple. For now implementing the easy ones.

FocusTopMostWindowUnderOne
void FocusTopMostWindowUnderOne(ImGuiWindow* under_this_window, ImGuiWindow* ignore_window, ImGuiViewport* filter_viewport, ImGuiFocusRequestFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
FocusWindow
void FocusWindow(ImGuiWindow* window, ImGuiFocusRequestFlags flags)

Windows: Display Order and Focus Order

GcAwakeTransientWindowBuffers
void GcAwakeTransientWindowBuffers(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
GcCompactTransientMiscBuffers
void GcCompactTransientMiscBuffers()

Garbage collection

GcCompactTransientWindowBuffers
void GcCompactTransientWindowBuffers(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
GetActiveID
ImGuiID GetActiveID()
Undocumented in source. Be warned that the author may not have intended to support it.
GetAllocatorFunctions
void GetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func, ImGuiMemFreeFunc* p_free_func, void** p_user_data)
Undocumented in source. Be warned that the author may not have intended to support it.
GetBackgroundDrawList
ImDrawList* GetBackgroundDrawList()

Background/Foreground Draw Lists

GetBackgroundDrawListImGuiViewportPtr
ImDrawList* GetBackgroundDrawListImGuiViewportPtr(ImGuiViewport* viewport)
Undocumented in source. Be warned that the author may not have intended to support it.
GetBoxSelectState
ImGuiBoxSelectState* GetBoxSelectState(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
GetClipboardText
const(char)* GetClipboardText()

Clipboard Utilities Also see the LogToClipboard() function to capture GUI into clipboard, or easily output text data to the clipboard.

GetColorU32
ImU32 GetColorU32(ImGuiCol idx)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColorU32Ex
ImU32 GetColorU32Ex(ImGuiCol idx, float alpha_mul)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColorU32ImU32
ImU32 GetColorU32ImU32(ImU32 col)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColorU32ImU32Ex
ImU32 GetColorU32ImU32Ex(ImU32 col, float alpha_mul)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColorU32ImVec4
ImU32 GetColorU32ImVec4(ImVec4 col)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColumnIndex
int GetColumnIndex()
Undocumented in source. Be warned that the author may not have intended to support it.
GetColumnNormFromOffset
float GetColumnNormFromOffset(ImGuiOldColumns* columns, float offset)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColumnOffset
float GetColumnOffset(int column_index)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColumnOffsetFromNorm
float GetColumnOffsetFromNorm(ImGuiOldColumns* columns, float offset_norm)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColumnWidth
float GetColumnWidth(int column_index)
Undocumented in source. Be warned that the author may not have intended to support it.
GetColumnsCount
int GetColumnsCount()
Undocumented in source. Be warned that the author may not have intended to support it.
GetColumnsID
ImGuiID GetColumnsID(const(char)* str_id, int count)
Undocumented in source. Be warned that the author may not have intended to support it.
GetContentRegionAvail
ImVec2 GetContentRegionAvail()
Undocumented in source. Be warned that the author may not have intended to support it.
GetContentRegionMax
ImVec2 GetContentRegionMax()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCurrentContext
ImGuiContext* GetCurrentContext()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCurrentFocusScope
ImGuiID GetCurrentFocusScope()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCurrentTabBar
ImGuiTabBar* GetCurrentTabBar()

Tab Bars

GetCurrentTable
ImGuiTable* GetCurrentTable()

Tables: Internals

GetCurrentWindow
ImGuiWindow* GetCurrentWindow()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCurrentWindowRead
ImGuiWindow* GetCurrentWindowRead()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCursorPos
ImVec2 GetCursorPos()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCursorPosX
float GetCursorPosX()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCursorPosY
float GetCursorPosY()
Undocumented in source. Be warned that the author may not have intended to support it.
GetCursorScreenPos
ImVec2 GetCursorScreenPos()

Layout cursor positioning By "cursor" we mean the current output position. The typical widget behavior is to output themselves at the current cursor position, then move the cursor one line down. You can call SameLine() between widgets to undo the last carriage return and output at the right of the preceding widget. YOU CAN DO 99% OF WHAT YOU NEED WITH ONLY GetCursorScreenPos() and GetContentRegionAvail(). Attention! We currently have inconsistencies between windowlocal and absolute positions we will aim to fix with future API: Absolute coordinate: GetCursorScreenPos(), SetCursorScreenPos(), all ImDrawList:: functions. > this is the preferred way forward. Windowlocal coordinates: SameLine(offset), GetCursorPos(), SetCursorPos(), GetCursorStartPos(), PushTextWrapPos() Windowlocal coordinates: GetContentRegionMax(), GetWindowContentRegionMin(), GetWindowContentRegionMax() > all obsoleted. YOU DON'T NEED THEM. GetCursorScreenPos() = GetCursorPos() + GetWindowPos(). GetWindowPos() is almost only ever useful to convert from windowlocal to absolute coordinates. Try not to use it.

GetCursorStartPos
ImVec2 GetCursorStartPos()
Undocumented in source. Be warned that the author may not have intended to support it.
GetDefaultFont
ImFont* GetDefaultFont()
Undocumented in source. Be warned that the author may not have intended to support it.
GetDragDropPayload
const(ImGuiPayload)* GetDragDropPayload()
Undocumented in source. Be warned that the author may not have intended to support it.
GetDrawData
ImDrawData* GetDrawData()
Undocumented in source. Be warned that the author may not have intended to support it.
GetDrawListSharedData
ImDrawListSharedData* GetDrawListSharedData()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFocusID
ImGuiID GetFocusID()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFont
ImFont* GetFont()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFontBaked
ImFontBaked* GetFontBaked()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFontRasterizerDensity
float GetFontRasterizerDensity()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFontSize
float GetFontSize()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFontTexUvWhitePixel
ImVec2 GetFontTexUvWhitePixel()

Style read access Use the ShowStyleEditor() function to interactively see/edit the colors.

GetForegroundDrawList
ImDrawList* GetForegroundDrawList()
Undocumented in source. Be warned that the author may not have intended to support it.
GetForegroundDrawListImGuiViewportPtr
ImDrawList* GetForegroundDrawListImGuiViewportPtr(ImGuiViewport* viewport)
Undocumented in source. Be warned that the author may not have intended to support it.
GetForegroundDrawListImGuiWindowPtr
ImDrawList* GetForegroundDrawListImGuiWindowPtr(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
GetFrameCount
int GetFrameCount()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFrameHeight
float GetFrameHeight()
Undocumented in source. Be warned that the author may not have intended to support it.
GetFrameHeightWithSpacing
float GetFrameHeightWithSpacing()
Undocumented in source. Be warned that the author may not have intended to support it.
GetHoveredID
ImGuiID GetHoveredID()
Undocumented in source. Be warned that the author may not have intended to support it.
GetID
ImGuiID GetID(const(char)* str_id)
Undocumented in source. Be warned that the author may not have intended to support it.
GetIDInt
ImGuiID GetIDInt(int int_id)
Undocumented in source. Be warned that the author may not have intended to support it.
GetIDPtr
ImGuiID GetIDPtr(const(void)* ptr_id)
Undocumented in source. Be warned that the author may not have intended to support it.
GetIDStr
ImGuiID GetIDStr(const(char)* str_id_begin, const(char)* str_id_end)
Undocumented in source. Be warned that the author may not have intended to support it.
GetIDWithSeed
ImGuiID GetIDWithSeed(int n, ImGuiID seed)
Undocumented in source. Be warned that the author may not have intended to support it.
GetIDWithSeedStr
ImGuiID GetIDWithSeedStr(const(char)* str_id_begin, const(char)* str_id_end, ImGuiID seed)
Undocumented in source. Be warned that the author may not have intended to support it.
GetIO
ImGuiIO* GetIO()

Main

GetIOImGuiContextPtr
ImGuiIO* GetIOImGuiContextPtr(ImGuiContext* ctx)

Windows We should always have a CurrentWindow in the stack (there is an implicit "Debug" window) If this ever crashes because g.CurrentWindow is NULL, it means that either: ImGui::NewFrame() has never been called, which is illegal. You are calling ImGui functions after ImGui::EndFrame()/ImGui::Render() and before the next ImGui::NewFrame(), which is also illegal.

GetItemFlags
ImGuiItemFlags GetItemFlags()
Undocumented in source. Be warned that the author may not have intended to support it.
GetItemID
ImGuiID GetItemID()
Undocumented in source. Be warned that the author may not have intended to support it.
GetItemRectMax
ImVec2 GetItemRectMax()
Undocumented in source. Be warned that the author may not have intended to support it.
GetItemRectMin
ImVec2 GetItemRectMin()
Undocumented in source. Be warned that the author may not have intended to support it.
GetItemRectSize
ImVec2 GetItemRectSize()
Undocumented in source. Be warned that the author may not have intended to support it.
GetItemStatusFlags
ImGuiItemStatusFlags GetItemStatusFlags()

Basic Accessors

GetKeyChordName
const(char)* GetKeyChordName(ImGuiKeyChord key_chord)
Undocumented in source. Be warned that the author may not have intended to support it.
GetKeyData
ImGuiKeyData* GetKeyData(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
GetKeyDataImGuiContextPtr
ImGuiKeyData* GetKeyDataImGuiContextPtr(ImGuiContext* ctx, ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
GetKeyMagnitude2d
ImVec2 GetKeyMagnitude2d(ImGuiKey key_left, ImGuiKey key_right, ImGuiKey key_up, ImGuiKey key_down)
Undocumented in source. Be warned that the author may not have intended to support it.
GetKeyName
const(char)* GetKeyName(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
GetKeyOwner
ImGuiID GetKeyOwner(ImGuiKey key)

EXPERIMENTAL LowLevel: Key/Input Ownership The idea is that instead of "eating" a given input, we can link to an owner id. Ownership is most often claimed as a result of reacting to a press/down event (but occasionally may be claimed ahead). Input queries can then read input by specifying ImGuiKeyOwner_Any (== 0), ImGuiKeyOwner_NoOwner (== 1) or a custom ID. Legacy input queries (without specifying an owner or _Any or _None) are equivalent to using ImGuiKeyOwner_Any (== 0). Input ownership is automatically released on the frame after a key is released. Therefore: for ownership registration happening as a result of a down/press event, the SetKeyOwner() call may be done once (common case). for ownership registration happening ahead of a down/press event, the SetKeyOwner() call needs to be made every frame (happens if e.g. claiming ownership on hover). SetItemKeyOwner() is a shortcut for common simple case. A custom widget will probably want to call SetKeyOwner() multiple times directly based on its interaction state. This is marked experimental because not all widgets are fully honoring the Set/Test idioms. We will need to move forward step by step. Please open a GitHub Issue to submit your usage scenario or if there's a use case you need solved.

GetKeyOwnerData
ImGuiKeyOwnerData* GetKeyOwnerData(ImGuiContext* ctx, ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
GetKeyPressedAmount
int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate)
Undocumented in source. Be warned that the author may not have intended to support it.
GetMainViewport
ImGuiViewport* GetMainViewport()

Viewports Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows. In 'docking' branch with multiviewport enabled, we extend this concept to have multiple active viewports. In the future we will extend this concept further to also represent Platform Monitor and support a "no main platform window" operation mode.

GetMouseClickedCount
int GetMouseClickedCount(ImGuiMouseButton button)
Undocumented in source. Be warned that the author may not have intended to support it.
GetMouseCursor
ImGuiMouseCursor GetMouseCursor()
Undocumented in source. Be warned that the author may not have intended to support it.
GetMouseDragDelta
ImVec2 GetMouseDragDelta(ImGuiMouseButton button, float lock_threshold)
Undocumented in source. Be warned that the author may not have intended to support it.
GetMousePos
ImVec2 GetMousePos()
Undocumented in source. Be warned that the author may not have intended to support it.
GetMousePosOnOpeningCurrentPopup
ImVec2 GetMousePosOnOpeningCurrentPopup()
Undocumented in source. Be warned that the author may not have intended to support it.
GetMultiSelectState
ImGuiMultiSelectState* GetMultiSelectState(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
GetNavTweakPressedAmount
float GetNavTweakPressedAmount(ImGuiAxis axis)
Undocumented in source. Be warned that the author may not have intended to support it.
GetPlatformIO
ImGuiPlatformIO* GetPlatformIO()
Undocumented in source. Be warned that the author may not have intended to support it.
GetPlatformIOImGuiContextPtr
ImGuiPlatformIO* GetPlatformIOImGuiContextPtr(ImGuiContext* ctx)
Undocumented in source. Be warned that the author may not have intended to support it.
GetPopupAllowedExtentRect
ImRect GetPopupAllowedExtentRect(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
GetRoundedFontSize
float GetRoundedFontSize(float size)
Undocumented in source. Be warned that the author may not have intended to support it.
GetScrollMaxX
float GetScrollMaxX()
Undocumented in source. Be warned that the author may not have intended to support it.
GetScrollMaxY
float GetScrollMaxY()
Undocumented in source. Be warned that the author may not have intended to support it.
GetScrollX
float GetScrollX()

Windows Scrolling Any change of Scroll will be applied at the beginning of next frame in the first call to Begin(). You may instead use SetNextWindowScroll() prior to calling Begin() to avoid this delay, as an alternative to using SetScrollX()/SetScrollY().

GetScrollY
float GetScrollY()
Undocumented in source. Be warned that the author may not have intended to support it.
GetShortcutRoutingData
ImGuiKeyRoutingData* GetShortcutRoutingData(ImGuiKeyChord key_chord)
Undocumented in source. Be warned that the author may not have intended to support it.
GetStateStorage
ImGuiStorage* GetStateStorage()
Undocumented in source. Be warned that the author may not have intended to support it.
GetStyle
ImGuiStyle* GetStyle()
Undocumented in source. Be warned that the author may not have intended to support it.
GetStyleColorName
const(char)* GetStyleColorName(ImGuiCol idx)
Undocumented in source. Be warned that the author may not have intended to support it.
GetStyleColorVec4
const(ImVec4)* GetStyleColorVec4(ImGuiCol idx)
Undocumented in source. Be warned that the author may not have intended to support it.
GetStyleVarInfo
const(ImGuiStyleVarInfo)* GetStyleVarInfo(ImGuiStyleVar idx)

Parameter stacks (shared)

GetTextLineHeight
float GetTextLineHeight()
Undocumented in source. Be warned that the author may not have intended to support it.
GetTextLineHeightWithSpacing
float GetTextLineHeightWithSpacing()
Undocumented in source. Be warned that the author may not have intended to support it.
GetTime
double GetTime()
Undocumented in source. Be warned that the author may not have intended to support it.
GetTopMostAndVisiblePopupModal
ImGuiWindow* GetTopMostAndVisiblePopupModal()
Undocumented in source. Be warned that the author may not have intended to support it.
GetTopMostPopupModal
ImGuiWindow* GetTopMostPopupModal()
Undocumented in source. Be warned that the author may not have intended to support it.
GetTreeNodeToLabelSpacing
float GetTreeNodeToLabelSpacing()
Undocumented in source. Be warned that the author may not have intended to support it.
GetTypematicRepeatRate
void GetTypematicRepeatRate(ImGuiInputFlags flags, float* repeat_delay, float* repeat_rate)
Undocumented in source. Be warned that the author may not have intended to support it.
GetTypingSelectRequest
ImGuiTypingSelectRequest* GetTypingSelectRequest()

TypingSelect API (provide Windows Explorer style "select items by typing partial name" + "cycle through items by typing same letter" feature) (this is currently not documented nor used by main library, but should work. See "widgets_typingselect" in imgui_test_suite for usage code. Please let us know if you use this!)

GetTypingSelectRequestEx
ImGuiTypingSelectRequest* GetTypingSelectRequestEx(ImGuiTypingSelectFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
GetVersion
const(char)* GetVersion()
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowContentRegionMax
ImVec2 GetWindowContentRegionMax()
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowContentRegionMin
ImVec2 GetWindowContentRegionMin()
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowDrawList
ImDrawList* GetWindowDrawList()
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowHeight
float GetWindowHeight()
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowPos
ImVec2 GetWindowPos()
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowResizeBorderID
ImGuiID GetWindowResizeBorderID(ImGuiWindow* window, ImGuiDir dir)
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowResizeCornerID
ImGuiID GetWindowResizeCornerID(ImGuiWindow* window, int n)
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowScrollbarID
ImGuiID GetWindowScrollbarID(ImGuiWindow* window, ImGuiAxis axis)
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowScrollbarRect
ImRect GetWindowScrollbarRect(ImGuiWindow* window, ImGuiAxis axis)
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowSize
ImVec2 GetWindowSize()
Undocumented in source. Be warned that the author may not have intended to support it.
GetWindowWidth
float GetWindowWidth()
Undocumented in source. Be warned that the author may not have intended to support it.
Image
void Image(ImTextureRef tex_ref, ImVec2 image_size)

Widgets: Images Read about ImTextureID/ImTextureRef here: https://github.com/ocornut/imgui/wiki/ImageLoadingandDisplayingExamples 'uv0' and 'uv1' are texture coordinates. Read about them from the same link above. Image() pads adds style.ImageBorderSize on each side, ImageButton() adds style.FramePadding on each side. ImageButton() draws a background based on regular Button() color + optionally an inner background if specified. An obsolete version of Image(), before 1.91.9 (March 2025), had a 'tint_col' parameter which is now supported by the ImageWithBg() function.

ImageButton
bool ImageButton(const(char)* str_id, ImTextureRef tex_ref, ImVec2 image_size)
Undocumented in source. Be warned that the author may not have intended to support it.
ImageButtonEx
bool ImageButtonEx(const(char)* str_id, ImTextureRef tex_ref, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 bg_col, ImVec4 tint_col)
Undocumented in source. Be warned that the author may not have intended to support it.
ImageButtonWithFlags
bool ImageButtonWithFlags(ImGuiID id, ImTextureRef tex_ref, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 bg_col, ImVec4 tint_col, ImGuiButtonFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ImageEx
void ImageEx(ImTextureRef tex_ref, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1)
Undocumented in source. Be warned that the author may not have intended to support it.
ImageImVec4
void ImageImVec4(ImTextureRef tex_ref, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 tint_col, ImVec4 border_col)

OBSOLETED in 1.91.9 (from February 2025)

ImageWithBg
void ImageWithBg(ImTextureRef tex_ref, ImVec2 image_size)
Undocumented in source. Be warned that the author may not have intended to support it.
ImageWithBgEx
void ImageWithBgEx(ImTextureRef tex_ref, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 bg_col, ImVec4 tint_col)
Undocumented in source. Be warned that the author may not have intended to support it.
Indent
void Indent()
Undocumented in source. Be warned that the author may not have intended to support it.
IndentEx
void IndentEx(float indent_w)
Undocumented in source. Be warned that the author may not have intended to support it.
Initialize
void Initialize()

Init

InputDouble
bool InputDouble(const(char)* label, double* v)
Undocumented in source. Be warned that the author may not have intended to support it.
InputDoubleEx
bool InputDoubleEx(const(char)* label, double* v, double step, double step_fast, const(char)* format, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloat
bool InputFloat(const(char)* label, float* v)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloat2
bool InputFloat2(const(char)* label, float* v)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloat2Ex
bool InputFloat2Ex(const(char)* label, float* v, const(char)* format, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloat3
bool InputFloat3(const(char)* label, float* v)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloat3Ex
bool InputFloat3Ex(const(char)* label, float* v, const(char)* format, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloat4
bool InputFloat4(const(char)* label, float* v)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloat4Ex
bool InputFloat4Ex(const(char)* label, float* v, const(char)* format, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputFloatEx
bool InputFloatEx(const(char)* label, float* v, float step, float step_fast, const(char)* format, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputInt
bool InputInt(const(char)* label, int* v)
Undocumented in source. Be warned that the author may not have intended to support it.
InputInt2
bool InputInt2(const(char)* label, int* v, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputInt3
bool InputInt3(const(char)* label, int* v, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputInt4
bool InputInt4(const(char)* label, int* v, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputIntEx
bool InputIntEx(const(char)* label, int* v, int step, int step_fast, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputScalar
bool InputScalar(const(char)* label, ImGuiDataType data_type, void* p_data)
Undocumented in source. Be warned that the author may not have intended to support it.
InputScalarEx
bool InputScalarEx(const(char)* label, ImGuiDataType data_type, void* p_data, const(void)* p_step, const(void)* p_step_fast, const(char)* format, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputScalarN
bool InputScalarN(const(char)* label, ImGuiDataType data_type, void* p_data, int components)
Undocumented in source. Be warned that the author may not have intended to support it.
InputScalarNEx
bool InputScalarNEx(const(char)* label, ImGuiDataType data_type, void* p_data, int components, const(void)* p_step, const(void)* p_step_fast, const(char)* format, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputText
bool InputText(const(char)* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags)

Widgets: Input with Keyboard If you want to use InputText() with std::string or any custom dynamic string type, see misc/cpp/imgui_stdlib.h and comments in imgui_demo.cpp. Most of the ImGuiInputTextFlags flags are only useful for InputText() and not for InputFloatX, InputIntX, InputDouble etc.

InputTextDeactivateHook
void InputTextDeactivateHook(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
InputTextEx
bool InputTextEx(const(char)* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data)
Undocumented in source. Be warned that the author may not have intended to support it.
InputTextMultiline
bool InputTextMultiline(const(char)* label, char* buf, size_t buf_size)
Undocumented in source. Be warned that the author may not have intended to support it.
InputTextMultilineEx
bool InputTextMultilineEx(const(char)* label, char* buf, size_t buf_size, ImVec2 size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data)
Undocumented in source. Be warned that the author may not have intended to support it.
InputTextWithHint
bool InputTextWithHint(const(char)* label, const(char)* hint, char* buf, size_t buf_size, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
InputTextWithHintAndSize
bool InputTextWithHintAndSize(const(char)* label, const(char)* hint, char* buf, int buf_size, ImVec2 size_arg, ImGuiInputTextFlags flags)

InputText

InputTextWithHintAndSizeEx
bool InputTextWithHintAndSizeEx(const(char)* label, const(char)* hint, char* buf, int buf_size, ImVec2 size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data)
Undocumented in source. Be warned that the author may not have intended to support it.
InputTextWithHintEx
bool InputTextWithHintEx(const(char)* label, const(char)* hint, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data)
Undocumented in source. Be warned that the author may not have intended to support it.
InvisibleButton
bool InvisibleButton(const(char)* str_id, ImVec2 size, ImGuiButtonFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsActiveIdUsingNavDir
bool IsActiveIdUsingNavDir(ImGuiDir dir)
Undocumented in source. Be warned that the author may not have intended to support it.
IsAliasKey
bool IsAliasKey(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsAnyItemActive
bool IsAnyItemActive()
Undocumented in source. Be warned that the author may not have intended to support it.
IsAnyItemFocused
bool IsAnyItemFocused()
Undocumented in source. Be warned that the author may not have intended to support it.
IsAnyItemHovered
bool IsAnyItemHovered()
Undocumented in source. Be warned that the author may not have intended to support it.
IsAnyMouseDown
bool IsAnyMouseDown()
Undocumented in source. Be warned that the author may not have intended to support it.
IsClippedEx
bool IsClippedEx(ImRect bb, ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsDragDropActive
bool IsDragDropActive()

Drag and Drop

IsDragDropPayloadBeingAccepted
bool IsDragDropPayloadBeingAccepted()
Undocumented in source. Be warned that the author may not have intended to support it.
IsGamepadKey
bool IsGamepadKey(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemActivated
bool IsItemActivated()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemActive
bool IsItemActive()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemActiveAsInputText
bool IsItemActiveAsInputText()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemClicked
bool IsItemClicked()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemClickedEx
bool IsItemClickedEx(ImGuiMouseButton mouse_button)
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemDeactivated
bool IsItemDeactivated()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemDeactivatedAfterEdit
bool IsItemDeactivatedAfterEdit()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemEdited
bool IsItemEdited()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemFocused
bool IsItemFocused()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemHovered
bool IsItemHovered(ImGuiHoveredFlags flags)

Item/Widgets Utilities and Query Functions Most of the functions are referring to the previous Item that has been submitted. See Demo Window under "Widgets>Querying Status" for an interactive visualization of most of those functions.

IsItemToggledOpen
bool IsItemToggledOpen()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemToggledSelection
bool IsItemToggledSelection()
Undocumented in source. Be warned that the author may not have intended to support it.
IsItemVisible
bool IsItemVisible()
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyChordPressed
bool IsKeyChordPressed(ImGuiKeyChord key_chord)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyChordPressedImGuiInputFlags
bool IsKeyChordPressedImGuiInputFlags(ImGuiKeyChord key_chord, ImGuiInputFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyChordPressedImGuiInputFlagsEx
bool IsKeyChordPressedImGuiInputFlagsEx(ImGuiKeyChord key_chord, ImGuiInputFlags flags, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyDown
bool IsKeyDown(ImGuiKey key)

Inputs Utilities: Keyboard/Mouse/Gamepad the ImGuiKey enum contains all possible keyboard, mouse and gamepad inputs (e.g. ImGuiKey_A, ImGuiKey_MouseLeft, ImGuiKey_GamepadDpadUp...). (legacy: before v1.87, we used ImGuiKey to carry native/user indices as defined by each backends. This was obsoleted in 1.87 (202202) and completely removed in 1.91.5 (202411). See https://github.com/ocornut/imgui/issues/4921) (legacy: any use of ImGuiKey will assert when key < 512 to detect passing legacy native/user indices)

IsKeyDownID
bool IsKeyDownID(ImGuiKey key, ImGuiID owner_id)

EXPERIMENTAL HighLevel: Input Access functions w/ support for Key/Input Ownership Important: legacy IsKeyPressed(ImGuiKey, bool repeat=true) _DEFAULTS_ to repeat, new IsKeyPressed() requires _EXPLICIT_ ImGuiInputFlags_Repeat flag. Expected to be later promoted to public API, the prototypes are designed to replace existing ones (since owner_id can default to Any == 0) Specifying a value for 'ImGuiID owner' will test that EITHER the key is NOT owned (UNLESS locked), EITHER the key is owned by 'owner'. Legacy functions use ImGuiKeyOwner_Any meaning that they typically ignore ownership, unless a call to SetKeyOwner() explicitly used ImGuiInputFlags_LockThisFrame or ImGuiInputFlags_LockUntilRelease. Binding generators may want to ignore those for now, or suffix them with Ex() until we decide if this gets moved into public API.

IsKeyPressed
bool IsKeyPressed(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyPressedEx
bool IsKeyPressedEx(ImGuiKey key, bool repeat)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyPressedImGuiInputFlags
bool IsKeyPressedImGuiInputFlags(ImGuiKey key, ImGuiInputFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyPressedImGuiInputFlagsEx
bool IsKeyPressedImGuiInputFlagsEx(ImGuiKey key, ImGuiInputFlags flags, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyReleased
bool IsKeyReleased(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyReleasedID
bool IsKeyReleasedID(ImGuiKey key, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsKeyboardKey
bool IsKeyboardKey(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsLRModKey
bool IsLRModKey(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsLegacyKey
bool IsLegacyKey(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseClicked
bool IsMouseClicked(ImGuiMouseButton button)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseClickedEx
bool IsMouseClickedEx(ImGuiMouseButton button, bool repeat)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseClickedImGuiInputFlags
bool IsMouseClickedImGuiInputFlags(ImGuiMouseButton button, ImGuiInputFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseClickedImGuiInputFlagsEx
bool IsMouseClickedImGuiInputFlagsEx(ImGuiMouseButton button, ImGuiInputFlags flags, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseDoubleClicked
bool IsMouseDoubleClicked(ImGuiMouseButton button)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseDoubleClickedID
bool IsMouseDoubleClickedID(ImGuiMouseButton button, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseDown
bool IsMouseDown(ImGuiMouseButton button)

Inputs Utilities: Mouse To refer to a mouse button, you may use named enums in your code e.g. ImGuiMouseButton_Left, ImGuiMouseButton_Right. You can also use regular integer: it is forever guaranteed that 0=Left, 1=Right, 2=Middle. Dragging operations are only reported after mouse has moved a certain distance away from the initial clicking position (see 'lock_threshold' and 'io.MouseDraggingThreshold')

IsMouseDownID
bool IsMouseDownID(ImGuiMouseButton button, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseDragPastThreshold
bool IsMouseDragPastThreshold(ImGuiMouseButton button)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseDragPastThresholdEx
bool IsMouseDragPastThresholdEx(ImGuiMouseButton button, float lock_threshold)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseDragging
bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseHoveringRect
bool IsMouseHoveringRect(ImVec2 r_min, ImVec2 r_max)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseHoveringRectEx
bool IsMouseHoveringRectEx(ImVec2 r_min, ImVec2 r_max, bool clip)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseKey
bool IsMouseKey(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMousePosValid
bool IsMousePosValid(ImVec2* mouse_pos)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseReleased
bool IsMouseReleased(ImGuiMouseButton button)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseReleasedID
bool IsMouseReleasedID(ImGuiMouseButton button, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
IsMouseReleasedWithDelay
bool IsMouseReleasedWithDelay(ImGuiMouseButton button, float delay)
Undocumented in source. Be warned that the author may not have intended to support it.
IsNamedKey
bool IsNamedKey(ImGuiKey key)

Inputs FIXME: Eventually we should aim to move e.g. IsActiveIdUsingKey() into IsKeyXXX functions.

IsNamedKeyOrMod
bool IsNamedKeyOrMod(ImGuiKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
IsPopupOpen
bool IsPopupOpen(const(char)* str_id, ImGuiPopupFlags flags)

Popups: query functions IsPopupOpen(): return true if the popup is open at the current BeginPopup() level of the popup stack. IsPopupOpen() with ImGuiPopupFlags_AnyPopupId: return true if any popup is open at the current BeginPopup() level of the popup stack. IsPopupOpen() with ImGuiPopupFlags_AnyPopupId + ImGuiPopupFlags_AnyPopupLevel: return true if any popup is open.

IsPopupOpenID
bool IsPopupOpenID(ImGuiID id, ImGuiPopupFlags popup_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsRectVisible
bool IsRectVisible(ImVec2 rect_min, ImVec2 rect_max)
Undocumented in source. Be warned that the author may not have intended to support it.
IsRectVisibleBySize
bool IsRectVisibleBySize(ImVec2 size)

Miscellaneous Utilities

IsWindowAbove
bool IsWindowAbove(ImGuiWindow* potential_above, ImGuiWindow* potential_below)
Undocumented in source. Be warned that the author may not have intended to support it.
IsWindowAppearing
bool IsWindowAppearing()

Windows Utilities 'current window' = the window we are appending into while inside a Begin()/End() block. 'next window' = next window we will Begin() into.

IsWindowChildOf
bool IsWindowChildOf(ImGuiWindow* window, ImGuiWindow* potential_parent, bool popup_hierarchy)
Undocumented in source. Be warned that the author may not have intended to support it.
IsWindowCollapsed
bool IsWindowCollapsed()
Undocumented in source. Be warned that the author may not have intended to support it.
IsWindowContentHoverable
bool IsWindowContentHoverable(ImGuiWindow* window, ImGuiHoveredFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsWindowFocused
bool IsWindowFocused(ImGuiFocusedFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsWindowHovered
bool IsWindowHovered(ImGuiHoveredFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
IsWindowNavFocusable
bool IsWindowNavFocusable(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
IsWindowWithinBeginStackOf
bool IsWindowWithinBeginStackOf(ImGuiWindow* window, ImGuiWindow* potential_parent)
Undocumented in source. Be warned that the author may not have intended to support it.
ItemAdd
bool ItemAdd(ImRect bb, ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
ItemAddEx
bool ItemAddEx(ImRect bb, ImGuiID id, ImRect* nav_bb, ImGuiItemFlags extra_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ItemHoverable
bool ItemHoverable(ImRect bb, ImGuiID id, ImGuiItemFlags item_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ItemSize
void ItemSize(ImVec2 size)

Basic Helpers for widget code

ItemSizeEx
void ItemSizeEx(ImVec2 size, float text_baseline_y)
Undocumented in source. Be warned that the author may not have intended to support it.
ItemSizeImRect
void ItemSizeImRect(ImRect bb)
Undocumented in source. Be warned that the author may not have intended to support it.
ItemSizeImRectEx
void ItemSizeImRectEx(ImRect bb, float text_baseline_y)
Undocumented in source. Be warned that the author may not have intended to support it.
KeepAliveID
void KeepAliveID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
LabelText
void LabelText(const(char)* label, const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
ListBox
bool ListBox(const(char)* label, int* current_item, const(char)** items, int items_count, int height_in_items)
Undocumented in source. Be warned that the author may not have intended to support it.
ListBoxCallback
bool ListBoxCallback(const(char)* label, int* current_item, ImGuiGetterCallback getter, void* user_data, int items_count)
Undocumented in source. Be warned that the author may not have intended to support it.
ListBoxCallbackEx
bool ListBoxCallbackEx(const(char)* label, int* current_item, ImGuiGetterCallback getter, void* user_data, int items_count, int height_in_items)
Undocumented in source. Be warned that the author may not have intended to support it.
ListBoxObsolete
bool ListBoxObsolete(const(char)* label, int* current_item, ImGuiOld_callbackCallback old_callback, void* user_data, int items_count)
Undocumented in source. Be warned that the author may not have intended to support it.
ListBoxObsoleteEx
bool ListBoxObsoleteEx(const(char)* label, int* current_item, ImGuiOld_callbackCallback old_callback, void* user_data, int items_count, int height_in_items)
Undocumented in source. Be warned that the author may not have intended to support it.
LoadIniSettingsFromDisk
void LoadIniSettingsFromDisk(const(char)* ini_filename)

Settings/.Ini Utilities The disk functions are automatically called if io.IniFilename != NULL (default is "imgui.ini"). Set io.IniFilename to NULL to load/save manually. Read io.WantSaveIniSettings description about handling .ini saving manually. Important: default value "imgui.ini" is relative to current working dir! Most apps will want to lock this to an absolute path (e.g. same path as executables).

LoadIniSettingsFromMemory
void LoadIniSettingsFromMemory(const(char)* ini_data, size_t ini_size)
Undocumented in source. Be warned that the author may not have intended to support it.
LocalizeGetMsg
const(char)* LocalizeGetMsg(ImGuiLocKey key)
Undocumented in source. Be warned that the author may not have intended to support it.
LocalizeRegisterEntries
void LocalizeRegisterEntries(ImGuiLocEntry* entries, int count)

Localization

LogBegin
void LogBegin(ImGuiLogFlags flags, int auto_open_depth)

Logging/Capture

LogButtons
void LogButtons()
Undocumented in source. Be warned that the author may not have intended to support it.
LogFinish
void LogFinish()
Undocumented in source. Be warned that the author may not have intended to support it.
LogRenderedText
void LogRenderedText(ImVec2* ref_pos, const(char)* text)
Undocumented in source. Be warned that the author may not have intended to support it.
LogRenderedTextEx
void LogRenderedTextEx(ImVec2* ref_pos, const(char)* text, const(char)* text_end)
Undocumented in source. Be warned that the author may not have intended to support it.
LogSetNextTextDecoration
void LogSetNextTextDecoration(const(char)* prefix, const(char)* suffix)
Undocumented in source. Be warned that the author may not have intended to support it.
LogText
void LogText(const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
LogToBuffer
void LogToBuffer()
Undocumented in source. Be warned that the author may not have intended to support it.
LogToBufferEx
void LogToBufferEx(int auto_open_depth)
Undocumented in source. Be warned that the author may not have intended to support it.
LogToClipboard
void LogToClipboard(int auto_open_depth)
Undocumented in source. Be warned that the author may not have intended to support it.
LogToFile
void LogToFile(int auto_open_depth, const(char)* filename)
Undocumented in source. Be warned that the author may not have intended to support it.
LogToTTY
void LogToTTY(int auto_open_depth)

Logging/Capture All text output from the interface can be captured into tty/file/clipboard. By default, tree nodes are automatically opened during logging.

MarkIniSettingsDirty
void MarkIniSettingsDirty()

Settings

MarkIniSettingsDirtyImGuiWindowPtr
void MarkIniSettingsDirtyImGuiWindowPtr(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
MarkItemEdited
void MarkItemEdited(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
MemAlloc
void* MemAlloc(size_t size)
Undocumented in source. Be warned that the author may not have intended to support it.
MemFree
void MemFree(void* ptr)
Undocumented in source. Be warned that the author may not have intended to support it.
MenuItem
bool MenuItem(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
MenuItemBoolPtr
bool MenuItemBoolPtr(const(char)* label, const(char)* shortcut, bool* p_selected, bool enabled)
Undocumented in source. Be warned that the author may not have intended to support it.
MenuItemEx
bool MenuItemEx(const(char)* label, const(char)* shortcut, bool selected, bool enabled)
Undocumented in source. Be warned that the author may not have intended to support it.
MenuItemWithIcon
bool MenuItemWithIcon(const(char)* label, const(char)* icon)
Undocumented in source. Be warned that the author may not have intended to support it.
MenuItemWithIconEx
bool MenuItemWithIconEx(const(char)* label, const(char)* icon, const(char)* shortcut, bool selected, bool enabled)
Undocumented in source. Be warned that the author may not have intended to support it.
MouseButtonToKey
ImGuiKey MouseButtonToKey(ImGuiMouseButton button)
Undocumented in source. Be warned that the author may not have intended to support it.
MultiSelectAddSetAll
void MultiSelectAddSetAll(ImGuiMultiSelectTempData* ms, bool selected)
Undocumented in source. Be warned that the author may not have intended to support it.
MultiSelectAddSetRange
void MultiSelectAddSetRange(ImGuiMultiSelectTempData* ms, bool selected, int range_dir, ImGuiSelectionUserData first_item, ImGuiSelectionUserData last_item)
Undocumented in source. Be warned that the author may not have intended to support it.
MultiSelectItemFooter
void MultiSelectItemFooter(ImGuiID id, bool* p_selected, bool* p_pressed)
Undocumented in source. Be warned that the author may not have intended to support it.
MultiSelectItemHeader
void MultiSelectItemHeader(ImGuiID id, bool* p_selected, ImGuiButtonFlags* p_button_flags)

MultiSelect API

NavClearPreferredPosForAxis
void NavClearPreferredPosForAxis(ImGuiAxis axis)
Undocumented in source. Be warned that the author may not have intended to support it.
NavHighlightActivated
void NavHighlightActivated(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
NavInitRequestApplyResult
void NavInitRequestApplyResult()
Undocumented in source. Be warned that the author may not have intended to support it.
NavInitWindow
void NavInitWindow(ImGuiWindow* window, bool force_reinit)

Keyboard/Gamepad Navigation

NavMoveRequestApplyResult
void NavMoveRequestApplyResult()
Undocumented in source. Be warned that the author may not have intended to support it.
NavMoveRequestButNoResultYet
bool NavMoveRequestButNoResultYet()
Undocumented in source. Be warned that the author may not have intended to support it.
NavMoveRequestCancel
void NavMoveRequestCancel()
Undocumented in source. Be warned that the author may not have intended to support it.
NavMoveRequestForward
void NavMoveRequestForward(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags, ImGuiScrollFlags scroll_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
NavMoveRequestResolveWithLastItem
void NavMoveRequestResolveWithLastItem(ImGuiNavItemData* result)
Undocumented in source. Be warned that the author may not have intended to support it.
NavMoveRequestResolveWithPastTreeNode
void NavMoveRequestResolveWithPastTreeNode(ImGuiNavItemData* result, ImGuiTreeNodeStackData* tree_node_data)
Undocumented in source. Be warned that the author may not have intended to support it.
NavMoveRequestSubmit
void NavMoveRequestSubmit(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags, ImGuiScrollFlags scroll_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
NavMoveRequestTryWrapping
void NavMoveRequestTryWrapping(ImGuiWindow* window, ImGuiNavMoveFlags move_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
NavUpdateCurrentWindowIsScrollPushableX
void NavUpdateCurrentWindowIsScrollPushableX()
Undocumented in source. Be warned that the author may not have intended to support it.
NewFrame
void NewFrame()
Undocumented in source. Be warned that the author may not have intended to support it.
NewLine
void NewLine()
Undocumented in source. Be warned that the author may not have intended to support it.
NextColumn
void NextColumn()
Undocumented in source. Be warned that the author may not have intended to support it.
OpenPopup
void OpenPopup(const(char)* str_id, ImGuiPopupFlags popup_flags)

Popups: open/close functions OpenPopup(): set popup state to open. ImGuiPopupFlags are available for opening options. If not modal: they can be closed by clicking anywhere outside them, or by pressing ESCAPE. CloseCurrentPopup(): use inside the BeginPopup()/EndPopup() scope to close manually. CloseCurrentPopup() is called by default by Selectable()/MenuItem() when activated (FIXME: need some options). Use ImGuiPopupFlags_NoOpenOverExistingPopup to avoid opening a popup if there's already one at the same level. This is equivalent to e.g. testing for !IsAnyPopupOpen() prior to OpenPopup(). Use IsWindowAppearing() after BeginPopup() to tell if a window just opened. IMPORTANT: Notice that for OpenPopupOnItemClick() we exceptionally default flags to 1 (== ImGuiPopupFlags_MouseButtonRight) for backward compatibility with older API taking 'int mouse_button = 1' parameter

OpenPopupEx
void OpenPopupEx(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
OpenPopupExEx
void OpenPopupExEx(ImGuiID id, ImGuiPopupFlags popup_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
OpenPopupID
void OpenPopupID(ImGuiID id, ImGuiPopupFlags popup_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
OpenPopupOnItemClick
void OpenPopupOnItemClick(const(char)* str_id, ImGuiPopupFlags popup_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
PlotEx
int PlotEx(ImGuiPlotType plot_type, const(char)* label, ImGuiValues_getterCallback values_getter, void* data, int values_count, int values_offset, const(char)* overlay_text, float scale_min, float scale_max, ImVec2 size_arg)

Plot

PlotHistogram
void PlotHistogram(const(char)* label, const(float)* values, int values_count)
Undocumented in source. Be warned that the author may not have intended to support it.
PlotHistogramCallback
void PlotHistogramCallback(const(char)* label, ImGuiValues_getterCallback values_getter, void* data, int values_count)
Undocumented in source. Be warned that the author may not have intended to support it.
PlotHistogramCallbackEx
void PlotHistogramCallbackEx(const(char)* label, ImGuiValues_getterCallback values_getter, void* data, int values_count, int values_offset, const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size)
Undocumented in source. Be warned that the author may not have intended to support it.
PlotHistogramEx
void PlotHistogramEx(const(char)* label, const(float)* values, int values_count, int values_offset, const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride)
Undocumented in source. Be warned that the author may not have intended to support it.
PlotLines
void PlotLines(const(char)* label, const(float)* values, int values_count)

Widgets: Data Plotting Consider using ImPlot (https://github.com/epezent/implot) which is much better!

PlotLinesCallback
void PlotLinesCallback(const(char)* label, ImGuiValues_getterCallback values_getter, void* data, int values_count)
Undocumented in source. Be warned that the author may not have intended to support it.
PlotLinesCallbackEx
void PlotLinesCallbackEx(const(char)* label, ImGuiValues_getterCallback values_getter, void* data, int values_count, int values_offset, const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size)
Undocumented in source. Be warned that the author may not have intended to support it.
PlotLinesEx
void PlotLinesEx(const(char)* label, const(float)* values, int values_count, int values_offset, const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride)
Undocumented in source. Be warned that the author may not have intended to support it.
PopButtonRepeat
void PopButtonRepeat()
Undocumented in source. Be warned that the author may not have intended to support it.
PopClipRect
void PopClipRect()
Undocumented in source. Be warned that the author may not have intended to support it.
PopColumnsBackground
void PopColumnsBackground()
Undocumented in source. Be warned that the author may not have intended to support it.
PopFocusScope
void PopFocusScope()
Undocumented in source. Be warned that the author may not have intended to support it.
PopFont
void PopFont()
Undocumented in source. Be warned that the author may not have intended to support it.
PopID
void PopID()
Undocumented in source. Be warned that the author may not have intended to support it.
PopItemFlag
void PopItemFlag()
Undocumented in source. Be warned that the author may not have intended to support it.
PopItemWidth
void PopItemWidth()
Undocumented in source. Be warned that the author may not have intended to support it.
PopPasswordFont
void PopPasswordFont()
Undocumented in source. Be warned that the author may not have intended to support it.
PopStyleColor
void PopStyleColor()
Undocumented in source. Be warned that the author may not have intended to support it.
PopStyleColorEx
void PopStyleColorEx(int count)
Undocumented in source. Be warned that the author may not have intended to support it.
PopStyleVar
void PopStyleVar()
Undocumented in source. Be warned that the author may not have intended to support it.
PopStyleVarEx
void PopStyleVarEx(int count)
Undocumented in source. Be warned that the author may not have intended to support it.
PopTabStop
void PopTabStop()
Undocumented in source. Be warned that the author may not have intended to support it.
PopTextWrapPos
void PopTextWrapPos()
Undocumented in source. Be warned that the author may not have intended to support it.
ProgressBar
void ProgressBar(float fraction, ImVec2 size_arg, const(char)* overlay)
Undocumented in source. Be warned that the author may not have intended to support it.
PushButtonRepeat
void PushButtonRepeat(bool repeat)

OBSOLETED in 1.91.0 (from July 2024)

PushClipRect
void PushClipRect(ImVec2 clip_rect_min, ImVec2 clip_rect_max, bool intersect_with_current_clip_rect)

Clipping Mouse hovering is affected by ImGui::PushClipRect() calls, unlike direct calls to ImDrawList::PushClipRect() which are render only.

PushColumnClipRect
void PushColumnClipRect(int column_index)
Undocumented in source. Be warned that the author may not have intended to support it.
PushColumnsBackground
void PushColumnsBackground()
Undocumented in source. Be warned that the author may not have intended to support it.
PushFocusScope
void PushFocusScope(ImGuiID id)

EXPERIMENTAL Focus Scope This is generally used to identify a unique input location (for e.g. a selection set) There is one per window (automatically set in Begin), but: Selection patterns generally need to react (e.g. clear a selection) when landing on one item of the set. So in order to identify a set multiple lists in same window may each need a focus scope. If you imagine an hypothetical BeginSelectionGroup()/EndSelectionGroup() api, it would likely call PushFocusScope()/EndFocusScope() Shortcut routing also use focus scope as a default location identifier if an owner is not provided. We don't use the ID Stack for this as it is common to want them separate.

PushFont
void PushFont(ImFont* font)

OBSOLETED in 1.92.0 (from June 2025)

PushFontFloat
void PushFontFloat(ImFont* font, float font_size_base_unscaled)

Parameters stacks (font) PushFont(font, 0.0f) // Change font and keep current size PushFont(NULL, 20.0f) // Keep font and change current size PushFont(font, 20.0f) // Change font and set size to 20.0f PushFont(font, style.FontSizeBase * 2.0f) // Change font and set size to be twice bigger than current size. PushFont(font, font>LegacySize) // Change font and set size to size passed to AddFontXXX() function. Same as pre1.92 behavior. *IMPORTANT* before 1.92, fonts had a single size. They can now be dynamically be adjusted. In 1.92 we have REMOVED the single parameter version of PushFont() because it seems like the easiest way to provide an errorproof transition. PushFont(font) before 1.92 = PushFont(font, font>LegacySize) after 1.92 // Use default font size as passed to AddFontXXX() function. *IMPORTANT* global scale factors are applied over the provided size. Global scale factors are: 'style.FontScaleMain', 'style.FontScaleDpi' and maybe more. If you want to apply a factor to the _current_ font size: CORRECT: PushFont(NULL, style.FontSizeBase) // use current unscaled size == does nothing CORRECT: PushFont(NULL, style.FontSizeBase * 2.0f) // use current unscaled size x2 == make text twice bigger INCORRECT: PushFont(NULL, GetFontSize()) // INCORRECT! using size after global factors already applied == GLOBAL SCALING FACTORS WILL APPLY TWICE! INCORRECT: PushFont(NULL, GetFontSize() * 2.0f) // INCORRECT! using size after global factors already applied == GLOBAL SCALING FACTORS WILL APPLY TWICE!

PushID
void PushID(const(char)* str_id)

ID stack/scopes Read the FAQ (docs/FAQ.md or http://dearimgui.com/faq) for more details about how ID are handled in dear imgui. Those questions are answered and impacted by understanding of the ID stack system: "Q: Why is my widget not reacting when I click on it?" "Q: How can I have widgets with an empty label?" "Q: How can I have multiple widgets with the same label?" Short version: ID are hashes of the entire ID stack. If you are creating widgets in a loop you most likely want to push a unique identifier (e.g. object pointer, loop index) to uniquely differentiate them. You can also use the "Label##foobar" syntax within widget label to distinguish them from each others. In this header file we use the "label"/"name" terminology to denote a string that will be displayed + used as an ID, whereas "str_id" denote a string that is only used as an ID and not normally displayed.

PushIDInt
void PushIDInt(int int_id)
Undocumented in source. Be warned that the author may not have intended to support it.
PushIDPtr
void PushIDPtr(const(void)* ptr_id)
Undocumented in source. Be warned that the author may not have intended to support it.
PushIDStr
void PushIDStr(const(char)* str_id_begin, const(char)* str_id_end)
Undocumented in source. Be warned that the author may not have intended to support it.
PushItemFlag
void PushItemFlag(ImGuiItemFlags option, bool enabled)
Undocumented in source. Be warned that the author may not have intended to support it.
PushItemWidth
void PushItemWidth(float item_width)

Parameters stacks (current window)

PushMultiItemsWidths
void PushMultiItemsWidths(int components, float width_full)
Undocumented in source. Be warned that the author may not have intended to support it.
PushOverrideID
void PushOverrideID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
PushPasswordFont
void PushPasswordFont()
Undocumented in source. Be warned that the author may not have intended to support it.
PushStyleColor
void PushStyleColor(ImGuiCol idx, ImU32 col)

Parameters stacks (shared)

PushStyleColorImVec4
void PushStyleColorImVec4(ImGuiCol idx, ImVec4 col)
Undocumented in source. Be warned that the author may not have intended to support it.
PushStyleVar
void PushStyleVar(ImGuiStyleVar idx, float val)
Undocumented in source. Be warned that the author may not have intended to support it.
PushStyleVarImVec2
void PushStyleVarImVec2(ImGuiStyleVar idx, ImVec2 val)
Undocumented in source. Be warned that the author may not have intended to support it.
PushStyleVarX
void PushStyleVarX(ImGuiStyleVar idx, float val_x)
Undocumented in source. Be warned that the author may not have intended to support it.
PushStyleVarY
void PushStyleVarY(ImGuiStyleVar idx, float val_y)
Undocumented in source. Be warned that the author may not have intended to support it.
PushTabStop
void PushTabStop(bool tab_stop)
Undocumented in source. Be warned that the author may not have intended to support it.
PushTextWrapPos
void PushTextWrapPos(float wrap_local_pos_x)
Undocumented in source. Be warned that the author may not have intended to support it.
RadioButton
bool RadioButton(const(char)* label, bool active)
Undocumented in source. Be warned that the author may not have intended to support it.
RadioButtonIntPtr
bool RadioButtonIntPtr(const(char)* label, int* v, int v_button)
Undocumented in source. Be warned that the author may not have intended to support it.
RegisterFontAtlas
void RegisterFontAtlas(ImFontAtlas* atlas)
Undocumented in source. Be warned that the author may not have intended to support it.
RegisterUserTexture
void RegisterUserTexture(ImTextureData* tex)

Fonts, drawing

RemoveContextHook
void RemoveContextHook(ImGuiContext* context, ImGuiID hook_to_remove)
Undocumented in source. Be warned that the author may not have intended to support it.
RemoveSettingsHandler
void RemoveSettingsHandler(const(char)* type_name)
Undocumented in source. Be warned that the author may not have intended to support it.
Render
void Render()
Undocumented in source. Be warned that the author may not have intended to support it.
RenderArrow
void RenderArrow(ImDrawList* draw_list, ImVec2 pos, ImU32 col, ImGuiDir dir)

Render helpers (those functions don't access any ImGui state!)

RenderArrowEx
void RenderArrowEx(ImDrawList* draw_list, ImVec2 pos, ImU32 col, ImGuiDir dir, float scale)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderArrowPointingAt
void RenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderBullet
void RenderBullet(ImDrawList* draw_list, ImVec2 pos, ImU32 col)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderCheckMark
void RenderCheckMark(ImDrawList* draw_list, ImVec2 pos, ImU32 col, float sz)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderColorRectWithAlphaCheckerboard
void RenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, float grid_step, ImVec2 grid_off)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderColorRectWithAlphaCheckerboardEx
void RenderColorRectWithAlphaCheckerboardEx(ImDrawList* draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, float grid_step, ImVec2 grid_off, float rounding, ImDrawFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderDragDropTargetRect
void RenderDragDropTargetRect(ImRect bb, ImRect item_clip_rect)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderFrame
void RenderFrame(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderFrameBorder
void RenderFrameBorder(ImVec2 p_min, ImVec2 p_max)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderFrameBorderEx
void RenderFrameBorderEx(ImVec2 p_min, ImVec2 p_max, float rounding)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderFrameEx
void RenderFrameEx(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool borders, float rounding)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderMouseCursor
void RenderMouseCursor(ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderNavCursor
void RenderNavCursor(ImRect bb, ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderNavCursorEx
void RenderNavCursorEx(ImRect bb, ImGuiID id, ImGuiNavRenderCursorFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderNavHighlight
void RenderNavHighlight(ImRect bb, ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderNavHighlightEx
void RenderNavHighlightEx(ImRect bb, ImGuiID id, ImGuiNavRenderCursorFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderRectFilledRangeH
void RenderRectFilledRangeH(ImDrawList* draw_list, ImRect rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderRectFilledWithHole
void RenderRectFilledWithHole(ImDrawList* draw_list, ImRect outer, ImRect inner, ImU32 col, float rounding)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderText
void RenderText(ImVec2 pos, const(char)* text)

Render helpers AVOID USING OUTSIDE OF IMGUI.CPP! NOT FOR PUBLIC CONSUMPTION. THOSE FUNCTIONS ARE A MESS. THEIR SIGNATURE AND BEHAVIOR WILL CHANGE, THEY NEED TO BE REFACTORED INTO SOMETHING DECENT. NB: All position are in absolute pixels coordinates (we are never using window coordinates internally)

RenderTextClipped
void RenderTextClipped(ImVec2 pos_min, ImVec2 pos_max, const(char)* text, const(char)* text_end, ImVec2* text_size_if_known)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderTextClippedEx
void RenderTextClippedEx(ImVec2 pos_min, ImVec2 pos_max, const(char)* text, const(char)* text_end, ImVec2* text_size_if_known, ImVec2 align_, ImRect* clip_rect)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderTextClippedWithDrawList
void RenderTextClippedWithDrawList(ImDrawList* draw_list, ImVec2 pos_min, ImVec2 pos_max, const(char)* text, const(char)* text_end, ImVec2* text_size_if_known)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderTextClippedWithDrawListEx
void RenderTextClippedWithDrawListEx(ImDrawList* draw_list, ImVec2 pos_min, ImVec2 pos_max, const(char)* text, const(char)* text_end, ImVec2* text_size_if_known, ImVec2 align_, ImRect* clip_rect)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderTextEllipsis
void RenderTextEllipsis(ImDrawList* draw_list, ImVec2 pos_min, ImVec2 pos_max, float ellipsis_max_x, const(char)* text, const(char)* text_end, ImVec2* text_size_if_known)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderTextEx
void RenderTextEx(ImVec2 pos, const(char)* text, const(char)* text_end, bool hide_text_after_hash)
Undocumented in source. Be warned that the author may not have intended to support it.
RenderTextWrapped
void RenderTextWrapped(ImVec2 pos, const(char)* text, const(char)* text_end, float wrap_width)
Undocumented in source. Be warned that the author may not have intended to support it.
ResetMouseDragDelta
void ResetMouseDragDelta()
Undocumented in source. Be warned that the author may not have intended to support it.
ResetMouseDragDeltaEx
void ResetMouseDragDeltaEx(ImGuiMouseButton button)
Undocumented in source. Be warned that the author may not have intended to support it.
SameLine
void SameLine()
Undocumented in source. Be warned that the author may not have intended to support it.
SameLineEx
void SameLineEx(float offset_from_start_x, float spacing)
Undocumented in source. Be warned that the author may not have intended to support it.
SaveIniSettingsToDisk
void SaveIniSettingsToDisk(const(char)* ini_filename)
Undocumented in source. Be warned that the author may not have intended to support it.
SaveIniSettingsToMemory
const(char)* SaveIniSettingsToMemory(size_t* out_ini_size)
Undocumented in source. Be warned that the author may not have intended to support it.
ScaleWindowsInViewport
void ScaleWindowsInViewport(ImGuiViewportP* viewport, float scale)

Viewports

ScrollToBringRectIntoView
void ScrollToBringRectIntoView(ImGuiWindow* window, ImRect rect)

#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS

ScrollToItem
void ScrollToItem(ImGuiScrollFlags flags)

Early workinprogress API (ScrollToItem() will become public)

ScrollToRect
void ScrollToRect(ImGuiWindow* window, ImRect rect, ImGuiScrollFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
ScrollToRectEx
ImVec2 ScrollToRectEx(ImGuiWindow* window, ImRect rect, ImGuiScrollFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
Scrollbar
void Scrollbar(ImGuiAxis axis)
Undocumented in source. Be warned that the author may not have intended to support it.
ScrollbarEx
bool ScrollbarEx(ImRect bb, ImGuiID id, ImGuiAxis axis, ImS64* p_scroll_v, ImS64 avail_v, ImS64 contents_v)
Undocumented in source. Be warned that the author may not have intended to support it.
ScrollbarExEx
bool ScrollbarExEx(ImRect bb, ImGuiID id, ImGuiAxis axis, ImS64* p_scroll_v, ImS64 avail_v, ImS64 contents_v, ImDrawFlags draw_rounding_flags)
Undocumented in source. Be warned that the author may not have intended to support it.
Selectable
bool Selectable(const(char)* label)

Widgets: Selectables A selectable highlights when hovered, and can display another color when selected. Neighbors selectable extend their highlight bounds in order to leave no gap between them. This is so a series of selected Selectable appear contiguous.

SelectableBoolPtr
bool SelectableBoolPtr(const(char)* label, bool* p_selected, ImGuiSelectableFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SelectableBoolPtrEx
bool SelectableBoolPtrEx(const(char)* label, bool* p_selected, ImGuiSelectableFlags flags, ImVec2 size)
Undocumented in source. Be warned that the author may not have intended to support it.
SelectableEx
bool SelectableEx(const(char)* label, bool selected, ImGuiSelectableFlags flags, ImVec2 size)
Undocumented in source. Be warned that the author may not have intended to support it.
Separator
void Separator()

Other layout functions

SeparatorEx
void SeparatorEx(ImGuiSeparatorFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SeparatorExEx
void SeparatorExEx(ImGuiSeparatorFlags flags, float thickness)
Undocumented in source. Be warned that the author may not have intended to support it.
SeparatorText
void SeparatorText(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
SeparatorTextEx
void SeparatorTextEx(ImGuiID id, const(char)* label, const(char)* label_end, float extra_width)
Undocumented in source. Be warned that the author may not have intended to support it.
SetActiveID
void SetActiveID(ImGuiID id, ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
SetActiveIdUsingAllKeyboardKeys
void SetActiveIdUsingAllKeyboardKeys()
Undocumented in source. Be warned that the author may not have intended to support it.
SetAllocatorFunctions
void SetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, void* user_data)

Memory Allocators Those functions are not reliant on the current context. DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions() for each static/DLL boundary you are calling from. Read "Context and Memory Allocators" section of imgui.cpp for more details.

SetClipboardText
void SetClipboardText(const(char)* text)
Undocumented in source. Be warned that the author may not have intended to support it.
SetColorEditOptions
void SetColorEditOptions(ImGuiColorEditFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SetColumnOffset
void SetColumnOffset(int column_index, float offset_x)
Undocumented in source. Be warned that the author may not have intended to support it.
SetColumnWidth
void SetColumnWidth(int column_index, float width)
Undocumented in source. Be warned that the author may not have intended to support it.
SetCurrentContext
void SetCurrentContext(ImGuiContext* ctx)
Undocumented in source. Be warned that the author may not have intended to support it.
SetCurrentFont
void SetCurrentFont(ImFont* font, float font_size_before_scaling, float font_size_after_scaling)
Undocumented in source. Be warned that the author may not have intended to support it.
SetCursorPos
void SetCursorPos(ImVec2 local_pos)
Undocumented in source. Be warned that the author may not have intended to support it.
SetCursorPosX
void SetCursorPosX(float local_x)
Undocumented in source. Be warned that the author may not have intended to support it.
SetCursorPosY
void SetCursorPosY(float local_y)
Undocumented in source. Be warned that the author may not have intended to support it.
SetCursorScreenPos
void SetCursorScreenPos(ImVec2 pos)
Undocumented in source. Be warned that the author may not have intended to support it.
SetDragDropPayload
bool SetDragDropPayload(const(char)* type, const(void)* data, size_t sz, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetFocusID
void SetFocusID(ImGuiID id, ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
SetFontRasterizerDensity
void SetFontRasterizerDensity(float rasterizer_density)
Undocumented in source. Be warned that the author may not have intended to support it.
SetHoveredID
void SetHoveredID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
SetItemAllowOverlap
void SetItemAllowOverlap()

OBSOLETED in 1.89.7 (from June 2023)

SetItemDefaultFocus
void SetItemDefaultFocus()

Focus, Activation

SetItemKeyOwner
void SetItemKeyOwner(ImGuiKey key)

Inputs Utilities: Key/Input Ownership BETA One common use case would be to allow your items to disable standard inputs behaviors such as Tab or Alt key handling, Mouse Wheel scrolling, etc. e.g. Button(...); SetItemKeyOwner(ImGuiKey_MouseWheelY); to make hovering/activating a button disable wheel for scrolling. Reminder ImGuiKey enum include access to mouse buttons and gamepad, so key ownership can apply to them. Many related features are still in imgui_internal.h. For instance, most IsKeyXXX()/IsMouseXXX() functions have an owneridaware version.

SetItemKeyOwnerImGuiInputFlags
void SetItemKeyOwnerImGuiInputFlags(ImGuiKey key, ImGuiInputFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SetItemTooltip
void SetItemTooltip(const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
SetKeyOwner
void SetKeyOwner(ImGuiKey key, ImGuiID owner_id, ImGuiInputFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SetKeyOwnersForKeyChord
void SetKeyOwnersForKeyChord(ImGuiKeyChord key, ImGuiID owner_id, ImGuiInputFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SetKeyboardFocusHere
void SetKeyboardFocusHere()
Undocumented in source. Be warned that the author may not have intended to support it.
SetKeyboardFocusHereEx
void SetKeyboardFocusHereEx(int offset)
Undocumented in source. Be warned that the author may not have intended to support it.
SetLastItemData
void SetLastItemData(ImGuiID item_id, ImGuiItemFlags item_flags, ImGuiItemStatusFlags status_flags, ImRect item_rect)
Undocumented in source. Be warned that the author may not have intended to support it.
SetMouseCursor
void SetMouseCursor(ImGuiMouseCursor cursor_type)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNavCursorVisible
void SetNavCursorVisible(bool visible)

Keyboard/Gamepad Navigation

SetNavCursorVisibleAfterMove
void SetNavCursorVisibleAfterMove()
Undocumented in source. Be warned that the author may not have intended to support it.
SetNavFocusScope
void SetNavFocusScope(ImGuiID focus_scope_id)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNavID
void SetNavID(ImGuiID id, ImGuiNavLayer nav_layer, ImGuiID focus_scope_id, ImRect rect_rel)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNavWindow
void SetNavWindow(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextFrameWantCaptureKeyboard
void SetNextFrameWantCaptureKeyboard(bool want_capture_keyboard)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextFrameWantCaptureMouse
void SetNextFrameWantCaptureMouse(bool want_capture_mouse)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextItemAllowOverlap
void SetNextItemAllowOverlap()

Overlapping mode

SetNextItemOpen
void SetNextItemOpen(bool is_open, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextItemRefVal
void SetNextItemRefVal(ImGuiDataType data_type, void* p_data)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextItemSelectionUserData
void SetNextItemSelectionUserData(ImGuiSelectionUserData selection_user_data)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextItemShortcut
void SetNextItemShortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextItemStorageID
void SetNextItemStorageID(ImGuiID storage_id)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextItemWidth
void SetNextItemWidth(float item_width)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowBgAlpha
void SetNextWindowBgAlpha(float alpha)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowCollapsed
void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowContentSize
void SetNextWindowContentSize(ImVec2 size)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowFocus
void SetNextWindowFocus()
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowPos
void SetNextWindowPos(ImVec2 pos, ImGuiCond cond)

Window manipulation Prefer using SetNextXXX functions (before Begin) rather that SetXXX functions (after Begin).

SetNextWindowPosEx
void SetNextWindowPosEx(ImVec2 pos, ImGuiCond cond, ImVec2 pivot)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowRefreshPolicy
void SetNextWindowRefreshPolicy(ImGuiWindowRefreshFlags flags)

Windows: Idle, Refresh Policies EXPERIMENTAL

SetNextWindowScroll
void SetNextWindowScroll(ImVec2 scroll)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowSize
void SetNextWindowSize(ImVec2 size, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetNextWindowSizeConstraints
void SetNextWindowSizeConstraints(ImVec2 size_min, ImVec2 size_max, ImGuiSizeCallback custom_callback, void* custom_callback_data)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollFromPosX
void SetScrollFromPosX(float local_x, float center_x_ratio)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollFromPosXImGuiWindowPtr
void SetScrollFromPosXImGuiWindowPtr(ImGuiWindow* window, float local_x, float center_x_ratio)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollFromPosY
void SetScrollFromPosY(float local_y, float center_y_ratio)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollFromPosYImGuiWindowPtr
void SetScrollFromPosYImGuiWindowPtr(ImGuiWindow* window, float local_y, float center_y_ratio)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollHereX
void SetScrollHereX(float center_x_ratio)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollHereY
void SetScrollHereY(float center_y_ratio)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollX
void SetScrollX(float scroll_x)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollXImGuiWindowPtr
void SetScrollXImGuiWindowPtr(ImGuiWindow* window, float scroll_x)

Scrolling

SetScrollY
void SetScrollY(float scroll_y)
Undocumented in source. Be warned that the author may not have intended to support it.
SetScrollYImGuiWindowPtr
void SetScrollYImGuiWindowPtr(ImGuiWindow* window, float scroll_y)
Undocumented in source. Be warned that the author may not have intended to support it.
SetShortcutRouting
bool SetShortcutRouting(ImGuiKeyChord key_chord, ImGuiInputFlags flags, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
SetStateStorage
void SetStateStorage(ImGuiStorage* storage)
Undocumented in source. Be warned that the author may not have intended to support it.
SetTabItemClosed
void SetTabItemClosed(const(char)* tab_or_docked_window_label)
Undocumented in source. Be warned that the author may not have intended to support it.
SetTooltip
void SetTooltip(const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowClipRectBeforeSetChannel
void SetWindowClipRectBeforeSetChannel(ImGuiWindow* window, ImRect clip_rect)

Internal Columns API (this is not exposed because we will encourage transitioning to the Tables API)

SetWindowCollapsed
void SetWindowCollapsed(bool collapsed, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowCollapsedImGuiWindowPtr
void SetWindowCollapsedImGuiWindowPtr(ImGuiWindow* window, bool collapsed, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowCollapsedStr
void SetWindowCollapsedStr(const(char)* name, bool collapsed, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowFocus
void SetWindowFocus()
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowFocusStr
void SetWindowFocusStr(const(char)* name)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowFontScale
void SetWindowFontScale(float scale)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowHiddenAndSkipItemsForCurrentFrame
void SetWindowHiddenAndSkipItemsForCurrentFrame(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowHitTestHole
void SetWindowHitTestHole(ImGuiWindow* window, ImVec2 pos, ImVec2 size)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowParentWindowForFocusRoute
void SetWindowParentWindowForFocusRoute(ImGuiWindow* window, ImGuiWindow* parent_window)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowPos
void SetWindowPos(ImVec2 pos, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowPosImGuiWindowPtr
void SetWindowPosImGuiWindowPtr(ImGuiWindow* window, ImVec2 pos, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowPosStr
void SetWindowPosStr(const(char)* name, ImVec2 pos, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowSize
void SetWindowSize(ImVec2 size, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowSizeImGuiWindowPtr
void SetWindowSizeImGuiWindowPtr(ImGuiWindow* window, ImVec2 size, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowSizeStr
void SetWindowSizeStr(const(char)* name, ImVec2 size, ImGuiCond cond)
Undocumented in source. Be warned that the author may not have intended to support it.
SetWindowViewport
void SetWindowViewport(ImGuiWindow* window, ImGuiViewportP* viewport)
Undocumented in source. Be warned that the author may not have intended to support it.
ShadeVertsLinearColorGradientKeepAlpha
void ShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, ImVec2 gradient_p0, ImVec2 gradient_p1, ImU32 col0, ImU32 col1)

Shade functions (write over already created vertices)

ShadeVertsTransformPos
void ShadeVertsTransformPos(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, ImVec2 pivot_in, float cos_a, float sin_a, ImVec2 pivot_out)
Undocumented in source. Be warned that the author may not have intended to support it.
Shortcut
bool Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags)

Inputs Utilities: Shortcut Testing & Routing BETA ImGuiKeyChord = a ImGuiKey + optional ImGuiMod_Alt/ImGuiMod_Ctrl/ImGuiMod_Shift/ImGuiMod_Super. ImGuiKey_C // Accepted by functions taking ImGuiKey or ImGuiKeyChord arguments) ImGuiMod_Ctrl | ImGuiKey_C // Accepted by functions taking ImGuiKeyChord arguments) only ImGuiMod_XXX values are legal to combine with an ImGuiKey. You CANNOT combine two ImGuiKey values. The general idea is that several callers may register interest in a shortcut, and only one owner gets it. Parent > call Shortcut(Ctrl+S) // When Parent is focused, Parent gets the shortcut. Child1 > call Shortcut(Ctrl+S) // When Child1 is focused, Child1 gets the shortcut (Child1 overrides Parent shortcuts) Child2 > no call // When Child2 is focused, Parent gets the shortcut. The whole system is order independent, so if Child1 makes its calls before Parent, results will be identical. This is an important property as it facilitate working with foreign code or larger codebase. To understand the difference: IsKeyChordPressed() compares mods and call IsKeyPressed() > function has no sideeffect. Shortcut() submits a route, routes are resolved, if it currently can be routed it calls IsKeyChordPressed() > function has (desirable) sideeffects as it can prevents another call from getting the route. Visualize registered routes in 'Metrics/Debugger>Inputs'.

ShortcutID
bool ShortcutID(ImGuiKeyChord key_chord, ImGuiInputFlags flags, ImGuiID owner_id)

Shortcut Testing & Routing Set Shortcut() and SetNextItemShortcut() in imgui.h When a policy (except for ImGuiInputFlags_RouteAlways *) is set, Shortcut() will register itself with SetShortcutRouting(), allowing the system to decide where to route the input among other routeaware calls. (* using ImGuiInputFlags_RouteAlways is roughly equivalent to calling IsKeyChordPressed(key) and bypassing route registration and check) When using one of the routing option: The default route is ImGuiInputFlags_RouteFocused (accept inputs if window is in focus stack. Deepmost focused window takes inputs. ActiveId takes inputs over deepmost focused window.) Routes are requested given a chord (key + modifiers) and a routing policy. Routes are resolved during NewFrame(): if keyboard modifiers are matching current ones: SetKeyOwner() is called + route is granted for the frame. Each route may be granted to a single owner. When multiple requests are made we have policies to select the winning route (e.g. deep most window). Multiple read sites may use the same owner id can all access the granted route. When owner_id is 0 we use the current Focus Scope ID as a owner ID in order to identify our location. You can chain two unrelated windows in the focus stack using SetWindowParentWindowForFocusRoute() e.g. if you have a tool window associated to a document, and you want document shortcuts to run when the tool is focused.

ShowAboutWindow
void ShowAboutWindow(bool* p_open)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowDebugLogWindow
void ShowDebugLogWindow(bool* p_open)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowDemoWindow
void ShowDemoWindow(bool* p_open)

Demo, Debug, Information

ShowFontAtlas
void ShowFontAtlas(ImFontAtlas* atlas)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowFontSelector
void ShowFontSelector(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowIDStackToolWindow
void ShowIDStackToolWindow()
Undocumented in source. Be warned that the author may not have intended to support it.
ShowIDStackToolWindowEx
void ShowIDStackToolWindowEx(bool* p_open)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowMetricsWindow
void ShowMetricsWindow(bool* p_open)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowStackToolWindow
void ShowStackToolWindow(bool* p_open)

static inline bool BeginChild(const char* str_id, const ImVec2 & size_arg, bool borders, ImGuiWindowFlags window_flags){ return BeginChild(str_id, size_arg, borders ? ImGuiChildFlags_Borders : ImGuiChildFlags_None, window_flags); } // Unnecessary as true == ImGuiChildFlags_Borders static inline bool BeginChild(ImGuiID id, const ImVec2 & size_arg, bool borders, ImGuiWindowFlags window_flags) { return BeginChild(id, size_arg, borders ? ImGuiChildFlags_Borders : ImGuiChildFlags_None, window_flags); } // Unnecessary as true == ImGuiChildFlags_Borders

ShowStyleEditor
void ShowStyleEditor(ImGuiStyle* ref_)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowStyleSelector
bool ShowStyleSelector(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
ShowUserGuide
void ShowUserGuide()
Undocumented in source. Be warned that the author may not have intended to support it.
ShrinkWidths
void ShrinkWidths(ImGuiShrinkWidthItem* items, int count, float width_excess)
Undocumented in source. Be warned that the author may not have intended to support it.
Shutdown
void Shutdown()
Undocumented in source. Be warned that the author may not have intended to support it.
SliderAngle
bool SliderAngle(const(char)* label, float* v_rad)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderAngleEx
bool SliderAngleEx(const(char)* label, float* v_rad, float v_degrees_min, float v_degrees_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderBehavior
bool SliderBehavior(ImRect bb, ImGuiID id, ImGuiDataType data_type, void* p_v, const(void)* p_min, const(void)* p_max, const(char)* format, ImGuiSliderFlags flags, ImRect* out_grab_bb)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderFloat
bool SliderFloat(const(char)* label, float* v, float v_min, float v_max)

Widgets: Regular Sliders CTRL+Click on any slider to turn them into an input box. Manually input values aren't clamped by default and can go offbounds. Use ImGuiSliderFlags_AlwaysClamp to always clamp. Adjust format string to decorate the value with a prefix, a suffix, or adapt the editing and display precision e.g. "%.3f" > 1.234; "%5.2f secs" > 01.23 secs; "Biscuit: %.0f" > Biscuit: 1; etc. Format string may also be set to NULL or use the default format ("%f" or "%d"). Legacy: Pre1.78 there are SliderXXX() function signatures that take a final float power=1.0f' argument instead of the ImGuiSliderFlags flags=0' argument. If you get a warning converting a float to ImGuiSliderFlags, read https://github.com/ocornut/imgui/issues/3361

SliderFloat2
bool SliderFloat2(const(char)* label, float* v, float v_min, float v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderFloat2Ex
bool SliderFloat2Ex(const(char)* label, float* v, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderFloat3
bool SliderFloat3(const(char)* label, float* v, float v_min, float v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderFloat3Ex
bool SliderFloat3Ex(const(char)* label, float* v, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderFloat4
bool SliderFloat4(const(char)* label, float* v, float v_min, float v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderFloat4Ex
bool SliderFloat4Ex(const(char)* label, float* v, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderFloatEx
bool SliderFloatEx(const(char)* label, float* v, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderInt
bool SliderInt(const(char)* label, int* v, int v_min, int v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderInt2
bool SliderInt2(const(char)* label, int* v, int v_min, int v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderInt2Ex
bool SliderInt2Ex(const(char)* label, int* v, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderInt3
bool SliderInt3(const(char)* label, int* v, int v_min, int v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderInt3Ex
bool SliderInt3Ex(const(char)* label, int* v, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderInt4
bool SliderInt4(const(char)* label, int* v, int v_min, int v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderInt4Ex
bool SliderInt4Ex(const(char)* label, int* v, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderIntEx
bool SliderIntEx(const(char)* label, int* v, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderScalar
bool SliderScalar(const(char)* label, ImGuiDataType data_type, void* p_data, const(void)* p_min, const(void)* p_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderScalarEx
bool SliderScalarEx(const(char)* label, ImGuiDataType data_type, void* p_data, const(void)* p_min, const(void)* p_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderScalarN
bool SliderScalarN(const(char)* label, ImGuiDataType data_type, void* p_data, int components, const(void)* p_min, const(void)* p_max)
Undocumented in source. Be warned that the author may not have intended to support it.
SliderScalarNEx
bool SliderScalarNEx(const(char)* label, ImGuiDataType data_type, void* p_data, int components, const(void)* p_min, const(void)* p_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
SmallButton
bool SmallButton(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
Spacing
void Spacing()
Undocumented in source. Be warned that the author may not have intended to support it.
SplitterBehavior
bool SplitterBehavior(ImRect bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2)
Undocumented in source. Be warned that the author may not have intended to support it.
SplitterBehaviorEx
bool SplitterBehaviorEx(ImRect bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend, float hover_visibility_delay, ImU32 bg_col)
Undocumented in source. Be warned that the author may not have intended to support it.
StartMouseMovingWindow
void StartMouseMovingWindow(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
StyleColorsClassic
void StyleColorsClassic(ImGuiStyle* dst)
Undocumented in source. Be warned that the author may not have intended to support it.
StyleColorsDark
void StyleColorsDark(ImGuiStyle* dst)

Styles

StyleColorsLight
void StyleColorsLight(ImGuiStyle* dst)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarCloseTab
void TabBarCloseTab(ImGuiTabBar* tab_bar, ImGuiTabItem* tab)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarFindTabByID
ImGuiTabItem* TabBarFindTabByID(ImGuiTabBar* tab_bar, ImGuiID tab_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarFindTabByOrder
ImGuiTabItem* TabBarFindTabByOrder(ImGuiTabBar* tab_bar, int order)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarGetCurrentTab
ImGuiTabItem* TabBarGetCurrentTab(ImGuiTabBar* tab_bar)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarGetTabName
const(char)* TabBarGetTabName(ImGuiTabBar* tab_bar, ImGuiTabItem* tab)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarGetTabOrder
int TabBarGetTabOrder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarProcessReorder
bool TabBarProcessReorder(ImGuiTabBar* tab_bar)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarQueueFocus
void TabBarQueueFocus(ImGuiTabBar* tab_bar, ImGuiTabItem* tab)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarQueueFocusStr
void TabBarQueueFocusStr(ImGuiTabBar* tab_bar, const(char)* tab_name)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarQueueReorder
void TabBarQueueReorder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab, int offset)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarQueueReorderFromMousePos
void TabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar, ImGuiTabItem* tab, ImVec2 mouse_pos)
Undocumented in source. Be warned that the author may not have intended to support it.
TabBarRemoveTab
void TabBarRemoveTab(ImGuiTabBar* tab_bar, ImGuiID tab_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TabItemBackground
void TabItemBackground(ImDrawList* draw_list, ImRect bb, ImGuiTabItemFlags flags, ImU32 col)
Undocumented in source. Be warned that the author may not have intended to support it.
TabItemButton
bool TabItemButton(const(char)* label, ImGuiTabItemFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
TabItemCalcSize
ImVec2 TabItemCalcSize(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
TabItemCalcSizeStr
ImVec2 TabItemCalcSizeStr(const(char)* label, bool has_close_button_or_unsaved_marker)
Undocumented in source. Be warned that the author may not have intended to support it.
TabItemEx
bool TabItemEx(ImGuiTabBar* tab_bar, const(char)* label, bool* p_open, ImGuiTabItemFlags flags, ImGuiWindow* docked_window)
Undocumented in source. Be warned that the author may not have intended to support it.
TabItemLabelAndCloseButton
void TabItemLabelAndCloseButton(ImDrawList* draw_list, ImRect bb, ImGuiTabItemFlags flags, ImVec2 frame_padding, const(char)* label, ImGuiID tab_id, ImGuiID close_button_id, bool is_contents_visible, bool* out_just_closed, bool* out_text_clipped)
Undocumented in source. Be warned that the author may not have intended to support it.
TabItemSpacing
void TabItemSpacing(const(char)* str_id, ImGuiTabItemFlags flags, float width)
Undocumented in source. Be warned that the author may not have intended to support it.
TableAngledHeadersRow
void TableAngledHeadersRow()
Undocumented in source. Be warned that the author may not have intended to support it.
TableAngledHeadersRowEx
void TableAngledHeadersRowEx(ImGuiID row_id, float angle, float max_label_width, ImGuiTableHeaderData* data, int data_count)
Undocumented in source. Be warned that the author may not have intended to support it.
TableBeginApplyRequests
void TableBeginApplyRequests(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableBeginCell
void TableBeginCell(ImGuiTable* table, int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableBeginContextMenuPopup
bool TableBeginContextMenuPopup(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableBeginInitMemory
void TableBeginInitMemory(ImGuiTable* table, int columns_count)
Undocumented in source. Be warned that the author may not have intended to support it.
TableBeginRow
void TableBeginRow(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableCalcMaxColumnWidth
float TableCalcMaxColumnWidth(ImGuiTable* table, int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableDrawBorders
void TableDrawBorders(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableDrawDefaultContextMenu
void TableDrawDefaultContextMenu(ImGuiTable* table, ImGuiTableFlags flags_for_section_to_display)
Undocumented in source. Be warned that the author may not have intended to support it.
TableEndCell
void TableEndCell(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableEndRow
void TableEndRow(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableFindByID
ImGuiTable* TableFindByID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
TableFixColumnSortDirection
void TableFixColumnSortDirection(ImGuiTable* table, ImGuiTableColumn* column)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGcCompactSettings
void TableGcCompactSettings()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGcCompactTransientBuffers
void TableGcCompactTransientBuffers(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGcCompactTransientBuffersImGuiTableTempDataPtr
void TableGcCompactTransientBuffersImGuiTableTempDataPtr(ImGuiTableTempData* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetBoundSettings
ImGuiTableSettings* TableGetBoundSettings(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetCellBgRect
ImRect TableGetCellBgRect(ImGuiTable* table, int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnCount
int TableGetColumnCount()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnFlags
ImGuiTableColumnFlags TableGetColumnFlags(int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnIndex
int TableGetColumnIndex()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnName
const(char)* TableGetColumnName(int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnNameImGuiTablePtr
const(char)* TableGetColumnNameImGuiTablePtr(ImGuiTable* table, int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnNextSortDirection
ImGuiSortDirection TableGetColumnNextSortDirection(ImGuiTableColumn* column)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnResizeID
ImGuiID TableGetColumnResizeID(ImGuiTable* table, int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnResizeIDEx
ImGuiID TableGetColumnResizeIDEx(ImGuiTable* table, int column_n, int instance_no)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetColumnWidthAuto
float TableGetColumnWidthAuto(ImGuiTable* table, ImGuiTableColumn* column)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetHeaderAngledMaxLabelWidth
float TableGetHeaderAngledMaxLabelWidth()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetHeaderRowHeight
float TableGetHeaderRowHeight()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetHoveredColumn
int TableGetHoveredColumn()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetHoveredRow
int TableGetHoveredRow()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetInstanceData
ImGuiTableInstanceData* TableGetInstanceData(ImGuiTable* table, int instance_no)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetInstanceID
ImGuiID TableGetInstanceID(ImGuiTable* table, int instance_no)
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetRowIndex
int TableGetRowIndex()
Undocumented in source. Be warned that the author may not have intended to support it.
TableGetSortSpecs
ImGuiTableSortSpecs* TableGetSortSpecs()

Tables: Sorting & Miscellaneous functions Sorting: call TableGetSortSpecs() to retrieve latest sort specs for the table. NULL when not sorting. When 'sort_specs>SpecsDirty == true' you should sort your data. It will be true when sorting specs have changed since last call, or the first time. Make sure to set 'SpecsDirty = false' after sorting, else you may wastefully sort your data every frame! Functions args 'int column_n' treat the default value of 1 as the same as passing the current column index.

TableHeader
void TableHeader(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
TableHeadersRow
void TableHeadersRow()
Undocumented in source. Be warned that the author may not have intended to support it.
TableLoadSettings
void TableLoadSettings(ImGuiTable* table)

Tables: Settings

TableMergeDrawChannels
void TableMergeDrawChannels(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableNextColumn
bool TableNextColumn()
Undocumented in source. Be warned that the author may not have intended to support it.
TableNextRow
void TableNextRow()
Undocumented in source. Be warned that the author may not have intended to support it.
TableNextRowEx
void TableNextRowEx(ImGuiTableRowFlags row_flags, float min_row_height)
Undocumented in source. Be warned that the author may not have intended to support it.
TableOpenContextMenu
void TableOpenContextMenu()

Tables: Candidates for public API

TableOpenContextMenuEx
void TableOpenContextMenuEx(int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TablePopBackgroundChannel
void TablePopBackgroundChannel()
Undocumented in source. Be warned that the author may not have intended to support it.
TablePopColumnChannel
void TablePopColumnChannel()
Undocumented in source. Be warned that the author may not have intended to support it.
TablePushBackgroundChannel
void TablePushBackgroundChannel()
Undocumented in source. Be warned that the author may not have intended to support it.
TablePushColumnChannel
void TablePushColumnChannel(int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableRemove
void TableRemove(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableResetSettings
void TableResetSettings(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSaveSettings
void TableSaveSettings(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetBgColor
void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetColumnEnabled
void TableSetColumnEnabled(int column_n, bool v)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetColumnIndex
bool TableSetColumnIndex(int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetColumnSortDirection
void TableSetColumnSortDirection(int column_n, ImGuiSortDirection sort_direction, bool append_to_sort_specs)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetColumnWidth
void TableSetColumnWidth(int column_n, float width)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetColumnWidthAutoAll
void TableSetColumnWidthAutoAll(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetColumnWidthAutoSingle
void TableSetColumnWidthAutoSingle(ImGuiTable* table, int column_n)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSettingsAddSettingsHandler
void TableSettingsAddSettingsHandler()
Undocumented in source. Be warned that the author may not have intended to support it.
TableSettingsCreate
ImGuiTableSettings* TableSettingsCreate(ImGuiID id, int columns_count)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSettingsFindByID
ImGuiTableSettings* TableSettingsFindByID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetupColumn
void TableSetupColumn(const(char)* label, ImGuiTableColumnFlags flags)

Tables: Headers & Columns declaration Use TableSetupColumn() to specify label, resizing policy, default width/weight, id, various other flags etc. Use TableHeadersRow() to create a header row and automatically submit a TableHeader() for each column. Headers are required to perform: reordering, sorting, and opening the context menu. The context menu can also be made available in columns body using ImGuiTableFlags_ContextMenuInBody. You may manually submit headers using TableNextRow() + TableHeader() calls, but this is only useful in some advanced use cases (e.g. adding custom widgets in header row). Use TableSetupScrollFreeze() to lock columns/rows so they stay visible when scrolled.

TableSetupColumnEx
void TableSetupColumnEx(const(char)* label, ImGuiTableColumnFlags flags, float init_width_or_weight, ImGuiID user_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetupDrawChannels
void TableSetupDrawChannels(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSetupScrollFreeze
void TableSetupScrollFreeze(int cols, int rows)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSortSpecsBuild
void TableSortSpecsBuild(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableSortSpecsSanitize
void TableSortSpecsSanitize(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableUpdateBorders
void TableUpdateBorders(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableUpdateColumnsWeightFromWidth
void TableUpdateColumnsWeightFromWidth(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TableUpdateLayout
void TableUpdateLayout(ImGuiTable* table)
Undocumented in source. Be warned that the author may not have intended to support it.
TeleportMousePos
void TeleportMousePos(ImVec2 pos)
Undocumented in source. Be warned that the author may not have intended to support it.
TempInputIsActive
bool TempInputIsActive(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
TempInputScalar
bool TempInputScalar(ImRect bb, ImGuiID id, const(char)* label, ImGuiDataType data_type, void* p_data, const(char)* format)
Undocumented in source. Be warned that the author may not have intended to support it.
TempInputScalarEx
bool TempInputScalarEx(ImRect bb, ImGuiID id, const(char)* label, ImGuiDataType data_type, void* p_data, const(char)* format, const(void)* p_clamp_min, const(void)* p_clamp_max)
Undocumented in source. Be warned that the author may not have intended to support it.
TempInputText
bool TempInputText(ImRect bb, ImGuiID id, const(char)* label, char* buf, int buf_size, ImGuiInputTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
TestKeyOwner
bool TestKeyOwner(ImGuiKey key, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TestShortcutRouting
bool TestShortcutRouting(ImGuiKeyChord key_chord, ImGuiID owner_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TextEx
void TextEx(const(char)* text)

Widgets: Text

TextExEx
void TextExEx(const(char)* text, const(char)* text_end, ImGuiTextFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
TextLink
bool TextLink(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
TextLinkOpenURL
bool TextLinkOpenURL(const(char)* label)
Undocumented in source. Be warned that the author may not have intended to support it.
TextLinkOpenURLEx
bool TextLinkOpenURLEx(const(char)* label, const(char)* url)
Undocumented in source. Be warned that the author may not have intended to support it.
TextUnformatted
void TextUnformatted(const(char)* text)

Widgets: Text

TextUnformattedEx
void TextUnformattedEx(const(char)* text, const(char)* text_end)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNode
bool TreeNode(const(char)* label)

Widgets: Trees TreeNode functions return true when the node is open, in which case you need to also call TreePop() when you are finished displaying the tree node contents.

TreeNodeBehavior
bool TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const(char)* label)

Widgets: Tree Nodes

TreeNodeBehaviorEx
bool TreeNodeBehaviorEx(ImGuiID id, ImGuiTreeNodeFlags flags, const(char)* label, const(char)* label_end)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeDrawLineToChildNode
void TreeNodeDrawLineToChildNode(ImVec2 target_pos)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeDrawLineToTreePop
void TreeNodeDrawLineToTreePop(ImGuiTreeNodeStackData* data)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeEx
bool TreeNodeEx(const(char)* label, ImGuiTreeNodeFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeExPtr
bool TreeNodeExPtr(const(void)* ptr_id, ImGuiTreeNodeFlags flags, const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeExStr
bool TreeNodeExStr(const(char)* str_id, ImGuiTreeNodeFlags flags, const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeGetOpen
bool TreeNodeGetOpen(ImGuiID storage_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodePtr
bool TreeNodePtr(const(void)* ptr_id, const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeSetOpen
void TreeNodeSetOpen(ImGuiID storage_id, bool open)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeStr
bool TreeNodeStr(const(char)* str_id, const(char)* fmt)
Undocumented in source. Be warned that the author may not have intended to support it.
TreeNodeUpdateNextOpen
bool TreeNodeUpdateNextOpen(ImGuiID storage_id, ImGuiTreeNodeFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
TreePop
void TreePop()
Undocumented in source. Be warned that the author may not have intended to support it.
TreePush
void TreePush(const(char)* str_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TreePushOverrideID
void TreePushOverrideID(ImGuiID id)
Undocumented in source. Be warned that the author may not have intended to support it.
TreePushPtr
void TreePushPtr(const(void)* ptr_id)
Undocumented in source. Be warned that the author may not have intended to support it.
TypingSelectFindBestLeadingMatch
int TypingSelectFindBestLeadingMatch(ImGuiTypingSelectRequest* req, int items_count, ImGuiGetterCallback get_item_name_func, void* user_data)
Undocumented in source. Be warned that the author may not have intended to support it.
TypingSelectFindMatch
int TypingSelectFindMatch(ImGuiTypingSelectRequest* req, int items_count, ImGuiGetterCallback get_item_name_func, void* user_data, int nav_item_idx)
Undocumented in source. Be warned that the author may not have intended to support it.
TypingSelectFindNextSingleCharMatch
int TypingSelectFindNextSingleCharMatch(ImGuiTypingSelectRequest* req, int items_count, ImGuiGetterCallback get_item_name_func, void* user_data, int nav_item_idx)
Undocumented in source. Be warned that the author may not have intended to support it.
Unindent
void Unindent()
Undocumented in source. Be warned that the author may not have intended to support it.
UnindentEx
void UnindentEx(float indent_w)
Undocumented in source. Be warned that the author may not have intended to support it.
UnregisterFontAtlas
void UnregisterFontAtlas(ImFontAtlas* atlas)
Undocumented in source. Be warned that the author may not have intended to support it.
UnregisterUserTexture
void UnregisterUserTexture(ImTextureData* tex)
Undocumented in source. Be warned that the author may not have intended to support it.
UpdateCurrentFontSize
void UpdateCurrentFontSize(float restore_font_size_after_scaling)
Undocumented in source. Be warned that the author may not have intended to support it.
UpdateHoveredWindowAndCaptureFlags
void UpdateHoveredWindowAndCaptureFlags(ImVec2 mouse_pos)
Undocumented in source. Be warned that the author may not have intended to support it.
UpdateInputEvents
void UpdateInputEvents(bool trickle_fast_inputs)

NewFrame

UpdateMouseMovingWindowEndFrame
void UpdateMouseMovingWindowEndFrame()
Undocumented in source. Be warned that the author may not have intended to support it.
UpdateMouseMovingWindowNewFrame
void UpdateMouseMovingWindowNewFrame()
Undocumented in source. Be warned that the author may not have intended to support it.
UpdateWindowParentAndRootLinks
void UpdateWindowParentAndRootLinks(ImGuiWindow* window, ImGuiWindowFlags flags, ImGuiWindow* parent_window)
Undocumented in source. Be warned that the author may not have intended to support it.
UpdateWindowSkipRefresh
void UpdateWindowSkipRefresh(ImGuiWindow* window)
Undocumented in source. Be warned that the author may not have intended to support it.
VSliderFloat
bool VSliderFloat(const(char)* label, ImVec2 size, float* v, float v_min, float v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
VSliderFloatEx
bool VSliderFloatEx(const(char)* label, ImVec2 size, float* v, float v_min, float v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
VSliderInt
bool VSliderInt(const(char)* label, ImVec2 size, int* v, int v_min, int v_max)
Undocumented in source. Be warned that the author may not have intended to support it.
VSliderIntEx
bool VSliderIntEx(const(char)* label, ImVec2 size, int* v, int v_min, int v_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
VSliderScalar
bool VSliderScalar(const(char)* label, ImVec2 size, ImGuiDataType data_type, void* p_data, const(void)* p_min, const(void)* p_max)
Undocumented in source. Be warned that the author may not have intended to support it.
VSliderScalarEx
bool VSliderScalarEx(const(char)* label, ImVec2 size, ImGuiDataType data_type, void* p_data, const(void)* p_min, const(void)* p_max, const(char)* format, ImGuiSliderFlags flags)
Undocumented in source. Be warned that the author may not have intended to support it.
WindowPosAbsToRel
ImVec2 WindowPosAbsToRel(ImGuiWindow* window, ImVec2 p)
Undocumented in source. Be warned that the author may not have intended to support it.
WindowPosRelToAbs
ImVec2 WindowPosRelToAbs(ImGuiWindow* window, ImVec2 p)
Undocumented in source. Be warned that the author may not have intended to support it.
WindowRectAbsToRel
ImRect WindowRectAbsToRel(ImGuiWindow* window, ImRect r)
Undocumented in source. Be warned that the author may not have intended to support it.
WindowRectRelToAbs
ImRect WindowRectRelToAbs(ImGuiWindow* window, ImRect r)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta