/  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 y()

No description available

int x()

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 y()

No description available

int x()

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 y()

No description available

int x()

No description available

int z()

No description available

int w()

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.

vec2 size()

Main Area: Size of the viewport.

int id()

Returns the unique identifier for the viewport.

int flags()

Returns the UI_ViewportFlags for the viewport.

vec2 pos()

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

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).

float dpiScale()

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

int parentID()

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

vec2 workCenter()

Work Area: Center position of the viewport.


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

void logSliderDeadzone(float logSliderDeadzone)

No description available

void tabRounding(float tabRounding)

No description available

void tabBorderSize(float tabBorderSize)

No description available

void tabMinWidthForCloseButton(float tabMinWidthForCloseButton)

No description available

void tabBarBorderSize(float tabBarBorderSize)

No description available

void tableAngledHeadersAngle(float tableAngledHeadersAngle)

No description available

void tableAngledHeadersTextAlign(vec2 tableAngledHeadersTextAlign)

No description available

void colorButtonPosition(int ui_direction)

No description available

void buttonTextAlign(vec2 buttonTextAlign)

No description available

void selectableTextAlign(vec2 selectableTextAlign)

No description available

void separatorTextBorderSize(float separatorTextBorderSize)

No description available

void separatorTextAlign(vec2 separatorTextAlign)

No description available

void separatorTextPadding(vec2 separatorTextPadding)

No description available

void displayWindowPadding(vec2 displayWindowPadding)

No description available

void displaySafeAreaPadding(vec2 displaySafeAreaPadding)

No description available

void dockingSeparatorSize(float dockingSeparatorSize)

No description available

void mouseCursorScale(float mouseCursorScale)

No description available

void antiAliasedLines(int antiAliasedLines)

No description available

void antiAliasedLinesUseTex(int antiAliasedLinesUseTex)

No description available

void antiAliasedFill(int antiAliasedFill)

No description available

void curveTessellationTol(float curveTessellationTol)

No description available

void circleTessellationMaxError(float circleTessellationMaxError)

No description available

void color(int ui_color_flag, vec4 color)

No description available

void hoverStationaryDelay(float hoverStationaryDelay)

No description available

void hoverDelayShort(float hoverDelayShort)

No description available

void hoverDelayNormal(float hoverDelayNormal)

No description available

void hoverFlagsForTooltipMouse(int hoverFlagsForTooltipMouse)

No description available

void hoverFlagsForTooltipNav(int hoverFlagsForTooltipNav)

No description available

vec2 windowPadding()

Padding within a window.

float disabledAlpha()

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

float alpha()

Global alpha applies to everything in ImGui.

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.

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).

vec2 windowMinSize()

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

vec2 windowTitleAlign()

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

int windowMenuButtonPosition()

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

float childRounding()

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

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).

float popupRounding()

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

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).

vec2 framePadding()

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

float frameRounding()

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

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).

vec2 itemSpacing()

Horizontal and vertical spacing between widgets/lines.

vec2 itemInnerSpacing()

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

vec2 cellPadding()

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

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!

float indentSpacing()

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

float columnsMinSpacing()

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

float scrollbarSize()

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

float scrollbarRounding()

Radius of grab corners for scrollbar.

float grabMinSize()

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

float grabRounding()

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

float logSliderDeadzone()

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

float tabRounding()

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

float tabBorderSize()

Thickness of border around tabs.

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.

float tabBarBorderSize()

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

float tableAngledHeadersAngle()

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

vec2 tableAngledHeadersTextAlign()

Alignment of angled headers within the cell.

int colorButtonPosition()

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

vec2 buttonTextAlign()

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

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.

float separatorTextBorderSize()

Thickkness of border in SeparatorText()

vec2 separatorTextAlign()

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

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.

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.

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!

float dockingSeparatorSize()

Thickness of resizing border between docked windows.

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.

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).

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).

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).

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.

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.

vec4 color(int ui_color_flag)

Get the color for a specific UI_Color flag.

float hoverStationaryDelay()

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

