/  ChuGL UI

UI_Bool

UI_String

UI_Int

UI_Int2

UI_Int3

UI_Int4

UI_Float

UI_Float2

UI_Float3

UI_Float4

UI_Viewport

UI_Style

UI_WindowFlags

UI_ChildFlags

UI_Cond

UI_Color

UI_StyleVar

UI_ButtonFlags

UI_Direction

UI_ComboFlags

UI_SliderFlags

UI_InputTextFlags

UI_ColorEditFlags

UI_TreeNodeFlags

UI_SelectableFlags

UI_PopupFlags

UI_TableFlags

UI_TableRowFlags

UI_TableColumnFlags

UI_TableBgTarget

UI_TabBarFlags

UI_MouseButton

UI_Key

UI_MouseCursor

UI_ViewportFlags

UI_FocusedFlags

UI_HoveredFlags

UI_DockNodeFlags

UI_Callback

UI_SizeCallbackData

UI_SizeCallback

UI_ComboCallback

UI_DrawList

UI

API methods for creating widgets such as buttons, sliders, dropdowns, etc. Use widgets to control parameter values during runtime. Great for experimentation and fine-tuning values. Also usable for building application user-interfaces.

UI_Bool

inherits : Object

No description available

constructors

UI_Bool()

Default constructor for UI_Bool.

UI_Bool(int val)

No description available

member functions

int val()

No description available

void val(int val)

No description available

member variables

int bool_val

No description available


UI_String

inherits : Object

No description available

constructors

UI_String()

Default constructor for UI_String.

UI_String(string str)

No description available

member functions

string val()

No description available

void val(string val)

No description available


UI_Int

inherits : Object

No description available

constructors

UI_Int()

Default constructor for UI_Int.

UI_Int(int initializer_int)

No description available

member functions

int val()

No description available

int val(int val)

No description available


UI_Int2

inherits : Object

No description available

constructors

UI_Int2()

Default constructor for UI_Int2.

member functions

void val(int x, int y)

No description available

int x()

No description available

int y()

No description available


UI_Int3

inherits : Object

No description available

constructors

UI_Int3()

Default constructor for UI_Int3.

member functions

void val(int x, int y, int z)

No description available

int x()

No description available

int y()

No description available

int z()

No description available


UI_Int4

inherits : Object

No description available

constructors

UI_Int4()

Default constructor for UI_Int4.

member functions

void val(int x, int y, int z, int w)

No description available

int w()

No description available

int x()

No description available

int y()

No description available

int z()

No description available


UI_Float

inherits : Object

No description available

constructors

UI_Float()

Default constructor for UI_Float.

UI_Float(float val)

No description available

member functions

float val()

No description available

float val(float val)

No description available


UI_Float2

inherits : Object

No description available

constructors

UI_Float2()

Default constructor for UI_Float2.

UI_Float2(vec2 val)

No description available

member functions

vec2 val()

No description available

vec2 val(vec2 val)

No description available


UI_Float3

inherits : Object

No description available

constructors

UI_Float3()

Default constructor for UI_Float3.

UI_Float3(vec3 val)

No description available

member functions

vec3 val()

No description available

vec3 val(vec3 val)

No description available


UI_Float4

inherits : Object

No description available

constructors

UI_Float4()

Default constructor for UI_Float4.

UI_Float4(vec4 val)

No description available

member functions

vec4 val()

No description available

vec4 val(vec4 val)

No description available


UI_Viewport

inherits : Object

Internal class used by ImGui. DO NOT INSTANTIATE DIRECTLY Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows. With multi-viewport 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. About Main Area vs Work Area: - Main Area = entire viewport. - Work Area = entire viewport minus sections used by main menu bars (for platform windows), or by task bar (for platform monitor). - Windows are generally trying to stay within the Work Area of their host viewport.

constructors

UI_Viewport()

Default constructor for UI_Viewport.

member functions

vec2 center()

Main Area: Center position of the viewport.

float dpiScale()

DPI scale: 1.0f = 96 DPI = No extra scale.

int flags()

Returns the UI_ViewportFlags for the viewport.

int id()

Returns the unique identifier for the viewport.

int parentID()

(Advanced) 0: no parent. Instruct the platform backend to setup a parent/child relationship between platform windows.

vec2 pos()

Main Area: Position of the viewport (Dear ImGui coordinates are the same as OS desktop/native coordinates).

vec2 size()

Main Area: Size of the viewport.

vec2 workCenter()

Work Area: Center position of the viewport.

vec2 workPos()

Work Area: Position of the viewport minus task bars, menus bars, status bars (>= Pos).

vec2 workSize()

Work Area: Size of the viewport minus task bars, menu bars, status bars (<= Size).


UI_Style

inherits : Object

Internal class. Do not instantiate directly. Use UI.getStyle() instead. You may modify the ImGui::GetStyle() main instance during initialization and before NewFrame().During the frame, use UI.pushStyleVar(UI_StyleVar.XXXX)/popStyleVar() to alter the main style values,and UI.pushStyleColor(UI_Color.XXX)/popStyleColor() for colors.

constructors

UI_Style()

Default constructor for UI_Style.

member functions

float alpha()

Global alpha applies to everything in ImGui.

void alpha(float alpha)

No description available

int antiAliasedFill()

Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).

void antiAliasedFill(int antiAliasedFill)

No description available

int antiAliasedLines()

Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).

void antiAliasedLines(int antiAliasedLines)

No description available

int antiAliasedLinesUseTex()

Enable anti-aliased lines/borders using textures where possible. Require backend to render with bilinear filtering (NOT point/nearest filtering). Latched at the beginning of the frame (copied to ImDrawList).

void antiAliasedLinesUseTex(int antiAliasedLinesUseTex)

No description available

vec2 buttonTextAlign()

Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).

void buttonTextAlign(vec2 buttonTextAlign)

No description available

vec2 cellPadding()

Padding within a table cell. Cellpadding.x is locked for entire table. CellPadding.y may be altered between different rows.

void cellPadding(vec2 cellPadding)

No description available

float childBorderSize()

Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

void childBorderSize(float childBorderSize)

No description available

float childRounding()

Radius of child window corners rounding. Set to 0.0f to have rectangular windows.

void childRounding(float childRounding)

No description available

float circleTessellationMaxError()

Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.

void circleTessellationMaxError(float circleTessellationMaxError)

No description available

vec4 color(int ui_color_flag)

Get the color for a specific UI_Color flag.

void color(int ui_color_flag, vec4 color)

No description available

int colorButtonPosition()

Side of the color button in the ColorEdit4 widget (left/right). Defaults to UI_Direction.Right.

void colorButtonPosition(int ui_direction)

No description available

float columnsMinSpacing()

Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).

void columnsMinSpacing(float columnsMinSpacing)

No description available

float curveTessellationTol()

Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.

void curveTessellationTol(float curveTessellationTol)

No description available

float disabledAlpha()

Additional alpha multiplier applied by BeginDisabled(). Multiply over current value of Alpha.

void disabledAlpha(float disabledAlpha)

No description available

vec2 displaySafeAreaPadding()

If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding. Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!

void displaySafeAreaPadding(vec2 displaySafeAreaPadding)

No description available

vec2 displayWindowPadding()

Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows.

void displayWindowPadding(vec2 displayWindowPadding)

No description available

float dockingSeparatorSize()

Thickness of resizing border between docked windows.

void dockingSeparatorSize(float dockingSeparatorSize)

No description available

float frameBorderSize()

Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

void frameBorderSize(float frameBorderSize)

No description available

vec2 framePadding()

Padding within a framed rectangle (used by most widgets).

void framePadding(vec2 framePadding)

No description available

float frameRounding()

Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).

void frameRounding(float frameRounding)

No description available

float grabMinSize()

Minimum width/height of a grab box for slider/scrollbar.

void grabMinSize(float grabMinSize)

No description available

float grabRounding()

Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.

void grabRounding(float grabRounding)

No description available

float hoverDelayNormal()

Delay for IsItemHovered(ImGuiHoveredFlags_DelayNormal).

void hoverDelayNormal(float hoverDelayNormal)

No description available

float hoverDelayShort()

Delay for IsItemHovered(ImGuiHoveredFlags_DelayShort). Usually used along with HoverStationaryDelay.

void hoverDelayShort(float hoverDelayShort)

No description available

int hoverFlagsForTooltipMouse()

Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using mouse.

void hoverFlagsForTooltipMouse(int hoverFlagsForTooltipMouse)

No description available

int hoverFlagsForTooltipNav()

Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using keyboard/gamepad.

void hoverFlagsForTooltipNav(int hoverFlagsForTooltipNav)

No description available

float hoverStationaryDelay()

Delay for IsItemHovered(ImGuiHoveredFlags_Stationary). Time required to consider mouse stationary.

void hoverStationaryDelay(float hoverStationaryDelay)

No description available

float indentSpacing()

Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).

void indentSpacing(float indentSpacing)

No description available

vec2 itemInnerSpacing()

Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).

void itemInnerSpacing(vec2 itemInnerSpacing)

No description available

vec2 itemSpacing()

Horizontal and vertical spacing between widgets/lines.

void itemSpacing(vec2 itemSpacing)

No description available

float logSliderDeadzone()

The size in pixels of the dead-zone around zero on logarithmic sliders that cross zero.

void logSliderDeadzone(float logSliderDeadzone)

No description available

float mouseCursorScale()

Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). We apply per-monitor DPI scaling over this scale. May be removed later.

void mouseCursorScale(float mouseCursorScale)

No description available

float popupBorderSize()

Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

void popupBorderSize(float popupBorderSize)

No description available

float popupRounding()

Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding)

void popupRounding(float popupRounding)

No description available

float scrollbarRounding()

Radius of grab corners for scrollbar.

void scrollbarRounding(float scrollbarRounding)

No description available

float scrollbarSize()

Width of the vertical scrollbar, Height of the horizontal scrollbar.

void scrollbarSize(float scrollbarSize)

No description available

vec2 selectableTextAlign()

Alignment of selectable text. Defaults to (0.0f, 0.0f) (top-left aligned). It's generally important to keep this left-aligned if you want to lay multiple items on a same line.

void selectableTextAlign(vec2 selectableTextAlign)

No description available

vec2 separatorTextAlign()

Alignment of text within the separator. Defaults to (0.0f, 0.5f) (left aligned, center).

void separatorTextAlign(vec2 separatorTextAlign)

No description available

float separatorTextBorderSize()

Thickkness of border in SeparatorText()

void separatorTextBorderSize(float separatorTextBorderSize)

No description available

vec2 separatorTextPadding()

Horizontal offset of text from each edge of the separator + spacing on other axis. Generally small values. .y is recommended to be == FramePadding.y.

void separatorTextPadding(vec2 separatorTextPadding)

No description available

float tabBarBorderSize()

Thickness of tab-bar separator, which takes on the tab active color to denote focus.

void tabBarBorderSize(float tabBarBorderSize)

No description available

float tabBorderSize()

Thickness of border around tabs.

void tabBorderSize(float tabBorderSize)

No description available

float tabMinWidthForCloseButton()

Minimum width for close button to appear on an unselected tab when hovered. Set to 0.0f to always show when hovering, set to FLT_MAX to never show close button unless selected.

void tabMinWidthForCloseButton(float tabMinWidthForCloseButton)

No description available

float tabRounding()

Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.

void tabRounding(float tabRounding)

No description available

float tableAngledHeadersAngle()

Angle of angled headers (supported values range from -50.0f degrees to +50.0f degrees).

void tableAngledHeadersAngle(float tableAngledHeadersAngle)

No description available

vec2 tableAngledHeadersTextAlign()

Alignment of angled headers within the cell.

void tableAngledHeadersTextAlign(vec2 tableAngledHeadersTextAlign)

No description available

vec2 touchExtraPadding()

Expand reactive bounding box for touch-based system where touch position is not accurate enough. Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!

void touchExtraPadding(vec2 touchExtraPadding)

No description available

float windowBorderSize()

Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).

void windowBorderSize(float windowBorderSize)

No description available

int windowMenuButtonPosition()

Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to UI_Direction.Left.

void windowMenuButtonPosition(int ui_direction)

Ui_direction is enum UI_Direction.

vec2 windowMinSize()

Minimum window size. This is a global setting. If you want to constrain individual windows, use SetNextWindowSizeConstraints().

