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.
No description available
UI_Bool()
Default constructor for UI_Bool.
UI_Bool(int val)
No description available
int val()
No description available
void val(int val)
No description available
int bool_val
No description available
[ top ]
No description available
UI_String()
Default constructor for UI_String.
UI_String(string str)
No description available
string val()
No description available
void val(string val)
No description available
[ top ]
No description available
UI_Int()
Default constructor for UI_Int.
UI_Int(int initializer_int)
No description available
int val()
No description available
int val(int val)
No description available
[ top ]
No description available
UI_Int2()
Default constructor for UI_Int2.
void val(int x, int y)
No description available
int x()
No description available
int y()
No description available
[ top ]
No description available
UI_Int3()
Default constructor for UI_Int3.
void val(int x, int y, int z)
No description available
int x()
No description available
int y()
No description available
int z()
No description available
[ top ]
No description available
UI_Int4()
Default constructor for UI_Int4.
void val(int x, int y, int z, int w)
No description available
int w()
No description available
int x()
No description available
int y()
No description available
int z()
No description available
[ top ]
No description available
UI_Float()
Default constructor for UI_Float.
UI_Float(float val)
No description available
float val()
No description available
float val(float val)
No description available
[ top ]
No description available
UI_Float2()
Default constructor for UI_Float2.
UI_Float2(vec2 val)
No description available
vec2 val()
No description available
vec2 val(vec2 val)
No description available
[ top ]
No description available
UI_Float3()
Default constructor for UI_Float3.
UI_Float3(vec3 val)
No description available
vec3 val()
No description available
vec3 val(vec3 val)
No description available
[ top ]
No description available
UI_Float4()
Default constructor for UI_Float4.
UI_Float4(vec4 val)
No description available
vec4 val()
No description available
vec4 val(vec4 val)
No description available
[ top ]
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.
UI_Viewport()
Default constructor for UI_Viewport.
vec2 center()
Main Area: Center position of the viewport.
float dpiScale()
DPI scale: 1.0f = 96 DPI = No extra scale.
int flags()
Returns the UI_ViewportFlags for the viewport.
int id()
Returns the unique identifier for the viewport.
int parentID()
(Advanced) 0: no parent. Instruct the platform backend to setup a parent/child relationship between platform windows.
vec2 pos()
Main Area: Position of the viewport (Dear ImGui coordinates are the same as OS desktop/native coordinates).
vec2 size()
Main Area: Size of the viewport.
vec2 workCenter()
Work Area: Center position of the viewport.
vec2 workPos()
Work Area: Position of the viewport minus task bars, menus bars, status bars (>= Pos).
vec2 workSize()
Work Area: Size of the viewport minus task bars, menu bars, status bars (<= Size).
[ top ]
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.
UI_Style()
Default constructor for UI_Style.
float alpha()
Global alpha applies to everything in ImGui.
void alpha(float alpha)
No description available
int antiAliasedFill()
Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
void antiAliasedFill(int antiAliasedFill)
No description available
int antiAliasedLines()
Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
void antiAliasedLines(int antiAliasedLines)
No description available
int antiAliasedLinesUseTex()
Enable anti-aliased lines/borders using textures where possible. Require backend to render with bilinear filtering (NOT point/nearest filtering). Latched at the beginning of the frame (copied to ImDrawList).
void antiAliasedLinesUseTex(int antiAliasedLinesUseTex)
No description available
vec2 buttonTextAlign()
Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).
void buttonTextAlign(vec2 buttonTextAlign)
No description available
vec2 cellPadding()
Padding within a table cell. Cellpadding.x is locked for entire table. CellPadding.y may be altered between different rows.
void cellPadding(vec2 cellPadding)
No description available
float childBorderSize()
Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
void childBorderSize(float childBorderSize)
No description available
float childRounding()
Radius of child window corners rounding. Set to 0.0f to have rectangular windows.
void childRounding(float childRounding)
No description available
float circleTessellationMaxError()
Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.
void circleTessellationMaxError(float circleTessellationMaxError)
No description available
vec4 color(int ui_color_flag)
Get the color for a specific UI_Color flag.
void color(int ui_color_flag, vec4 color)
No description available
int colorButtonPosition()
Side of the color button in the ColorEdit4 widget (left/right). Defaults to UI_Direction.Right.
void colorButtonPosition(int ui_direction)
No description available
float columnsMinSpacing()
Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).
void columnsMinSpacing(float columnsMinSpacing)
No description available
float curveTessellationTol()
Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
void curveTessellationTol(float curveTessellationTol)
No description available
float disabledAlpha()
Additional alpha multiplier applied by BeginDisabled(). Multiply over current value of Alpha.
void disabledAlpha(float disabledAlpha)
No description available
vec2 displaySafeAreaPadding()
If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding. Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!
void displaySafeAreaPadding(vec2 displaySafeAreaPadding)
No description available
vec2 displayWindowPadding()
Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows.
void displayWindowPadding(vec2 displayWindowPadding)
No description available
float dockingSeparatorSize()
Thickness of resizing border between docked windows.
void dockingSeparatorSize(float dockingSeparatorSize)
No description available
float frameBorderSize()
Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
void frameBorderSize(float frameBorderSize)
No description available
vec2 framePadding()
Padding within a framed rectangle (used by most widgets).
void framePadding(vec2 framePadding)
No description available
float frameRounding()
Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
void frameRounding(float frameRounding)
No description available
float grabMinSize()
Minimum width/height of a grab box for slider/scrollbar.
void grabMinSize(float grabMinSize)
No description available
float grabRounding()
Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
void grabRounding(float grabRounding)
No description available
float hoverDelayNormal()
Delay for IsItemHovered(ImGuiHoveredFlags_DelayNormal).
void hoverDelayNormal(float hoverDelayNormal)
No description available
float hoverDelayShort()
Delay for IsItemHovered(ImGuiHoveredFlags_DelayShort). Usually used along with HoverStationaryDelay.
void hoverDelayShort(float hoverDelayShort)
No description available
int hoverFlagsForTooltipMouse()
Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using mouse.
void hoverFlagsForTooltipMouse(int hoverFlagsForTooltipMouse)
No description available
int hoverFlagsForTooltipNav()
Default flags when using IsItemHovered(ImGuiHoveredFlags_ForTooltip) or BeginItemTooltip()/SetItemTooltip() while using keyboard/gamepad.
void hoverFlagsForTooltipNav(int hoverFlagsForTooltipNav)
No description available
float hoverStationaryDelay()
Delay for IsItemHovered(ImGuiHoveredFlags_Stationary). Time required to consider mouse stationary.
void hoverStationaryDelay(float hoverStationaryDelay)
No description available
float indentSpacing()
Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).
void indentSpacing(float indentSpacing)
No description available
vec2 itemInnerSpacing()
Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).
void itemInnerSpacing(vec2 itemInnerSpacing)
No description available
vec2 itemSpacing()
Horizontal and vertical spacing between widgets/lines.
void itemSpacing(vec2 itemSpacing)
No description available
float logSliderDeadzone()
The size in pixels of the dead-zone around zero on logarithmic sliders that cross zero.
void logSliderDeadzone(float logSliderDeadzone)
No description available
float mouseCursorScale()
Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). We apply per-monitor DPI scaling over this scale. May be removed later.
void mouseCursorScale(float mouseCursorScale)
No description available
float popupBorderSize()
Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
void popupBorderSize(float popupBorderSize)
No description available
float popupRounding()
Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding)
void popupRounding(float popupRounding)
No description available
float scrollbarRounding()
Radius of grab corners for scrollbar.
void scrollbarRounding(float scrollbarRounding)
No description available
float scrollbarSize()
Width of the vertical scrollbar, Height of the horizontal scrollbar.
void scrollbarSize(float scrollbarSize)
No description available
vec2 selectableTextAlign()
Alignment of selectable text. Defaults to (0.0f, 0.0f) (top-left aligned). It's generally important to keep this left-aligned if you want to lay multiple items on a same line.
void selectableTextAlign(vec2 selectableTextAlign)
No description available
vec2 separatorTextAlign()
Alignment of text within the separator. Defaults to (0.0f, 0.5f) (left aligned, center).
void separatorTextAlign(vec2 separatorTextAlign)
No description available
float separatorTextBorderSize()
Thickkness of border in SeparatorText()
void separatorTextBorderSize(float separatorTextBorderSize)
No description available
vec2 separatorTextPadding()
Horizontal offset of text from each edge of the separator + spacing on other axis. Generally small values. .y is recommended to be == FramePadding.y.
void separatorTextPadding(vec2 separatorTextPadding)
No description available
float tabBarBorderSize()
Thickness of tab-bar separator, which takes on the tab active color to denote focus.
void tabBarBorderSize(float tabBarBorderSize)
No description available
float tabBorderSize()
Thickness of border around tabs.
void tabBorderSize(float tabBorderSize)
No description available
float tabMinWidthForCloseButton()
Minimum width for close button to appear on an unselected tab when hovered. Set to 0.0f to always show when hovering, set to FLT_MAX to never show close button unless selected.
void tabMinWidthForCloseButton(float tabMinWidthForCloseButton)
No description available
float tabRounding()
Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.
void tabRounding(float tabRounding)
No description available
float tableAngledHeadersAngle()
Angle of angled headers (supported values range from -50.0f degrees to +50.0f degrees).
void tableAngledHeadersAngle(float tableAngledHeadersAngle)
No description available
vec2 tableAngledHeadersTextAlign()
Alignment of angled headers within the cell.
void tableAngledHeadersTextAlign(vec2 tableAngledHeadersTextAlign)
No description available
vec2 touchExtraPadding()
Expand reactive bounding box for touch-based system where touch position is not accurate enough. Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!
void touchExtraPadding(vec2 touchExtraPadding)
No description available
float windowBorderSize()
Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
void windowBorderSize(float windowBorderSize)
No description available
int windowMenuButtonPosition()
Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to UI_Direction.Left.
void windowMenuButtonPosition(int ui_direction)
Ui_direction is enum UI_Direction.
vec2 windowMinSize()
Minimum window size. This is a global setting. If you want to constrain individual windows, use SetNextWindowSizeConstraints().
void windowMinSize(vec2 windowMinSize)
No description available
vec2 windowPadding()
Padding within a window.
void windowPadding(vec2 windowPadding)
No description available
float windowRounding()
Radius of window corners rounding. Set to 0.0f to have rectangular windows. Large values tend to lead to variety of artifacts and are not recommended.
void windowRounding(float windowRounding)
No description available
vec2 windowTitleAlign()
Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.
void windowTitleAlign(vec2 windowTitleAlign)
No description available
[ top ]
Flags for ImGui::Begin(). (Those are per-window flags. There are shared flags in ImGuiIO: io.ConfigWindowsResizeFromEdges and io.ConfigWindowsMoveFromTitleBarOnly).
int AlwaysAutoResize
Resize every window to its content every frame.
int AlwaysHorizontalScrollbar
Always show horizontal scrollbar (even if ContentSize.x < Size.x)
int AlwaysVerticalScrollbar
Always show vertical scrollbar (even if ContentSize.y < Size.y)
int HorizontalScrollbar
Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width,0.0f)); prior to calling Begin() to specify width. Read code in imgui_demo in the "Horizontal Scrolling" section.
int MenuBar
Has a menu-bar.
int NoBackground
Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0f).
int NoBringToFrontOnFocus
Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus)
int NoCollapse
Disable user collapsing window by double-clicking on it. Also referred to as Window Menu Button (e.g. within a docking node).
int NoDecoration
No description available
int NoDocking
Disable docking of this window.
int NoFocusOnAppearing
Disable taking focus when transitioning from hidden to visible state.
int NoInputs
No description available
int NoMouseInputs
Disable catching mouse, hovering test with pass through.
int NoMove
Disable user moving the window.
int NoNav
No description available
int NoNavFocus
No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB)
int NoNavInputs
No gamepad/keyboard navigation within the window.
int None
No description available
int NoResize
Disable user resizing with the lower-right grip.
int NoSavedSettings
Never load/save settings in .ini file.
int NoScrollbar
Disable scrollbars (window can still scroll with mouse or programmatically)
int NoScrollWithMouse
Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set.
int NoTitleBar
Disable title-bar.
int UnsavedDocument
Display a dot next to the title. When used in a tab/docking context, tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar.
[ top ]
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..
int AlwaysAutoResize
Combined with AutoResizeX/AutoResizeY. Always measure size even when child is hidden, always return true, always disable clipping optimization! NOT RECOMMENDED.
int AlwaysUseWindowPadding
Pad with style.WindowPadding even if no border are drawn (no padding by default for non-bordered child windows because it makes more sense)
int AutoResizeX
Enable auto-resizing width. Read "IMPORTANT: Size measurement" details above.
int AutoResizeY
Enable auto-resizing height. Read "IMPORTANT: Size measurement" details above.
int Border
Show an outer border and enable WindowPadding. (IMPORTANT: this is always == 1 == true for legacy reason)
int FrameStyle
Style the child window like a framed item: use FrameBg, FrameRounding, FrameBorderSize, FramePadding instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding.
int None
No description available
int ResizeX
Allow resize from right border (layout direction). Enable .ini saving (unless ImGuiWindowFlags_NoSavedSettings passed to window flags)
int ResizeY
Allow resize from bottom border (layout direction). "
[ top ]
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..
int Always
No condition (always set the variable), same as _None.
int Appearing
Set the variable if the object/window is appearing after being hidden/inactive (or the first time)
int FirstUseEver
Set the variable if the object/window has no persistently saved data (no entry in .ini file)
int None
No condition (always set the variable), same as _Always.
int Once
Set the variable once per runtime session (only the first call will succeed)
[ top ]
Enumeration for PushStyleColor() / PopStyleColor(). A color identifier for styling.
int Border
No description available
int BorderShadow
No description available
int Button
No description available
int ButtonActive
No description available
int ButtonHovered
No description available
int CheckMark
Checkbox tick and RadioButton circle.
int ChildBg
Background of child windows.
int COUNT
No description available
int DockingEmptyBg
Background color for empty node (e.g. CentralNode with no window docked into it)
int DockingPreview
Preview overlay color when about to docking something.
int DragDropTarget
Rectangle highlighting a drop target.
int FrameBg
Background of checkbox, radio button, plot, slider, text input.
int FrameBgActive
No description available
int FrameBgHovered
No description available
int Header
Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem.
int HeaderActive
No description available
int HeaderHovered
No description available
int MenuBarBg
No description available
int ModalWindowDimBg
Darken/colorize entire screen behind a modal window, when one is active.
int NavHighlight
Gamepad/keyboard: current highlighted item.
int NavWindowingDimBg
Darken/colorize entire screen behind the CTRL+TAB window list, when active.
int NavWindowingHighlight
Highlight window when using CTRL+TAB.
int PlotHistogram
No description available
int PlotHistogramHovered
No description available
int PlotLines
No description available
int PlotLinesHovered
No description available
int PopupBg
Background of popups, menus, tooltips windows.
int ResizeGrip
Resize grip in lower-right and lower-left corners of windows.
int ResizeGripActive
No description available
int ResizeGripHovered
No description available
int ScrollbarBg
No description available
int ScrollbarGrab
No description available
int ScrollbarGrabActive
No description available
int ScrollbarGrabHovered
No description available
int Separator
No description available
int SeparatorActive
No description available
int SeparatorHovered
No description available
int SliderGrab
No description available
int SliderGrabActive
No description available
int Tab
TabItem in a TabBar.
int TabActive
No description available
int TabHovered
No description available
int TableBorderLight
Table inner borders (prefer using Alpha=1.0 here)
int TableBorderStrong
Table outer and header borders (prefer using Alpha=1.0 here)
int TableHeaderBg
Table header background.
int TableRowBg
Table row background (even rows)
int TableRowBgAlt
Table row background (odd rows)
int TabUnfocused
No description available
int TabUnfocusedActive
No description available
int Text
No description available
int TextDisabled
No description available
int TextSelectedBg
No description available
int TitleBg
Title bar.
int TitleBgActive
Title bar when focused.
int TitleBgCollapsed
Title bar when collapsed.
int WindowBg
Background of normal windows.
[ top ]
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..
int Alpha
Float Alpha.
int ButtonTextAlign
ImVec2 ButtonTextAlign.
int CellPadding
ImVec2 CellPadding.
int ChildBorderSize
Float ChildBorderSize.
int ChildRounding
Float ChildRounding.
int COUNT
No description available
int DisabledAlpha
Float DisabledAlpha.
int DockingSeparatorSize
Float DockingSeparatorSize.
int FrameBorderSize
Float FrameBorderSize.
int FramePadding
ImVec2 FramePadding.
int FrameRounding
Float FrameRounding.
int GrabMinSize
Float GrabMinSize.
int GrabRounding
Float GrabRounding.
int IndentSpacing
Float IndentSpacing.
int ItemInnerSpacing
ImVec2 ItemInnerSpacing.
int ItemSpacing
ImVec2 ItemSpacing.
int PopupBorderSize
Float PopupBorderSize.
int PopupRounding
Float PopupRounding.
int ScrollbarRounding
Float ScrollbarRounding.
int ScrollbarSize
Float ScrollbarSize.
int SelectableTextAlign
ImVec2 SelectableTextAlign.
int SeparatorTextAlign
ImVec2 SeparatorTextAlign.
int SeparatorTextBorderSize
Float SeparatorTextBorderSize.
int SeparatorTextPadding
ImVec2 SeparatorTextPadding.
int TabBarBorderSize
Float TabBarBorderSize.
int TabBorderSize
Float TabBorderSize.
int TableAngledHeadersAngle
Float TableAngledHeadersAngle.
int TableAngledHeadersTextAlign
ImVec2 TableAngledHeadersTextAlign.
int TabRounding
Float TabRounding.
int WindowBorderSize
Float WindowBorderSize.
int WindowMinSize
ImVec2 WindowMinSize.
int WindowPadding
ImVec2 WindowPadding.
int WindowRounding
Float WindowRounding.
int WindowTitleAlign
ImVec2 WindowTitleAlign.
[ top ]
Flags for InvisibleButton() [extended in imgui_internal.h].
int MouseButtonLeft
React on left mouse button (default)
int MouseButtonMiddle
React on center mouse button.
int MouseButtonRight
React on right mouse button.
int None
No description available
[ top ]
A cardinal direction.
int COUNT
No description available
int Down
No description available
int Left
No description available
int None
No description available
int Right
No description available
int Up
No description available
[ top ]
Flags for ImGui::BeginCombo().
int HeightLarge
Max ~20 items visible.
int HeightLargest
As many fitting items as possible.
int HeightRegular
Max ~8 items visible (default)
int HeightSmall
Max ~4 items visible. Tip: If you want your combo popup to be a specific size you can use SetNextWindowSizeConstraints() prior to calling BeginCombo()
int NoArrowButton
Display on the preview box without the square arrow button.
int None
No description available
int NoPreview
Display only a square arrow button.
int PopupAlignLeft
Align the popup toward the left by default.
int WidthFitPreview
Width dynamically calculated from preview contents.
[ top ]
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).
int AlwaysClamp
Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds.
int Logarithmic
Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.
int NoInput
Disable CTRL+Click or Enter key allowing to input text directly into the widget.
int None
No description available
int NoRoundToFormat
Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits)
[ top ]
Flags for ImGui::InputText(). (Those are per-item flags. There are shared flags in ImGuiIO: io.ConfigInputTextCursorBlink and io.ConfigInputTextEnterKeepActive).
int AllowTabInput
Pressing TAB input a '\t' character into the text field.
int AlwaysOverwrite
Overwrite mode.
int AutoSelectAll
Select entire text when first taking mouse focus.
int CallbackAlways
Callback on each iteration. User code may query cursor position, modify text buffer.
int CallbackCharFilter
Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
int CallbackCompletion
Callback on pressing TAB (for completion handling)
int CallbackEdit
Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active)
int CallbackHistory
Callback on pressing Up/Down arrows (for history handling)
int CallbackResize
Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this)
int CharsDecimal
Allow 0123456789.+-*/.
int CharsHexadecimal
Allow 0123456789ABCDEFabcdef.
int CharsNoBlank
Filter out spaces, tabs.
int CharsScientific
Allow 0123456789.+-*/eE (Scientific notation input)
int CharsUppercase
Turn a..z into A..Z.
int CtrlEnterForNewLine
In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
int EnterReturnsTrue
Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.
int EscapeClearsAll
Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert)
int NoHorizontalScroll
Disable following the cursor horizontally.
int None
No description available
int NoUndoRedo
Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().
int Password
Password mode, display all characters as '*'
int ReadOnly
Read-only mode.
[ top ]
Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton().
int AlphaBar
ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.
int AlphaPreview
ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.
int AlphaPreviewHalf
ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.
int DisplayHex
[Display] "
int DisplayHSV
[Display] "
int DisplayRGB
[Display] ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex.
int Float
[DataType] ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0f..1.0f floats instead of 0..255 integers. No round-trip of value via integers.
int HDR
(WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well).
int InputHSV
[Input] ColorEdit, ColorPicker: input and output data in HSV format.
int InputRGB
[Input] ColorEdit, ColorPicker: input and output data in RGB format.
int NoAlpha
ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer).
int NoBorder
ColorButton: disable border (which is enforced by default)
int NoDragDrop
ColorEdit: disable drag and drop target. ColorButton: disable drag and drop source.
int NoInputs
ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square).
int NoLabel
ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).
int None
No description available
int NoOptions
ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.
int NoPicker
ColorEdit: disable picker when clicking on color square.
int NoSidePreview
ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead.
int NoSmallPreview
ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs)
int NoTooltip
ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.
int PickerHueBar
[Picker] ColorPicker: bar for Hue, rectangle for Sat/Value.
int PickerHueWheel
[Picker] ColorPicker: wheel for Hue, triangle for Sat/Value.
int Uint8
[DataType] ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255.
[ top ]
Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*().
int AllowOverlap
Hit testing to allow subsequent widgets to overlap this one.
int Bullet
Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don't set the _Leaf flag!
int CollapsingHeader
No description available
int DefaultOpen
Default node to be open.
int Framed
Draw frame with background (e.g. for CollapsingHeader)
int FramePadding
Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding().
int Leaf
No collapsing, no arrow (use as a convenience for leaf nodes).
int NavLeftJumpsBackHere
(WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop)
int NoAutoOpenOnLog
Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes)
int None
No description available
int NoTreePushOnOpen
Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack.
int OpenOnArrow
Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.
int OpenOnDoubleClick
Need double-click to open node.
int Selected
Draw as selected.
int SpanAllColumns
Frame will span all columns of its container table (text will still fit in current column)
int SpanAvailWidth
Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line without using AllowOverlap mode.
int SpanFullWidth
Extend hit box to the left-most and right-most edges (cover the indent area).
int SpanTextWidth
Narrow hit box + narrow hovering highlight, will only cover the label text.
[ top ]
Flags for ImGui::Selectable().
int AllowDoubleClick
Generate press events on double clicks too.
int AllowOverlap
(WIP) Hit testing to allow subsequent widgets to overlap this one.
int Disabled
Cannot be selected, display grayed out text.
int DontClosePopups
Clicking this doesn't close parent popup window.
int None
No description available
int SpanAllColumns
Frame will span all columns of its container table (text will still fit in current column)
[ top ]
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)..
int AnyPopup
No description available
int AnyPopupId
For IsPopupOpen(): ignore the ImGuiID parameter and test for any popup.
int AnyPopupLevel
For IsPopupOpen(): search/test at any level of the popup stack (default test in the current level)
int MouseButtonLeft
For BeginPopupContext*(): open on Left Mouse release. Guaranteed to always be == 0 (same as ImGuiMouseButton_Left)
int MouseButtonMiddle
For BeginPopupContext*(): open on Middle Mouse release. Guaranteed to always be == 2 (same as ImGuiMouseButton_Middle)
int MouseButtonRight
For BeginPopupContext*(): open on Right Mouse release. Guaranteed to always be == 1 (same as ImGuiMouseButton_Right)
int None
No description available
int NoOpenOverExistingPopup
For OpenPopup*(), BeginPopupContext*(): don't open if there's already a popup at the same level of the popup stack.
int NoOpenOverItems
For BeginPopupContextWindow(): don't return true when hovering items, only when hovering empty space.
int NoReopen
For OpenPopup*(), BeginPopupContext*(): don't reopen same popup if already open (won't reposition, won't reinitialize navigation)
[ top ]
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..
int Borders
Draw all borders.
int BordersH
Draw horizontal borders.
int BordersInner
Draw inner borders.
int BordersInnerH
Draw horizontal borders between rows.
int BordersInnerV
Draw vertical borders between columns.
int BordersOuter
Draw outer borders.
int BordersOuterH
Draw horizontal borders at the top and bottom.
int BordersOuterV
Draw vertical borders on the left and right sides.
int BordersV
Draw vertical borders.
int ContextMenuInBody
Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow().
int Hideable
Enable hiding/disabling columns in context menu.
int HighlightHoveredColumn
Highlight column headers when hovered (may evolve into a fuller highlight)
int NoBordersInBody
[ALPHA] Disable vertical borders in columns Body (borders will always appear in Headers). -> May move to style.
int NoBordersInBodyUntilResize
[ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appear in Headers). -> May move to style.
int NoClip
Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze().
int NoHostExtendX
Make outer width auto-fit to columns, overriding outer_size.x value. Only available when ScrollX/ScrollY are disabled and Stretch columns are not used.
int NoHostExtendY
Make outer height stop exactly at outer_size.y (prevent auto-extending table past the limit). Only available when ScrollX/ScrollY are disabled. Data below the limit will be clipped and not visible.
int NoKeepColumnsVisible
Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable.
int None
No description available
int NoPadInnerX
Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off).
int NoPadOuterX
Default if BordersOuterV is off. Disable outermost padding.
int NoSavedSettings
Disable persisting columns order, width and sort settings in the .ini file.
int PadOuterX
Default if BordersOuterV is on. Enable outermost padding. Generally desirable if you have headers.
int PreciseWidths
Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth.
int Reorderable
Enable reordering columns in header row (need calling TableSetupColumn() + TableHeadersRow() to display headers)
int Resizable
Enable resizing columns.
int RowBg
Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually)
int ScrollX
Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this creates a child window, ScrollY is currently generally recommended when using ScrollX.
int ScrollY
Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size.
int SizingFixedFit
Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width.
int SizingFixedSame
Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible.
int SizingStretchProp
Columns default to _WidthStretch with default weights proportional to each columns contents widths.
int SizingStretchSame
Columns default to _WidthStretch with default weights all equal, unless overridden by TableSetupColumn().
int Sortable
Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate.
int SortMulti
Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1).
int SortTristate
Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0).
[ top ]
Flags for ImGui::TableNextRow().
int Headers
Identify header row (set default background color + width of its contents accounted differently for auto column width)
int None
No description available
[ top ]
Flags for ImGui::TableSetupColumn().
int AngledHeader
TableHeadersRow() will submit an angled header row for this column. Note this will add an extra row.
int DefaultHide
Default as a hidden/disabled column.
int DefaultSort
Default as a sorting column.
int Disabled
Overriding/master disable flag: hide column, won't show in context menu (unlike calling TableSetColumnEnabled() which manipulates the user accessible state)
int IndentDisable
Ignore current Indent value when entering cell (default for columns > 0). Indentation changes _within_ the cell will still be honored.
int IndentEnable
Use current Indent value when entering cell (default for column 0).
int IsEnabled
Status: is enabled == not hidden by user/api (referred to as "Hide" in _DefaultHide and _NoHide) flags.
int IsHovered
Status: is hovered by mouse.
int IsSorted
Status: is currently part of the sort specs.
int IsVisible
Status: is visible == is enabled AND not clipped by scrolling.
int NoClip
Disable clipping for this column (all NoClip columns will render in a same draw command).
int NoHeaderLabel
TableHeadersRow() will not submit horizontal label for this column. Convenient for some small columns. Name will still appear in context menu or in angled headers.
int NoHeaderWidth
Disable header text width contribution to automatic column width.
int NoHide
Disable ability to hide/disable this column.
int None
No description available
int NoReorder
Disable manual reordering this column, this will also prevent other columns from crossing over this column.
int NoResize
Disable manual resizing.
int NoSort
Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table).
int NoSortAscending
Disable ability to sort in the ascending direction.
int NoSortDescending
Disable ability to sort in the descending direction.
int PreferSortAscending
Make the initial sort direction Ascending when first sorting on this column (default).
int PreferSortDescending
Make the initial sort direction Descending when first sorting on this column.
int WidthFixed
Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable).
int WidthStretch
Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp).
[ top ]
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..
int CellBg
Set cell background color (top-most color)
int None
No description available
int RowBg0
Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used)
int RowBg1
Set row background color 1 (generally used for selection marking)
[ top ]
Flags for ImGui::BeginTabBar().
int AutoSelectNewTabs
Automatically select new tabs when they appear.
int FittingPolicyResizeDown
Resize tabs when they don't fit.
int FittingPolicyScroll
Add scroll buttons when tabs don't fit.
int NoCloseWithMiddleMouseButton
Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You may handle this behavior manually on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false.
int None
No description available
int NoTabListScrollingButtons
Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll)
int NoTooltip
Disable tooltips when hovering a tab.
int Reorderable
Allow manually dragging tabs to re-order them + New tabs are appended at the end of list.
int TabListPopupButton
Disable buttons to open the tab list popup.
[ top ]
Identify a mouse button.. Those values are guaranteed to be stable and we frequently use 0/1 directly. Named enums provided for convenience..
int COUNT
No description available
int Left
No description available
int Middle
No description available
int Right
No description available
[ top ]
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.
int A
No description available
int Apostrophe
'
int AppBack
Available on some keyboard/mouses. Often referred as "Browser Back"
int AppForward
No description available
int B
No description available
int Backslash
\ (this text inhibit multiline comment caused by backslash)
int Backspace
No description available
int C
No description available
int CapsLock
No description available
int Comma
,
int D
No description available
int Delete
No description available
int DownArrow
No description available
int E
No description available
int End
No description available
int Enter
No description available
int Equal
=.
int Escape
No description available
int F
No description available
int F1
No description available
int F10
No description available
int F11
No description available
int F12
No description available
int F13
No description available
int F14
No description available
int F15
No description available
int F16
No description available
int F17
No description available
int F18
No description available
int F19
No description available
int F2
No description available
int F20
No description available
int F21
No description available
int F22
No description available
int F23
No description available
int F24
No description available
int F3
No description available
int F4
No description available
int F5
No description available
int F6
No description available
int F7
No description available
int F8
No description available
int F9
No description available
int G
No description available
int GamepadBack
View (Xbox) - (Switch) Share (PS)
int GamepadDpadDown
D-pad Down Move / Tweak / Resize Window (in Windowing mode)
int GamepadDpadLeft
D-pad Left Move / Tweak / Resize Window (in Windowing mode)
int GamepadDpadRight
D-pad Right Move / Tweak / Resize Window (in Windowing mode)
int GamepadDpadUp
D-pad Up Move / Tweak / Resize Window (in Windowing mode)
int GamepadFaceDown
A (Xbox) B (Switch) Cross (PS) Activate / Open / Toggle / Tweak.
int GamepadFaceLeft
X (Xbox) Y (Switch) Square (PS) Tap: Toggle Menu. Hold: Windowing mode (Focus/Move/Resize windows)
int GamepadFaceRight
B (Xbox) A (Switch) Circle (PS) Cancel / Close / Exit.
int GamepadFaceUp
Y (Xbox) X (Switch) Triangle (PS) Text Input / On-screen Keyboard.
int GamepadL1
L Bumper (Xbox) L (Switch) L1 (PS) Tweak Slower / Focus Previous (in Windowing mode)
int GamepadL2
L Trig. (Xbox) ZL (Switch) L2 (PS) [Analog].
int GamepadL3
L Stick (Xbox) L3 (Switch) L3 (PS)
int GamepadLStickDown
[Analog] Move Window (in Windowing mode)
int GamepadLStickLeft
[Analog] Move Window (in Windowing mode)
int GamepadLStickRight
[Analog] Move Window (in Windowing mode)
int GamepadLStickUp
[Analog] Move Window (in Windowing mode)
int GamepadR1
R Bumper (Xbox) R (Switch) R1 (PS) Tweak Faster / Focus Next (in Windowing mode)
int GamepadR2
R Trig. (Xbox) ZR (Switch) R2 (PS) [Analog].
int GamepadR3
R Stick (Xbox) R3 (Switch) R3 (PS)
int GamepadRStickDown
[Analog].
int GamepadRStickLeft
[Analog].
int GamepadRStickRight
[Analog].
int GamepadRStickUp
[Analog].
int GamepadStart
Menu (Xbox) + (Switch) Start/Options (PS)
int GraveAccent
`.
int H
No description available
int Home
No description available
int I
No description available
int Insert
No description available
int J
No description available
int K
No description available
int Keypad0
No description available
int Keypad1
No description available
int Keypad2
No description available
int Keypad3
No description available
int Keypad4
No description available
int Keypad5
No description available
int Keypad6
No description available
int Keypad7
No description available
int Keypad8
No description available
int Keypad9
No description available
int KeypadAdd
No description available
int KeypadDecimal
No description available
int KeypadDivide
No description available
int KeypadEnter
No description available
int KeypadEqual
No description available
int KeypadMultiply
No description available
int KeypadSubtract
No description available
int KeysData_OFFSET
Accesses to io.KeysData[] must use (key - ImGuiKey_KeysData_OFFSET) index.
int KeysData_SIZE
Size of KeysData[]: only hold named keys.
int L
No description available
int LeftAlt
No description available
int LeftArrow
No description available
int LeftBracket
[.
int LeftCtrl
No description available
int LeftShift
No description available
int LeftSuper
No description available
int M
No description available
int Menu
No description available
int Minus
-.
int Mod_Alt
Option/Menu.
int Mod_Ctrl
Ctrl (non-macOS), Cmd (macOS)
int Mod_None
No description available
int Mod_Shift
Shift.
int Mod_Super
Windows/Super (non-macOS), Ctrl (macOS)
int MouseLeft
No description available
int MouseMiddle
No description available
int MouseRight
No description available
int MouseWheelX
No description available
int MouseWheelY
No description available
int MouseX1
No description available
int MouseX2
No description available
int N
No description available
int None
No description available
int Num0
No description available
int Num1
No description available
int Num2
No description available
int Num3
No description available
int Num4
No description available
int Num5
No description available
int Num6
No description available
int Num7
No description available
int Num8
No description available
int Num9
No description available
int NumLock
No description available
int O
No description available
int P
No description available
int PageDown
No description available
int PageUp
No description available
int Pause
No description available
int Period
.
int PrintScreen
No description available
int Q
No description available
int R
No description available
int RightAlt
No description available
int RightArrow
No description available
int RightBracket
].
int RightCtrl
No description available
int RightShift
No description available
int RightSuper
No description available
int S
No description available
int ScrollLock
No description available
int Semicolon
;.
int Slash
/.
int Space
No description available
int T
No description available
int Tab
== ImGuiKey_NamedKey_BEGIN.
int U
No description available
int UpArrow
No description available
int V
No description available
int W
No description available
int X
No description available
int Y
No description available
int Z
No description available
[ top ]
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.
int Arrow
No description available
int COUNT
No description available
int Hand
(Unused by Dear ImGui functions. Use for e.g. hyperlinks)
int None
No description available
int NotAllowed
When hovering something with disallowed interaction. Usually a crossed circle.
int ResizeAll
(Unused by Dear ImGui functions)
int ResizeEW
When hovering over a vertical border or a column.
int ResizeNESW
When hovering over the bottom-left corner of a window.
int ResizeNS
When hovering over a horizontal border.
int ResizeNWSE
When hovering over the bottom-right corner of a window.
int TextInput
When hovering over InputText, etc.
[ top ]
Flags stored in ImGuiViewport::Flags, giving indications to the platform backends..
int CanHostOtherWindows
Viewport can host multiple imgui windows (secondary viewports are associated to a single window). FIXME: In practice there's still probably code making the assumption that this is always and only on the MainViewport. Will fix once we add support for "no main viewport".
int IsFocused
Platform Window: Window is focused (last call to Platform_GetWindowFocus() returned true)
int IsMinimized
Platform Window: Window is minimized, can skip render. When minimized we tend to avoid using the viewport pos/size for clipping window or testing if they are contained in the viewport.
int IsPlatformMonitor
Represent a Platform Monitor (unused yet)
int IsPlatformWindow
Represent a Platform Window.
int NoAutoMerge
Platform Window: Avoid merging this window into another host window. This can only be set via ImGuiWindowClass viewport flags override (because we need to now ahead if we are going to create a viewport in the first place!).
int NoDecoration
Platform Window: Disable platform decorations: title bar, borders, etc. (generally set all windows, but if ImGuiConfigFlags_ViewportsDecoration is set we only set this on popups/tooltips)
int NoFocusOnAppearing
Platform Window: Don't take focus when created.
int NoFocusOnClick
Platform Window: Don't take focus when clicked on.
int NoInputs
Platform Window: Make mouse pass through so we can drag this window while peaking behind it.
int None
No description available
int NoRendererClear
Platform Window: Renderer doesn't need to clear the framebuffer ahead (because we will fill it entirely).
int NoTaskBarIcon
Platform Window: Disable platform task bar icon (generally set on popups/tooltips, or all windows if ImGuiConfigFlags_ViewportsNoTaskBarIcon is set)
int OwnedByApp
Platform Window: Was created/managed by the user application? (rather than our backend)
int TopMost
Platform Window: Display on top (for tooltips only).
[ top ]
Flags for ImGui::IsWindowFocused().
int AnyWindow
Return true if any window is focused. Important: If you are trying to tell how to dispatch your low-level inputs, do NOT use this. Use 'io.WantCaptureMouse' instead! Please read the FAQ!
int ChildWindows
Return true if any children of the window is focused.
int DockHierarchy
Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow)
int None
No description available
int NoPopupHierarchy
Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow)
int RootAndChildWindows
No description available
int RootWindow
Test from root window (top most parent of the current hierarchy)
[ top ]
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..
int AllowWhenBlockedByActiveItem
Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.
int AllowWhenBlockedByPopup
Return true even if a popup window is normally blocking access to this item/window.
int AllowWhenDisabled
IsItemHovered() only: Return true even if the item is disabled.
int AllowWhenOverlapped
No description available
int AllowWhenOverlappedByItem
IsItemHovered() only: Return true even if the item uses AllowOverlap mode and is overlapped by another hoverable item.
int AllowWhenOverlappedByWindow
IsItemHovered() only: Return true even if the position is obstructed or overlapped by another window.
int AnyWindow
IsWindowHovered() only: Return true if any window is hovered.
int ChildWindows
IsWindowHovered() only: Return true if any children of the window is hovered.
int DelayNone
IsItemHovered() only: Return true immediately (default). As this is the default you generally ignore this.
int DelayNormal
IsItemHovered() only: Return true after style.HoverDelayNormal elapsed (~0.40 sec) (shared between items) + requires mouse to be stationary for style.HoverStationaryDelay (once per item).
int DelayShort
IsItemHovered() only: Return true after style.HoverDelayShort elapsed (~0.15 sec) (shared between items) + requires mouse to be stationary for style.HoverStationaryDelay (once per item).
int DockHierarchy
IsWindowHovered() only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow)
int ForTooltip
Shortcut for standard flags when using IsItemHovered() + SetTooltip() sequence.
int NoNavOverride
IsItemHovered() only: Disable using gamepad/keyboard navigation state when active, always query mouse.
int None
Return true if directly over the item/window, not obstructed by another window, not obstructed by an active popup or modal blocking inputs under them.
int NoPopupHierarchy
IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow)
int NoSharedDelay
IsItemHovered() only: Disable shared delay system where moving from one item to the next keeps the previous timer for a short time (standard for tooltips with long delays)
int RectOnly
No description available
int RootAndChildWindows
No description available
int RootWindow
IsWindowHovered() only: Test from root window (top most parent of the current hierarchy)
int Stationary
Require mouse to be stationary for style.HoverStationaryDelay (~0.15 sec) _at least one time_. After this, can move on same item/window. Using the stationary test tends to reduces the need for a long delay.
[ top ]
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..
int AutoHideTabBar
Tab bar will automatically hide when there is a single window in the dock node.
int KeepAliveOnly
Don't display the dockspace node but keep it alive. Windows docked into this dockspace node won't be undocked.
int NoDockingOverCentralNode
Disable docking over the Central Node, which will be always kept empty.
int NoDockingSplit
Disable other windows/nodes from splitting this node.
int None
No description available
int NoResize
Saved Disable resizing node using the splitter/separators. Useful with programmatically setup dockspaces.
int NoUndocking
Disable undocking this node.
int PassthruCentralNode
Enable passthru dockspace: 1) DockSpace() will render a ImGuiCol_WindowBg background covering everything excepted the Central Node when empty. Meaning the host window should probably use SetNextWindowBgAlpha(0.0f) prior to Begin() when using this. 2) When Central Node is empty: let inputs pass-through + won't display a DockingEmptyBg background. See demo for details.
[ top ]
Base class for ImGui callback functions. Don't use this class directly.
UI_Callback()
Default constructor for UI_Callback.
[ top ]
No description available
UI_SizeCallbackData()
Default constructor for UI_SizeCallbackData.
vec2 currentSize()
Read-only current window size.
vec2 desiredSize()
Read-write desired size, based on user's mouse position. Write to this field to restrain resizing.
vec2 desiredSize(vec2 desired_size)
Write desired size, based on user's mouse position. Write to this field to restrain resizing.
vec2 getPos()
Read-only window position, for reference.
[ top ]
No description available
UI_SizeCallback()
Default constructor for UI_SizeCallback.
void handler(UI_SizeCallbackData data)
Callback function for ImGui::SetNextWindowSizeConstraints()
[ top ]
No description available
UI_ComboCallback()
Default constructor for UI_ComboCallback.
void handler(int idx)
No description available
[ top ]
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.
void addBezierCubic(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col, float thickness, int num_segments)
Cubic Bezier (4 control points)
void addBezierQuadratic(vec2 p1, vec2 p2, vec2 p3, vec4 col, float thickness, int num_segments)
Quadratic Bezier (3 control points)
void addCircle(vec2 center, float radius, vec4 col)
No description available
void addCircleEx(vec2 center, float radius, vec4 col, int num_segments, float thickness)
No description available
void addCircleFilled(vec2 center, float radius, vec4 col, int num_segments)
No description available
void addConcavePolyFilled(vec2[] points, vec4 col)
No description available
void addConvexPolyFilled(vec2[] points, vec4 col)
No description available
void addEllipse(vec2 center, vec2 radius, vec4 col)
No description available
void addEllipseEx(vec2 center, vec2 radius, vec4 col, float rot, int num_segments, float thickness)
No description available
void addEllipseFilled(vec2 center, vec2 radius, vec4 col)
No description available
void addEllipseFilledEx(vec2 center, vec2 radius, vec4 col, float rot, int num_segments)
No description available
void addLine(vec2 p1, vec2 p2, vec4 col)
No description available
void addLineEx(vec2 p1, vec2 p2, vec4 col, float thickness)
No description available
void addNgon(vec2 center, float radius, vec4 col, int num_segments)
No description available
void addNgonEx(vec2 center, float radius, vec4 col, int num_segments, float thickness)
No description available
void addNgonFilled(vec2 center, float radius, vec4 col, int num_segments)
No description available
void addPolyline(vec2[] points, vec4 col, int UI_DrawFlags, float thickness)
No description available
void addQuad(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col)
No description available
void addQuadEx(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col, float thickness)
No description available
void addQuadFilled(vec2 p1, vec2 p2, vec2 p3, vec2 p4, vec4 col)
No description available
void addRect(vec2 p_min, vec2 p_max, vec4 col)
No description available
void addRectEx(vec2 p_min, vec2 p_max, vec4 col, float rounding, int UI_DrawFlags, float thickness)
A: upper-left, b: lower-right (== upper-left + size)
void addRectFilled(vec2 p_min, vec2 p_max, vec4 col)
No description available
void addRectFilledEx(vec2 p_min, vec2 p_max, vec4 col, float rounding, int UI_DrawFlags)
A: upper-left, b: lower-right (== upper-left + size)
void addRectFilledMultiColor(vec2 p_min, vec2 p_max, vec4 col_upr_left, vec4 col_upr_right, vec4 col_bot_right, vec4 col_bot_left)
No description available
void addText(vec2 pos, vec4 col, string text_begin)
No description available
void addTextEx(vec2 pos, vec4 col, string text_begin, string text_end)
No description available
void addTriangle(vec2 p1, vec2 p2, vec2 p3, vec4 col)
No description available
void addTriangleEx(vec2 p1, vec2 p2, vec2 p3, vec4 col, float thickness)
No description available
void addTriangleFilled(vec2 p1, vec2 p2, vec2 p3, vec4 col)
No description available
vec2 getClipRectMax()
No description available
vec2 getClipRectMin()
No description available
void pathArcTo(vec2 center, float radius, float a_min, float a_max, int num_segments)
No description available
void pathArcToFast(vec2 center, float radius, int a_min_of_12, int a_max_of_12)
Use precomputed angles for a 12 steps circle.
void pathBezierCubicCurveTo(vec2 p2, vec2 p3, vec2 p4, int num_segments)
No description available
void pathBezierQuadraticCurveTo(vec2 p2, vec2 p3, int num_segments)
No description available
void pathClear()
No description available
void pathEllipticalArcTo(vec2 center, vec2 radius, float rot, float a_min, float a_max)
No description available
void pathEllipticalArcToEx(vec2 center, vec2 radius, float rot, int a_min, int a_max, int num_segments)
No description available
void pathFillConcave(vec4 col)
No description available
void pathFillConvex(vec4 col)
No description available
void pathLineTo(vec2 pos)
No description available
void pathLineToMergeDuplicate(vec2 pos)
No description available
void pathRect(vec2 rect_min, vec2 rect_max, float rounding, int UI_DrawFlags)
No description available
void pathStroke(vec4 col, int UI_DrawFlags, float thickness)
No description available
void popClipRect()
No description available
void pushClipRect(vec2 clip_rect_min, vec2 clip_rect_max, int intersect_with_current_clip_rect)
Render-level scissoring. This is passed down to your render function but not used for CPU-side coarse clipping. Prefer using higher-level ImGui::PushClipRect() to affect logic (hit-testing and widget culling)
void pushClipRectFullScreen()
No description available
[ top ]
No description available
void alignTextToFramePadding()
Vertically align upcoming text baseline to FramePadding.y so that it will align properly to regularly framed items (call if you have text on a line before a framed item)
int arrowButton(string str_id, int direction)
Square button with an arrow shape. param `direction` is an enum of type UI_Direction.
int begin(string name, UI_Bool p_open, int flags)
`flags` of type UI_WindowFlags. - UI.begin() = push window to the stack and start appending to it. UI.end() = pop window from the stack. - Passing 'UI_Bool p_open != NULL' shows a window-closing widget in the upper-right corner of the window, which clicking will set the boolean to false when clicked. - You may append multiple times to the same window during the same frame by calling Begin()/End() pairs multiple times. Some information such as 'flags' or 'p_open' will only be considered by the first call to Begin(). - Begin() return false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window. Always call a matching End() for each Begin() call, regardless of its return value!
int begin(string name)
Equivalent to UI.begin(name, null, 0)
int beginChild(string str_id, vec2 size, int child_flags, int window_flags)
Manual sizing (each axis can use a different setting e.g. ImVec2(0.0f, 400.0f)): == 0.0f: use remaining parent window size for this axis. > 0.0f: use specified size for this axis. < 0.0f: right/bottom-align to specified distance from available content boundaries. Specifying UI_ChildFlags.AutoResizeX or UI_ChildFlags.AutoResizeYmakes the sizing automatic based on child contents. Combining both UI_ChildFlags.AutoResizeX _and_ UI_ChildFlags.AutoResizeY defeats purpose of a scrolling region and is NOT recommended. BeginChild() returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window. Always call a matching EndChild() for each BeginChild() call, regardless of its return value.
int beginCombo(string label, string preview_value, int flags)
The BeginCombo()/EndCombo() api allows you to manage your contents and selection state however you want it, by creating e.g. Selectable() items. // - The old Combo() api are helpers over BeginCombo()/EndCombo() which are kept available for convenience purpose. This is analogous to how ListBox are created. `flags` param is an enum of type UI_ComboFlags.
void beginDisabled(int disabled)
Disable all user interactions and dim items visuals (applying style.DisabledAlpha over current colors) Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled) BeginDisabled(false) essentially does nothing useful but is provided to facilitate use of boolean expressions. If you can avoid calling BeginDisabled(False)/EndDisabled() best to avoid it.
void beginGroup()
Lock horizontal starting position.
int beginListBox(string label, vec2 size)
This is essentially a thin wrapper to using BeginChild/EndChild with the ImGuiChildFlags_FrameStyle flag for stylistic changes + displaying a label. You can submit contents and manage your selection state however you want it, by creating e.g. Selectable() or any other items. The simplified/old ListBox() api are helpers over BeginListBox()/EndListBox() which are kept available for convenience purpose. This is analoguous to how Combos are created. Choose frame width: size.x > 0.0f: custom / size.x < 0.0f or -FLT_MIN: right-align / size.x = 0.0f (default): use current ItemWidth Choose frame height: size.y > 0.0f: custom / size.y < 0.0f or -FLT_MIN: bottom-align / size.y = 0.0f (default): arbitrary default height which can fit ~7 itemsThis function opens a framed scrolling region.
int beginMainMenuBar()
Create and append to a full screen menu-bar.
int beginMenu(string label)
Implied enabled = true.
int beginMenu(string label, int enabled)
Create a sub-menu entry. only call EndMenu() if this returns true!
int beginMenuBar()
Append to menu-bar of current window (requires ImGuiWindowFlags_MenuBar flag set on parent window)
int beginPopup(string str_id, int flags)
Return true if the popup is open, and you can start outputting to it. `flags` is an enum of type UI_WindowFlags beginPopup(): query popup state, if open start appending into the window. Call endPopup() afterwards if returned true. UI_WindowFlags are forwarded to the window.
int beginPopupContextItem()
Implied str_id = NULL, popup_flags = 1.
int beginPopupContextItem(string str_id, int popup_flags)
Open+begin popup when clicked on last item. Use str_id==NULL to associate the popup to previous item. If you want to use that on a non-interactive item such as Text() you need to pass in an explicit ID here. read comments in .cpp!
int beginPopupContextVoid()
Implied str_id = NULL, popup_flags = 1.
int beginPopupContextVoid(string str_id, int popup_flags)
Open+begin popup when clicked in void (where there are no windows).
int beginPopupContextWindow()
Implied str_id = NULL, popup_flags = 1.
int beginPopupContextWindow(string str_id, int popup_flags)
Open+begin popup when clicked on current window.
int beginPopupModal(string name, UI_Bool p_open, int flags)
Return true if the modal is open, and you can start outputting to it. `flags` is an enum of type UI_WindowFlags beginPopupModal(): block every interaction behind the window, cannot be closed by user, add a dimming background, has a title bar.
int beginTabBar(string str_id, int flags)
`flags` is an enum of type UI_TabBarFlags create and append into a TabBar.
int beginTabItem(string label, UI_Bool p_open, int flags)
Create a Tab. Returns true if the Tab is selected. `flags` is an enum of type UI_TabItemFlags.
int beginTable(string str_id, int column, int flags)
Implied outer_size = ImVec2(0.0f, 0.0f), inner_width = 0.0f `flags` is an enum of type UI_TableFlags.
int beginTable(string str_id, int column, int flags, vec2 outer_size, float inner_width)
`flags` is an enum of type UI_TableFlags.
int beginTooltip()
Begin/append a tooltip window.
void bullet()
Draw a small circle + keep the cursor on the same line. advance cursor x position by GetTreeNodeToLabelSpacing(), same distance that TreeNode() uses.
void bulletText(string text)
Shortcut for Bullet()+Text()
int button(string label)
Implied size = ImVec2(0, 0)
int button(string label, vec2 size)
No description available
float calcItemWidth()
Width of item given pushed settings and current cursor position. NOT necessarily the width of last item unlike most 'Item' functions.
vec2 calcTextSize(string text)
Implied text_end = NULL, hide_text_after_double_hash = false, wrap_width = -1.0f.
vec2 calcTextSize(string text, string text_end, int hide_text_after_double_hash, float wrap_width)
Default hide_text_after_double_hash = false, wrap_width = -1.0f.
int checkbox(string label, UI_Bool v)
No description available
int checkboxFlags(string label, UI_Int flags, int flags_value)
No description available
string clipboardText()
Get current text from the clipboard (e.g. result of Ctrl+C)
void clipboardText(string text)
Set the clipboard text.
void closeCurrentPopup()
Manually close the popup we have begin-ed into.
int collapsingHeader(string label, int flags)
`flags` is an enum of type UI_TreeNodeFlags. if returning 'true' the header is open. doesn't indent nor push on ID stack. user doesn't have to call TreePop().
int collapsingHeader(string label, UI_Bool p_visible, int flags)
When 'p_visible != NULL': if '*p_visible==true' display an additional small close button on upper right of the header which will set the bool to false when clicked, if '*p_visible==false' don't display the header.
int colorButton(string desc_id, vec4 col, int flags)
Implied size = ImVec2(0, 0). `flags` is an enum of type UI_ColorEditFlags.
int colorButton(string desc_id, vec4 col, int flags, vec2 size)
`flags` is an enum of type UI_ColorEditFlags. display a color square/button, hover for details, return true when pressed.
int colorEdit(string label, UI_Float3 col, int flags)
`flags` is an enum of type UI_ColorEditFlags.
int colorEdit(string label, UI_Float4 col, int flags)
`flags` is an enum of type UI_ColorEditFlags.
int colorPicker(string label, UI_Float3 col, int flags)
`flags` is an enum of type UI_ColorEditFlags.
int colorPicker(string label, UI_Float4 color, int flags, vec4 reference_color)
No description available
int colorPicker(string label, UI_Float4 color, int flags)
No description available
int combo(string label, UI_Int current_item, string[] items)
Implied popup_max_height_in_items = -1.
int combo(string label, UI_Int current_item, string[] items, int popup_max_height_in_items)
No description available
vec3 convertHSVtoRGB(vec3 hsv)
No description available
vec3 convertRGBtoHSV(vec3 rgb)
No description available
void disabled(int disabled)
Set whether imgui is disabled (does not call call new frame, does not submit UI draw lists to renderer)Do this if your application does not render UI and needs the extra performance from skipping UI overhead. Saves ~2ms on the render thread.While UI.disabled == true, DO NOT call any other UI functions. Doing so results in undefined behavior.
int dockSpaceOverViewport()
Implied dockspace_id = 0, viewport = NULL, flags = 0.
int drag(string label, UI_Float v)
Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.
int drag(string label, UI_Float v_current_min, UI_Float v_current_max)
Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", format_max = NULL, flags = 0.
int drag(string label, UI_Float v_current_min, UI_Float v_current_max, float v_speed, float v_min, float v_max, string format, string format_max, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Int v)
Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.
int drag(string label, UI_Int v, float v_speed, int v_min, int v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Int2 v)
Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.
int drag(string label, UI_Int2 v, float v_speed, int v_min, int v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Int3 v)
Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.
int drag(string label, UI_Int3 v, float v_speed, int v_min, int v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Int4 v)
Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", flags = 0.
int drag(string label, UI_Int4 v, float v_speed, int v_min, int v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Float v, float v_speed, float v_min, float v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Int v_current_min, UI_Int v_current_max)
Implied v_speed = 1.0f, v_min = 0, v_max = 0, format = "%d", format_max = NULL, flags = 0.
int drag(string label, UI_Int v_current_min, UI_Int v_current_max, float v_speed, int v_min, int v_max, string format, string format_max, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, int[] data)
No description available
int drag(string label, int[] data, float v_speed, int v_min, int v_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, float[] data)
No description available
int drag(string label, float[] data, float v_speed, float v_min, float v_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Float2 v)
Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.
int drag(string label, UI_Float2 v, float v_speed, float v_min, float v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Float2 v, float v_speed)
Implied v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.
int drag(string label, UI_Float3 v)
Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.
int drag(string label, UI_Float3 v, float v_speed, float v_min, float v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
int drag(string label, UI_Float3 v, float v_speed)
Implied v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.
int drag(string label, UI_Float4 v)
Implied v_speed = 1.0f, v_min = 0.0f, v_max = 0.0f, format = "%.3f", flags = 0.
int drag(string label, UI_Float4 v, float v_speed, float v_min, float v_max, string format, int flags)
If v_min >= v_max we have no bound. Parameter `flags` is an enum of type UI_SliderFlags.
void dummy(vec2 size)
Add a dummy item of given size. unlike InvisibleButton(), Dummy() won't take the mouse click or be navigable into.
void end()
No description available
void endChild()
No description available
void endCombo()
Only call EndCombo() if BeginCombo() returns true!
void endDisabled()
No description available
void endGroup()
Unlock horizontal starting position + capture the whole group bounding box into one "item" (so you can use IsItemHovered() or layout primitives such as SameLine() on whole group, etc.)
void endListBox()
Only call EndListBox() if BeginListBox() returned true!
void endMainMenuBar()
Only call EndMainMenuBar() if BeginMainMenuBar() returns true!
void endMenu()
Only call EndMenu() if BeginMenu() returns true!
void endMenuBar()
Only call EndMenuBar() if BeginMenuBar() returns true!
void endPopup()
No description available
void endTabBar()
Only call EndTabBar() if BeginTabBar() returns true!
void endTabItem()
Only call EndTabItem() if BeginTabItem() returns true!
void endTable()
Only call EndTable() if BeginTable() returns true!
void endTooltip()
Only call EndTooltip() if BeginTooltip()/BeginItemTooltip() returns true!
int getColorU32(int idx)
Implied alpha_mul = 1.0f. retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList Parameter `idx` is an enum of type UI_Color.
int getColorU32(int idx, float alpha_mul)
Retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList Parameter `idx` is an enum of type UI_color.
int getColorU32(vec4 col)
Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.
vec2 getContentRegionAvail()
Equivalent to GetContentRegionMax() - GetCursorPos()
vec2 getContentRegionMax()
Current content boundaries (typically window boundaries including scrolling, or current column boundaries), in windows coordinates.
vec2 getCursorPos()
Cursor position in window coordinates (relative to window position)
float getCursorPosX()
No description available
float getCursorPosY()
No description available
vec2 getCursorScreenPos()
Cursor position in absolute coordinates (prefer using this, also more useful to work with ImDrawList API)
vec2 getCursorStartPos()
Initial cursor position, in window coordinates.
float getFontSize()
Get current font size (= height in pixels) of current font with current scale applied.
vec2 getFontTexUvWhitePixel()
Get UV coordinate for a white pixel, useful to draw custom shapes via the ImDrawList API.
float getFrameHeight()
~ FontSize + style.FramePadding.y * 2.
float getFrameHeightWithSpacing()
~ FontSize + style.FramePadding.y * 2 + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of framed widgets)
int getID(string str_id)
Calculate unique ID (hash of whole ID stack + given parameter). e.g. if you want to query into ImGuiStorage yourself.
int getID(string str_id_begin, string str_id_end)
No description available
int getItemID()
Get ID of last item (~~ often same ImGui::GetID(label) beforehand)
vec2 getItemRectMax()
Get lower-right bounding rectangle of the last item (screen space)
vec2 getItemRectMin()
Get upper-left bounding rectangle of the last item (screen space)
vec2 getItemRectSize()
Get size of last item.
UI_Viewport getMainViewport()
Return primary/default viewport. This can never be NULL.
int getMouseClickedCount(int button)
Return the number of successive mouse-clicks at the time where a click happen (otherwise 0). `button` is an enum of type UI_MouseButton.
vec2 getMouseDragDelta(int button, float lock_threshold)
Return the delta from the initial clicking position while the mouse button is pressed or was just released. This is locked and return 0.0f until the mouse moves past a distance threshold at least once (uses io.MouseDraggingThreshold if lock_threshold < 0.0f) `button` is an enum of type UI_MouseButton.
vec2 getMousePos()
Shortcut to ImGui::GetIO().MousePos provided by user, to be consistent with other calls.
vec2 getMousePosOnOpeningCurrentPopup()
Retrieve mouse position at the time of opening popup we have BeginPopup() into (helper to avoid user backing that value themselves)
float getScrollMaxX()
Get maximum scrolling amount ~~ ContentSize.x - WindowSize.x - DecorationsSize.x.
float getScrollMaxY()
Get maximum scrolling amount ~~ ContentSize.y - WindowSize.y - DecorationsSize.y.
float getScrollX()
Get scrolling amount [0 .. GetScrollMaxX()].
float getScrollY()
Get scrolling amount [0 .. GetScrollMaxY()].
UI_Style getStyle()
Access the Style structure (colors, sizes). Always use PushStyleColor(), PushStyleVar() to modify style mid-frame!
vec4 getStyleColorVec4(int idx)
Retrieve style color as stored in ImGuiStyle structure. use to feed back into PushStyleColor(), otherwise use GetColorU32() to get style color with style alpha baked in. Parameter `idx` is an enum of type UI_Color.
float getTextLineHeight()
~ FontSize.
float getTextLineHeightWithSpacing()
~ FontSize + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of text)
float getTreeNodeToLabelSpacing()
Horizontal distance preceding label when using TreeNode*() or Bullet() == (g.FontSize + style.FramePadding.x*2) for a regular unframed TreeNode.
string getVersion()
Get the compiled version string e.g. "1.80 WIP" (essentially the value for IMGUI_VERSION from the compiled version of imgui.cpp)
vec2 getWindowContentRegionMax()
Content boundaries max for the full window (roughly (0,0)+Size-Scroll) where Size can be overridden with SetNextWindowContentSize(), in window coordinates.
vec2 getWindowContentRegionMin()
Content boundaries min for the full window (roughly (0,0)-Scroll), in window coordinates.
float getWindowDpiScale()
Get DPI scale currently associated to the current window's viewport.
float getWindowHeight()
Get current window height (shortcut for GetWindowSize().y)
vec2 getWindowPos()
Get current window position in screen space (note: it is unlikely you need to use this. Consider using current layout pos instead, GetCursorScreenPos())
vec2 getWindowSize()
Get current window size (note: it is unlikely you need to use this. Consider using GetCursorScreenPos() and e.g. GetContentRegionAvail() instead)
UI_Viewport getWindowViewport()
Get viewport currently associated to the current window.
float getWindowWidth()
Get current window width (shortcut for GetWindowSize().x)
void indent()
Implied indent_w = 0.0f.
void indent(float indent_w)
Move content position toward the right, by indent_w, or style.IndentSpacing if indent_w <= 0.
int inputFloat(string label, UI_Float v)
Implied step = 0.0f, step_fast = 0.0f, format = "%.3f", flags = 0.
int inputFloat(string label, UI_Float v, float step, float step_fast, string format, int flags)
Parameter `flags` is an enum of type UI_InputTextFlags.
int inputFloat(string label, float[] data)
Implied p_step = NULL, p_step_fast = NULL, format = NULL, flags = 0.
int inputFloat(string label, float[] data, float step, float step_fast, string format, int flags)
Parameter `flags` is an enum of type UI_InputTextFlags.
int inputInt(string label, UI_Int v)
Implied step = 1, step_fast = 100, flags = 0.
int inputInt(string label, UI_Int v, int step, int step_fast, int flags)
Parameter `flags` is an enum of type UI_InputTextFlags.
int inputInt(string label, int[] data)
Implied p_step = NULL, p_step_fast = NULL, format = NULL, flags = 0.
int inputInt(string label, int[] data, int step, int step_fast, string format, int flags)
Parameter `flags` is an enum of type UI_InputTextFlags.
int inputText(string label, UI_String buf)
Implied max_input_length = 256, flags = 0, callback = NULL, user_data = NULL. `flags` is an enum of type UI_InputTextFlags.
int inputText(string label, UI_String buf, int max_input_length, int flags)
Parameter `flags` is an enum of type UI_InputTextFlags.
int inputTextMultiline(string label, UI_String buf)
Implied size = ImVec2(0, 0), flags = 0, callback = NULL, user_data = NULL.
int inputTextMultiline(string label, UI_String buf, int max_input_length, vec2 size, int flags)
Parameter `flags` is an enum of type UI_InputTextFlags.
int inputTextWithHint(string label, string hint, UI_String buf)
Implied max_input_length = 256, flags = 0, callback = NULL, user_data = NULL.
int inputTextWithHint(string label, string hint, UI_String buf, int max_input_length, int flags)
Parameter `flags` is an enum of type UI_InputTextFlags.
int invisibleButton(string str_id, vec2 size, int flags)
Flexible button behavior without the visuals, frequently useful to build custom behaviors using the public api (along with IsItemActive, IsItemHovered, etc.)param `flags` is an enum of type UI_ButtonFlags.
int isAnyItemActive()
Is any item active?
int isAnyItemFocused()
Is any item focused?
int isAnyItemHovered()
Is any item hovered?
int isItemActivated()
Was the last item just made active (item was previously inactive).
int isItemActive()
Is the last item active? (e.g. button being held, text field being edited. This will continuously return true while holding mouse button on an item. Items that don't interact will always return false)
int isItemClicked()
Implied mouse_button = 0.
int isItemClicked(int mouse_button)
Is the last item hovered and mouse clicked on? (**) == IsMouseClicked(mouse_button) && IsItemHovered(). Important. (**) this is NOT equivalent to the behavior of e.g. Button(). Read comments in function definition.mouse_button is an enum of type UI_MouseButton.
int isItemDeactivated()
Was the last item just made inactive (item was previously active). Useful for Undo/Redo patterns with widgets that require continuous editing.
int isItemDeactivatedAfterEdit()
Was the last item just made inactive and made a value change when it was active? (e.g. Slider/Drag moved). Useful for Undo/Redo patterns with widgets that require continuous editing. Note that you may get false positives (some widgets such as Combo()/ListBox()/Selectable() will return true even when clicking an already selected item).
int isItemEdited()
Did the last item modify its underlying value this frame? or was pressed? This is generally the same as the 'bool' return value of many widgets.
int isItemFocused()
Is the last item focused for keyboard/gamepad navigation?
int isItemHovered(int ui_hovered_flags)
Is the last item hovered? (and usable, aka not blocked by a popup, etc.). See UI_HoveredFlags for more options.
int isItemToggledOpen()
Was the last item open state toggled? set by TreeNode().
int isItemVisible()
Is the last item visible? (items may be out of sight because of clipping/scrolling)
int isKeyChordPressed(int key_chord)
Was key chord (UI_Key.Mod* + UI_Key) pressed, e.g. you can pass 'UI_Key.Mod_Ctrl | UI_Key.S' as a key-chord. This doesn't do any routing or focus check, please consider using Shortcut() function instead.
int isKeyDown(int key)
Is key being held. `key` is an enum of type UI_Key.
int isKeyPressed(int key)
Implied repeat = true. `key` is an enum of type UI_Key.
int isKeyPressed(int key, int repeat)
Was key pressed (went from !Down to Down)? if repeat=true, uses io.KeyRepeatDelay / KeyRepeatRate. `key` is an enum of type UI_Key.
int isKeyReleased(int key)
Was key released (went from Down to !Down)? `key` is an enum of type UI_Key.
int isMouseClicked(int button)
Implied repeat = false. `button` is an enum of type UI_MouseButton.
int isMouseClicked(int button, int repeat)
Did mouse button clicked? (went from !Down to Down). Same as GetMouseClickedCount() == 1. `button` is an enum of type UI_MouseButton.
int isMouseDoubleClicked(int button)
Did mouse button double-clicked? Same as GetMouseClickedCount() == 2. `button` is an enum of type UI_MouseButton.
int isMouseDown(int button)
Is mouse button held. `button` is an enum of type UI_MouseButton.
int isMouseDragging(int button, float lock_threshold)
Is mouse dragging? (uses io.MouseDraggingThreshold if lock_threshold < 0.0f). `button` is an enum of type UI_MouseButton.
int isMouseHoveringRect(vec2 r_min, vec2 r_max)
Implied clip = true.
int isMouseHoveringRect(vec2 r_min, vec2 r_max, int clip)
Is mouse hovering given bounding rect (in screen space). clipped by current clipping settings, but disregarding of other consideration of focus/window ordering/popup-block.
int isMousePosValid()
By convention we use (-FLT_MAX,-FLT_MAX) to denote that there is no mouse available.
int isMouseReleased(int button)
Did mouse button released? (went from Down to !Down). `button` is an enum of type UI_MouseButton.
int isPopupOpen(string str_id, int flags)
Return true if the popup is open. `flags` is an enum of type UI_PopupFlags.
int isWindowAppearing()
No description available
int isWindowCollapsed()
No description available
int isWindowFocused(int ui_focused_flags)
Is current window focused? or its root/child, depending on flags. flags are of type UI_FocusedFlags.
int isWindowHovered(int ui_hovered_flags)
Is current window hovered and hoverable (e.g. not blocked by a popup/modal)? flags are of type UI_HoveredFlags.
void itemTooltip(string text)
Set a text-only tooltip if preceding item was hovered. override any previous call to SetTooltip(). itemTooltip() is a shortcut for the 'if (IsItemHovered(ImGuiHoveredFlags_ForTooltip)) { SetTooltip(...); }' idiom.
string keyName(int key)
`key` is a UI_Key enum, e.g. UI_Key.Backspace. Returns English name of the key. Those names are provided for debugging and are not meant to be saved persistently or compared.
int keyPressedAmount(int key, float repeat_delay, float rate)
Uses provided repeat rate/delay. return a count, most often 0 or 1 but might be >1 if RepeatRate is small enough that DeltaTime > RepeatRate. `key` is an enum of type UI_Key.
void labelText(string label, string text)
Display text+label aligned the same way as value+label widgets.
int listBox(string label, UI_Int current_item, string[] items, int height_in_items)
Set `height_in_items` to -1 to use the default.
int listBox(string label, UI_Int current_item, string[] items)
Listbox ui widget, uses default item height.
int menuItem(string label)
Implied shortcut = NULL, selected = false, enabled = true.
int menuItem(string label, string shortcut, UI_Bool p_selected, int enabled)
Return true when activated + toggle (*p_selected) if p_selected != NULL.
int mouseCursor()
Get desired mouse cursor shape. Important: reset in ImGui::NewFrame(), this is updated during the frame. valid before Render(). If you use software rendering by setting io.MouseDrawCursor ImGui will render those for you.
void newLine()
Undo a SameLine() or force a new line when in a horizontal-layout context.
void nextItemAllowOverlap()
Allow next item to be overlapped by a subsequent item. Useful with invisible buttons, selectable, treenode covering an area where subsequent items may need to be added. Note that both Selectable() and TreeNode() have dedicated flags doing this.
void openPopup(string str_id, int popup_flags)
Call to mark popup as open (don't call every frame!). `popup_flags` is an enum of type UI_PopupFlags.
void openPopupOnItemClick(string str_id, int popup_flags)
Helper to open popup when clicked on last item. Default to UI_PopupFlags.MouseButtonRight == 1. (note: actually triggers on the mouse _released_ event to be consistent with popup behaviors) `popup_flags` is an enum of type UI_PopupFlags.
void plotHistogram(string label, float[] values)
Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0), stride = sizeof(float)
void plotHistogram(string label, float[] values, int values_offset, string overlay_text, float scale_min, float scale_max, vec2 graph_size)
No description available
void plotLines(string label, float[] values)
Implied values_offset = 0, overlay_text = NULL, scale_min = FLT_MAX, scale_max = FLT_MAX, graph_size = ImVec2(0, 0), stride = sizeof(float)
void plotLines(string label, float[] values, int values_offset, string overlay_text, float scale_min, float scale_max, vec2 graph_size)
No description available
void popButtonRepeat()
No description available
void popClipRect()
No description available
void popID()
Pop from the ID stack.
void popItemWidth()
Pop width of items for common large "item+label" widgets.
void popStyleColor()
Implied count = 1.
void popStyleColor(int count)
No description available
void popStyleVar()
Implied count = 1.
void popStyleVar(int count)
No description available
void popTabStop()
No description available
void popTextWrapPos()
Pop word-wrapping position for Text*() commands.
void progressBar(float fraction, vec2 size_arg, string overlay)
No description available
void pushButtonRepeat(int repeat)
In 'repeat' mode, Button*() functions return repeated true in a typematic manner (using io.KeyRepeatDelay/io.KeyRepeatRate setting). Note that you can call IsItemActive() after any Button() to tell if the button is held in the current frame.
void pushClipRect(vec2 clip_rect_min, vec2 clip_rect_max, int intersect_with_current_clip_rect)
Mouse hovering is affected by ImGui::PushClipRect() calls, unlike direct calls to ImDrawList::PushClipRect() which are render only.
void pushID(string str_id)
Push string into the ID stack (will hash string).Read the FAQ (docs/FAQ.md or http://dearimgui.com/faq) for more details about how ID are handled in dear imgui.
void pushID(string str_id_begin, string str_id_end)
Push string into the ID stack (will hash string).
void pushID(int int_id)
Push integer into the ID stack (will hash integer).
void pushItemWidth(float item_width)
Push width of items for common large "item+label" widgets. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).
void pushStyleColor(int idx, vec4 color)
Parameter idx an enum of type UI_Color.
void pushStyleColor(int idx, vec3 color)
Parameter idx an enum of type UI_Color.
void pushStyleVar(int idx, float val)
Modify a style float variable. always use this if you modify the style after NewFrame(). Parameter `idx` is an enum of type UI_StyleVar.
void pushStyleVar(int idx, vec2 val)
Modify a style ImVec2 variable. always use this if you modify the style after NewFrame(). Parameter `idx` is an enum of type UI_StyleVar.
void pushTabStop(int tab_stop)
Allow focusing using TAB/Shift-TAB, enabled by default but you can disable it for certain widgets.
void pushTextWrapPos(float wrap_local_pos_x)
Push word-wrapping position for Text*() commands. < 0.0f: no wrapping; 0.0f: wrap to end of window (or column); > 0.0f: wrap at 'wrap_pos_x' position in window local space.
int radioButton(string label, int active)
Use with e.g. if (RadioButton("one", my_value==1)) { my_value = 1; }.
int radioButton(string label, UI_Int v, int v_button)
Shortcut to handle the above pattern when value is an integer.
void resetMouseDragDelta()
Implied button = 0.
void resetMouseDragDelta(int button)
`button` is an enum of type UI_MouseButton.
void sameLine()
Implied offset_from_start_x = 0.0f, spacing = -1.0f.
void sameLine(float offset_from_start_x, float spacing)
Call between widgets or groups to layout them horizontally. X position given in window coordinates.
void scenegraph(GGen root)
Scene tree widget. View data about a given GGen and all its children. A simple version of a typical Editor Scenegraph.
int selectable(string label)
Implied selected = false, flags = 0, size = ImVec2(0, 0)
int selectable(string label, int selected, int flags, vec2 size)
`selected` carry the selection state (read-only). Selectable() is clicked is returns true so you can modify your selection state. `size.x==0.0`: use remaining width, `size.x>0.0`: specify width. `size.y==0.0`: use label height, `size.y>0.0`: specify height.
int selectable(string label, UI_Bool p_selected, int flags)
`p_selected` points to the selection state (read-write), as a convenient helper. `flags` is an enum of type UI_SelectableFlags.
int selectable(string label, UI_Bool p_selected, int flags, vec2 size)
`p_selected` points to the selection state (read-write), as a convenient helper. `flags` is an enum of type UI_SelectableFlags.
void separator()
Separator, generally horizontal. inside a menu bar or in horizontal layout mode, this becomes a vertical separator.
void separatorText(string label)
Currently: formatted text with an horizontal line.
void setColorEditOptions(int flags)
Initialize current options (generally on application startup) if you want to select a default format, picker type, etc. User will be able to change many settings, unless you pass the _NoOptions flag to your calls.
void setCursorPos(vec2 local_pos)
No description available
void setCursorPosX(float local_x)
No description available
void setCursorPosY(float local_y)
No description available
vec2 setCursorScreenPos(vec2 pos)
Cursor position in absolute coordinates.
void setItemDefaultFocus()
Make last item the default focused item of a window.
void setKeyboardFocusHere()
Implied offset = 0.
void setKeyboardFocusHere(int offset)
Focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.
void setMouseCursor(int cursor_type)
Set desired mouse cursor shape. `cursor_type` is an enum of type UI_MouseCursor.
void setNextFrameWantCaptureKeyboard(int want_capture_keyboard)
Override io.WantCaptureKeyboard flag next frame (said flag is left for your application to handle, typically when true it instructs your app to ignore inputs). e.g. force capture keyboard when your widget is being hovered. This is equivalent to setting "io.WantCaptureKeyboard = want_capture_keyboard"; after the next NewFrame() call.
void setNextFrameWantCaptureMouse(int want_capture_mouse)
Override io.WantCaptureMouse flag next frame (said flag is left for your application to handle, typical when true it instucts your app to ignore inputs). This is equivalent to setting "io.WantCaptureMouse = want_capture_mouse;" after the next NewFrame() call.
void setNextItemOpen(int is_open, int cond)
Set next TreeNode/CollapsingHeader open state. `Cond` is an enum of type UI_Cond.
void setNextItemWidth(float item_width)
Set width of the _next_ common large "item+label" widget. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side)
void setNextWindowBgAlpha(float alpha)
Set next window background color alpha. helper to easily override the Alpha component of ImGuiCol_WindowBg/ChildBg/PopupBg. you may also use ImGuiWindowFlags_NoBackground.
void setNextWindowCollapsed(int collapsed, int cond)
Set next window collapsed state. call before Begin()
void setNextWindowContentSize(vec2 size)
Set next window content size (~ scrollable client area, which enforce the range of scrollbars). Not including window decorations (title bar, menu bar, etc.) nor WindowPadding. set an axis to 0.0f to leave it automatic. call before Begin()
void setNextWindowFocus()
Set next window to be focused / top-most. call before Begin()
void setNextWindowPos(vec2 pos, int cond)
Implied pivot = ImVec2(0, 0)
void setNextWindowPosEx(vec2 pos, int cond, vec2 pivot)
Set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.
void setNextWindowScroll(vec2 scroll)
Set next window scrolling value (use < 0.0f to not affect a given axis).
void setNextWindowSize(vec2 size, int cond)
Set next window size. set axis to 0.0f to force an auto-fit on this axis. call before Begin()
void setNextWindowSizeConstraints(vec2 size_min, vec2 size_max, UI_SizeCallback custom_callback)
Set next window size limits. use 0.0f or FLT_MAX if you don't want limits. Use -1 for both min and max of same axis to preserve current size (which itself is a constraint). Use callback to apply non-trivial programmatic constraints.
void setScrollFromPosX(float local_x, float center_x_ratio)
Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.
void setScrollFromPosY(float local_y, float center_y_ratio)
Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.
void setScrollHereX(float center_x_ratio)
Adjust scrolling amount to make current cursor position visible. center_x_ratio=0.0: left, 0.5: center, 1.0: right. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
void setScrollHereY(float center_y_ratio)
Adjust scrolling amount to make current cursor position visible. center_y_ratio=0.0: top, 0.5: center, 1.0: bottom. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
void setScrollX(float scroll_x)
Set scrolling amount [0 .. GetScrollMaxX()].
void setScrollY(float scroll_y)
Set scrolling amount [0 .. GetScrollMaxY()].
void setTabItemClosed(string tab_or_docked_window_label)
Notify TabBar or Docking system of a closed tab/window ahead (useful to reduce visual flicker on reorderable tab bars). For tab-bar: call after BeginTabBar() and before Tab submissions. Otherwise call with a window name.
void showAboutWindow(UI_Bool p_open)
Create About window. display Dear ImGui version, credits and build/system information.
void showDebugLogWindow(UI_Bool p_open)
Create Debug Log window. display a simplified log of important dear imgui events.
void showDemoWindow(UI_Bool p_open)
Create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!
void showFontSelector(string label)
Add font selector block (not a window), essentially a combo listing the loaded fonts.
void showIDStackToolWindow(UI_Bool p_open)
Create Stack Tool window. hover items with mouse to query information about the source of their unique ID.
void showMetricsWindow(UI_Bool p_open)
Create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.
void showStyleEditor()
Add style selector block (not a window), essentially a combo listing the default styles.
int showStyleSelector(string label)
Add style selector block (not a window), essentially a combo listing the default styles.
void showUserGuide()
Add basic help/info block (not a window): how to manipulate ImGui as an end-user (mouse/keyboard controls).
int slider(string label, UI_Float v, float v_min, float v_max)
Implied format = "%.3f", flags = 0.
int slider(string label, UI_Float v, float v_min, float v_max, string format, int flags)
Adjust format to decorate the value with a prefix or a suffix for in-slider labels or unit display. `flags` is an enum of type UI_SliderFlags.
int slider(string label, UI_Int v, int v_min, int v_max)
Implied format = "%d", flags = 0.
int slider(string label, UI_Int v, int v_min, int v_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int slider(string label, int[] data, int v_min, int v_max)
No description available
int slider(string label, int[] data, int v_min, int v_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int slider(string label, float[] data, float v_min, float v_max)
No description available
int slider(string label, float[] data, float v_min, float v_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int sliderAngle(string label, UI_Float v_rad)
Implied v_degrees_min = -360.0f, v_degrees_max = +360.0f, format = "%.0f deg", flags = 0.
int sliderAngle(string label, UI_Float v_rad, float v_degrees_min, float v_degrees_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int smallButton(string label)
Button with (FramePadding.y == 0)
void spacing()
Add vertical spacing.
void styleColorsClassic()
No description available
void styleColorsDark()
No description available
void styleColorsLight()
No description available
int tabItemButton(string label, int flags)
Create a Tab behaving like a button. Returns true when clicked. cannot be selected in the tab bar. `flags` is an enum of type UI_TabItemFlags.
void tableAngledHeadersRow()
Submit a row with angled headers for every column with the ImGuiTableColumnFlags_AngledHeader flag. MUST BE FIRST ROW.
int tableGetColumnCount()
Return number of columns (value passed to BeginTable)
int tableGetColumnFlags(int column_n)
Return column flags so you can query their Enabled/Visible/Sorted/Hovered status flags. Pass -1 to use current column.
int tableGetColumnIndex()
Return current column index.
string tableGetColumnName(int column_n)
Return "" if column didn't have a name declared by TableSetupColumn(). Pass -1 to use current column.
int tableGetRowIndex()
Return current row index.
void tableHeader(string label)
Submit one header cell manually (rarely used)
void tableHeadersRow()
Submit a row with headers cells based on data provided to TableSetupColumn() + submit context menu.
int tableNextColumn()
Append into the next column (or first column of next row if currently in last column). Return true when column is visible.
void tableNextRow()
Implied row_flags = 0, min_row_height = 0.0f.
void tableNextRow(int row_flags, float min_row_height)
Append into the first cell of a new row.
void tableSetBgColor(int ui_table_bg_target_flag, vec4 color, int column_n)
Change the color of a cell, row, or column. UI_TableBgTarget flags for details.
void tableSetColumnEnabled(int column_n, int v)
Change user accessible enabled/disabled state of a column. Set to false to hide the column. User can use the context menu to change this themselves (right-click in headers, or right-click in columns body with UI_TableFlags.ContextMenuInBody)
int tableSetColumnIndex(int column_n)
Append into the specified column. Return true when column is visible.
void tableSetupColumn(string label, int flags)
Implied init_width_or_weight = 0.0f, user_id = 0 `flags` is an enum of type UI_TableColumnFlags.
void tableSetupColumn(string label, int flags, float init_width_or_weight, int user_id)
No description available
void tableSetupScrollFreeze(int cols, int rows)
Lock columns/rows so they stay visible when scrolled.
void text(string text)
Implied text_end = NULL.
void text(string text, string text_end)
Raw text without formatting. Roughly equivalent to Text("%s", text) but: A) doesn't require null terminated string if 'text_end' is specified, B) it's faster, no memory copy is done, no buffer size limits, recommended for long chunks of text.
void textColored(vec4 col, string text)
Shortcut for PushStyleColor(ImGuiCol_Text, col); Text(fmt, ...); PopStyleColor();.
void textDisabled(string text)
Shortcut for PushStyleColor(ImGuiCol_Text, style.Colors[ImGuiCol_TextDisabled]); Text(fmt, ...); PopStyleColor();.
void textWrapped(string text)
Shortcut for PushTextWrapPos(0.0f); Text(fmt, ...); PopTextWrapPos();. Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, you may need to set a size using SetNextWindowSize().
void tooltip(string text)
Set a text-only tooltip. Often used after a ImGui::IsItemHovered() check. Override any previous call to SetTooltip(). SetTooltip() is more or less a shortcut for the 'if (BeginTooltip()) { Text(...); EndTooltip(); }' idiom (with a subtlety that it discard any previously submitted tooltip)
int treeNode(string label)
Return true when the node is open, in which case you need to call TreePop()
int treeNode(string str_id, string text)
No description available
int treeNode(string label, int flags)
`flags` is an enum of type UI_TreeNodeFlags.
int treeNode(string str_id, int flags, string text)
No description available
void treePop()
~ Unindent()+PopID()
void treePush(string str_id)
Indent()+PushID(). Already called by TreeNode() when returning true, but you can call TreePush/TreePop yourself if desired.
void unindent()
Implied indent_w = 0.0f.
void unindent(float indent_w)
Move content position back to the left, by indent_w, or style.IndentSpacing if indent_w <= 0.
int vslider(string label, vec2 size, UI_Float v, float v_min, float v_max)
Implied format = "%.3f", flags = 0.
int vslider(string label, vec2 size, UI_Float v, float v_min, float v_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int vslider(string label, vec2 size, UI_Int v, int v_min, int v_max)
Implied format = "%d", flags = 0.
int vslider(string label, vec2 size, UI_Int v, int v_min, int v_max, string format, int flags)
Parameter `flags` is an enum of type UI_SliderFlags.
int wantCaptureKeyboard()
When wantCaptureKeyboard=true, the keyboard is interacting with UI widgets, so you know to discard/hide the keyboard inputs from your underlying application.
int wantCaptureMouse()
When wantCaptureMouse=true, the mouse is interacting with UI widgets, so you know to discard/hide the mouse inputs from your underlying application.
[ top ]