float hoverDelayShort()

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

float hoverDelayNormal()

Delay for IsItemHovered(ImGuiHoveredFlags_DelayNormal).

int hoverFlagsForTooltipMouse()

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

int hoverFlagsForTooltipNav()

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

void alpha(float alpha)

No description available

void disabledAlpha(float disabledAlpha)

No description available

void windowPadding(vec2 windowPadding)

No description available

void windowRounding(float windowRounding)

No description available

void windowBorderSize(float windowBorderSize)

No description available

void windowMinSize(vec2 windowMinSize)

No description available

void windowTitleAlign(vec2 windowTitleAlign)

No description available

void windowMenuButtonPosition(int ui_direction)

Ui_direction is enum UI_Direction.

void childRounding(float childRounding)

No description available

void childBorderSize(float childBorderSize)

No description available

void popupRounding(float popupRounding)

No description available

void popupBorderSize(float popupBorderSize)

No description available

void framePadding(vec2 framePadding)

No description available

void frameRounding(float frameRounding)

No description available

void frameBorderSize(float frameBorderSize)

No description available

void itemSpacing(vec2 itemSpacing)

No description available

void itemInnerSpacing(vec2 itemInnerSpacing)

No description available

void cellPadding(vec2 cellPadding)

No description available

void touchExtraPadding(vec2 touchExtraPadding)

No description available

void indentSpacing(float indentSpacing)

No description available

void columnsMinSpacing(float columnsMinSpacing)

No description available

void scrollbarSize(float scrollbarSize)

No description available

void scrollbarRounding(float scrollbarRounding)

No description available

void grabMinSize(float grabMinSize)

No description available

void grabRounding(float grabRounding)

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 None

No description available

int NoTitleBar

Disable title-bar.

int NoResize

Disable user resizing with the lower-right grip.

int NoMove

Disable user moving the window.

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 NoCollapse

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

int AlwaysAutoResize

Resize every window to its content every frame.

int NoBackground

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

int NoSavedSettings

Never load/save settings in .ini file.

int NoMouseInputs

Disable catching mouse, hovering test with pass through.

int MenuBar

Has a menu-bar.

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 NoFocusOnAppearing

Disable taking focus when transitioning from hidden to visible state.

int NoBringToFrontOnFocus

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

int AlwaysVerticalScrollbar

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

int AlwaysHorizontalScrollbar

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

int NoNavInputs

No gamepad/keyboard navigation within the window.

int NoNavFocus

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

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.

int NoDocking

Disable docking of this window.

int NoNav

No description available

int NoDecoration

No description available

int NoInputs

No description available


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 None

No description available

int AlwaysAutoResize

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

int Border

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

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 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). "

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 FrameStyle

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


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 None

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

int Always

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

int Once

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

int FirstUseEver

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

int Appearing

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


UI_Color

inherits : Object

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

static member variables

int Border

No description available

int Text

No description available

int TextDisabled

No description available

int WindowBg

Background of normal windows.

int ChildBg

Background of child windows.

int PopupBg

Background of popups, menus, tooltips windows.

int BorderShadow

No description available

int FrameBg

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

int FrameBgHovered

No description available

int FrameBgActive

No description available

int TitleBg

Title bar.

int TitleBgActive

Title bar when focused.

int TitleBgCollapsed

Title bar when collapsed.

int MenuBarBg

No description available

int ScrollbarBg

No description available

int ScrollbarGrab

No description available

int ScrollbarGrabHovered

No description available

int ScrollbarGrabActive

No description available

int CheckMark

Checkbox tick and RadioButton circle.

int SliderGrab

No description available

int SliderGrabActive

No description available

int Button

No description available

int ButtonHovered

No description available

int ButtonActive

No description available

int Header

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

int HeaderHovered

No description available

int HeaderActive

No description available

int Separator

No description available

int SeparatorHovered

No description available

int SeparatorActive

No description available

int ResizeGrip

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

int ResizeGripHovered

No description available

int ResizeGripActive

No description available

int Tab