void windowMinSize(vec2 windowMinSize)

No description available

vec2 windowPadding()

Padding within a window.

void windowPadding(vec2 windowPadding)

No description available

float windowRounding()

Radius of window corners rounding. Set to 0.0f to have rectangular windows. Large values tend to lead to variety of artifacts and are not recommended.

void windowRounding(float windowRounding)

No description available

vec2 windowTitleAlign()

Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.

void windowTitleAlign(vec2 windowTitleAlign)

No description available


UI_WindowFlags

inherits : Object

Flags for ImGui::Begin(). (Those are per-window flags. There are shared flags in ImGuiIO: io.ConfigWindowsResizeFromEdges and io.ConfigWindowsMoveFromTitleBarOnly).

static member variables

int AlwaysAutoResize

Resize every window to its content every frame.

int AlwaysHorizontalScrollbar

Always show horizontal scrollbar (even if ContentSize.x < Size.x)

int AlwaysVerticalScrollbar

Always show vertical scrollbar (even if ContentSize.y < Size.y)

int HorizontalScrollbar

Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width,0.0f)); prior to calling Begin() to specify width. Read code in imgui_demo in the "Horizontal Scrolling" section.

int MenuBar

Has a menu-bar.

int NoBackground

Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0f).

int NoBringToFrontOnFocus

Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus)

int NoCollapse

Disable user collapsing window by double-clicking on it. Also referred to as Window Menu Button (e.g. within a docking node).

int NoDecoration

No description available

int NoDocking

Disable docking of this window.

int NoFocusOnAppearing

Disable taking focus when transitioning from hidden to visible state.

int NoInputs

No description available

int NoMouseInputs

Disable catching mouse, hovering test with pass through.

int NoMove

Disable user moving the window.

int NoNav

No description available

int NoNavFocus

No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB)

int NoNavInputs

No gamepad/keyboard navigation within the window.

int None

No description available

int NoResize

Disable user resizing with the lower-right grip.

int NoSavedSettings

Never load/save settings in .ini file.

int NoScrollbar

Disable scrollbars (window can still scroll with mouse or programmatically)

int NoScrollWithMouse

Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set.

int NoTitleBar

Disable title-bar.

int UnsavedDocument

Display a dot next to the title. When used in a tab/docking context, tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar.


UI_ChildFlags

inherits : Object

Flags for ImGui::BeginChild(). (Legacy: bit 0 must always correspond to ImGuiChildFlags_Border to be backward compatible with old API using 'bool border = false'.. About using AutoResizeX/AutoResizeY flags:. - May be combined with SetNextWindowSizeConstraints() to set a min/max size for each axis (see "Demo->Child->Auto-resize with Constraints").. - Size measurement for a given axis is only performed when the child window is within visible boundaries, or is just appearing.. - This allows BeginChild() to return false when not within boundaries (e.g. when scrolling), which is more optimal. BUT it won't update its auto-size while clipped.. While not perfect, it is a better default behavior as the always-on performance gain is more valuable than the occasional "resizing after becoming visible again" glitch.. - You may also use ImGuiChildFlags_AlwaysAutoResize to force an update even when child window is not in view.. HOWEVER PLEASE UNDERSTAND THAT DOING SO WILL PREVENT BeginChild() FROM EVER RETURNING FALSE, disabling benefits of coarse clipping..

static member variables

int AlwaysAutoResize

Combined with AutoResizeX/AutoResizeY. Always measure size even when child is hidden, always return true, always disable clipping optimization! NOT RECOMMENDED.

int AlwaysUseWindowPadding

Pad with style.WindowPadding even if no border are drawn (no padding by default for non-bordered child windows because it makes more sense)

int AutoResizeX

Enable auto-resizing width. Read "IMPORTANT: Size measurement" details above.

int AutoResizeY

Enable auto-resizing height. Read "IMPORTANT: Size measurement" details above.

int Border

Show an outer border and enable WindowPadding. (IMPORTANT: this is always == 1 == true for legacy reason)

int FrameStyle

Style the child window like a framed item: use FrameBg, FrameRounding, FrameBorderSize, FramePadding instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding.

int None

No description available

int ResizeX

Allow resize from right border (layout direction). Enable .ini saving (unless ImGuiWindowFlags_NoSavedSettings passed to window flags)

int ResizeY

Allow resize from bottom border (layout direction). "


UI_Cond

inherits : Object

Enumeration for ImGui::SetNextWindow***(), SetWindow***(), SetNextItem***() functions. Represent a condition.. Important: Treat as a regular enum! Do NOT combine multiple values using binary operators! All the functions above treat 0 as a shortcut to ImGuiCond_Always..

static member variables

int Always

No condition (always set the variable), same as _None.

int Appearing

Set the variable if the object/window is appearing after being hidden/inactive (or the first time)

int FirstUseEver

Set the variable if the object/window has no persistently saved data (no entry in .ini file)

int None

No condition (always set the variable), same as _Always.

int Once

Set the variable once per runtime session (only the first call will succeed)


UI_Color

inherits : Object

Enumeration for PushStyleColor() / PopStyleColor(). A color identifier for styling.

static member variables

int Border

No description available

int BorderShadow

No description available

int Button

No description available

int ButtonActive

No description available

int ButtonHovered

No description available

int CheckMark

Checkbox tick and RadioButton circle.

int ChildBg

Background of child windows.

int COUNT

No description available

int DockingEmptyBg

Background color for empty node (e.g. CentralNode with no window docked into it)

int DockingPreview

Preview overlay color when about to docking something.

int DragDropTarget

Rectangle highlighting a drop target.

int FrameBg

Background of checkbox, radio button, plot, slider, text input.

int FrameBgActive

No description available

int FrameBgHovered

No description available

int Header

Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem.

int HeaderActive

No description available

int HeaderHovered

No description available

int MenuBarBg

No description available

int ModalWindowDimBg

Darken/colorize entire screen behind a modal window, when one is active.

int NavHighlight

Gamepad/keyboard: current highlighted item.

int NavWindowingDimBg

Darken/colorize entire screen behind the CTRL+TAB window list, when active.

int NavWindowingHighlight

Highlight window when using CTRL+TAB.

int PlotHistogram

No description available

int PlotHistogramHovered

No description available

int PlotLines

No description available

int PlotLinesHovered

No description available

int PopupBg

Background of popups, menus, tooltips windows.

int ResizeGrip

Resize grip in lower-right and lower-left corners of windows.

int ResizeGripActive

No description available

int ResizeGripHovered

No description available

int ScrollbarBg

No description available

int ScrollbarGrab

No description available

int ScrollbarGrabActive

No description available

int ScrollbarGrabHovered

No description available

int Separator

No description available

int SeparatorActive

No description available

int SeparatorHovered

No description available

int SliderGrab

No description available

int SliderGrabActive

No description available

int Tab

TabItem in a TabBar.

int TabActive

No description available

int TabHovered

No description available

int TableBorderLight

Table inner borders (prefer using Alpha=1.0 here)

int TableBorderStrong

Table outer and header borders (prefer using Alpha=1.0 here)

int TableHeaderBg

Table header background.

int TableRowBg

Table row background (even rows)

int TableRowBgAlt

Table row background (odd rows)

int TabUnfocused

No description available

int TabUnfocusedActive

No description available

int Text

No description available

int TextDisabled

No description available

int TextSelectedBg

No description available

int TitleBg

Title bar.

int TitleBgActive

Title bar when focused.

int TitleBgCollapsed

Title bar when collapsed.

int WindowBg

Background of normal windows.


UI_StyleVar

inherits : Object

Enumeration for PushStyleVar() / PopStyleVar() to temporarily modify the ImGuiStyle structure.. - The enum only refers to fields of ImGuiStyle which makes sense to be pushed/popped inside UI code.. During initialization or between frames, feel free to just poke into ImGuiStyle directly.. - Tip: Use your programming IDE navigation facilities on the names in the _second column_ below to find the actual members and their description.. - In Visual Studio: CTRL+comma ("Edit.GoToAll") can follow symbols inside comments, whereas CTRL+F12 ("Edit.GoToImplementation") cannot.. - In Visual Studio w/ Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols inside comments.. - In VS Code, CLion, etc.: CTRL+click can follow symbols inside comments.. - When changing this enum, you need to update the associated internal table GStyleVarInfo[] accordingly. This is where we link enum values to members offset/type..

static member variables

int Alpha

Float Alpha.

int ButtonTextAlign

ImVec2 ButtonTextAlign.

int CellPadding

ImVec2 CellPadding.

int ChildBorderSize

Float ChildBorderSize.

int ChildRounding

Float ChildRounding.

int COUNT

No description available

int DisabledAlpha

Float DisabledAlpha.

int DockingSeparatorSize

Float DockingSeparatorSize.

int FrameBorderSize

Float FrameBorderSize.

int FramePadding

ImVec2 FramePadding.

int FrameRounding

Float FrameRounding.

int GrabMinSize

Float GrabMinSize.

int GrabRounding

Float GrabRounding.

int IndentSpacing

Float IndentSpacing.

int ItemInnerSpacing

ImVec2 ItemInnerSpacing.

int ItemSpacing

ImVec2 ItemSpacing.

int PopupBorderSize

Float PopupBorderSize.

int PopupRounding

Float PopupRounding.

int ScrollbarRounding

Float ScrollbarRounding.

int ScrollbarSize

Float ScrollbarSize.

int SelectableTextAlign

ImVec2 SelectableTextAlign.

int SeparatorTextAlign

ImVec2 SeparatorTextAlign.

int SeparatorTextBorderSize

Float SeparatorTextBorderSize.

int SeparatorTextPadding

ImVec2 SeparatorTextPadding.

int TabBarBorderSize

Float TabBarBorderSize.

int TabBorderSize

Float TabBorderSize.

int TableAngledHeadersAngle

Float TableAngledHeadersAngle.

int TableAngledHeadersTextAlign

ImVec2 TableAngledHeadersTextAlign.

int TabRounding

Float TabRounding.

int WindowBorderSize

Float WindowBorderSize.

int WindowMinSize

ImVec2 WindowMinSize.

int WindowPadding

ImVec2 WindowPadding.

int WindowRounding

Float WindowRounding.

int WindowTitleAlign

ImVec2 WindowTitleAlign.


UI_ButtonFlags

inherits : Object

Flags for InvisibleButton() [extended in imgui_internal.h].

static member variables

int MouseButtonLeft

React on left mouse button (default)

int MouseButtonMiddle

React on center mouse button.

int MouseButtonRight

React on right mouse button.

int None

No description available


UI_Direction

inherits : Object

A cardinal direction.

static member variables

int COUNT

No description available

int Down

No description available

int Left

No description available

int None

No description available

int Right

No description available

int Up

No description available


UI_ComboFlags

inherits : Object

Flags for ImGui::BeginCombo().

static member variables

int HeightLarge

Max ~20 items visible.

int HeightLargest

As many fitting items as possible.

int HeightRegular

Max ~8 items visible (default)

int HeightSmall

Max ~4 items visible. Tip: If you want your combo popup to be a specific size you can use SetNextWindowSizeConstraints() prior to calling BeginCombo()

int NoArrowButton

Display on the preview box without the square arrow button.

int None

No description available

int NoPreview

Display only a square arrow button.

int PopupAlignLeft

Align the popup toward the left by default.

int WidthFitPreview

Width dynamically calculated from preview contents.


UI_SliderFlags

inherits : Object

Flags for DragFloat(), DragInt(), SliderFloat(), SliderInt() etc.. 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.. (Those are per-item flags. There are shared flags in ImGuiIO: io.ConfigDragClickToInputText).

static member variables

int AlwaysClamp

Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds.

int Logarithmic

Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.

int NoInput

Disable CTRL+Click or Enter key allowing to input text directly into the widget.

int None

No description available

int NoRoundToFormat

Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits)


UI_InputTextFlags

inherits : Object

Flags for ImGui::InputText(). (Those are per-item flags. There are shared flags in ImGuiIO: io.ConfigInputTextCursorBlink and io.ConfigInputTextEnterKeepActive).

static member variables

int AllowTabInput

Pressing TAB input a '\t' character into the text field.

int AlwaysOverwrite

Overwrite mode.

int AutoSelectAll

