Flags#
Flags are passed as int. The values are enum.IntFlag members of the classes below and can be
combined with |:
imgui.slider_float(
"gamma", v=gamma, v_min=0.1, v_max=5.0,
flags=imgui.SliderFlags_.logarithmic | imgui.SliderFlags_.no_input,
)
Col_, Cond_, StyleVar_ hold single values rather than flags, they are listed here because the
elements take them.
imgui.ChildFlags_#
Flags for ImGui::BeginChild()
member |
description |
|---|---|
|
|
|
Show an outer border and enable WindowPadding. (IMPORTANT: this is always == 1 == True for legacy reason) |
|
Pad with style.WindowPadding even if no border are drawn (no padding by default for non-bordered child windows because it makes more sense) |
|
Allow resize from right border (layout direction). Enable .ini saving (unless ImGuiWindowFlags_NoSavedSettings passed to window flags) |
|
Allow resize from bottom border (layout direction). “ |
|
Enable auto-resizing width. Read “IMPORTANT: Size measurement” details above. |
|
Enable auto-resizing height. Read “IMPORTANT: Size measurement” details above. |
|
Combined with AutoResizeX/AutoResizeY. Always measure size even when child is hidden, always return True, always disable clipping optimization! NOT RECOMMENDED. |
|
Style the child window like a framed item: use FrameBg, FrameRounding, FrameBorderSize, FramePadding instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding. |
|
[BETA] Share focus scope, allow keyboard/gamepad navigation to cross over parent border to this child or between sibling child windows. |
imgui.Col_#
Enumeration for PushStyleColor() / PopStyleColor()
member |
description |
|---|---|
|
|
|
|
|
Background of normal windows |
|
Background of child windows |
|
Background of popups, menus, tooltips windows |
|
|
|
|
|
Background of checkbox, radio button, plot, slider, text input |
|
|
|
|
|
Title bar |
|
Title bar when focused |
|
Title bar when collapsed |
|
|
|
|
|
|
|
|
|
|
|
Checkbox tick and RadioButton circle |
|
Checkbox background when Selected, otherwise use FrameBg |
|
|
|
|
|
|
|
|
|
|
|
Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem |
|
|
|
|
|
|
|
|
|
|
|
Resize grip in lower-right and lower-left corners of windows. |
|
|
|
|
|
InputText cursor/caret |
|
Tab background, when hovered |
|
Tab background, when tab-bar is focused & tab is unselected |
|
Tab background, when tab-bar is focused & tab is selected |
|
Tab horizontal overline, when tab-bar is focused & tab is selected |
|
Tab background, when tab-bar is unfocused & tab is unselected |
|
Tab background, when tab-bar is unfocused & tab is selected |
|
..horizontal overline, when tab-bar is unfocused & tab is selected |
|
Preview overlay color when about to docking something |
|
Background color for empty node (e.g. CentralNode with no window docked into it) |
|
|
|
|
|
|
|
|
|
Table header background |
|
Table outer and header borders (prefer using Alpha=1.0 here) |
|
Table inner borders (prefer using Alpha=1.0 here) |
|
Table row background (even rows) |
|
Table row background (odd rows) |
|
Hyperlink color |
|
Selected text inside an InputText |
|
Tree node hierarchy outlines when using ImGuiTreeNodeFlags_DrawLines |
|
Rectangle border highlighting a drop target |
|
Rectangle background highlighting a drop target |
|
Unsaved Document marker (in window title and tabs) |
|
Color of keyboard/gamepad navigation cursor/rectangle, when visible |
|
Highlight window when using Ctrl+Tab |
|
Darken/colorize entire screen behind the Ctrl+Tab window list, when active |
|
Darken/colorize entire screen behind a modal window, when one is active |
|
imgui.ColorEditFlags_#
Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton()
member |
description |
|---|---|
|
|
|
// ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer). |
|
// ColorEdit: disable picker when clicking on color square. |
|
// ColorEdit: disable toggling options menu when right-clicking on inputs/small preview. |
|
// ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs) |
|
// ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square). |
|
// ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview. |
|
// ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker). |
|
// ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead. |
|
// ColorEdit: disable drag and drop target/source. ColorButton: disable drag and drop source. |
|
// ColorButton: disable border (which is enforced by default) |
|
// ColorEdit: disable rendering R/G/B/A color marker. May also be disabled globally by setting style.ColorMarkerSize = 0. |
|
// ColorEdit, ColorPicker, ColorButton: disable alpha in the preview,. Contrary to _NoAlpha it may still be edited when calling ColorEdit4()/ColorPicker4(). For ColorButton() this does the same as _NoAlpha. |
|
// ColorEdit, ColorPicker, ColorButton: disable rendering a checkerboard background behind transparent color. |
|
// ColorEdit, ColorPicker, ColorButton: display half opaque / half transparent preview. |
|
// ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker. |
|
// (WIP) ColorEdit: Currently only disable 0.0..1.0 limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well). |
|
[Display] // ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex. |
|
[Display] // “ |
|
[Display] // “ |
|
[DataType] // ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255. |
|
[DataType] // ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0..1.0 floats instead of 0..255 integers. No round-trip of value via integers. |
|
[Picker] // ColorPicker: bar for Hue, rectangle for Sat/Value. |
|
[Picker] // ColorPicker: wheel for Hue, triangle for Sat/Value. |
|
[Input] // ColorEdit, ColorPicker: input and output data in RGB format. |
|
[Input] // ColorEdit, ColorPicker: input and output data in HSV format. |
|
|
|
|
|
|
|
|
|
|
|
imgui.ComboFlags_#
Flags for ImGui::BeginCombo()
member |
description |
|---|---|
|
|
|
Align the popup toward the left by default |
|
Max ~4 items visible. Tip: If you want your combo popup to be a specific size you can use SetNextWindowSizeConstraints() prior to calling BeginCombo() |
|
Max ~8 items visible (default) |
|
Max ~20 items visible |
|
As many fitting items as possible |
|
Display on the preview box without the square arrow button |
|
Display only a square arrow button |
|
Width dynamically calculated from preview contents |
|
imgui.Cond_#
Enumeration for ImGui::SetNextWindow***(), SetWindow***(), SetNextItem***() functions
member |
description |
|---|---|
|
No condition (always set the variable), same as _Always |
|
No condition (always set the variable), same as _None |
|
Set the variable once per runtime session (only the first call will succeed) |
|
Set the variable if the object/window has no persistently saved data (no entry in .ini file) |
|
Set the variable if the object/window is appearing after being hidden/inactive (or the first time) |
imgui.FocusedFlags_#
Flags for ImGui::IsWindowFocused()
member |
description |
|---|---|
|
|
|
Return True if any children of the window is focused |
|
Test from root window (top most parent of the current hierarchy) |
|
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! |
|
Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow) |
|
Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow) |
|
imgui.HoveredFlags_#
Flags for ImGui::IsItemHovered(), ImGui::IsWindowHovered()
member |
description |
|---|---|
|
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. |
|
IsWindowHovered() only: Return True if any children of the window is hovered |
|
IsWindowHovered() only: Test from root window (top most parent of the current hierarchy) |
|
IsWindowHovered() only: Return True if any window is hovered |
|
IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow) |
|
IsWindowHovered() only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow) |
|
Return True even if a popup window is normally blocking access to this item/window |
|
Return True even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns. |
|
IsItemHovered() only: Return True even if the item uses AllowOverlap mode and is overlapped by another hoverable item. |
|
IsItemHovered() only: Return True even if the position is obstructed or overlapped by another window. |
|
IsItemHovered() only: Return True even if the item is disabled |
|
IsItemHovered() only: Disable using keyboard/gamepad navigation state when active, always query mouse |
|
|
|
|
|
|
|
Shortcut for standard flags when using IsItemHovered() + SetTooltip() sequence. |
|
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. |
|
IsItemHovered() only: Return True immediately (default). As this is the default you generally ignore this. |
|
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). |
|
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). |
|
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) |
imgui.InputTextFlags_#
Flags for ImGui::InputText()
member |
description |
|---|---|
|
|
|
Allow 0123456789.+-*/ |
|
Allow 0123456789ABCDEFabcdef |
|
Allow 0123456789.+-*/eE (Scientific notation input) |
|
Turn a..z into A..Z |
|
Filter out spaces, tabs |
|
Pressing TAB input a ‘\t’ character into the text field |
|
Return ‘True’ when Enter is pressed (as opposed to every time the value was modified). Consider using IsItemDeactivatedAfterEdit() instead! |
|
Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert) |
|
In multi-line mode: validate with Enter, add new line with Ctrl+Enter (default is opposite: validate with Ctrl+Enter, add line with Enter). Note that Shift+Enter always enter a new line either way. |
|
Read-only mode |
|
Password mode, display all characters as ‘*’, disable copy |
|
Overwrite mode |
|
Select entire text when first taking mouse focus |
|
InputFloat(), InputInt(), InputScalar() etc. only: parse empty string as zero value. |
|
InputFloat(), InputInt(), InputScalar() etc. only: when value is zero, do not display it. Generally used with ImGuiInputTextFlags_ParseEmptyRefVal. |
|
Disable following the cursor horizontally |
|
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(). |
|
When text doesn’t fit, elide left side to ensure right side stays visible. Useful for path/filenames. Single-line only! |
|
Callback on pressing TAB (for completion handling) |
|
Callback on pressing Up/Down arrows (for history handling) |
|
Callback on each iteration. User code may query cursor position, modify text buffer. |
|
Callback on character inputs to replace or discard them. Modify ‘EventChar’ to replace or discard, or return 1 in callback to discard. |
|
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) |
|
Callback on any edit. Note that InputText() already returns True on edit + you can always use IsItemEdited(). The callback is useful to manipulate the underlying buffer while focus is active. |
|
InputTextMultiline(): word-wrap lines that are too long. |
imgui.PopupFlags_#
Flags for OpenPopup*(), BeginPopupContext*(), IsPopupOpen() functions.
member |
description |
|---|---|
|
|
|
For BeginPopupContext*(): open on Left Mouse release. Only one button allowed! |
|
For BeginPopupContext*(): open on Right Mouse release. Only one button allowed! (default) |
|
For BeginPopupContext*(): open on Middle Mouse release. Only one button allowed! |
|
For OpenPopup*(), BeginPopupContext*(): don’t reopen same popup if already open (won’t reposition, won’t reinitialize navigation) |
|
For OpenPopup*(), BeginPopupContext*(): don’t open if there’s already a popup at the same level of the popup stack |
|
For BeginPopupContextWindow(): don’t return True when hovering items, only when hovering empty space |
|
For IsPopupOpen(): ignore the ImGuiID parameter and test for any popup. |
|
For IsPopupOpen(): search/test at any level of the popup stack (default test in the current level) |
|
|
|
[Internal] |
|
[Internal] |
|
[Internal] Reserve legacy bits 0-1 to detect incorrectly passing 1 or 2 to the function. |
imgui.SelectableFlags_#
Flags for ImGui::Selectable()
member |
description |
|---|---|
|
|
|
Clicking this doesn’t close parent popup window (overrides ImGuiItemFlags_AutoClosePopups) |
|
Frame will span all columns of its container table (text will still fit in current column) |
|
Generate press events on double clicks too |
|
Cannot be selected, display grayed out text |
|
Hit testing will allow subsequent widgets to overlap this one. Require previous frame HoveredId to match before being usable. Shortcut to calling SetNextItemAllowOverlap(). |
|
Make the item be displayed as if it is hovered |
|
Auto-select when moved into, unless Ctrl is held. Automatic when in a BeginMultiSelect() block. |
imgui.SliderFlags_#
Flags for DragFloat(), DragInt(), SliderFloat(), SliderInt() etc.
member |
description |
|---|---|
|
|
|
Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits. |
|
Disable rounding underlying value to match precision of the display format string (e.g. %.3 values are rounded to those 3 digits). |
|
Disable Ctrl+Click or Enter key allowing to input text directly into the widget. |
|
Enable wrapping around from max to min and from min to max. Only supported by DragXXX() functions for now. |
|
Clamp value to min/max bounds when input manually with Ctrl+Click. By default Ctrl+Click allows going out of bounds. |
|
Clamp even if min==max==0.0. Otherwise due to legacy reason DragXXX functions don’t clamp with those values. When your clamping limits are dynamic you almost always want to use it. |
|
Disable keyboard modifiers altering tweak speed. Useful if you want to alter tweak speed yourself based on your own logic. |
|
DragScalarN(), SliderScalarN(): Draw R/G/B/A color markers on each component. |
|
|
|
[Internal] We treat using those bits as being potentially a ‘float power’ argument from legacy API (obsoleted 2020-08) that has got miscast to this enum, and will trigger an assert if needed. |
imgui.StyleVar_#
Enumeration for PushStyleVar() / PopStyleVar() to temporarily modify the ImGuiStyle structure.
member |
description |
|---|---|
|
float Alpha |
|
float DisabledAlpha |
|
ImVec2 WindowPadding |
|
float WindowRounding |
|
float WindowBorderSize |
|
ImVec2 WindowMinSize |
|
ImVec2 WindowTitleAlign |
|
float ChildRounding |
|
float ChildBorderSize |
|
float PopupRounding |
|
float PopupBorderSize |
|
ImVec2 FramePadding |
|
float FrameRounding |
|
float FrameBorderSize |
|
ImVec2 ItemSpacing |
|
ImVec2 ItemInnerSpacing |
|
float IndentSpacing |
|
ImVec2 CellPadding |
|
float ScrollbarSize |
|
float ScrollbarRounding |
|
float ScrollbarPadding |
|
float GrabMinSize |
|
float GrabRounding |
|
float ImageRounding |
|
float ImageBorderSize |
|
float LayoutAlign |
|
float TabRounding |
|
float TabBorderSize |
|
float TabMinWidthBase |
|
float TabMinWidthShrink |
|
float TabBarBorderSize |
|
float TabBarOverlineSize |
|
float TableAngledHeadersAngle |
|
ImVec2 TableAngledHeadersTextAlign |
|
float TreeLinesSize |
|
float TreeLinesRounding |
|
float DragDropTargetRounding |
|
ImVec2 ButtonTextAlign |
|
ImVec2 SelectableTextAlign |
|
float SeparatorSize |
|
float SeparatorTextBorderSize |
|
ImVec2 SeparatorTextAlign |
|
ImVec2 SeparatorTextPadding |
|
float DockingSeparatorSize |
|
imgui.TabBarFlags_#
Flags for ImGui::BeginTabBar()
member |
description |
|---|---|
|
|
|
Allow manually dragging tabs to re-order them + New tabs are appended at the end of list |
|
Automatically select new tabs when they appear |
|
Disable buttons to open the tab list popup |
|
Disable behavior of closing tabs (that are submitted with p_open != None) with middle mouse button. You may handle this behavior manually on user’s side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = False. |
|
Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll) |
|
Disable tooltips when hovering a tab |
|
Draw selected overline markers over selected tab |
|
Shrink down tabs when they don’t fit, until width is style.TabMinWidthShrink, then enable scrolling. Setting TabMinWidthShrink to FLT_MAX makes this behave like ImGuiTabBarFlags_FittingPolicyScroll. |
|
Shrink down tabs when they don’t fit |
|
Enable scrolling buttons when tabs don’t fit |
|
|
|
imgui.TabItemFlags_#
Flags for ImGui::BeginTabItem()
member |
description |
|---|---|
|
|
|
Display a dot next to the title + set ImGuiTabItemFlags_NoAssumedClosure. |
|
Trigger flag to programmatically make the tab selected when calling BeginTabItem() |
|
Disable behavior of closing tabs (that are submitted with p_open != None) with middle mouse button. You may handle this behavior manually on user’s side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = False. |
|
Don’t call PushID()/PopID() on BeginTabItem()/EndTabItem() |
|
Disable tooltip for the given tab |
|
Disable reordering this tab or having another tab cross over this tab |
|
Enforce the tab position to the left of the tab bar (after the tab list popup button) |
|
Enforce the tab position to the right of the tab bar (before the scrolling buttons) |
|
Tab is selected when trying to close + closure is not immediately 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. |
imgui.TableColumnFlags_#
Flags for ImGui::TableSetupColumn()
member |
description |
|---|---|
|
|
|
Overriding/master disable flag: hide column, won’t show in context menu (unlike calling TableSetColumnEnabled() which manipulates the user accessible state) |
|
Default as a hidden/disabled column. |
|
Default as a sorting column. |
|
Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp). |
|
Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable). |
|
Disable manual resizing. |
|
Disable manual reordering this column, this will also prevent other columns from crossing over this column. |
|
Disable ability to hide/disable this column. |
|
Disable clipping for this column (all NoClip columns will render in a same draw command). |
|
Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table). |
|
Disable ability to sort in the ascending direction. |
|
Disable ability to sort in the descending direction. |
|
TableHeadersRow() will submit an empty label for this column. Convenient for some small columns. Name will still appear in context menu or in angled headers. You may append into this cell by calling TableSetColumnIndex() right after the TableHeadersRow() call. |
|
Disable header text width contribution to automatic column width. |
|
Make the initial sort direction Ascending when first sorting on this column (default). |
|
Make the initial sort direction Descending when first sorting on this column. |
|
Use current Indent value when entering cell (default for column 0). |
|
Ignore current Indent value when entering cell (default for columns > 0). Indentation changes _within_ the cell will still be honored. |
|
TableHeadersRow() will submit an angled header row for this column. Note this will add an extra row. |
|
Status: is enabled == not hidden by user/api (referred to as “Hide” in _DefaultHide and _NoHide) flags. |
|
Status: is visible == is enabled AND not clipped by scrolling. |
|
Status: is currently part of the sort specs |
|
Status: is hovered by mouse |
|
|
|
|
|
|
|
[Internal] Disable user resizing this column directly (it may however we resized indirectly from its left edge) |
imgui.TableFlags_#
Flags for ImGui::BeginTable()
member |
description |
|---|---|
|
|
|
Enable resizing columns. |
|
Enable reordering columns in header row. (Need calling TableSetupColumn() + TableHeadersRow() to display headers, or using ImGuiTableFlags_ContextMenuInBody to access context-menu without headers). |
|
Enable hiding/disabling columns in context menu. |
|
Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate. |
|
Disable persisting columns order, width, visibility and sort settings in the .ini file. |
|
Right-click on columns body/contents will also display table context menu. By default it is available in TableHeadersRow(). |
|
Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually) |
|
Draw horizontal borders between rows. |
|
Draw horizontal borders at the top and bottom. |
|
Draw vertical borders between columns. |
|
Draw vertical borders on the left and right sides. |
|
Draw horizontal borders. |
|
Draw vertical borders. |
|
Draw inner borders. |
|
Draw outer borders. |
|
Draw all borders. |
|
[ALPHA] Disable vertical borders in columns Body (borders will always appear in Headers). -> May move to style |
|
[ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appear in Headers). -> May move to style |
|
Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width. |
|
Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible. |
|
Columns default to _WidthStretch with default weights proportional to each columns contents widths. |
|
Columns default to _WidthStretch with default weights all equal, unless overridden by TableSetupColumn(). |
|
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. |
|
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. |
|
Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable. |
|
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. |
|
Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze(). |
|
Default if BordersOuterV is on. Enable outermost padding. Generally desirable if you have headers. |
|
Default if BordersOuterV is off. Disable outermost padding. |
|
Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off). |
|
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. |
|
Enable vertical scrolling. Require ‘outer_size’ parameter of BeginTable() to specify the container size. |
|
Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1). |
|
Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0). |
|
Highlight column headers when hovered (may evolve into a fuller highlight) |
|
imgui.TableRowFlags_#
Flags for ImGui::TableNextRow()
member |
description |
|---|---|
|
|
|
Identify header row (set default background color + width of its contents accounted differently for auto column width) |
imgui.TreeNodeFlags_#
Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*()
member |
description |
|---|---|
|
|
|
Draw as selected |
|
Draw frame with background (e.g. for CollapsingHeader) |
|
Hit testing will allow subsequent widgets to overlap this one. Require previous frame HoveredId to match before being usable. Shortcut to calling SetNextItemAllowOverlap(). |
|
Don’t do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack |
|
Don’t automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes) |
|
Default node to be open |
|
Open on double-click instead of simple click (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined. |
|
Open when clicking on the arrow part (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined. |
|
No collapsing, no arrow (use as a convenience for leaf nodes). Note: will always open a tree/id scope and return True. If you never use that scope, add ImGuiTreeNodeFlags_NoTreePushOnOpen. |
|
Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don’t set the _Leaf flag! |
|
Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding() before the node. |
|
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. |
|
Extend hit box to the left-most and right-most edges (cover the indent area). |
|
Narrow hit box + narrow hovering highlight, will only cover the label text. |
|
Frame will span all columns of its container table (label will still fit in current column) |
|
Label will span all columns of its container table |
|
Nav: left arrow moves back to parent. This is processed in TreePop() when there’s an unfulfilled Left nav request remaining. |
|
|
|
No lines drawn |
|
Horizontal lines to child nodes. Vertical line drawn down to TreePop() position: cover full contents. Faster (for large trees). |
|
Horizontal lines to child nodes. Vertical line drawn down to bottom-most child node. Slower (for large trees). |
imgui.WindowFlags_#
Flags for ImGui::Begin()
member |
description |
|---|---|
|
|
|
Disable title-bar |
|
Disable user resizing with the lower-right grip |
|
Disable user moving the window |
|
Disable scrollbars (window can still scroll with mouse or programmatically) |
|
Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set. |
|
Disable user collapsing window by double-clicking on it. Also referred to as Window Menu Button (e.g. within a docking node). |
|
Resize every window to its content every frame |
|
Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0). |
|
Never load/save settings in .ini file |
|
Disable catching mouse, hovering test with pass through. |
|
Has a menu-bar |
|
Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width,0.0)); prior to calling Begin() to specify width. Read code in imgui_demo in the “Horizontal Scrolling” section. |
|
Disable taking focus when transitioning from hidden to visible state |
|
Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus) |
|
Always show vertical scrollbar (even if ContentSize.y < Size.y) |
|
Always show horizontal scrollbar (even if ContentSize.x < Size.x) |
|
No keyboard/gamepad navigation within the window |
|
No focusing toward this window with keyboard/gamepad navigation (e.g. skipped by Ctrl+Tab) |
|
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. |
|
Disable docking of this window |
|
|
|
|
|
|
|
Don’t use! For internal use by Begin()/NewFrame() |
|
Don’t use! For internal use by BeginChild() |
|
Don’t use! For internal use by BeginTooltip() |
|
Don’t use! For internal use by BeginPopup() |
|
Don’t use! For internal use by BeginPopupModal() |
|
Don’t use! For internal use by BeginMenu() |