TabItem in a TabBar.

int TabHovered

No description available

int TabActive

No description available

int TabUnfocused

No description available

int TabUnfocusedActive

No description available

int DockingPreview

Preview overlay color when about to docking something.

int DockingEmptyBg

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

int PlotLines

No description available

int PlotLinesHovered

No description available

int PlotHistogram

No description available

int PlotHistogramHovered

No description available

int TableHeaderBg

Table header background.

int TableBorderStrong

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

int TableBorderLight

Table inner borders (prefer using Alpha=1.0 here)

int TableRowBg

Table row background (even rows)

int TableRowBgAlt

Table row background (odd rows)

int TextSelectedBg

No description available

int DragDropTarget

Rectangle highlighting a drop target.

int NavHighlight

Gamepad/keyboard: current highlighted item.

int NavWindowingHighlight

Highlight window when using CTRL+TAB.

int NavWindowingDimBg

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

int ModalWindowDimBg

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

int COUNT

No description available


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 COUNT

No description available

int Alpha

Float Alpha.

int DisabledAlpha

Float DisabledAlpha.

int WindowPadding

ImVec2 WindowPadding.

int WindowRounding

Float WindowRounding.

int WindowBorderSize

Float WindowBorderSize.

int WindowMinSize

ImVec2 WindowMinSize.

int WindowTitleAlign

ImVec2 WindowTitleAlign.

int ChildRounding

Float ChildRounding.

int ChildBorderSize

Float ChildBorderSize.

int PopupRounding

Float PopupRounding.

int PopupBorderSize

Float PopupBorderSize.

int FramePadding

ImVec2 FramePadding.

int FrameRounding

Float FrameRounding.

int FrameBorderSize

Float FrameBorderSize.

int ItemSpacing

ImVec2 ItemSpacing.

int ItemInnerSpacing

ImVec2 ItemInnerSpacing.

int IndentSpacing

Float IndentSpacing.

int CellPadding

ImVec2 CellPadding.

int ScrollbarSize

Float ScrollbarSize.

int ScrollbarRounding

Float ScrollbarRounding.

int GrabMinSize

Float GrabMinSize.

int GrabRounding

Float GrabRounding.

int TabRounding

Float TabRounding.

int TabBorderSize

Float TabBorderSize.

int TabBarBorderSize

Float TabBarBorderSize.

int TableAngledHeadersAngle

Float TableAngledHeadersAngle.

int TableAngledHeadersTextAlign

ImVec2 TableAngledHeadersTextAlign.

int ButtonTextAlign

ImVec2 ButtonTextAlign.

int SelectableTextAlign

ImVec2 SelectableTextAlign.

int SeparatorTextBorderSize

Float SeparatorTextBorderSize.

int SeparatorTextAlign

ImVec2 SeparatorTextAlign.

int SeparatorTextPadding

ImVec2 SeparatorTextPadding.

int DockingSeparatorSize

Float DockingSeparatorSize.


UI_ButtonFlags

inherits : Object

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

static member variables

int None

No description available

int MouseButtonLeft

React on left mouse button (default)

int MouseButtonRight

React on right mouse button.

int MouseButtonMiddle

React on center mouse button.


UI_Direction

inherits : Object

A cardinal direction.

static member variables

int None

No description available

int COUNT

No description available

int Left

No description available

int Right

No description available

int Up

No description available

int Down

No description available


UI_ComboFlags

inherits : Object

Flags for ImGui::BeginCombo().

static member variables

int None

No description available

int PopupAlignLeft

Align the popup toward the left by 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 HeightRegular

Max ~8 items visible (default)

int HeightLarge

Max ~20 items visible.

int HeightLargest

As many fitting items as possible.

int NoArrowButton

Display on the preview box without the square arrow button.

int NoPreview

Display only a square arrow button.

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 None

No description available

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 NoRoundToFormat

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

int NoInput

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


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 None

No description available

int CharsDecimal

Allow 0123456789.+-*/.

int CharsHexadecimal

Allow 0123456789ABCDEFabcdef.