Select entire text when first taking mouse focus.

int CallbackAlways

Callback on each iteration. User code may query cursor position, modify text buffer.

int CallbackCharFilter

Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.

int CallbackCompletion

Callback on pressing TAB (for completion handling)

int CallbackEdit

Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active)

int CallbackHistory

Callback on pressing Up/Down arrows (for history handling)

int CallbackResize

Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this)

int CharsDecimal

Allow 0123456789.+-*/.

int CharsHexadecimal

Allow 0123456789ABCDEFabcdef.

int CharsNoBlank

Filter out spaces, tabs.

int CharsScientific

Allow 0123456789.+-*/eE (Scientific notation input)

int CharsUppercase

Turn a..z into A..Z.

int CtrlEnterForNewLine

In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).

int EnterReturnsTrue

Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.

int EscapeClearsAll

Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert)

int NoHorizontalScroll

Disable following the cursor horizontally.

int None

No description available

int NoUndoRedo

Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().

int Password

Password mode, display all characters as '*'

int ReadOnly

Read-only mode.


UI_ColorEditFlags

inherits : Object

Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton().

static member variables

int AlphaBar

ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.

int AlphaPreview

ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.

int AlphaPreviewHalf

ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.

int DisplayHex

[Display] "

int DisplayHSV

[Display] "

int DisplayRGB

[Display] ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex.

int Float

[DataType] ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0f..1.0f floats instead of 0..255 integers. No round-trip of value via integers.

int HDR

(WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well).

int InputHSV

[Input] ColorEdit, ColorPicker: input and output data in HSV format.

int InputRGB

[Input] ColorEdit, ColorPicker: input and output data in RGB format.

int NoAlpha

ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer).

int NoBorder

ColorButton: disable border (which is enforced by default)

int NoDragDrop

ColorEdit: disable drag and drop target. ColorButton: disable drag and drop source.

int NoInputs

ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square).

int NoLabel

ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).

int None

No description available

int NoOptions

ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.

int NoPicker

ColorEdit: disable picker when clicking on color square.

int NoSidePreview

ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead.

int NoSmallPreview

ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs)

int NoTooltip

ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.

int PickerHueBar

[Picker] ColorPicker: bar for Hue, rectangle for Sat/Value.

int PickerHueWheel

[Picker] ColorPicker: wheel for Hue, triangle for Sat/Value.

int Uint8

[DataType] ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255.


UI_TreeNodeFlags

inherits : Object

Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*().

static member variables

int AllowOverlap

Hit testing to allow subsequent widgets to overlap this one.

int Bullet

Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don't set the _Leaf flag!

int CollapsingHeader

No description available

int DefaultOpen

Default node to be open.

int Framed

Draw frame with background (e.g. for CollapsingHeader)

int FramePadding

Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding().

int Leaf

No collapsing, no arrow (use as a convenience for leaf nodes).

int NavLeftJumpsBackHere

(WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop)

int NoAutoOpenOnLog

Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes)

int None

No description available

int NoTreePushOnOpen

Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack.

int OpenOnArrow

Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.

int OpenOnDoubleClick

Need double-click to open node.

int Selected

Draw as selected.

int SpanAllColumns

Frame will span all columns of its container table (text will still fit in current column)

int SpanAvailWidth

Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line without using AllowOverlap mode.

int SpanFullWidth

Extend hit box to the left-most and right-most edges (cover the indent area).

int SpanTextWidth

Narrow hit box + narrow hovering highlight, will only cover the label text.


UI_SelectableFlags

inherits : Object

Flags for ImGui::Selectable().

static member variables

int AllowDoubleClick

Generate press events on double clicks too.

int AllowOverlap

(WIP) Hit testing to allow subsequent widgets to overlap this one.

int Disabled

Cannot be selected, display grayed out text.

int DontClosePopups

Clicking this doesn't close parent popup window.

int None

No description available

int SpanAllColumns

Frame will span all columns of its container table (text will still fit in current column)


UI_PopupFlags

inherits : Object

Flags for OpenPopup*(), BeginPopupContext*(), IsPopupOpen() functions.. - To be backward compatible with older API which took an 'int mouse_button = 1' argument instead of 'ImGuiPopupFlags flags',. we need to treat small flags values as a mouse button index, so we encode the mouse button in the first few bits of the flags.. It is therefore guaranteed to be legal to pass a mouse button index in ImGuiPopupFlags.. - For the same reason, we exceptionally default the ImGuiPopupFlags argument of BeginPopupContextXXX functions to 1 instead of 0.. IMPORTANT: because the default parameter is 1 (==ImGuiPopupFlags_MouseButtonRight), if you rely on the default parameter. and want to use another flag, you need to pass in the ImGuiPopupFlags_MouseButtonRight flag explicitly.. - Multiple buttons currently cannot be combined/or-ed in those functions (we could allow it later)..

static member variables

int AnyPopup

No description available

int AnyPopupId

For IsPopupOpen(): ignore the ImGuiID parameter and test for any popup.

int AnyPopupLevel

For IsPopupOpen(): search/test at any level of the popup stack (default test in the current level)

int MouseButtonLeft

For BeginPopupContext*(): open on Left Mouse release. Guaranteed to always be == 0 (same as ImGuiMouseButton_Left)

int MouseButtonMiddle

For BeginPopupContext*(): open on Middle Mouse release. Guaranteed to always be == 2 (same as ImGuiMouseButton_Middle)

int MouseButtonRight

For BeginPopupContext*(): open on Right Mouse release. Guaranteed to always be == 1 (same as ImGuiMouseButton_Right)

int None

No description available

int NoOpenOverExistingPopup

For OpenPopup*(), BeginPopupContext*(): don't open if there's already a popup at the same level of the popup stack.

int NoOpenOverItems

For BeginPopupContextWindow(): don't return true when hovering items, only when hovering empty space.

int NoReopen

For OpenPopup*(), BeginPopupContext*(): don't reopen same popup if already open (won't reposition, won't reinitialize navigation)


UI_TableFlags

inherits : Object

Flags for ImGui::BeginTable(). - Important! Sizing policies have complex and subtle side effects, much more so than you would expect.. Read comments/demos carefully + experiment with live demos to get acquainted with them.. - The DEFAULT sizing policies are:. - Default to ImGuiTableFlags_SizingFixedFit if ScrollX is on, or if host window has ImGuiWindowFlags_AlwaysAutoResize.. - Default to ImGuiTableFlags_SizingStretchSame if ScrollX is off.. - When ScrollX is off:. - Table defaults to ImGuiTableFlags_SizingStretchSame -> all Columns defaults to ImGuiTableColumnFlags_WidthStretch with same weight.. - Columns sizing policy allowed: Stretch (default), Fixed/Auto.. - Fixed Columns (if any) will generally obtain their requested width (unless the table cannot fit them all).. - Stretch Columns will share the remaining width according to their respective weight.. - Mixed Fixed/Stretch columns is possible but has various side-effects on resizing behaviors.. The typical use of mixing sizing policies is: any number of LEADING Fixed columns, followed by one or two TRAILING Stretch columns.. (this is because the visible order of columns have subtle but necessary effects on how they react to manual resizing).. - When ScrollX is on:. - Table defaults to ImGuiTableFlags_SizingFixedFit -> all Columns defaults to ImGuiTableColumnFlags_WidthFixed. - Columns sizing policy allowed: Fixed/Auto mostly.. - Fixed Columns can be enlarged as needed. Table will show a horizontal scrollbar if needed.. - When using auto-resizing (non-resizable) fixed columns, querying the content width to use item right-alignment e.g. SetNextItemWidth(-FLT_MIN) doesn't make sense, would create a feedback loop.. - Using Stretch columns OFTEN DOES NOT MAKE SENSE if ScrollX is on, UNLESS you have specified a value for 'inner_width' in BeginTable().. If you specify a value for 'inner_width' then effectively the scrolling space is known and Stretch or mixed Fixed/Stretch columns become meaningful again.. - Read on documentation at the top of imgui_tables.cpp for details..

static member variables

int Borders

Draw all borders.

int BordersH

Draw horizontal borders.

int BordersInner

Draw inner borders.

int BordersInnerH

Draw horizontal borders between rows.

int BordersInnerV

Draw vertical borders between columns.

int BordersOuter

Draw outer borders.

int BordersOuterH

Draw horizontal borders at the top and bottom.

int BordersOuterV

Draw vertical borders on the left and right sides.

int BordersV

Draw vertical borders.

int ContextMenuInBody

Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow().

int Hideable

Enable hiding/disabling columns in context menu.

int HighlightHoveredColumn

Highlight column headers when hovered (may evolve into a fuller highlight)

int NoBordersInBody

[ALPHA] Disable vertical borders in columns Body (borders will always appear in Headers). -> May move to style.

int NoBordersInBodyUntilResize

[ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appear in Headers). -> May move to style.

int NoClip

Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze().

int NoHostExtendX

Make outer width auto-fit to columns, overriding outer_size.x value. Only available when ScrollX/ScrollY are disabled and Stretch columns are not used.

int NoHostExtendY

Make outer height stop exactly at outer_size.y (prevent auto-extending table past the limit). Only available when ScrollX/ScrollY are disabled. Data below the limit will be clipped and not visible.

int NoKeepColumnsVisible

Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable.

int None

No description available

int NoPadInnerX

Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off).

int NoPadOuterX

Default if BordersOuterV is off. Disable outermost padding.

int NoSavedSettings

Disable persisting columns order, width and sort settings in the .ini file.

int PadOuterX

Default if BordersOuterV is on. Enable outermost padding. Generally desirable if you have headers.

int PreciseWidths

Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth.

int Reorderable

Enable reordering columns in header row (need calling TableSetupColumn() + TableHeadersRow() to display headers)

int Resizable

Enable resizing columns.

int RowBg

Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually)

int ScrollX

Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this creates a child window, ScrollY is currently generally recommended when using ScrollX.

int ScrollY

Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size.

int SizingFixedFit

Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width.

int SizingFixedSame

Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible.

int SizingStretchProp

Columns default to _WidthStretch with default weights proportional to each columns contents widths.

int SizingStretchSame

Columns default to _WidthStretch with default weights all equal, unless overridden by TableSetupColumn().

int Sortable

Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate.

int SortMulti

Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1).

int SortTristate

Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0).


UI_TableRowFlags

inherits : Object

Flags for ImGui::TableNextRow().

static member variables

int Headers

Identify header row (set default background color + width of its contents accounted differently for auto column width)

int None

No description available


UI_TableColumnFlags

inherits : Object

Flags for ImGui::TableSetupColumn().

static member variables

int AngledHeader

TableHeadersRow() will submit an angled header row for this column. Note this will add an extra row.

int DefaultHide

Default as a hidden/disabled column.

int DefaultSort

Default as a sorting column.

int Disabled

Overriding/master disable flag: hide column, won't show in context menu (unlike calling TableSetColumnEnabled() which manipulates the user accessible state)

int IndentDisable

Ignore current Indent value when entering cell (default for columns > 0). Indentation changes _within_ the cell will still be honored.

int IndentEnable

Use current Indent value when entering cell (default for column 0).

int IsEnabled

Status: is enabled == not hidden by user/api (referred to as "Hide" in _DefaultHide and _NoHide) flags.

int IsHovered

Status: is hovered by mouse.

int IsSorted

Status: is currently part of the sort specs.

int IsVisible

Status: is visible == is enabled AND not clipped by scrolling.

int NoClip

Disable clipping for this column (all NoClip columns will render in a same draw command).

int NoHeaderLabel

TableHeadersRow() will not submit horizontal label for this column. Convenient for some small columns. Name will still appear in context menu or in angled headers.

int NoHeaderWidth

Disable header text width contribution to automatic column width.

int NoHide

Disable ability to hide/disable this column.

int None

No description available

int NoReorder

Disable manual reordering this column, this will also prevent other columns from crossing over this column.

int NoResize

Disable manual resizing.

int NoSort

Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table).

int NoSortAscending

Disable ability to sort in the ascending direction.

int NoSortDescending

Disable ability to sort in the descending direction.

int PreferSortAscending

Make the initial sort direction Ascending when first sorting on this column (default).

int PreferSortDescending

Make the initial sort direction Descending when first sorting on this column.

int WidthFixed

Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable).

int WidthStretch

Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp).


UI_TableBgTarget

inherits : Object