int CharsUppercase

Turn a..z into A..Z.

int CharsNoBlank

Filter out spaces, tabs.

int AutoSelectAll

Select entire text when first taking mouse focus.

int EnterReturnsTrue

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

int CallbackCompletion

Callback on pressing TAB (for completion handling)

int CallbackHistory

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

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 AllowTabInput

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

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 NoHorizontalScroll

Disable following the cursor horizontally.

int AlwaysOverwrite

Overwrite mode.

int ReadOnly

Read-only mode.

int Password

Password mode, display all characters as '*'

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 CharsScientific

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

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 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 EscapeClearsAll

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


UI_ColorEditFlags

inherits : Object

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

static member variables

int None

No description available

int NoInputs

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

int NoAlpha

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

int NoPicker

ColorEdit: disable picker when clicking on color square.

int NoOptions

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

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 NoLabel

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

int NoSidePreview

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

int NoDragDrop

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

int NoBorder

ColorButton: disable border (which is enforced by default)

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 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 DisplayRGB

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

int DisplayHSV

[Display] "

int DisplayHex

[Display] "

int Uint8

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

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 PickerHueBar

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

int PickerHueWheel

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

int InputRGB

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

int InputHSV

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


UI_TreeNodeFlags

inherits : Object

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

static member variables

int None

No description available

int Selected

Draw as selected.

int Framed

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

int AllowOverlap

Hit testing to allow subsequent widgets to overlap this one.

int NoTreePushOnOpen

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

int NoAutoOpenOnLog

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

int DefaultOpen

Default node to be open.

int OpenOnDoubleClick

Need double-click to open node.

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 Leaf

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

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 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.

int SpanAllColumns

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

int NavLeftJumpsBackHere

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

int CollapsingHeader

No description available

int FramePadding

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


UI_SelectableFlags

inherits : Object

Flags for ImGui::Selectable().

static member variables

int None

No description available

int AllowOverlap

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

int SpanAllColumns

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

int DontClosePopups

Clicking this doesn't close parent popup window.

int AllowDoubleClick

Generate press events on double clicks too.

int Disabled

Cannot be selected, display grayed out text.


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 None

No description available

int NoReopen

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

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 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 AnyPopup

No description available

int MouseButtonLeft

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

int MouseButtonRight

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

int MouseButtonMiddle

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


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 None

No description available

int NoSavedSettings

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

int Resizable

Enable resizing columns.

int Reorderable

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

int Hideable

Enable hiding/disabling columns in context menu.

int Sortable

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

int ContextMenuInBody

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

int RowBg

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

int BordersInnerH

Draw horizontal borders between rows.

int BordersOuterH

Draw horizontal borders at the top and bottom.

int BordersInnerV

Draw vertical borders between columns.

int BordersOuterV

Draw vertical borders on the left and right sides.

int BordersH

Draw horizontal borders.

int BordersV

Draw vertical borders.

int BordersInner

Draw inner borders.

int BordersOuter

Draw outer borders.

int Borders

Draw all borders.

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 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 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 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 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 PadOuterX

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

int NoPadOuterX

Default if BordersOuterV is off. Disable outermost padding.

int NoPadInnerX

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

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 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).

int HighlightHoveredColumn

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


UI_TableRowFlags

inherits : Object

Flags for ImGui::TableNextRow().

static member variables

int None

No description available

int Headers

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


UI_TableColumnFlags

inherits : Object

Flags for ImGui::TableSetupColumn().

static member variables

int None

No description available

int NoResize

Disable manual resizing.

int Disabled

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

int NoClip

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

int DefaultHide

Default as a hidden/disabled column.

int DefaultSort

Default as a sorting column.

int WidthStretch

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

int WidthFixed

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

int NoReorder

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

int NoHide

Disable ability to hide/disable this column.

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 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 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 IndentEnable

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

int IndentDisable

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

int AngledHeader

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

int IsEnabled

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

int IsVisible

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

int IsSorted

Status: is currently part of the sort specs.

int IsHovered

Status: is hovered by mouse.


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 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)

int CellBg

Set cell background color (top-most color)


UI_TabBarFlags

inherits : Object

Flags for ImGui::BeginTabBar().

static member variables

int None

No description available

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 AutoSelectNewTabs

Automatically select new tabs when they appear.

int TabListPopupButton

Disable buttons to open the tab list popup.

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 NoTabListScrollingButtons

Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll)

int FittingPolicyResizeDown

Resize tabs when they don't fit.

int FittingPolicyScroll

Add scroll buttons when tabs don't fit.


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 Middle

No description available

int COUNT

No description available

int Left

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 None

No description available

int LeftArrow

No description available

int RightArrow

No description available

int UpArrow

No description available

int DownArrow

No description available

int PageUp

No description available

int PageDown

No description available

int Home

No description available

int End

No description available

int Insert

No description available

int Delete

No description available

int Backspace

No description available

int Space

No description available

int Enter

No description available

int Escape

No description available

int LeftCtrl

No description available

int LeftShift

No description available

int LeftAlt

No description available

int LeftSuper

No description available

int RightCtrl

No description available

int RightShift

No description available

int RightAlt

No description available

int RightSuper

No description available

int Menu

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 A

No description available

int B

No description available

int C

No description available

int F

No description available

int G

No description available

int H

No description available

int K

No description available

int L

No description available

int M

No description available

int N

No description available

int O

No description available

int P

No description available

int R

No description available

int S

No description available

int T

No description available

int U

No description available

int V

No description available

int W

No description available

int Z

No description available

int F1

No description available

int F2

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 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 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 Apostrophe

'

int Comma

,

int Minus

-.

int Period

.

int Slash

/.

int Semicolon

;.

int Equal

=.

int LeftBracket

[.

int Backslash

\ (this text inhibit multiline comment caused by backslash)

int RightBracket

].

int GraveAccent