Enum for ImGui::TableSetBgColor(). Background colors are rendering in 3 layers:. - Layer 0: draw with RowBg0 color if set, otherwise draw with ColumnBg0 if set.. - Layer 1: draw with RowBg1 color if set, otherwise draw with ColumnBg1 if set.. - Layer 2: draw with CellBg color if set.. The purpose of the two row/columns layers is to let you decide if a background color change should override or blend with the existing color.. When using ImGuiTableFlags_RowBg on the table, each row has the RowBg0 color automatically set for odd/even rows.. If you set the color of RowBg0 target, your color will override the existing RowBg0 color.. If you set the color of RowBg1 or ColumnBg1 target, your color will blend over the RowBg0 color..

static member variables

int CellBg

Set cell background color (top-most color)

int None

No description available

int RowBg0

Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used)

int RowBg1

Set row background color 1 (generally used for selection marking)


UI_TabBarFlags

inherits : Object

Flags for ImGui::BeginTabBar().

static member variables

int AutoSelectNewTabs

Automatically select new tabs when they appear.

int FittingPolicyResizeDown

Resize tabs when they don't fit.

int FittingPolicyScroll

Add scroll buttons when tabs don't fit.

int NoCloseWithMiddleMouseButton

Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You may handle this behavior manually on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false.

int None

No description available

int NoTabListScrollingButtons

Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll)

int NoTooltip

Disable tooltips when hovering a tab.

int Reorderable

Allow manually dragging tabs to re-order them + New tabs are appended at the end of list.

int TabListPopupButton

Disable buttons to open the tab list popup.


UI_MouseButton

inherits : Object

Identify a mouse button.. Those values are guaranteed to be stable and we frequently use 0/1 directly. Named enums provided for convenience..

static member variables

int COUNT

No description available

int Left

No description available

int Middle

No description available

int Right

No description available


UI_Key

inherits : Object

A key identifier (ImGuiKey_XXX or ImGuiMod_XXX value): can represent Keyboard, Mouse and Gamepad values.. All our named keys are >= 512. Keys value 0 to 511 are left unused as legacy native/opaque key values (< 1.87).. Since >= 1.89 we increased typing (went from int to enum), some legacy code may need a cast to ImGuiKey.. Read details about the 1.87 and 1.89 transition : https:github.com/ocornut/imgui/issues/4921. Note that "Keys" related to physical keys and are not the same concept as input "Characters", the later are submitted via io.AddInputCharacter().. The keyboard key enum values are named after the keys on a standard US keyboard, and on other keyboard types the keys reported may not match the keycaps.. Forward declared enum type ImGuiKey.

static member variables

int A

No description available

int Apostrophe

'

int AppBack

Available on some keyboard/mouses. Often referred as "Browser Back"

int AppForward

No description available

int B

No description available

int Backslash

\ (this text inhibit multiline comment caused by backslash)

int Backspace

No description available

int C

No description available

int CapsLock

No description available

int Comma

,

int D

No description available

int Delete

No description available

int DownArrow

No description available

int E

No description available

int End

No description available

int Enter

No description available

int Equal

=.

int Escape

No description available

int F

No description available

int F1

No description available

int F10

No description available

int F11

No description available

int F12

No description available

int F13

No description available

int F14

No description available

int F15

No description available

int F16

No description available

int F17

No description available

int F18

No description available

int F19

No description available

int F2

No description available

int F20

No description available

int F21

No description available

int F22

No description available

int F23

No description available

int F24

No description available

int F3

No description available

int F4

No description available

int F5

No description available

int F6

No description available

int F7

No description available

int F8

No description available

int F9

No description available

int G

No description available

int GamepadBack

View (Xbox) - (Switch) Share (PS)

int GamepadDpadDown

D-pad Down Move / Tweak / Resize Window (in Windowing mode)

int GamepadDpadLeft

D-pad Left Move / Tweak / Resize Window (in Windowing mode)

int GamepadDpadRight

D-pad Right Move / Tweak / Resize Window (in Windowing mode)

int GamepadDpadUp

D-pad Up Move / Tweak / Resize Window (in Windowing mode)

int GamepadFaceDown

A (Xbox) B (Switch) Cross (PS) Activate / Open / Toggle / Tweak.

int GamepadFaceLeft

X (Xbox) Y (Switch) Square (PS) Tap: Toggle Menu. Hold: Windowing mode (Focus/Move/Resize windows)

int GamepadFaceRight

B (Xbox) A (Switch) Circle (PS) Cancel / Close / Exit.

int GamepadFaceUp

Y (Xbox) X (Switch) Triangle (PS) Text Input / On-screen Keyboard.

int GamepadL1

L Bumper (Xbox) L (Switch) L1 (PS) Tweak Slower / Focus Previous (in Windowing mode)

int GamepadL2

L Trig. (Xbox) ZL (Switch) L2 (PS) [Analog].

int GamepadL3

L Stick (Xbox) L3 (Switch) L3 (PS)

int GamepadLStickDown

[Analog] Move Window (in Windowing mode)

int GamepadLStickLeft

[Analog] Move Window (in Windowing mode)

int GamepadLStickRight

[Analog] Move Window (in Windowing mode)

int GamepadLStickUp

[Analog] Move Window (in Windowing mode)

int GamepadR1

R Bumper (Xbox) R (Switch) R1 (PS) Tweak Faster / Focus Next (in Windowing mode)

int GamepadR2

R Trig. (Xbox) ZR (Switch) R2 (PS) [Analog].

int GamepadR3

R Stick (Xbox) R3 (Switch) R3 (PS)

int GamepadRStickDown

[Analog].

int GamepadRStickLeft

[Analog].

int GamepadRStickRight

[Analog].

int GamepadRStickUp

[Analog].

int GamepadStart

Menu (Xbox) + (Switch) Start/Options (PS)

int GraveAccent

`.

int H

No description available

int Home

No description available

int I

No description available

int Insert

No description available

int J

No description available

int K

No description available

int Keypad0

No description available

int Keypad1

No description available

int Keypad2

No description available

int Keypad3

No description available

int Keypad4

No description available

int Keypad5

No description available

int Keypad6

No description available

int Keypad7

No description available

int Keypad8

No description available

int Keypad9

No description available

int KeypadAdd

No description available

int KeypadDecimal

No description available

int KeypadDivide

No description available

int KeypadEnter

No description available

int KeypadEqual

No description available

int KeypadMultiply

No description available

int KeypadSubtract

No description available

int KeysData_OFFSET

Accesses to io.KeysData[] must use (key - ImGuiKey_KeysData_OFFSET) index.

int KeysData_SIZE

Size of KeysData[]: only hold named keys.

int L

No description available

int LeftAlt

No description available

int LeftArrow

No description available

int LeftBracket

[.

int LeftCtrl

No description available

int LeftShift

No description available

int LeftSuper

No description available

int M

No description available

int Menu

No description available

int Minus

-.

int Mod_Alt

Option/Menu.

int Mod_Ctrl

Ctrl (non-macOS), Cmd (macOS)

int Mod_None

No description available

int Mod_Shift

Shift.

int Mod_Super

Windows/Super (non-macOS), Ctrl (macOS)

int MouseLeft

No description available

int MouseMiddle

No description available

int MouseRight

No description available

int MouseWheelX

No description available

int MouseWheelY

No description available

int MouseX1

No description available

int MouseX2

No description available

int N

No description available

int None

No description available

int Num0

No description available

int Num1

No description available

int Num2

No description available

int Num3

No description available

int Num4

No description available

int Num5

No description available

int Num6

No description available

int Num7

No description available

int Num8

No description available

int Num9

No description available

int NumLock

No description available

int O

No description available

int P

No description available

int PageDown

No description available

int PageUp

No description available

int Pause

No description available

int Period

.

int PrintScreen

No description available

int Q

No description available

int R

No description available

int RightAlt

No description available

int RightArrow

No description available

int RightBracket

].

int RightCtrl

No description available

int RightShift

No description available

int RightSuper

No description available

int S

No description available

int ScrollLock

No description available

int Semicolon

;.

int Slash

/.

int Space

No description available

int T

No description available

int Tab

== ImGuiKey_NamedKey_BEGIN.

int U

No description available

int UpArrow

No description available

int V

No description available

int W

No description available

int X

No description available

int Y

No description available

int Z

No description available


UI_MouseCursor

inherits : Object

Enumeration for GetMouseCursor(). User code may request backend to display given cursor by calling SetMouseCursor(), which is why we have some cursors that are marked unused here.

static member variables

int Arrow

No description available

int COUNT

No description available

int Hand

(Unused by Dear ImGui functions. Use for e.g. hyperlinks)

int None

No description available

int NotAllowed

When hovering something with disallowed interaction. Usually a crossed circle.

int ResizeAll

(Unused by Dear ImGui functions)

int ResizeEW

When hovering over a vertical border or a column.

int ResizeNESW

When hovering over the bottom-left corner of a window.

int ResizeNS

When hovering over a horizontal border.

int ResizeNWSE

When hovering over the bottom-right corner of a window.

int TextInput

When hovering over InputText, etc.


UI_ViewportFlags

inherits : Object

Flags stored in ImGuiViewport::Flags, giving indications to the platform backends..

static member variables

int CanHostOtherWindows

Viewport can host multiple imgui windows (secondary viewports are associated to a single window). FIXME: In practice there's still probably code making the assumption that this is always and only on the MainViewport. Will fix once we add support for "no main viewport".

int IsFocused

Platform Window: Window is focused (last call to Platform_GetWindowFocus() returned true)

int IsMinimized

Platform Window: Window is minimized, can skip render. When minimized we tend to avoid using the viewport pos/size for clipping window or testing if they are contained in the viewport.

int IsPlatformMonitor

Represent a Platform Monitor (unused yet)

int IsPlatformWindow

Represent a Platform Window.

int NoAutoMerge

Platform Window: Avoid merging this window into another host window. This can only be set via ImGuiWindowClass viewport flags override (because we need to now ahead if we are going to create a viewport in the first place!).

int NoDecoration

Platform Window: Disable platform decorations: title bar, borders, etc. (generally set all windows, but if ImGuiConfigFlags_ViewportsDecoration is set we only set this on popups/tooltips)

int NoFocusOnAppearing

Platform Window: Don't take focus when created.

int NoFocusOnClick

Platform Window: Don't take focus when clicked on.

int NoInputs

Platform Window: Make mouse pass through so we can drag this window while peaking behind it.

int None

No description available

int NoRendererClear

Platform Window: Renderer doesn't need to clear the framebuffer ahead (because we will fill it entirely).

int NoTaskBarIcon

Platform Window: Disable platform task bar icon (generally set on popups/tooltips, or all windows if ImGuiConfigFlags_ViewportsNoTaskBarIcon is set)

int OwnedByApp

Platform Window: Was created/managed by the user application? (rather than our backend)

int TopMost

Platform Window: Display on top (for tooltips only).


UI_FocusedFlags

inherits : Object

Flags for ImGui::IsWindowFocused().

static member variables

int AnyWindow

Return true if any window is focused. Important: If you are trying to tell how to dispatch your low-level inputs, do NOT use this. Use 'io.WantCaptureMouse' instead! Please read the FAQ!

int ChildWindows

Return true if any children of the window is focused.

int DockHierarchy

Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow)

int None

No description available

int NoPopupHierarchy

Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow)

int RootAndChildWindows

No description available

int RootWindow

Test from root window (top most parent of the current hierarchy)


UI_HoveredFlags

inherits : Object

Flags for ImGui::IsItemHovered(), ImGui::IsWindowHovered(). Note: if you are trying to check whether your mouse should be dispatched to Dear ImGui or to your app, you should use 'io.WantCaptureMouse' instead! Please read the FAQ!. Note: windows with the ImGuiWindowFlags_NoInputs flag are ignored by IsWindowHovered() calls..

static member variables

int AllowWhenBlockedByActiveItem

Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.

int AllowWhenBlockedByPopup

Return true even if a popup window is normally blocking access to this item/window.

int AllowWhenDisabled

IsItemHovered() only: Return true even if the item is disabled.

int AllowWhenOverlapped

No description available

int AllowWhenOverlappedByItem

IsItemHovered() only: Return true even if the item uses AllowOverlap mode and is overlapped by another hoverable item.

int AllowWhenOverlappedByWindow

IsItemHovered() only: Return true even if the position is obstructed or overlapped by another window.

int AnyWindow

IsWindowHovered() only: Return true if any window is hovered.

int ChildWindows

IsWindowHovered() only: Return true if any children of the window is hovered.

int DelayNone

IsItemHovered() only: Return true immediately (default). As this is the default you generally ignore this.

int DelayNormal

IsItemHovered() only: Return true after style.HoverDelayNormal elapsed (~0.40 sec) (shared between items) + requires mouse to be stationary for style.HoverStationaryDelay (once per item).

int DelayShort

IsItemHovered() only: Return true after style.HoverDelayShort elapsed (~0.15 sec) (shared between items) + requires mouse to be stationary for style.HoverStationaryDelay (once per item).

int DockHierarchy

IsWindowHovered() only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow)

int ForTooltip

Shortcut for standard flags when using IsItemHovered() + SetTooltip() sequence.

int NoNavOverride

IsItemHovered() only: Disable using gamepad/keyboard navigation state when active, always query mouse.

int None

Return true if directly over the item/window, not obstructed by another window, not obstructed by an active popup or modal blocking inputs under them.

int NoPopupHierarchy

IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow)

int NoSharedDelay

IsItemHovered() only: Disable shared delay system where moving from one item to the next keeps the previous timer for a short time (standard for tooltips with long delays)

int RectOnly

No description available

int RootAndChildWindows

No description available

int RootWindow

IsWindowHovered() only: Test from root window (top most parent of the current hierarchy)

int Stationary

Require mouse to be stationary for style.HoverStationaryDelay (~0.15 sec) _at least one time_. After this, can move on same item/window. Using the stationary test tends to reduces the need for a long delay.


UI_DockNodeFlags

inherits : Object

Flags for ImGui::DockSpace(), shared/inherited by child nodes.. (Some flags can be applied to individual nodes directly). FIXME-DOCK: Also see ImGuiDockNodeFlagsPrivate_ which may involve using the WIP and internal DockBuilder api..

static member variables

int AutoHideTabBar

Tab bar will automatically hide when there is a single window in the dock node.

int KeepAliveOnly

Don't display the dockspace node but keep it alive. Windows docked into this dockspace node won't be undocked.

int NoDockingOverCentralNode

Disable docking over the Central Node, which will be always kept empty.

int NoDockingSplit

Disable other windows/nodes from splitting this node.

int None

No description available

int NoResize

Saved Disable resizing node using the splitter/separators. Useful with programmatically setup dockspaces.

int NoUndocking

Disable undocking this node.

int PassthruCentralNode

Enable passthru dockspace: 1) DockSpace() will render a ImGuiCol_WindowBg background covering everything excepted the Central Node when empty. Meaning the host window should probably use SetNextWindowBgAlpha(0.0f) prior to Begin() when using this. 2) When Central Node is empty: let inputs pass-through + won't display a DockingEmptyBg background. See demo for details.


UI_Callback

inherits : Object

Base class for ImGui callback functions. Don't use this class directly.

constructors

UI_Callback()

Default constructor for UI_Callback.


UI_SizeCallbackData

inherits : Object

No description available

constructors

UI_SizeCallbackData()

Default constructor for UI_SizeCallbackData.

member functions

vec2 currentSize()

Read-only current window size.

vec2 desiredSize()

Read-write desired size, based on user's mouse position. Write to this field to restrain resizing.

vec2 desiredSize(vec2 desired_size)

Write desired size, based on user's mouse position. Write to this field to restrain resizing.

vec2 getPos()

Read-only window position, for reference.


UI_SizeCallback

inherits : UI_Callback : Object

No description available

constructors

UI_SizeCallback()

Default constructor for UI_SizeCallback.

member functions

void handler(UI_SizeCallbackData data)

Callback function for ImGui::SetNextWindowSizeConstraints()


UI_ComboCallback

inherits : UI_Callback : Object

No description available

constructors

UI_ComboCallback()

Default constructor for UI_ComboCallback.

member functions

void handler(int idx)

No description available


UI_DrawList

inherits : Object

All methods add to the current window draw list (igGetWindowDrawList()).This is the low-level list of polygons that ImGui:: functions are filling. At the end of the frame,all command lists are passed to your ImGuiIO::RenderDrawListFn function for rendering.Each dear imgui window contains its own ImDrawList.You can interleave normal ImGui:: calls and adding primitives to the current draw list.In single viewport mode, top-left is == GetMainViewport()->Pos (generally 0,0), bottom-right is == GetMainViewport()->Pos+Size (generally io.DisplaySize).You are totally free to apply whatever transformation matrix to want to the data (depending on the use of the transformation you may want to apply it to ClipRect as well!)Important: Primitives are always added to the list and not culled (culling is done at higher-level by ImGui:: functions), if you use this API a lot consider coarse culling your drawn objects.Filled shapes must always use clockwise winding order. The anti-aliasing fringe depends on it. Counter-clockwise shapes will have inward anti-aliasing.For rectangular primitives, "p_min" and "p_max" represent the upper-left and lower-right corners.For circle primitives, use "num_segments == 0" to automatically calculate tessellation (preferred).In older versions (until Dear ImGui 1.77) the AddCircle functions defaulted to num_segments == 12.In future versions we will use textures to provide cheaper and higher-quality circles.Use AddNgon() and AddNgonFilled() functions if you need to guarantee a specific number of sides.

static member functions

void addBezierCubic(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col, float thickness, int num_segments)

Cubic Bezier (4 control points)

void addBezierQuadratic(vec2 p1, vec2 p2, vec2 p3, vec4 col, float thickness, int num_segments)

Quadratic Bezier (3 control points)

void addCircle(vec2 center, float radius, vec4 col)

No description available

void addCircleEx(vec2 center, float radius, vec4 col, int num_segments, float thickness)

No description available

void addCircleFilled(vec2 center, float radius, vec4 col, int num_segments)

No description available

void addConcavePolyFilled(vec2[] points, vec4 col)

No description available

void addConvexPolyFilled(vec2[] points, vec4 col)

No description available

void addEllipse(vec2 center, vec2 radius, vec4 col)

No description available

void addEllipseEx(vec2 center, vec2 radius, vec4 col, float rot, int num_segments, float thickness)

No description available

void addEllipseFilled(vec2 center, vec2 radius, vec4 col)

No description available

void addEllipseFilledEx(vec2 center, vec2 radius, vec4 col, float rot, int num_segments)

No description available

void addLine(vec2 p1, vec2 p2, vec4 col)

No description available

void addLineEx(vec2 p1, vec2 p2, vec4 col, float thickness)

No description available

void addNgon(vec2 center, float radius, vec4 col, int num_segments)

No description available

void addNgonEx(vec2 center, float radius, vec4 col, int num_segments, float thickness)

No description available

void addNgonFilled(vec2 center, float radius, vec4 col, int num_segments)

No description available

void addPolyline(vec2[] points, vec4 col, int UI_DrawFlags, float thickness)

No description available

void addQuad(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col)

No description available

void addQuadEx(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col, float thickness)

No description available

void addQuadFilled(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col)

No description available

void addRect(vec2 p_min, vec2 p_max, vec4 col)

No description available

void addRectEx(vec2 p_min, vec2 p_max, vec4 col, float rounding, int UI_DrawFlags, float thickness)

A: upper-left, b: lower-right (== upper-left + size)

void addRectFilled(vec2 p_min, vec2 p_max, vec4 col)

No description available

void addRectFilledEx(vec2 p_min, vec2 p_max, vec4 col, float rounding, int UI_DrawFlags)

A: upper-left, b: lower-right (== upper-left + size)

void addRectFilledMultiColor(vec2 p_min, vec2 p_max, vec4 col_upr_left, vec4 col_upr_right, vec4 col_bot_right, vec4 col_bot_left)

No description available

void addText(vec2 pos, vec4 col, string text_begin)

No description available

void addTextEx(vec2 pos, vec4 col, string text_begin, string text_end)

No description available

void addTriangle(vec2 p1, vec2 p2, vec2 p3, vec4 col)

No description available

void addTriangleEx(vec2 p1, vec2 p2, vec2 p3, vec4 col, float thickness)

No description available

void addTriangleFilled(vec2 p1, vec2 p2, vec2 p3, vec4 col)

No description available

vec2 getClipRectMax()

No description available

vec2 getClipRectMin()

No description available

void pathArcTo(vec2 center, float radius, float a_min, float a_max, int num_segments)

No description available

void pathArcToFast(vec2 center, float radius, int a_min_of_12, int a_max_of_12)

Use precomputed angles for a 12 steps circle.

void pathBezierCubicCurveTo(vec2 p2, vec2 p3, vec2 p4, int num_segments)

No description available

void pathBezierQuadraticCurveTo(vec2 p2, vec2 p3, int num_segments)

No description available

void pathClear()

No description available

void pathEllipticalArcTo(vec2 center, vec2 radius, float rot, float a_min, float a_max)

No description available

void pathEllipticalArcToEx(vec2 center, vec2 radius, float rot, int a_min, int a_max, int num_segments)

No description available

void pathFillConcave(vec4 col)

No description available

void pathFillConvex(vec4 col)

No description available

void pathLineTo(vec2 pos)

No description available

void pathLineToMergeDuplicate(vec2 pos)

No description available

void pathRect(vec2 rect_min, vec2 rect_max, float rounding, int UI_DrawFlags)

No description available

void pathStroke(vec4 col, int UI_DrawFlags, float thickness)

No description available

void popClipRect()

No description available

void pushClipRect(vec2 clip_rect_min, vec2 clip_rect_max, int intersect_with_current_clip_rect)

Render-level scissoring. This is passed down to your render function but not used for CPU-side coarse clipping. Prefer using higher-level ImGui::PushClipRect() to affect logic (hit-testing and widget culling)

void pushClipRectFullScreen()

No description available


UI

inherits : Object

No description available

examples

static member functions

void alignTextToFramePadding()

Vertically align upcoming text baseline to FramePadding.y so that it will align properly to regularly framed items (call if you have text on a line before a framed item)

int arrowButton(string str_id, int direction)

Square button with an arrow shape. param `direction` is an enum of type UI_Direction.

int begin(string name, UI_Bool p_open, int flags)

`flags` of type UI_WindowFlags. - UI.begin() = push window to the stack and start appending to it. UI.end() = pop window from the stack. - Passing 'UI_Bool p_open != NULL' shows a window-closing widget in the upper-right 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!

int begin(string name)

Equivalent to UI.begin(name, null, 0)

int beginChild(string str_id, vec2 size, int child_flags, int window_flags)

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. < 0.0f: right/bottom-align to specified distance from available content boundaries. Specifying UI_ChildFlags.AutoResizeX or UI_ChildFlags.AutoResizeYmakes the sizing automatic based on child contents. Combining both UI_ChildFlags.AutoResizeX _and_ UI_ChildFlags.AutoResizeY defeats purpose of a scrolling region and is NOT recommended. BeginChild() returns 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 EndChild() for each BeginChild() call, regardless of its return value.

int beginCombo(string label, string preview_value, int flags)

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. `flags` param is an enum of type UI_ComboFlags.

void beginDisabled(int disabled)

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) BeginDisabled(false) essentially does nothing useful but is provided to facilitate use of boolean expressions. If you can avoid calling BeginDisabled(False)/EndDisabled() best to avoid it.

void beginGroup()

Lock horizontal starting position.

int beginListBox(string label, vec2 size)

This is essentially a thin wrapper to using BeginChild/EndChild with the ImGuiChildFlags_FrameStyle flag for stylistic changes + displaying a label. 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 analoguous to how Combos are created. Choose frame width: size.x > 0.0f: custom / size.x < 0.0f or -FLT_MIN: right-align / size.x = 0.0f (default): use current ItemWidth Choose frame height: size.y > 0.0f: custom / size.y < 0.0f or -FLT_MIN: bottom-align / size.y = 0.0f (default): arbitrary default height which can fit ~7 itemsThis function opens a framed scrolling region.

int beginMainMenuBar()

Create and append to a full screen menu-bar.

int beginMenu(string label)

Implied enabled = true.

int beginMenu(string label, int enabled)

Create a sub-menu entry. only call EndMenu() if this returns true!

int beginMenuBar()

Append to menu-bar of current window (requires ImGuiWindowFlags_MenuBar flag set on parent window)

int beginPopup(string str_id, int flags)

Return true if the popup is open, and you can start outputting to it. `flags` is an enum of type UI_WindowFlags beginPopup(): query popup state, if open start appending into the window. Call endPopup() afterwards if returned true. UI_WindowFlags are forwarded to the window.

int beginPopupContextItem()

Implied str_id = NULL, popup_flags = 1.

int beginPopupContextItem(string str_id, int popup_flags)

Open+begin popup when clicked on last item. Use str_id==NULL to associate the popup to previous item. If you want to use that on a non-interactive item such as Text() you need to pass in an explicit ID here. read comments in .cpp!

int beginPopupContextVoid()

Implied str_id = NULL, popup_flags = 1.

int beginPopupContextVoid(string str_id, int popup_flags)

Open+begin popup when clicked in void (where there are no windows).

int beginPopupContextWindow()

Implied str_id = NULL, popup_flags = 1.

int beginPopupContextWindow(string str_id, int popup_flags)

Open+begin popup when clicked on current window.

int beginPopupModal(string name, UI_Bool p_open, int flags)

Return true if the modal is open, and you can start outputting to it. `flags` is an enum of type UI_WindowFlags beginPopupModal(): block every interaction behind the window, cannot be closed by user, add a dimming background, has a title bar.

int beginTabBar(string str_id, int flags)

`flags` is an enum of type UI_TabBarFlags create and append into a TabBar.

int beginTabItem(string label, UI_Bool p_open, int flags)

Create a Tab. Returns true if the Tab is selected. `flags` is an enum of type UI_TabItemFlags.

int beginTable(string str_id, int column, int flags)

Implied outer_size = ImVec2(0.0f, 0.0f), inner_width = 0.0f `flags` is an enum of type UI_TableFlags.

int beginTable(string str_id, int column, int flags, vec2 outer_size, float inner_width)

`flags` is an enum of type UI_TableFlags.

int beginTooltip()

Begin/append a tooltip window.

void bullet()

Draw a small circle + keep the cursor on the same line. advance cursor x position by GetTreeNodeToLabelSpacing(), same distance that TreeNode() uses.

void bulletText(string text)

Shortcut for Bullet()+Text()

int button(string label)

Implied size = ImVec2(0, 0)

int button(string label, vec2 size)

No description available

float calcItemWidth()

Width of item given pushed settings and current cursor position. NOT necessarily the width of last item unlike most 'Item' functions.

vec2 calcTextSize(string text)

Implied text_end = NULL, hide_text_after_double_hash = false, wrap_width = -1.0f.

vec2 calcTextSize(string text, string text_end, int hide_text_after_double_hash, float wrap_width)

Default hide_text_after_double_hash = false, wrap_width = -1.0f.

int checkbox(string label, UI_Bool v)

No description available

int checkboxFlags(string label, UI_Int flags, int flags_value)

No description available

string clipboardText()

Get current text from the clipboard (e.g. result of Ctrl+C)

void clipboardText(string text)

Set the clipboard text.

void closeCurrentPopup()

Manually close the popup we have begin-ed into.

int collapsingHeader(string label, int flags)

`flags` is an enum of type UI_TreeNodeFlags. if returning 'true' the header is open. doesn't indent nor push on ID stack. user doesn't have to call TreePop().

int collapsingHeader(string label, UI_Bool p_visible, int flags)

When 'p_visible != NULL': if '*p_visible==true' display an additional small close button on upper right of the header which will set the bool to false when clicked, if '*p_visible==false' don't display the header.

int colorButton(string desc_id, vec4 col, int flags)

Implied size = ImVec2(0, 0). `flags` is an enum of type UI_ColorEditFlags.

int colorButton(string desc_id, vec4 col, int flags, vec2 size)

`flags` is an enum of type UI_ColorEditFlags. display a color square/button, hover for details, return true when pressed.

int colorEdit(string label, UI_Float3 col, int flags)

`flags` is an enum of type UI_ColorEditFlags.

int colorEdit(string label, UI_Float4 col, int flags)

`flags` is an enum of type UI_ColorEditFlags.

int colorPicker(string label, UI_Float3 col, int flags)

`flags` is an enum of type UI_ColorEditFlags.

int colorPicker(string label, UI_Float4 color, int flags, vec4 reference_color)

No description available

int colorPicker(string label, UI_Float4 color, int flags)

No description available

int combo(string label, UI_Int current_item, string[] items)

Implied popup_max_height_in_items = -1.

int combo(string label, UI_Int current_item, string[] items, int popup_max_height_in_items)

No description available

vec3 convertHSVtoRGB(vec3 hsv)

No description available

vec3 convertRGBtoHSV(vec3 rgb)

No description available

void disabled(int disabled)

Set whether imgui is disabled (does not call call new frame, does not submit UI draw lists to renderer)Do this if your application does not render UI and needs the extra performance from skipping UI overhead. Saves ~2ms on the render thread.While UI.disabled == true, DO NOT call any other UI functions. Doing so results in undefined behavior.

int dockSpaceOverViewport()

Implied dockspace_id = 0, viewport = NULL, flags = 0.

int drag(string label, UI_Float v)

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.

int drag(string label, UI_Float v_current_min, UI_Float v_current_max)

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", format_max = NULL, flags = 0.

int drag(string label, UI_Float v_current_min, UI_Float v_current_max, float v_speed, float v_min, float v_max, string format, string format_max, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Int v)

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.

int drag(string label, UI_Int v, float v_speed, int v_min, int v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Int2 v)

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.

int drag(string label, UI_Int2 v, float v_speed, int v_min, int v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Int3 v)

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.

int drag(string label, UI_Int3 v, float v_speed, int v_min, int v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Int4 v)

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.

int drag(string label, UI_Int4 v, float v_speed, int v_min, int v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Float v, float v_speed, float v_min, float v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Int v_current_min, UI_Int v_current_max)

Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", format_max = NULL, flags = 0.

int drag(string label, UI_Int v_current_min, UI_Int v_current_max, float v_speed, int v_min, int v_max, string format, string format_max, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, int[] data)

No description available

int drag(string label, int[] data, float v_speed, int v_min, int v_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, float[] data)

No description available

int drag(string label, float[] data, float v_speed, float v_min, float v_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Float2 v)

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.

int drag(string label, UI_Float2 v, float v_speed, float v_min, float v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Float2 v, float v_speed)

Implied v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.

int drag(string label, UI_Float3 v)

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.

int drag(string label, UI_Float3 v, float v_speed, float v_min, float v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

int drag(string label, UI_Float3 v, float v_speed)

Implied v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.

int drag(string label, UI_Float4 v)

Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.

int drag(string label, UI_Float4 v, float v_speed, float v_min, float v_max, string format, int flags)

If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.

void dummy(vec2 size)

Add a dummy item of given size. unlike InvisibleButton(), Dummy() won't take the mouse click or be navigable into.

void end()

No description available

void endChild()

No description available

void endCombo()

Only call EndCombo() if BeginCombo() returns true!

void endDisabled()

No description available

void endGroup()

Unlock horizontal starting position + capture the whole group bounding box into one "item" (so you can use IsItemHovered() or layout primitives such as SameLine() on whole group, etc.)

void endListBox()

Only call EndListBox() if BeginListBox() returned true!

void endMainMenuBar()

Only call EndMainMenuBar() if BeginMainMenuBar() returns true!

void endMenu()

Only call EndMenu() if BeginMenu() returns true!

void endMenuBar()

Only call EndMenuBar() if BeginMenuBar() returns true!

void endPopup()

No description available

void endTabBar()

Only call EndTabBar() if BeginTabBar() returns true!

void endTabItem()

Only call EndTabItem() if BeginTabItem() returns true!

void endTable()

Only call EndTable() if BeginTable() returns true!

void endTooltip()

Only call EndTooltip() if BeginTooltip()/BeginItemTooltip() returns true!

int getColorU32(int idx)

Implied alpha_mul = 1.0f. retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList Parameter `idx` is an enum of type UI_Color.

int getColorU32(int idx, float alpha_mul)

Retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList Parameter `idx` is an enum of type UI_color.

int getColorU32(vec4 col)

Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.

vec2 getContentRegionAvail()

Equivalent to GetContentRegionMax() - GetCursorPos()

vec2 getContentRegionMax()

Current content boundaries (typically window boundaries including scrolling, or current column boundaries), in windows coordinates.

vec2 getCursorPos()

Cursor position in window coordinates (relative to window position)

float getCursorPosX()

No description available

float getCursorPosY()

No description available

vec2 getCursorScreenPos()

Cursor position in absolute coordinates (prefer using this, also more useful to work with ImDrawList API)

vec2 getCursorStartPos()

Initial cursor position, in window coordinates.

float getFontSize()

Get current font size (= height in pixels) of current font with current scale applied.

vec2 getFontTexUvWhitePixel()

Get UV coordinate for a white pixel, useful to draw custom shapes via the ImDrawList API.

float getFrameHeight()

~ FontSize + style.FramePadding.y * 2.

float getFrameHeightWithSpacing()

~ FontSize + style.FramePadding.y * 2 + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of framed widgets)

int getID(string str_id)

Calculate unique ID (hash of whole ID stack + given parameter). e.g. if you want to query into ImGuiStorage yourself.

int getID(string str_id_begin, string str_id_end)

No description available

int getItemID()

Get ID of last item (~~ often same ImGui::GetID(label) beforehand)

vec2 getItemRectMax()

Get lower-right bounding rectangle of the last item (screen space)

vec2 getItemRectMin()

Get upper-left bounding rectangle of the last item (screen space)

vec2 getItemRectSize()

Get size of last item.

UI_Viewport getMainViewport()

Return primary/default viewport. This can never be NULL.

int getMouseClickedCount(int button)

Return the number of successive mouse-clicks at the time where a click happen (otherwise 0). `button` is an enum of type UI_MouseButton.

vec2 getMouseDragDelta(int button, float lock_threshold)

Return the delta from the initial clicking position while the mouse button is pressed or was just released. This is locked and return 0.0f until the mouse moves past a distance threshold at least once (uses io.MouseDraggingThreshold if lock_threshold < 0.0f) `button` is an enum of type UI_MouseButton.

vec2 getMousePos()

Shortcut to ImGui::GetIO().MousePos provided by user, to be consistent with other calls.

vec2 getMousePosOnOpeningCurrentPopup()

Retrieve mouse position at the time of opening popup we have BeginPopup() into (helper to avoid user backing that value themselves)

float getScrollMaxX()

Get maximum scrolling amount ~~ ContentSize.x - WindowSize.x - DecorationsSize.x.

float getScrollMaxY()

Get maximum scrolling amount ~~ ContentSize.y - WindowSize.y - DecorationsSize.y.

float getScrollX()

Get scrolling amount [0 .. GetScrollMaxX()].

float getScrollY()

Get scrolling amount [0 .. GetScrollMaxY()].

UI_Style getStyle()

Access the Style structure (colors, sizes). Always use PushStyleColor(), PushStyleVar() to modify style mid-frame!

vec4 getStyleColorVec4(int idx)

Retrieve style color as stored in ImGuiStyle structure. use to feed back into PushStyleColor(), otherwise use GetColorU32() to get style color with style alpha baked in. Parameter `idx` is an enum of type UI_Color.

float getTextLineHeight()

~ FontSize.

float getTextLineHeightWithSpacing()

~ FontSize + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of text)

float getTreeNodeToLabelSpacing()

Horizontal distance preceding label when using TreeNode*() or Bullet() == (g.FontSize + style.FramePadding.x*2) for a regular unframed TreeNode.

string getVersion()

Get the compiled version string e.g. "1.80 WIP" (essentially the value for IMGUI_VERSION from the compiled version of imgui.cpp)

vec2 getWindowContentRegionMax()

Content boundaries max for the full window (roughly (0,0)+Size-Scroll) where Size can be overridden with SetNextWindowContentSize(), in window coordinates.

vec2 getWindowContentRegionMin()

Content boundaries min for the full window (roughly (0,0)-Scroll), in window coordinates.

float getWindowDpiScale()

Get DPI scale currently associated to the current window's viewport.

float getWindowHeight()

Get current window height (shortcut for GetWindowSize().y)

vec2 getWindowPos()

Get current window position in screen space (note: it is unlikely you need to use this. Consider using current layout pos instead, GetCursorScreenPos())

vec2 getWindowSize()

Get current window size (note: it is unlikely you need to use this. Consider using GetCursorScreenPos() and e.g. GetContentRegionAvail() instead)

UI_Viewport getWindowViewport()

Get viewport currently associated to the current window.

float getWindowWidth()

Get current window width (shortcut for GetWindowSize().x)

void indent()

Implied indent_w = 0.0f.

void indent(float indent_w)

Move content position toward the right, by indent_w, or style.IndentSpacing if indent_w <= 0.

int inputFloat(string label, UI_Float v)

Implied step = 0.0f, step_fast = 0.0f, format = "%.3f", flags = 0.

int inputFloat(string label, UI_Float v, float step, float step_fast, string format, int flags)

Parameter `flags` is an enum of type UI_InputTextFlags.

int inputFloat(string label, float[] data)

Implied p_step = NULL, p_step_fast = NULL, format = NULL, flags = 0.

int inputFloat(string label, float[] data, float step, float step_fast, string format, int flags)

Parameter `flags` is an enum of type UI_InputTextFlags.

int inputInt(string label, UI_Int v)

Implied step = 1, step_fast = 100, flags = 0.

int inputInt(string label, UI_Int v, int step, int step_fast, int flags)

Parameter `flags` is an enum of type UI_InputTextFlags.

int inputInt(string label, int[] data)

Implied p_step = NULL, p_step_fast = NULL, format = NULL, flags = 0.

int inputInt(string label, int[] data, int step, int step_fast, string format, int flags)

Parameter `flags` is an enum of type UI_InputTextFlags.

int inputText(string label, UI_String buf)

Implied max_input_length = 256, flags = 0, callback = NULL, user_data = NULL. `flags` is an enum of type UI_InputTextFlags.

int inputText(string label, UI_String buf, int max_input_length, int flags)

Parameter `flags` is an enum of type UI_InputTextFlags.

int inputTextMultiline(string label, UI_String buf)

Implied size = ImVec2(0, 0), flags = 0, callback = NULL, user_data = NULL.

int inputTextMultiline(string label, UI_String buf, int max_input_length, vec2 size, int flags)

Parameter `flags` is an enum of type UI_InputTextFlags.

int inputTextWithHint(string label, string hint, UI_String buf)

Implied max_input_length = 256, flags = 0, callback = NULL, user_data = NULL.

int inputTextWithHint(string label, string hint, UI_String buf, int max_input_length, int flags)

Parameter `flags` is an enum of type UI_InputTextFlags.

int invisibleButton(string str_id, vec2 size, int flags)

Flexible button behavior without the visuals, frequently useful to build custom behaviors using the public api (along with IsItemActive, IsItemHovered, etc.)param `flags` is an enum of type UI_ButtonFlags.

int isAnyItemActive()

Is any item active?

int isAnyItemFocused()

Is any item focused?

int isAnyItemHovered()

Is any item hovered?

int isItemActivated()

Was the last item just made active (item was previously inactive).

int isItemActive()

Is the last item active? (e.g. button being held, text field being edited. This will continuously return true while holding mouse button on an item. Items that don't interact will always return false)

int isItemClicked()

Implied mouse_button = 0.

int isItemClicked(int mouse_button)

Is the last item hovered and mouse clicked on? (**) == IsMouseClicked(mouse_button) && IsItemHovered(). Important. (**) this is NOT equivalent to the behavior of e.g. Button(). Read comments in function definition.mouse_button is an enum of type UI_MouseButton.

int isItemDeactivated()

Was the last item just made inactive (item was previously active). Useful for Undo/Redo patterns with widgets that require continuous editing.

int isItemDeactivatedAfterEdit()

Was the last item just made inactive and made a value change when it was active? (e.g. Slider/Drag moved). Useful for Undo/Redo patterns with widgets that require continuous editing. Note that you may get false positives (some widgets such as Combo()/ListBox()/Selectable() will return true even when clicking an already selected item).

int isItemEdited()

Did the last item modify its underlying value this frame? or was pressed? This is generally the same as the 'bool' return value of many widgets.

int isItemFocused()

Is the last item focused for keyboard/gamepad navigation?

int isItemHovered(int ui_hovered_flags)

Is the last item hovered? (and usable, aka not blocked by a popup, etc.). See UI_HoveredFlags for more options.

int isItemToggledOpen()

Was the last item open state toggled? set by TreeNode().

int isItemVisible()

Is the last item visible? (items may be out of sight because of clipping/scrolling)

int isKeyChordPressed(int key_chord)

Was key chord (UI_Key.Mod* + UI_Key) pressed, e.g. you can pass 'UI_Key.Mod_Ctrl | UI_Key.S' as a key-chord. This doesn't do any routing or focus check, please consider using Shortcut() function instead.

int isKeyDown(int key)

Is key being held. `key` is an enum of type UI_Key.

int isKeyPressed(int key)

Implied repeat = true. `key` is an enum of type UI_Key.

int isKeyPressed(int key, int repeat)

Was key pressed (went from !Down to Down)? if repeat=true, uses io.KeyRepeatDelay / KeyRepeatRate. `key` is an enum of type UI_Key.

int isKeyReleased(int key)

Was key released (went from Down to !Down)? `key` is an enum of type UI_Key.

int isMouseClicked(int button)

Implied repeat = false. `button` is an enum of type UI_MouseButton.

int isMouseClicked(int button, int repeat)

Did mouse button clicked? (went from !Down to Down). Same as GetMouseClickedCount() == 1. `button` is an enum of type UI_MouseButton.

int isMouseDoubleClicked(int button)

Did mouse button double-clicked? Same as GetMouseClickedCount() == 2. `button` is an enum of type UI_MouseButton.

int isMouseDown(int button)

Is mouse button held. `button` is an enum of type UI_MouseButton.

int isMouseDragging(int button, float lock_threshold)

Is mouse dragging? (uses io.MouseDraggingThreshold if lock_threshold < 0.0f). `button` is an enum of type UI_MouseButton.

int isMouseHoveringRect(vec2 r_min, vec2 r_max)

Implied clip = true.

int isMouseHoveringRect(vec2 r_min, vec2 r_max, int clip)

Is mouse hovering given bounding rect (in screen space). clipped by current clipping settings, but disregarding of other consideration of focus/window ordering/popup-block.

int isMousePosValid()

By convention we use (-FLT_MAX,-FLT_MAX) to denote that there is no mouse available.

int isMouseReleased(int button)

Did mouse button released? (went from Down to !Down). `button` is an enum of type UI_MouseButton.

int isPopupOpen(string str_id, int flags)

Return true if the popup is open. `flags` is an enum of type UI_PopupFlags.

int isWindowAppearing()

No description available

int isWindowCollapsed()

No description available

int isWindowFocused(int ui_focused_flags)

Is current window focused? or its root/child, depending on flags. flags are of type UI_FocusedFlags.

int isWindowHovered(int ui_hovered_flags)

Is current window hovered and hoverable (e.g. not blocked by a popup/modal)? flags are of type UI_HoveredFlags.

void itemTooltip(string text)

Set a text-only tooltip if preceding item was hovered. override any previous call to SetTooltip(). itemTooltip() is a shortcut for the 'if (IsItemHovered(ImGuiHoveredFlags_ForTooltip)) { SetTooltip(...); }' idiom.

string keyName(int key)

`key` is a UI_Key enum, e.g. UI_Key.Backspace. Returns English name of the key. Those names are provided for debugging and are not meant to be saved persistently or compared.

int keyPressedAmount(int key, float repeat_delay, float rate)

Uses provided repeat rate/delay. return a count, most often 0 or 1 but might be >1 if RepeatRate is small enough that DeltaTime > RepeatRate. `key` is an enum of type UI_Key.

void labelText(string label, string text)

Display text+label aligned the same way as value+label widgets.

int listBox(string label, UI_Int current_item, string[] items, int height_in_items)

Set `height_in_items` to -1 to use the default.

int listBox(string label, UI_Int current_item, string[] items)

Listbox ui widget, uses default item height.

int menuItem(string label)

Implied shortcut = NULL, selected = false, enabled = true.

int menuItem(string label, string shortcut, UI_Bool p_selected, int enabled)

Return true when activated + toggle (*p_selected) if p_selected != NULL.

int mouseCursor()

Get desired mouse cursor shape. Important: reset in ImGui::NewFrame(), this is updated during the frame. valid before Render(). If you use software rendering by setting io.MouseDrawCursor ImGui will render those for you.

void newLine()

Undo a SameLine() or force a new line when in a horizontal-layout context.

void nextItemAllowOverlap()

Allow next item to be overlapped by a subsequent item. Useful with invisible buttons, selectable, treenode covering an area where subsequent items may need to be added. Note that both Selectable() and TreeNode() have dedicated flags doing this.

void openPopup(string str_id, int popup_flags)

Call to mark popup as open (don't call every frame!). `popup_flags` is an enum of type UI_PopupFlags.

void openPopupOnItemClick(string str_id, int popup_flags)

Helper to open popup when clicked on last item. Default to UI_PopupFlags.MouseButtonRight == 1. (note: actually triggers on the mouse _released_ event to be consistent with popup behaviors) `popup_flags` is an enum of type UI_PopupFlags.

void plotHistogram(string label, float[] values)

Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0), stride = sizeof(float)

void plotHistogram(string label, float[] values, int values_offset, string overlay_text, float scale_min, float scale_max, vec2 graph_size)

No description available

void plotLines(string label, float[] values)

Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0), stride = sizeof(float)

void plotLines(string label, float[] values, int values_offset, string overlay_text, float scale_min, float scale_max, vec2 graph_size)

No description available

void popButtonRepeat()

No description available

void popClipRect()

No description available

void popID()

Pop from the ID stack.

void popItemWidth()

Pop width of items for common large "item+label" widgets.

void popStyleColor()

Implied count = 1.

void popStyleColor(int count)

No description available

void popStyleVar()

Implied count = 1.

void popStyleVar(int count)

No description available

void popTabStop()

No description available

void popTextWrapPos()

Pop word-wrapping position for Text*() commands.

void progressBar(float fraction, vec2 size_arg, string overlay)

No description available

void pushButtonRepeat(int repeat)

In 'repeat' mode, Button*() functions return repeated true in a typematic manner (using io.KeyRepeatDelay/io.KeyRepeatRate setting). Note that you can call IsItemActive() after any Button() to tell if the button is held in the current frame.

void pushClipRect(vec2 clip_rect_min, vec2 clip_rect_max, int intersect_with_current_clip_rect)

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

void pushID(string str_id)

Push string into the ID stack (will hash string).Read the FAQ (docs/FAQ.md or http://dearimgui.com/faq) for more details about how ID are handled in dear imgui.

void pushID(string str_id_begin, string str_id_end)

Push string into the ID stack (will hash string).

void pushID(int int_id)

Push integer into the ID stack (will hash integer).

void pushItemWidth(float item_width)

Push width of items for common large "item+label" widgets. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).

void pushStyleColor(int idx, vec4 color)

Parameter idx an enum of type UI_Color.

void pushStyleColor(int idx, vec3 color)

Parameter idx an enum of type UI_Color.

void pushStyleVar(int idx, float val)

Modify a style float variable. always use this if you modify the style after NewFrame(). Parameter `idx` is an enum of type UI_StyleVar.

void pushStyleVar(int idx, vec2 val)

Modify a style ImVec2 variable. always use this if you modify the style after NewFrame(). Parameter `idx` is an enum of type UI_StyleVar.

void pushTabStop(int tab_stop)

Allow focusing using TAB/Shift-TAB, enabled by default but you can disable it for certain widgets.

void pushTextWrapPos(float wrap_local_pos_x)

Push word-wrapping position for Text*() commands. < 0.0f: no wrapping; 0.0f: wrap to end of window (or column); > 0.0f: wrap at 'wrap_pos_x' position in window local space.

int radioButton(string label, int active)

Use with e.g. if (RadioButton("one", my_value==1)) { my_value = 1; }.

int radioButton(string label, UI_Int v, int v_button)

Shortcut to handle the above pattern when value is an integer.

void resetMouseDragDelta()

Implied button = 0.

void resetMouseDragDelta(int button)

`button` is an enum of type UI_MouseButton.

void sameLine()

Implied offset_from_start_x = 0.0f, spacing = -1.0f.

void sameLine(float offset_from_start_x, float spacing)

Call between widgets or groups to layout them horizontally. X position given in window coordinates.

void scenegraph(GGen root)

Scene tree widget. View data about a given GGen and all its children. A simple version of a typical Editor Scenegraph.

int selectable(string label)

Implied selected = false, flags = 0, size = ImVec2(0, 0)

int selectable(string label, int selected, int flags, vec2 size)

`selected` carry the selection state (read-only). Selectable() is clicked is returns true so you can modify your selection state. `size.x==0.0`: use remaining width, `size.x>0.0`: specify width. `size.y==0.0`: use label height, `size.y>0.0`: specify height.

int selectable(string label, UI_Bool p_selected, int flags)

`p_selected` points to the selection state (read-write), as a convenient helper. `flags` is an enum of type UI_SelectableFlags.

int selectable(string label, UI_Bool p_selected, int flags, vec2 size)

`p_selected` points to the selection state (read-write), as a convenient helper. `flags` is an enum of type UI_SelectableFlags.

void separator()

Separator, generally horizontal. inside a menu bar or in horizontal layout mode, this becomes a vertical separator.

void separatorText(string label)

Currently: formatted text with an horizontal line.

void setColorEditOptions(int flags)

Initialize current options (generally on application startup) if you want to select a default format, picker type, etc. User will be able to change many settings, unless you pass the _NoOptions flag to your calls.

void setCursorPos(vec2 local_pos)

No description available

void setCursorPosX(float local_x)

No description available

void setCursorPosY(float local_y)

No description available

vec2 setCursorScreenPos(vec2 pos)

Cursor position in absolute coordinates.

void setItemDefaultFocus()

Make last item the default focused item of a window.

void setKeyboardFocusHere()

Implied offset = 0.

void setKeyboardFocusHere(int offset)

Focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.

void setMouseCursor(int cursor_type)

Set desired mouse cursor shape. `cursor_type` is an enum of type UI_MouseCursor.

void setNextFrameWantCaptureKeyboard(int want_capture_keyboard)

Override io.WantCaptureKeyboard flag next frame (said flag is left for your application to handle, typically when true it instructs your app to ignore inputs). e.g. force capture keyboard when your widget is being hovered. This is equivalent to setting "io.WantCaptureKeyboard = want_capture_keyboard"; after the next NewFrame() call.

void setNextFrameWantCaptureMouse(int want_capture_mouse)

Override io.WantCaptureMouse flag next frame (said flag is left for your application to handle, typical when true it instucts your app to ignore inputs). This is equivalent to setting "io.WantCaptureMouse = want_capture_mouse;" after the next NewFrame() call.

void setNextItemOpen(int is_open, int cond)

Set next TreeNode/CollapsingHeader open state. `Cond` is an enum of type UI_Cond.

void setNextItemWidth(float item_width)

Set width of the _next_ common large "item+label" widget. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side)

void setNextWindowBgAlpha(float alpha)

Set next window background color alpha. helper to easily override the Alpha component of ImGuiCol_WindowBg/ChildBg/PopupBg. you may also use ImGuiWindowFlags_NoBackground.

void setNextWindowCollapsed(int collapsed, int cond)

Set next window collapsed state. call before Begin()

void setNextWindowContentSize(vec2 size)

Set next window content size (~ scrollable client area, which enforce the range of scrollbars). Not including window decorations (title bar, menu bar, etc.) nor WindowPadding. set an axis to 0.0f to leave it automatic. call before Begin()

void setNextWindowFocus()

Set next window to be focused / top-most. call before Begin()

void setNextWindowPos(vec2 pos, int cond)

Implied pivot = ImVec2(0, 0)

void setNextWindowPosEx(vec2 pos, int cond, vec2 pivot)

Set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.

void setNextWindowScroll(vec2 scroll)

Set next window scrolling value (use < 0.0f to not affect a given axis).

void setNextWindowSize(vec2 size, int cond)

Set next window size. set axis to 0.0f to force an auto-fit on this axis. call before Begin()

void setNextWindowSizeConstraints(vec2 size_min, vec2 size_max, UI_SizeCallback custom_callback)

Set next window size limits. use 0.0f or FLT_MAX if you don't want limits. Use -1 for both min and max of same axis to preserve current size (which itself is a constraint). Use callback to apply non-trivial programmatic constraints.

void setScrollFromPosX(float local_x, float center_x_ratio)

Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.

void setScrollFromPosY(float local_y, float center_y_ratio)

Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.

void setScrollHereX(float center_x_ratio)

Adjust scrolling amount to make current cursor position visible. center_x_ratio=0.0: left, 0.5: center, 1.0: right. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.

void setScrollHereY(float center_y_ratio)

Adjust scrolling amount to make current cursor position visible. center_y_ratio=0.0: top, 0.5: center, 1.0: bottom. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.

void setScrollX(float scroll_x)

Set scrolling amount [0 .. GetScrollMaxX()].

void setScrollY(float scroll_y)

Set scrolling amount [0 .. GetScrollMaxY()].

void setTabItemClosed(string tab_or_docked_window_label)

Notify TabBar or Docking system of a closed tab/window ahead (useful to reduce visual flicker on reorderable tab bars). For tab-bar: call after BeginTabBar() and before Tab submissions. Otherwise call with a window name.

void showAboutWindow(UI_Bool p_open)

Create About window. display Dear ImGui version, credits and build/system information.

void showDebugLogWindow(UI_Bool p_open)

Create Debug Log window. display a simplified log of important dear imgui events.

void showDemoWindow(UI_Bool p_open)

Create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!

void showFontSelector(string label)

Add font selector block (not a window), essentially a combo listing the loaded fonts.

void showIDStackToolWindow(UI_Bool p_open)

Create Stack Tool window. hover items with mouse to query information about the source of their unique ID.

void showMetricsWindow(UI_Bool p_open)

Create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.

void showStyleEditor()

Add style selector block (not a window), essentially a combo listing the default styles.

int showStyleSelector(string label)

Add style selector block (not a window), essentially a combo listing the default styles.

void showUserGuide()

Add basic help/info block (not a window): how to manipulate ImGui as an end-user (mouse/keyboard controls).

int slider(string label, UI_Float v, float v_min, float v_max)

Implied format = "%.3f", flags = 0.

int slider(string label, UI_Float v, float v_min, float v_max, string format, int flags)

Adjust format to decorate the value with a prefix or a suffix for in-slider labels or unit display. `flags` is an enum of type UI_SliderFlags.

int slider(string label, UI_Int v, int v_min, int v_max)

Implied format = "%d", flags = 0.

int slider(string label, UI_Int v, int v_min, int v_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int slider(string label, int[] data, int v_min, int v_max)

No description available

int slider(string label, int[] data, int v_min, int v_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int slider(string label, float[] data, float v_min, float v_max)

No description available

int slider(string label, float[] data, float v_min, float v_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int sliderAngle(string label, UI_Float v_rad)

Implied v_degrees_min = -360.0f, v_degrees_max = +360.0f, format = "%.0f deg", flags = 0.

int sliderAngle(string label, UI_Float v_rad, float v_degrees_min, float v_degrees_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int smallButton(string label)

Button with (FramePadding.y == 0)

void spacing()

Add vertical spacing.

void styleColorsClassic()

No description available

void styleColorsDark()

No description available

void styleColorsLight()

No description available

int tabItemButton(string label, int flags)

Create a Tab behaving like a button. Returns true when clicked. cannot be selected in the tab bar. `flags` is an enum of type UI_TabItemFlags.

void tableAngledHeadersRow()

Submit a row with angled headers for every column with the ImGuiTableColumnFlags_AngledHeader flag. MUST BE FIRST ROW.

int tableGetColumnCount()

Return number of columns (value passed to BeginTable)

int tableGetColumnFlags(int column_n)

Return column flags so you can query their Enabled/Visible/Sorted/Hovered status flags. Pass -1 to use current column.

int tableGetColumnIndex()

Return current column index.

string tableGetColumnName(int column_n)

Return "" if column didn't have a name declared by TableSetupColumn(). Pass -1 to use current column.

int tableGetRowIndex()

Return current row index.

void tableHeader(string label)

Submit one header cell manually (rarely used)

void tableHeadersRow()

Submit a row with headers cells based on data provided to TableSetupColumn() + submit context menu.

int tableNextColumn()

Append into the next column (or first column of next row if currently in last column). Return true when column is visible.

void tableNextRow()

Implied row_flags = 0, min_row_height = 0.0f.

void tableNextRow(int row_flags, float min_row_height)

Append into the first cell of a new row.

void tableSetBgColor(int ui_table_bg_target_flag, vec4 color, int column_n)

Change the color of a cell, row, or column. UI_TableBgTarget flags for details.

void tableSetColumnEnabled(int column_n, int v)

Change user accessible enabled/disabled state of a column. Set to false to hide the column. User can use the context menu to change this themselves (right-click in headers, or right-click in columns body with UI_TableFlags.ContextMenuInBody)

int tableSetColumnIndex(int column_n)

Append into the specified column. Return true when column is visible.

void tableSetupColumn(string label, int flags)

Implied init_width_or_weight = 0.0f, user_id = 0 `flags` is an enum of type UI_TableColumnFlags.

void tableSetupColumn(string label, int flags, float init_width_or_weight, int user_id)

No description available

void tableSetupScrollFreeze(int cols, int rows)

Lock columns/rows so they stay visible when scrolled.

void text(string text)

Implied text_end = NULL.

void text(string text, string text_end)

Raw text without formatting. Roughly equivalent to Text("%s", text) but: A) doesn't require null terminated string if 'text_end' is specified, B) it's faster, no memory copy is done, no buffer size limits, recommended for long chunks of text.

void textColored(vec4 col, string text)

Shortcut for PushStyleColor(ImGuiCol_Text, col); Text(fmt, ...); PopStyleColor();.

void textDisabled(string text)

Shortcut for PushStyleColor(ImGuiCol_Text, style.Colors[ImGuiCol_TextDisabled]); Text(fmt, ...); PopStyleColor();.

void textWrapped(string text)

Shortcut for PushTextWrapPos(0.0f); Text(fmt, ...); PopTextWrapPos();. Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, you may need to set a size using SetNextWindowSize().

void tooltip(string text)

Set a text-only tooltip. Often used after a ImGui::IsItemHovered() check. Override any previous call to SetTooltip(). SetTooltip() is more or less a shortcut for the 'if (BeginTooltip()) { Text(...); EndTooltip(); }' idiom (with a subtlety that it discard any previously submitted tooltip)

int treeNode(string label)

Return true when the node is open, in which case you need to call TreePop()

int treeNode(string str_id, string text)

No description available

int treeNode(string label, int flags)

`flags` is an enum of type UI_TreeNodeFlags.

int treeNode(string str_id, int flags, string text)

No description available

void treePop()

~ Unindent()+PopID()

void treePush(string str_id)

Indent()+PushID(). Already called by TreeNode() when returning true, but you can call TreePush/TreePop yourself if desired.

void unindent()

Implied indent_w = 0.0f.

void unindent(float indent_w)

Move content position back to the left, by indent_w, or style.IndentSpacing if indent_w <= 0.

int vslider(string label, vec2 size, UI_Float v, float v_min, float v_max)

Implied format = "%.3f", flags = 0.

int vslider(string label, vec2 size, UI_Float v, float v_min, float v_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int vslider(string label, vec2 size, UI_Int v, int v_min, int v_max)

Implied format = "%d", flags = 0.

int vslider(string label, vec2 size, UI_Int v, int v_min, int v_max, string format, int flags)

Parameter `flags` is an enum of type UI_SliderFlags.

int wantCaptureKeyboard()

When wantCaptureKeyboard=true, the keyboard is interacting with UI widgets, so you know to discard/hide the keyboard inputs from your underlying application.

int wantCaptureMouse()

When wantCaptureMouse=true, the mouse is interacting with UI widgets, so you know to discard/hide the mouse inputs from your underlying application.