`.

int CapsLock

No description available

int ScrollLock

No description available

int NumLock

No description available

int PrintScreen

No description available

int Pause

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 KeypadDecimal

No description available

int KeypadDivide

No description available

int KeypadMultiply

No description available

int KeypadSubtract

No description available

int KeypadAdd

No description available

int KeypadEnter

No description available

int KeypadEqual

No description available

int AppBack

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

int AppForward

No description available

int GamepadStart

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

int GamepadBack

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

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 GamepadFaceDown

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

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 GamepadDpadDown

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

int GamepadL1

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

int GamepadR1

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

int GamepadL2

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

int GamepadR2

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

int GamepadL3

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

int GamepadR3

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

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 GamepadLStickDown

[Analog] Move Window (in Windowing mode)

int GamepadRStickLeft

[Analog].

int GamepadRStickRight

[Analog].

int GamepadRStickUp

[Analog].

int GamepadRStickDown

[Analog].

int MouseLeft

No description available

int MouseRight

No description available

int MouseMiddle

No description available

int MouseX1

No description available

int MouseX2

No description available

int MouseWheelX

No description available

int MouseWheelY

No description available

int Mod_None

No description available

int Mod_Ctrl

Ctrl (non-macOS), Cmd (macOS)

int Mod_Shift

Shift.

int Mod_Alt

Option/Menu.

int Mod_Super

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

int KeysData_SIZE

Size of KeysData[]: only hold named keys.

int KeysData_OFFSET

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

int D

No description available

int E

No description available

int I

No description available

int J

No description available

int Tab

== ImGuiKey_NamedKey_BEGIN.

int Y

No description available

int X

No description available

int Q

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 None

No description available

int Arrow

No description available

int TextInput

When hovering over InputText, etc.

int ResizeAll

(Unused by Dear ImGui functions)

int ResizeNS

When hovering over a horizontal border.

int ResizeEW

When hovering over a vertical border or a column.

int ResizeNESW

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

int ResizeNWSE

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

int Hand

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

int NotAllowed

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

int COUNT

No description available


UI_ViewportFlags

inherits : Object

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

static member variables

int None

No description available

int NoFocusOnAppearing

Platform Window: Don't take focus when created.

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 NoInputs

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

int IsPlatformWindow

Represent a Platform Window.

int IsPlatformMonitor

Represent a Platform Monitor (unused yet)

int OwnedByApp

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

int NoTaskBarIcon

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

int NoFocusOnClick

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

int NoRendererClear

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

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 TopMost

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

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 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 IsFocused

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


UI_FocusedFlags

inherits : Object

Flags for ImGui::IsWindowFocused().

static member variables

int None

No description available

int ChildWindows

Return true if any children of the window is focused.

int RootWindow

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

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 NoPopupHierarchy

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

int DockHierarchy

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

int RootAndChildWindows

No description available


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 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 ChildWindows

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

int RootWindow

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

int AnyWindow

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

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 DockHierarchy

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

int RootAndChildWindows

No description available

int AllowWhenBlockedByPopup

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

int AllowWhenBlockedByActiveItem

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

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 AllowWhenDisabled

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

int NoNavOverride

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

int AllowWhenOverlapped

No description available

int RectOnly

No description available

int ForTooltip

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

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.

int DelayNone

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

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 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 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)


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 None

No description available

int NoResize

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

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 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.

int NoDockingSplit

Disable other windows/nodes from splitting this node.

int AutoHideTabBar

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

int NoUndocking

Disable undocking this node.


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 desiredSize()

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

vec2 currentSize()

Read-only current window size.

vec2 getPos()

Read-only window position, for reference.

vec2 desiredSize(vec2 desired_size)

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


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 pushClipRectFullScreen()

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 popClipRect()

No description available

vec2 getClipRectMin()

No description available

vec2 getClipRectMax()

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 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 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 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

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 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 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 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 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 addPolyline(vec2[] points, vec4 col, int UI_DrawFlags, float thickness)

No description available

void addConvexPolyFilled(vec2[] points, vec4 col)

No description available

void addConcavePolyFilled(vec2[] points, vec4 col)

No description available

void pathClear()

No description available

void pathLineTo(vec2 pos)

No description available

void pathLineToMergeDuplicate(vec2 pos)

No description available

void pathFillConvex(vec4 col)

No description available

void pathFillConcave(vec4 col)

No description available

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

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 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 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 pathRect(vec2 rect_min, vec2 rect_max, float rounding, int UI_DrawFlags)

No description available


UI

inherits : Object

No description available

examples

static member functions

void showFontSelector(string label)

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

void showUserGuide()

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

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)

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)

void end()

No description available

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.

void endChild()

No description available

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.

float getWindowDpiScale()

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

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)

float getWindowWidth()

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

float getWindowHeight()

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

UI_Viewport getWindowViewport()

Get viewport currently associated to the current window.

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 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 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 setNextWindowCollapsed(int collapsed, int cond)

Set next window collapsed state. call before Begin()

void setNextWindowFocus()

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

void setNextWindowScroll(vec2 scroll)

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

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.

vec2 getContentRegionAvail()

Equivalent to GetContentRegionMax() - GetCursorPos()

vec2 getContentRegionMax()

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

vec2 getWindowContentRegionMin()

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

vec2 getWindowContentRegionMax()

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

float getScrollX()

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

float getScrollY()

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

void setScrollX(float scroll_x)

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

void setScrollY(float scroll_y)

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

float getScrollMaxX()

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

float getScrollMaxY()

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

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 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 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 popStyleColor()

Implied count = 1.

void popStyleColor(int count)

No description available

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 popStyleVar()

Implied count = 1.

void popStyleVar(int count)

No description available

void pushTabStop(int tab_stop)

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

void popTabStop()

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 popButtonRepeat()

No description available

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 popItemWidth()

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

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)

float calcItemWidth()

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

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.

void popTextWrapPos()

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

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.

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.

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.

vec2 getCursorScreenPos()

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

vec2 setCursorScreenPos(vec2 pos)

Cursor position in absolute coordinates.

vec2 getCursorPos()

Cursor position in window coordinates (relative to window position)

float getCursorPosX()

No description available

float getCursorPosY()

No description available

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 getCursorStartPos()

Initial cursor position, in window coordinates.

void separator()

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

void sameLine()

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

void spacing()

Add vertical spacing.

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 newLine()

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

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 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.

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.

void beginGroup()

Lock horizontal starting position.

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 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)

float getTextLineHeight()

~ FontSize.

float getTextLineHeightWithSpacing()

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

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)

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 popID()

Pop from the ID stack.

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

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 labelText(string label, string text)

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

void bulletText(string text)

Shortcut for Bullet()+Text()

void separatorText(string label)

Currently: formatted text with an horizontal line.

int button(string label)

Implied size = ImVec2(0, 0)

int button(string label, vec2 size)

No description available

int smallButton(string label)

Button with (FramePadding.y == 0)

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 arrowButton(string str_id, int direction)

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

int checkbox(string label, UI_Bool v)

No description available

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

No description available

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 progressBar(float fraction, vec2 size_arg, string overlay)

No description available

void bullet()

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

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 endCombo()

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

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

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, 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)

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.

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_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 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 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 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 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 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 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 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 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.

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.

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 treePush(string str_id)

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

void treePop()

~ Unindent()+PopID()

float getTreeNodeToLabelSpacing()

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

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.

void setNextItemOpen(int is_open, int cond)

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

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.

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.

void endListBox()

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

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.

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 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

int beginMenuBar()

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

void endMenuBar()

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

int beginMainMenuBar()

Create and append to a full screen menu-bar.

void endMainMenuBar()

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

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!

void endMenu()

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

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 beginTooltip()

Begin/append a tooltip window.

void endTooltip()

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

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)

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.

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 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.

void endPopup()

No description available

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 closeCurrentPopup()

Manually close the popup we have begin-ed into.

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 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 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 isPopupOpen(string str_id, int flags)

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

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.

void endTable()

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

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.

int tableNextColumn()

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

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 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.

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 tableGetColumnIndex()

Return current column index.

int tableGetRowIndex()

Return current row index.

string tableGetColumnName(int column_n)

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

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.

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)

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.

int beginTabBar(string str_id, int flags)

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

void endTabBar()

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

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.

void endTabItem()

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

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 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.

int dockSpaceOverViewport()

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

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 endDisabled()

No description available

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 popClipRect()

No description available

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 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.

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 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 isItemFocused()

Is the last item focused for keyboard/gamepad navigation?

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 isItemVisible()

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

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 isItemActivated()

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

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 isItemToggledOpen()

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

int isAnyItemHovered()

Is any item hovered?

int isAnyItemActive()

Is any item active?

int isAnyItemFocused()

Is any item focused?

int getItemID()

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

vec2 getItemRectMin()

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

vec2 getItemRectMax()

Get lower-right 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.

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.

vec3 convertRGBtoHSV(vec3 rgb)

No description available

vec3 convertHSVtoRGB(vec3 hsv)

No description available

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 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 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.

string keyName(int key)

Returns English name of the key. Those names a provided for debugging purpose and are not meant to be saved persistently not compared.

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.

int isMouseDown(int button)

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

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 isMouseReleased(int button)

Did mouse button released? (went from Down to !Down). `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 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.

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.

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)

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.

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.

void resetMouseDragDelta()

Implied button = 0.

void resetMouseDragDelta(int button)

`button` is an enum of type UI_MouseButton.

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 setMouseCursor(int cursor_type)

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

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.

string clipboardText()

No description available

void clipboardText(string text)

No description available

void styleColorsDark()

No description available

void styleColorsLight()

No description available

void styleColorsClassic()

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.

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 wantCaptureMouse()

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

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.

UI_Style getStyle()

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

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 showMetricsWindow(UI_Bool p_open)

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

void showDebugLogWindow(UI_Bool p_open)

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

void showStyleEditor()

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

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 showAboutWindow(UI_Bool p_open)

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

int showStyleSelector(string label)

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