Top Level Namespace
Defined Under Namespace
Modules: ImGui, ImNodes Classes: ImColor, ImDrawCmd, ImDrawCmdHeader, ImDrawData, ImDrawList, ImDrawListSplitter, ImDrawVert, ImFont, ImFontAtlas, ImFontAtlasCustomRect, ImFontConfig, ImFontGlyph, ImFontGlyphRangesBuilder, ImGuiIO, ImGuiInputTextCallbackData, ImGuiKeyData, ImGuiListClipper, ImGuiMultiSelectIO, ImGuiPayload, ImGuiPlatformImeData, ImGuiPlatformMonitor, ImGuiSelectionBasicStorage, ImGuiSelectionExternalStorage, ImGuiSelectionRequest, ImGuiSizeCallbackData, ImGuiStorage, ImGuiStoragePair, ImGuiStyle, ImGuiTableColumnSortSpecs, ImGuiTableSortSpecs, ImGuiTextBuffer, ImGuiTextFilter, ImGuiTextRange, ImGuiViewport, ImGuiWindowClass, ImVec2, ImVec4, ImVector
Constant Summary collapse
- ImDrawFlags_None =
ImDrawFlags_ Flags for ImDrawList functions (Legacy: bit 0 must always correspond to ImDrawFlags_Closed to be backward compatible with old API using a bool. Bits 1..3 must be unused)
0
- ImDrawFlags_Closed =
0
1
- ImDrawFlags_RoundCornersTopLeft =
1 << 0 # PathStroke(), AddPolyline(): specify that shape should be closed (Important: this is always == 1 for legacy reason)
16
- ImDrawFlags_RoundCornersTopRight =
1 << 4 # AddRect(), AddRectFilled(), PathRect(): enable rounding top-left corner only (when rounding > 0.0f, we default to all corners). Was 0x01.
32
- ImDrawFlags_RoundCornersBottomLeft =
1 << 5 # AddRect(), AddRectFilled(), PathRect(): enable rounding top-right corner only (when rounding > 0.0f, we default to all corners). Was 0x02.
64
- ImDrawFlags_RoundCornersBottomRight =
1 << 6 # AddRect(), AddRectFilled(), PathRect(): enable rounding bottom-left corner only (when rounding > 0.0f, we default to all corners). Was 0x04.
128
- ImDrawFlags_RoundCornersNone =
1 << 7 # AddRect(), AddRectFilled(), PathRect(): enable rounding bottom-right corner only (when rounding > 0.0f, we default to all corners). Wax 0x08.
256
- ImDrawFlags_RoundCornersTop =
1 << 8 # AddRect(), AddRectFilled(), PathRect(): disable rounding on all corners (when rounding > 0.0f). This is NOT zero, NOT an implicit flag!
48
- ImDrawFlags_RoundCornersBottom =
ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight
192
- ImDrawFlags_RoundCornersLeft =
ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight
80
- ImDrawFlags_RoundCornersRight =
ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersTopLeft
160
- ImDrawFlags_RoundCornersAll =
ImDrawFlags_RoundCornersBottomRight | ImDrawFlags_RoundCornersTopRight
240
- ImDrawFlags_RoundCornersDefault_ =
ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight | ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight
240
- ImDrawFlags_RoundCornersMask_ =
ImDrawFlags_RoundCornersAll # Default to ALL corners if none of the _RoundCornersXX flags are specified.
496
- ImDrawListFlags_None =
ImDrawListFlags_
- Flags for ImDrawList instance. Those are set automatically by ImGui
-
functions from ImGuiIO settings, and generally not manipulated directly.
- It is however possible to temporarily alter flags between calls to ImDrawList
-
functions.
0
- ImDrawListFlags_AntiAliasedLines =
0
1
- ImDrawListFlags_AntiAliasedLinesUseTex =
1 << 0 # Enable anti-aliased lines/borders (*2 the number of triangles for 1.0f wide line or lines thin enough to be drawn using textures, otherwise *3 the number of triangles)
2
- ImDrawListFlags_AntiAliasedFill =
1 << 1 # Enable anti-aliased lines/borders using textures when possible. Require backend to render with bilinear filtering (NOT point/nearest filtering).
4
- ImDrawListFlags_AllowVtxOffset =
1 << 2 # Enable anti-aliased edge around filled shapes (rounded rectangles, circles).
8
- ImFontAtlasFlags_None =
ImFontAtlasFlags_ Flags for ImFontAtlas build
0
- ImFontAtlasFlags_NoPowerOfTwoHeight =
0
1
- ImFontAtlasFlags_NoMouseCursors =
1 << 0 # Don’t round the height to next power of two
2
- ImFontAtlasFlags_NoBakedLines =
1 << 1 # Don’t build software mouse cursors into the atlas (save a little texture memory)
4
- ImGuiBackendFlags_None =
ImGuiBackendFlags_ Backend capabilities flags stored in io.BackendFlags. Set by imgui_impl_xxx or custom backend.
0
- ImGuiBackendFlags_HasGamepad =
0
1
- ImGuiBackendFlags_HasMouseCursors =
1 << 0 # Backend Platform supports gamepad and currently has one connected.
2
- ImGuiBackendFlags_HasSetMousePos =
1 << 1 # Backend Platform supports honoring GetMouseCursor() value to change the OS cursor shape.
4
- ImGuiBackendFlags_RendererHasVtxOffset =
1 << 2 # Backend Platform supports io.WantSetMousePos requests to reposition the OS mouse position (only used if io.ConfigNavMoveSetMousePos is set).
8
- ImGuiBackendFlags_PlatformHasViewports =
1 << 3 # Backend Renderer supports ImDrawCmd::VtxOffset. This enables output of large meshes (64K+ vertices) while still using 16-bit indices.
1024
- ImGuiBackendFlags_HasMouseHoveredViewport =
1 << 10 # Backend Platform supports multiple viewports.
2048
- ImGuiBackendFlags_RendererHasViewports =
1 << 11 # Backend Platform supports calling io.AddMouseViewportEvent() with the viewport under the mouse. IF POSSIBLE, ignore viewports with the ImGuiViewportFlags_NoInputs flag (Win32 backend, GLFW 3.30+ backend can do this, SDL backend cannot). If this cannot be done, Dear ImGui needs to use a flawed heuristic to find the viewport under.
4096
- ImGuiButtonFlags_None =
ImGuiButtonFlags_ Flags for InvisibleButton() [extended in imgui_internal.h]
0
- ImGuiButtonFlags_MouseButtonLeft =
0
1
- ImGuiButtonFlags_MouseButtonRight =
1 << 0 # React on left mouse button (default)
2
- ImGuiButtonFlags_MouseButtonMiddle =
1 << 1 # React on right mouse button
4
- ImGuiButtonFlags_MouseButtonMask_ =
1 << 2 # React on center mouse button
7
8
- ImGuiChildFlags_None =
ImGuiChildFlags_ Flags for ImGui::BeginChild() (Legacy: bit 0 must always correspond to ImGuiChildFlags_Borders 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.
-
-
0
- ImGuiChildFlags_Borders =
0
1
- ImGuiChildFlags_AlwaysUseWindowPadding =
1 << 0 # Show an outer border and enable WindowPadding. (IMPORTANT: this is always == 1 == true for legacy reason)
2
- ImGuiChildFlags_ResizeX =
1 << 1 # Pad with style.WindowPadding even if no border are drawn (no padding by default for non-bordered child windows because it makes more sense)
4
- ImGuiChildFlags_ResizeY =
1 << 2 # Allow resize from right border (layout direction). Enable .ini saving (unless ImGuiWindowFlags_NoSavedSettings passed to window flags)
8
- ImGuiChildFlags_AutoResizeX =
1 << 3 # Allow resize from bottom border (layout direction). “
16
- ImGuiChildFlags_AutoResizeY =
1 << 4 # Enable auto-resizing width. Read “IMPORTANT: Size measurement” details above.
32
- ImGuiChildFlags_AlwaysAutoResize =
1 << 5 # Enable auto-resizing height. Read “IMPORTANT: Size measurement” details above.
64
- ImGuiChildFlags_FrameStyle =
1 << 6 # Combined with AutoResizeX/AutoResizeY. Always measure size even when child is hidden, always return true, always disable clipping optimization! NOT RECOMMENDED.
128
256
- ImGuiCol_Text =
ImGuiCol_ Enumeration for PushStyleColor() / PopStyleColor()
0
- ImGuiCol_TextDisabled =
0
1
- ImGuiCol_WindowBg =
1
2
- ImGuiCol_ChildBg =
2 # Background of normal windows
3
- ImGuiCol_PopupBg =
3 # Background of child windows
4
- ImGuiCol_Border =
4 # Background of popups, menus, tooltips windows
5
- ImGuiCol_BorderShadow =
5
6
- ImGuiCol_FrameBg =
6
7
- ImGuiCol_FrameBgHovered =
7 # Background of checkbox, radio button, plot, slider, text input
8
- ImGuiCol_FrameBgActive =
8
9
- ImGuiCol_TitleBg =
9
10
- ImGuiCol_TitleBgActive =
10 # Title bar
11
- ImGuiCol_TitleBgCollapsed =
11 # Title bar when focused
12
- ImGuiCol_MenuBarBg =
12 # Title bar when collapsed
13
- ImGuiCol_ScrollbarBg =
13
14
- ImGuiCol_ScrollbarGrab =
14
15
- ImGuiCol_ScrollbarGrabHovered =
15
16
- ImGuiCol_ScrollbarGrabActive =
16
17
- ImGuiCol_CheckMark =
17
18
- ImGuiCol_SliderGrab =
18 # Checkbox tick and RadioButton circle
19
- ImGuiCol_SliderGrabActive =
19
20
- ImGuiCol_Button =
20
21
- ImGuiCol_ButtonHovered =
21
22
- ImGuiCol_ButtonActive =
22
23
- ImGuiCol_Header =
23
24
- ImGuiCol_HeaderHovered =
24 # Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem
25
- ImGuiCol_HeaderActive =
25
26
- ImGuiCol_Separator =
26
27
- ImGuiCol_SeparatorHovered =
27
28
- ImGuiCol_SeparatorActive =
28
29
- ImGuiCol_ResizeGrip =
29
30
- ImGuiCol_ResizeGripHovered =
30 # Resize grip in lower-right and lower-left corners of windows.
31
- ImGuiCol_ResizeGripActive =
31
32
- ImGuiCol_TabHovered =
32
33
- ImGuiCol_Tab =
33 # Tab background, when hovered
34
- ImGuiCol_TabSelected =
34 # Tab background, when tab-bar is focused & tab is unselected
35
- ImGuiCol_TabSelectedOverline =
35 # Tab background, when tab-bar is focused & tab is selected
36
- ImGuiCol_TabDimmed =
36 # Tab horizontal overline, when tab-bar is focused & tab is selected
37
- ImGuiCol_TabDimmedSelected =
37 # Tab background, when tab-bar is unfocused & tab is unselected
38
- ImGuiCol_TabDimmedSelectedOverline =
38 # Tab background, when tab-bar is unfocused & tab is selected
39
- ImGuiCol_DockingPreview =
39 #..horizontal overline, when tab-bar is unfocused & tab is selected
40
- ImGuiCol_DockingEmptyBg =
40 # Preview overlay color when about to docking something
41
- ImGuiCol_PlotLines =
41 # Background color for empty node (e.g. CentralNode with no window docked into it)
42
- ImGuiCol_PlotLinesHovered =
42
43
- ImGuiCol_PlotHistogram =
43
44
- ImGuiCol_PlotHistogramHovered =
44
45
- ImGuiCol_TableHeaderBg =
45
46
- ImGuiCol_TableBorderStrong =
46 # Table header background
47
- ImGuiCol_TableBorderLight =
47 # Table outer and header borders (prefer using Alpha=1.0 here)
48
- ImGuiCol_TableRowBg =
48 # Table inner borders (prefer using Alpha=1.0 here)
49
- ImGuiCol_TableRowBgAlt =
49 # Table row background (even rows)
50
- ImGuiCol_TextLink =
50 # Table row background (odd rows)
51
- ImGuiCol_TextSelectedBg =
51 # Hyperlink color
52
- ImGuiCol_DragDropTarget =
52
53
54
55
56
- ImGuiCol_ModalWindowDimBg =
56 # Darken/colorize entire screen behind the CTRL+TAB window list, when active
57
- ImGuiCol_COUNT =
57 # Darken/colorize entire screen behind a modal window, when one is active
58
- ImGuiColorEditFlags_None =
ImGuiColorEditFlags_ Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton()
0
- ImGuiColorEditFlags_NoAlpha =
0
2
- ImGuiColorEditFlags_NoPicker =
1 << 1 # // ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer).
4
- ImGuiColorEditFlags_NoOptions =
1 << 2 # // ColorEdit: disable picker when clicking on color square.
8
- ImGuiColorEditFlags_NoSmallPreview =
1 << 3 # // ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.
16
- ImGuiColorEditFlags_NoInputs =
1 << 4 # // ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs)
32
- ImGuiColorEditFlags_NoTooltip =
1 << 5 # // ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square).
64
- ImGuiColorEditFlags_NoLabel =
1 << 6 # // ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.
128
- ImGuiColorEditFlags_NoSidePreview =
1 << 7 # // ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).
256
- ImGuiColorEditFlags_NoDragDrop =
1 << 8 # // ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead.
512
- ImGuiColorEditFlags_NoBorder =
1 << 9 # // ColorEdit: disable drag and drop target. ColorButton: disable drag and drop source.
1024
- ImGuiColorEditFlags_AlphaBar =
1 << 10 # // ColorButton: disable border (which is enforced by default)
65536
- ImGuiColorEditFlags_AlphaPreview =
1 << 16 # // ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.
131072
- ImGuiColorEditFlags_AlphaPreviewHalf =
1 << 17 # // ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.
262144
- ImGuiColorEditFlags_HDR =
1 << 18 # // ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.
524288
- ImGuiColorEditFlags_DisplayRGB =
1 << 19 # // (WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well).
1048576
- ImGuiColorEditFlags_DisplayHSV =
1 << 20 # [Display] // ColorEdit: override display type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex.
2097152
- ImGuiColorEditFlags_DisplayHex =
1 << 21 # [Display] // “
4194304
- ImGuiColorEditFlags_Uint8 =
1 << 22 # [Display] // “
8388608
- ImGuiColorEditFlags_Float =
1 << 23 # [DataType] // ColorEdit, ColorPicker, ColorButton: display values formatted as 0..255.
16777216
- ImGuiColorEditFlags_PickerHueBar =
1 << 24 # [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.
33554432
- ImGuiColorEditFlags_PickerHueWheel =
1 << 25 # [Picker] // ColorPicker: bar for Hue, rectangle for Sat/Value.
67108864
- ImGuiColorEditFlags_InputRGB =
1 << 26 # [Picker] // ColorPicker: wheel for Hue, triangle for Sat/Value.
134217728
- ImGuiColorEditFlags_InputHSV =
1 << 27 # [Input] // ColorEdit, ColorPicker: input and output data in RGB format.
268435456
- ImGuiColorEditFlags_DefaultOptions_ =
1 << 28 # [Input] // ColorEdit, ColorPicker: input and output data in HSV format.
177209344
- ImGuiColorEditFlags_DisplayMask_ =
ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_PickerHueBar
7340032
- ImGuiColorEditFlags_DataTypeMask_ =
ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_DisplayHSV | ImGuiColorEditFlags_DisplayHex
25165824
- ImGuiColorEditFlags_PickerMask_ =
ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_Float
100663296
- ImGuiColorEditFlags_InputMask_ =
ImGuiColorEditFlags_PickerHueWheel | ImGuiColorEditFlags_PickerHueBar
402653184
- ImGuiComboFlags_None =
ImGuiComboFlags_ Flags for ImGui::BeginCombo()
0
- ImGuiComboFlags_PopupAlignLeft =
0
1
- ImGuiComboFlags_HeightSmall =
1 << 0 # Align the popup toward the left by default
2
- ImGuiComboFlags_HeightRegular =
1 << 1 # Max ~4 items visible. Tip: If you want your combo popup to be a specific size you can use SetNextWindowSizeConstraints() prior to calling BeginCombo()
4
- ImGuiComboFlags_HeightLarge =
1 << 2 # Max ~8 items visible (default)
8
- ImGuiComboFlags_HeightLargest =
1 << 3 # Max ~20 items visible
16
- ImGuiComboFlags_NoArrowButton =
1 << 4 # As many fitting items as possible
32
- ImGuiComboFlags_NoPreview =
1 << 5 # Display on the preview box without the square arrow button
64
- ImGuiComboFlags_WidthFitPreview =
1 << 6 # Display only a square arrow button
128
- ImGuiComboFlags_HeightMask_ =
1 << 7 # Width dynamically calculated from preview contents
30
- ImGuiCond_None =
ImGuiCond_ 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.
0
- ImGuiCond_Always =
0 # No condition (always set the variable), same as _Always
1
- ImGuiCond_Once =
1 << 0 # No condition (always set the variable), same as _None
2
- ImGuiCond_FirstUseEver =
1 << 1 # Set the variable once per runtime session (only the first call will succeed)
4
- ImGuiCond_Appearing =
1 << 2 # Set the variable if the object/window has no persistently saved data (no entry in .ini file)
8
- ImGuiConfigFlags_None =
ImGuiConfigFlags_ Configuration flags stored in io.ConfigFlags. Set by user/application.
0
1
2
- ImGuiConfigFlags_NoMouse =
1 << 1 # Master gamepad navigation enable flag. Backend also needs to set ImGuiBackendFlags_HasGamepad.
16
- ImGuiConfigFlags_NoMouseCursorChange =
1 << 4 # Instruct dear imgui to disable mouse inputs and interactions.
32
- ImGuiConfigFlags_NoKeyboard =
1 << 5 # Instruct backend to not alter mouse cursor shape and visibility. Use if the backend cursor changes are interfering with yours and you don’t want to use SetMouseCursor() to change mouse cursor. You may want to honor requests from imgui by reading GetMouseCursor() yourself instead.
64
- ImGuiConfigFlags_DockingEnable =
1 << 6 # Instruct dear imgui to disable keyboard inputs and interactions. This is done by ignoring keyboard events and clearing existing states.
128
- ImGuiConfigFlags_ViewportsEnable =
1 << 7 # Docking enable flags.
1024
- ImGuiConfigFlags_DpiEnableScaleViewports =
1 << 10 # Viewport enable flags (require both ImGuiBackendFlags_PlatformHasViewports + ImGuiBackendFlags_RendererHasViewports set by the respective backends)
16384
- ImGuiConfigFlags_DpiEnableScaleFonts =
1 << 14 # [BETA: Don’t use] FIXME-DPI: Reposition and resize imgui windows when the DpiScale of a viewport changed (mostly useful for the main viewport hosting other window). Note that resizing the main window itself is up to your application.
32768
- ImGuiConfigFlags_IsSRGB =
1 << 15 # [BETA: Don’t use] FIXME-DPI: Request bitmap-scaled fonts to match DpiScale. This is a very low-quality workaround. The correct way to handle DPI is currently to replace the atlas and/or fonts in the Platform_OnChangedViewport callback, but this is all early work in progress.
1048576
- ImGuiConfigFlags_IsTouchScreen =
1 << 20 # Application is SRGB-aware.
2097152
- ImGuiDataType_S8 =
ImGuiDataType_ A primary data type
0
- ImGuiDataType_U8 =
0 # signed char / char (with sensible compilers)
1
- ImGuiDataType_S16 =
1 # unsigned char
2
- ImGuiDataType_U16 =
2 # short
3
- ImGuiDataType_S32 =
3 # unsigned short
4
- ImGuiDataType_U32 =
4 # int
5
- ImGuiDataType_S64 =
5 # unsigned int
6
- ImGuiDataType_U64 =
6 # long long / __int64
7
- ImGuiDataType_Float =
7 # unsigned long long / unsigned __int64
8
- ImGuiDataType_Double =
8 # float
9
- ImGuiDataType_Bool =
9 # double
10
- ImGuiDataType_COUNT =
10 # bool (provided for user convenience, not supported by scalar widgets)
11
- ImGuiDir_None =
ImGuiDir A cardinal direction
-1 # -1
- ImGuiDir_Left =
-1
0
- ImGuiDir_Right =
0
1
- ImGuiDir_Up =
1
2
- ImGuiDir_Down =
2
3
- ImGuiDir_COUNT =
3
4
- ImGuiDockNodeFlags_None =
ImGuiDockNodeFlags_ 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.
0
- ImGuiDockNodeFlags_KeepAliveOnly =
0
1
- ImGuiDockNodeFlags_NoDockingOverCentralNode =
1 << 0 # // Don’t display the dockspace node but keep it alive. Windows docked into this dockspace node won’t be undocked.
4
- ImGuiDockNodeFlags_PassthruCentralNode =
1 << 2 # // Disable docking over the Central Node, which will be always kept empty.
8
- ImGuiDockNodeFlags_NoDockingSplit =
1 << 3 # // 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.
16
- ImGuiDockNodeFlags_NoResize =
1 << 4 # // Disable other windows/nodes from splitting this node.
32
- ImGuiDockNodeFlags_AutoHideTabBar =
1 << 5 # Saved // Disable resizing node using the splitter/separators. Useful with programmatically setup dockspaces.
64
- ImGuiDockNodeFlags_NoUndocking =
1 << 6 # // Tab bar will automatically hide when there is a single window in the dock node.
128
- ImGuiDragDropFlags_None =
ImGuiDragDropFlags_ Flags for ImGui::BeginDragDropSource(), ImGui::AcceptDragDropPayload()
0
- ImGuiDragDropFlags_SourceNoPreviewTooltip =
0
1
- ImGuiDragDropFlags_SourceNoDisableHover =
1 << 0 # Disable preview tooltip. By default, a successful call to BeginDragDropSource opens a tooltip so you can display a preview or description of the source contents. This flag disables this behavior.
2
- ImGuiDragDropFlags_SourceNoHoldToOpenOthers =
1 << 1 # By default, when dragging we clear data so that IsItemHovered() will return false, to avoid subsequent user code submitting tooltips. This flag disables this behavior so you can still call IsItemHovered() on the source item.
4
- ImGuiDragDropFlags_SourceAllowNullID =
1 << 2 # Disable the behavior that allows to open tree nodes and collapsing header by holding over them while dragging a source item.
8
- ImGuiDragDropFlags_SourceExtern =
1 << 3 # Allow items such as Text(), Image() that have no unique identifier to be used as drag source, by manufacturing a temporary identifier based on their window-relative position. This is extremely unusual within the dear imgui ecosystem and so we made it explicit.
16
- ImGuiDragDropFlags_PayloadAutoExpire =
1 << 4 # External source (from outside of dear imgui), won’t attempt to read current item/window info. Will always return true. Only one Extern source can be active simultaneously.
32
- ImGuiDragDropFlags_PayloadNoCrossContext =
1 << 5 # Automatically expire the payload if the source cease to be submitted (otherwise payloads are persisting while being dragged)
64
- ImGuiDragDropFlags_PayloadNoCrossProcess =
1 << 6 # Hint to specify that the payload may not be copied outside current dear imgui context.
128
- ImGuiDragDropFlags_AcceptBeforeDelivery =
1 << 7 # Hint to specify that the payload may not be copied outside current process.
1024
- ImGuiDragDropFlags_AcceptNoDrawDefaultRect =
1 << 10 # AcceptDragDropPayload() will returns true even before the mouse button is released. You can then call IsDelivery() to test if the payload needs to be delivered.
2048
- ImGuiDragDropFlags_AcceptNoPreviewTooltip =
1 << 11 # Do not draw the default highlight rectangle when hovering over target.
4096
- ImGuiDragDropFlags_AcceptPeekOnly =
1 << 12 # Request hiding the BeginDragDropSource tooltip from the BeginDragDropTarget site.
3072
- ImGuiFocusedFlags_None =
ImGuiFocusedFlags_ Flags for ImGui::IsWindowFocused()
0
- ImGuiFocusedFlags_ChildWindows =
0
1
- ImGuiFocusedFlags_RootWindow =
1 << 0 # Return true if any children of the window is focused
2
- ImGuiFocusedFlags_AnyWindow =
1 << 1 # Test from root window (top most parent of the current hierarchy)
4
- ImGuiFocusedFlags_NoPopupHierarchy =
1 << 2 # 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!
8
- ImGuiFocusedFlags_DockHierarchy =
1 << 3 # Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow)
16
- ImGuiFocusedFlags_RootAndChildWindows =
1 << 4 # Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow)
3
- ImGuiFreeTypeBuilderFlags_NoHinting =
ImGuiFreeTypeBuilderFlags
1
- ImGuiFreeTypeBuilderFlags_NoAutoHint =
1 << 0
2
- ImGuiFreeTypeBuilderFlags_ForceAutoHint =
1 << 1
4
- ImGuiFreeTypeBuilderFlags_LightHinting =
1 << 2
8
- ImGuiFreeTypeBuilderFlags_MonoHinting =
1 << 3
16
- ImGuiFreeTypeBuilderFlags_Bold =
1 << 4
32
- ImGuiFreeTypeBuilderFlags_Oblique =
1 << 5
64
- ImGuiFreeTypeBuilderFlags_Monochrome =
1 << 6
128
- ImGuiFreeTypeBuilderFlags_LoadColor =
1 << 7
256
- ImGuiFreeTypeBuilderFlags_Bitmap =
1 << 8
512
- ImGuiHoveredFlags_None =
ImGuiHoveredFlags_ 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.
0
- ImGuiHoveredFlags_ChildWindows =
0 # 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.
1
- ImGuiHoveredFlags_RootWindow =
1 << 0 # IsWindowHovered() only: Return true if any children of the window is hovered
2
- ImGuiHoveredFlags_AnyWindow =
1 << 1 # IsWindowHovered() only: Test from root window (top most parent of the current hierarchy)
4
- ImGuiHoveredFlags_NoPopupHierarchy =
1 << 2 # IsWindowHovered() only: Return true if any window is hovered
8
- ImGuiHoveredFlags_DockHierarchy =
1 << 3 # IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow)
16
- ImGuiHoveredFlags_AllowWhenBlockedByPopup =
1 << 4 # IsWindowHovered() only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow)
32
- ImGuiHoveredFlags_AllowWhenBlockedByActiveItem =
1 << 5 # Return true even if a popup window is normally blocking access to this item/window
128
- ImGuiHoveredFlags_AllowWhenOverlappedByItem =
1 << 7 # Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.
256
- ImGuiHoveredFlags_AllowWhenOverlappedByWindow =
1 << 8 # IsItemHovered() only: Return true even if the item uses AllowOverlap mode and is overlapped by another hoverable item.
512
- ImGuiHoveredFlags_AllowWhenDisabled =
1 << 9 # IsItemHovered() only: Return true even if the position is obstructed or overlapped by another window.
1024
2048
- ImGuiHoveredFlags_AllowWhenOverlapped =
1 << 11 # IsItemHovered() only: Disable using keyboard/gamepad navigation state when active, always query mouse
768
- ImGuiHoveredFlags_RectOnly =
ImGuiHoveredFlags_AllowWhenOverlappedByItem | ImGuiHoveredFlags_AllowWhenOverlappedByWindow
928
- ImGuiHoveredFlags_RootAndChildWindows =
ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped
3
- ImGuiHoveredFlags_ForTooltip =
ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows
4096
- ImGuiHoveredFlags_Stationary =
1 << 12 # Shortcut for standard flags when using IsItemHovered() + SetTooltip() sequence.
8192
- ImGuiHoveredFlags_DelayNone =
1 << 13 # 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.
16384
- ImGuiHoveredFlags_DelayShort =
1 << 14 # IsItemHovered() only: Return true immediately (default). As this is the default you generally ignore this.
32768
- ImGuiHoveredFlags_DelayNormal =
1 << 15 # 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).
65536
131072
- ImGuiInputFlags_None =
ImGuiInputFlags_ Flags for Shortcut(), SetNextItemShortcut(), (and for upcoming extended versions of IsKeyPressed(), IsMouseClicked(), Shortcut(), SetKeyOwner(), SetItemKeyOwner() that are still in imgui_internal.h) Don’t mistake with ImGuiInputTextFlags! (which is for ImGui::InputText() function)
0
- ImGuiInputFlags_Repeat =
0
1
- ImGuiInputFlags_RouteActive =
1 << 0 # Enable repeat. Return true on successive repeats. Default for legacy IsKeyPressed(). NOT Default for legacy IsMouseClicked(). MUST BE == 1.
1024
- ImGuiInputFlags_RouteFocused =
1 << 10 # Route to active item only.
2048
- ImGuiInputFlags_RouteGlobal =
1 << 11 # Route to windows in the focus stack (DEFAULT). Deep-most focused window takes inputs. Active item takes inputs over deep-most focused window.
4096
- ImGuiInputFlags_RouteAlways =
1 << 12 # Global route (unless a focused window or active item registered the route).
8192
- ImGuiInputFlags_RouteOverFocused =
1 << 13 # Do not register route, poll keys directly.
16384
- ImGuiInputFlags_RouteOverActive =
1 << 14 # Option: global route: higher priority than focused route (unless active item in focused route).
32768
- ImGuiInputFlags_RouteUnlessBgFocused =
1 << 15 # Option: global route: higher priority than active item. Unlikely you need to use that: will interfere with every active items, e.g. CTRL+A registered by InputText will be overridden by this. May not be fully honored as user/internal code is likely to always assume they can access keys when active.
65536
- ImGuiInputFlags_RouteFromRootWindow =
1 << 16 # Option: global route: will not be applied if underlying background/void is focused (== no Dear ImGui windows are focused). Useful for overlay applications.
131072
- ImGuiInputFlags_Tooltip =
1 << 17 # Option: route evaluated from the point of view of root window rather than current window.
262144
- ImGuiInputTextFlags_None =
ImGuiInputTextFlags_ Flags for ImGui::InputText() (Those are per-item flags. There are shared flags in ImGuiIO: io.ConfigInputTextCursorBlink and io.ConfigInputTextEnterKeepActive)
0
- ImGuiInputTextFlags_CharsDecimal =
0
1
- ImGuiInputTextFlags_CharsHexadecimal =
1 << 0 # Allow 0123456789.+-*/
2
- ImGuiInputTextFlags_CharsScientific =
1 << 1 # Allow 0123456789ABCDEFabcdef
4
- ImGuiInputTextFlags_CharsUppercase =
1 << 2 # Allow 0123456789.+-*/eE (Scientific notation input)
8
- ImGuiInputTextFlags_CharsNoBlank =
1 << 3 # Turn a..z into A..Z
16
- ImGuiInputTextFlags_AllowTabInput =
1 << 4 # Filter out spaces, tabs
32
- ImGuiInputTextFlags_EnterReturnsTrue =
1 << 5 # Pressing TAB input a ‘t’ character into the text field
64
- ImGuiInputTextFlags_EscapeClearsAll =
1 << 6 # Return ‘true’ when Enter is pressed (as opposed to every time the value was modified). Consider using IsItemDeactivatedAfterEdit() instead!
128
- ImGuiInputTextFlags_CtrlEnterForNewLine =
1 << 7 # Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert)
256
- ImGuiInputTextFlags_ReadOnly =
1 << 8 # In multi-line mode, validate with Enter, add new line with Ctrl+Enter (default is opposite: validate with Ctrl+Enter, add line with Enter).
512
- ImGuiInputTextFlags_Password =
1 << 9 # Read-only mode
1024
- ImGuiInputTextFlags_AlwaysOverwrite =
1 << 10 # Password mode, display all characters as ‘*’, disable copy
2048
- ImGuiInputTextFlags_AutoSelectAll =
1 << 11 # Overwrite mode
4096
- ImGuiInputTextFlags_ParseEmptyRefVal =
1 << 12 # Select entire text when first taking mouse focus
8192
- ImGuiInputTextFlags_DisplayEmptyRefVal =
1 << 13 # InputFloat(), InputInt(), InputScalar() etc. only: parse empty string as zero value.
16384
- ImGuiInputTextFlags_NoHorizontalScroll =
1 << 14 # InputFloat(), InputInt(), InputScalar() etc. only: when value is zero, do not display it. Generally used with ImGuiInputTextFlags_ParseEmptyRefVal.
32768
- ImGuiInputTextFlags_NoUndoRedo =
1 << 15 # Disable following the cursor horizontally
65536
- ImGuiInputTextFlags_ElideLeft =
1 << 16 # 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().
131072
- ImGuiInputTextFlags_CallbackCompletion =
1 << 17 # When text doesn’t fit, elide left side to ensure right side stays visible. Useful for path/filenames. Single-line only!
262144
- ImGuiInputTextFlags_CallbackHistory =
1 << 18 # Callback on pressing TAB (for completion handling)
524288
- ImGuiInputTextFlags_CallbackAlways =
1 << 19 # Callback on pressing Up/Down arrows (for history handling)
1048576
- ImGuiInputTextFlags_CallbackCharFilter =
1 << 20 # Callback on each iteration. User code may query cursor position, modify text buffer.
2097152
- ImGuiInputTextFlags_CallbackResize =
1 << 21 # Callback on character inputs to replace or discard them. Modify ‘EventChar’ to replace or discard, or return 1 in callback to discard.
4194304
- ImGuiInputTextFlags_CallbackEdit =
1 << 22 # 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)
8388608
- ImGuiItemFlags_None =
ImGuiItemFlags_ Flags for ImGui::PushItemFlag() (Those are shared by all items)
0
- ImGuiItemFlags_NoTabStop =
0 # (Default)
1
2
4
- ImGuiItemFlags_ButtonRepeat =
1 << 2 # false // Disable item being a candidate for default focus (e.g. used by title bar items).
8
- ImGuiItemFlags_AutoClosePopups =
1 << 3 # false // Any button-like behavior will have repeat mode enabled (based on io.KeyRepeatDelay and io.KeyRepeatRate values). Note that you can also call IsItemActive() after any button to tell if it is being held.
16
- ImGuiItemFlags_AllowDuplicateId =
1 << 4 # true // MenuItem()/Selectable() automatically close their parent popup window.
32
- ImGuiKey_None =
ImGuiKey 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 and were legacy native/opaque key values (< 1.87). Support for legacy keys was completely removed in 1.91.5. Read details about the 1.87+ transition : 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.
0
- ImGuiKey_NamedKey_BEGIN =
0
512
- ImGuiKey_Tab =
512 # First valid key value (other than 0)
512
- ImGuiKey_LeftArrow =
512 # == ImGuiKey_NamedKey_BEGIN
513
- ImGuiKey_RightArrow =
513
514
- ImGuiKey_UpArrow =
514
515
- ImGuiKey_DownArrow =
515
516
- ImGuiKey_PageUp =
516
517
- ImGuiKey_PageDown =
517
518
- ImGuiKey_Home =
518
519
- ImGuiKey_End =
519
520
- ImGuiKey_Insert =
520
521
- ImGuiKey_Delete =
521
522
- ImGuiKey_Backspace =
522
523
- ImGuiKey_Space =
523
524
- ImGuiKey_Enter =
524
525
- ImGuiKey_Escape =
525
526
- ImGuiKey_LeftCtrl =
526
527
- ImGuiKey_LeftShift =
527
528
- ImGuiKey_LeftAlt =
528
529
- ImGuiKey_LeftSuper =
529
530
- ImGuiKey_RightCtrl =
530
531
- ImGuiKey_RightShift =
531
532
- ImGuiKey_RightAlt =
532
533
- ImGuiKey_RightSuper =
533
534
- ImGuiKey_Menu =
534
535
- ImGuiKey_0 =
535
536
- ImGuiKey_1 =
536
537
- ImGuiKey_2 =
537
538
- ImGuiKey_3 =
538
539
- ImGuiKey_4 =
539
540
- ImGuiKey_5 =
540
541
- ImGuiKey_6 =
541
542
- ImGuiKey_7 =
542
543
- ImGuiKey_8 =
543
544
- ImGuiKey_9 =
544
545
- ImGuiKey_A =
545
546
- ImGuiKey_B =
546
547
- ImGuiKey_C =
547
548
- ImGuiKey_D =
548
549
- ImGuiKey_E =
549
550
- ImGuiKey_F =
550
551
- ImGuiKey_G =
551
552
- ImGuiKey_H =
552
553
- ImGuiKey_I =
553
554
- ImGuiKey_J =
554
555
- ImGuiKey_K =
555
556
- ImGuiKey_L =
556
557
- ImGuiKey_M =
557
558
- ImGuiKey_N =
558
559
- ImGuiKey_O =
559
560
- ImGuiKey_P =
560
561
- ImGuiKey_Q =
561
562
- ImGuiKey_R =
562
563
- ImGuiKey_S =
563
564
- ImGuiKey_T =
564
565
- ImGuiKey_U =
565
566
- ImGuiKey_V =
566
567
- ImGuiKey_W =
567
568
- ImGuiKey_X =
568
569
- ImGuiKey_Y =
569
570
- ImGuiKey_Z =
570
571
- ImGuiKey_F1 =
571
572
- ImGuiKey_F2 =
572
573
- ImGuiKey_F3 =
573
574
- ImGuiKey_F4 =
574
575
- ImGuiKey_F5 =
575
576
- ImGuiKey_F6 =
576
577
- ImGuiKey_F7 =
577
578
- ImGuiKey_F8 =
578
579
- ImGuiKey_F9 =
579
580
- ImGuiKey_F10 =
580
581
- ImGuiKey_F11 =
581
582
- ImGuiKey_F12 =
582
583
- ImGuiKey_F13 =
583
584
- ImGuiKey_F14 =
584
585
- ImGuiKey_F15 =
585
586
- ImGuiKey_F16 =
586
587
- ImGuiKey_F17 =
587
588
- ImGuiKey_F18 =
588
589
- ImGuiKey_F19 =
589
590
- ImGuiKey_F20 =
590
591
- ImGuiKey_F21 =
591
592
- ImGuiKey_F22 =
592
593
- ImGuiKey_F23 =
593
594
- ImGuiKey_F24 =
594
595
- ImGuiKey_Apostrophe =
595
596
- ImGuiKey_Comma =
596 # ‘
597
- ImGuiKey_Minus =
597 # ,
598
- ImGuiKey_Period =
598 # -
599
- ImGuiKey_Slash =
599 # .
600
- ImGuiKey_Semicolon =
600 # /
601
- ImGuiKey_Equal =
601 # ;
602
- ImGuiKey_LeftBracket =
602 # =
603
- ImGuiKey_Backslash =
603 # [
604
- ImGuiKey_RightBracket =
604 # \ (this text inhibit multiline comment caused by backslash)
605
- ImGuiKey_GraveAccent =
605 # ]
606
- ImGuiKey_CapsLock =
606 # ‘
607
- ImGuiKey_ScrollLock =
607
608
- ImGuiKey_NumLock =
608
609
- ImGuiKey_PrintScreen =
609
610
- ImGuiKey_Pause =
610
611
- ImGuiKey_Keypad0 =
611
612
- ImGuiKey_Keypad1 =
612
613
- ImGuiKey_Keypad2 =
613
614
- ImGuiKey_Keypad3 =
614
615
- ImGuiKey_Keypad4 =
615
616
- ImGuiKey_Keypad5 =
616
617
- ImGuiKey_Keypad6 =
617
618
- ImGuiKey_Keypad7 =
618
619
- ImGuiKey_Keypad8 =
619
620
- ImGuiKey_Keypad9 =
620
621
- ImGuiKey_KeypadDecimal =
621
622
- ImGuiKey_KeypadDivide =
622
623
- ImGuiKey_KeypadMultiply =
623
624
- ImGuiKey_KeypadSubtract =
624
625
- ImGuiKey_KeypadAdd =
625
626
- ImGuiKey_KeypadEnter =
626
627
- ImGuiKey_KeypadEqual =
627
628
- ImGuiKey_AppBack =
628
629
- ImGuiKey_AppForward =
629 # Available on some keyboard/mouses. Often referred as “Browser Back”
630
- ImGuiKey_GamepadStart =
630
631
- ImGuiKey_GamepadBack =
631 # Menu (Xbox) + (Switch) Start/Options (PS)
632
- ImGuiKey_GamepadFaceLeft =
632 # View (Xbox) - (Switch) Share (PS)
633
- ImGuiKey_GamepadFaceRight =
633 # X (Xbox) Y (Switch) Square (PS) // Tap: Toggle Menu. Hold: Windowing mode (Focus/Move/Resize windows)
634
- ImGuiKey_GamepadFaceUp =
634 # B (Xbox) A (Switch) Circle (PS) // Cancel / Close / Exit
635
- ImGuiKey_GamepadFaceDown =
635 # Y (Xbox) X (Switch) Triangle (PS) // Text Input / On-screen Keyboard
636
- ImGuiKey_GamepadDpadLeft =
636 # A (Xbox) B (Switch) Cross (PS) // Activate / Open / Toggle / Tweak
637
- ImGuiKey_GamepadDpadRight =
637 # D-pad Left // Move / Tweak / Resize Window (in Windowing mode)
638
- ImGuiKey_GamepadDpadUp =
638 # D-pad Right // Move / Tweak / Resize Window (in Windowing mode)
639
- ImGuiKey_GamepadDpadDown =
639 # D-pad Up // Move / Tweak / Resize Window (in Windowing mode)
640
- ImGuiKey_GamepadL1 =
640 # D-pad Down // Move / Tweak / Resize Window (in Windowing mode)
641
- ImGuiKey_GamepadR1 =
641 # L Bumper (Xbox) L (Switch) L1 (PS) // Tweak Slower / Focus Previous (in Windowing mode)
642
- ImGuiKey_GamepadL2 =
642 # R Bumper (Xbox) R (Switch) R1 (PS) // Tweak Faster / Focus Next (in Windowing mode)
643
- ImGuiKey_GamepadR2 =
643 # L Trig. (Xbox) ZL (Switch) L2 (PS) [Analog]
644
- ImGuiKey_GamepadL3 =
644 # R Trig. (Xbox) ZR (Switch) R2 (PS) [Analog]
645
- ImGuiKey_GamepadR3 =
645 # L Stick (Xbox) L3 (Switch) L3 (PS)
646
- ImGuiKey_GamepadLStickLeft =
646 # R Stick (Xbox) R3 (Switch) R3 (PS)
647
- ImGuiKey_GamepadLStickRight =
647 # [Analog] // Move Window (in Windowing mode)
648
- ImGuiKey_GamepadLStickUp =
648 # [Analog] // Move Window (in Windowing mode)
649
- ImGuiKey_GamepadLStickDown =
649 # [Analog] // Move Window (in Windowing mode)
650
- ImGuiKey_GamepadRStickLeft =
650 # [Analog] // Move Window (in Windowing mode)
651
- ImGuiKey_GamepadRStickRight =
651 # [Analog]
652
- ImGuiKey_GamepadRStickUp =
652 # [Analog]
653
- ImGuiKey_GamepadRStickDown =
653 # [Analog]
654
- ImGuiKey_MouseLeft =
654 # [Analog]
655
- ImGuiKey_MouseRight =
655
656
- ImGuiKey_MouseMiddle =
656
657
- ImGuiKey_MouseX1 =
657
658
- ImGuiKey_MouseX2 =
658
659
- ImGuiKey_MouseWheelX =
659
660
- ImGuiKey_MouseWheelY =
660
661
- ImGuiKey_ReservedForModCtrl =
661
662
- ImGuiKey_ReservedForModShift =
662
663
- ImGuiKey_ReservedForModAlt =
663
664
- ImGuiKey_ReservedForModSuper =
664
665
- ImGuiKey_NamedKey_END =
665
666
- ImGuiMod_None =
666
0
- ImGuiMod_Ctrl =
0
4096
- ImGuiMod_Shift =
1 << 12 # Ctrl (non-macOS), Cmd (macOS)
8192
- ImGuiMod_Alt =
1 << 13 # Shift
16384
- ImGuiMod_Super =
1 << 14 # Option/Menu
32768
- ImGuiMod_Mask_ =
1 << 15 # Windows/Super (non-macOS), Ctrl (macOS)
61440
- ImGuiKey_NamedKey_COUNT =
0xF000 # 4-bits
154
- ImGuiMouseButton_Left =
ImGuiMouseButton_ Identify a mouse button. Those values are guaranteed to be stable and we frequently use 0/1 directly. Named enums provided for convenience.
0
- ImGuiMouseButton_Right =
0
1
- ImGuiMouseButton_Middle =
1
2
- ImGuiMouseButton_COUNT =
2
5
- ImGuiMouseCursor_None =
ImGuiMouseCursor_ 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
-1 # -1
- ImGuiMouseCursor_Arrow =
-1
0
- ImGuiMouseCursor_TextInput =
0
1
- ImGuiMouseCursor_ResizeAll =
1 # When hovering over InputText, etc.
2
- ImGuiMouseCursor_ResizeNS =
2 # (Unused by Dear ImGui functions)
3
- ImGuiMouseCursor_ResizeEW =
3 # When hovering over a horizontal border
4
- ImGuiMouseCursor_ResizeNESW =
4 # When hovering over a vertical border or a column
5
- ImGuiMouseCursor_ResizeNWSE =
5 # When hovering over the bottom-left corner of a window
6
- ImGuiMouseCursor_Hand =
6 # When hovering over the bottom-right corner of a window
7
- ImGuiMouseCursor_NotAllowed =
7 # (Unused by Dear ImGui functions. Use for e.g. hyperlinks)
8
- ImGuiMouseCursor_COUNT =
8 # When hovering something with disallowed interaction. Usually a crossed circle.
9
- ImGuiMouseSource_Mouse =
ImGuiMouseSource Enumeration for AddMouseSourceEvent() actual source of Mouse Input data. Historically we use “Mouse” terminology everywhere to indicate pointer data, e.g. MousePos, IsMousePressed(), io.AddMousePosEvent() But that “Mouse” data can come from different source which occasionally may be useful for application to know about. You can submit a change of pointer type using io.AddMouseSourceEvent().
0
- ImGuiMouseSource_TouchScreen =
0 # Input is coming from an actual mouse.
1
- ImGuiMouseSource_Pen =
1 # Input is coming from a touch screen (no hovering prior to initial press, less precise initial press aiming, dual-axis wheeling possible).
2
- ImGuiMouseSource_COUNT =
2 # Input is coming from a pressure/magnetic pen (often used in conjunction with high-sampling rates).
3
- ImGuiMultiSelectFlags_None =
ImGuiMultiSelectFlags_ Flags for BeginMultiSelect()
0
- ImGuiMultiSelectFlags_SingleSelect =
0
1
- ImGuiMultiSelectFlags_NoSelectAll =
1 << 0 # Disable selecting more than one item. This is available to allow single-selection code to share same code/logic if desired. It essentially disables the main purpose of BeginMultiSelect() tho!
2
- ImGuiMultiSelectFlags_NoRangeSelect =
1 << 1 # Disable CTRL+A shortcut to select all.
4
- ImGuiMultiSelectFlags_NoAutoSelect =
1 << 2 # Disable Shift+selection mouse/keyboard support (useful for unordered 2D selection). With BoxSelect is also ensure contiguous SetRange requests are not combined into one. This allows not handling interpolation in SetRange requests.
8
- ImGuiMultiSelectFlags_NoAutoClear =
1 << 3 # Disable selecting items when navigating (useful for e.g. supporting range-select in a list of checkboxes).
16
- ImGuiMultiSelectFlags_NoAutoClearOnReselect =
1 << 4 # Disable clearing selection when navigating or selecting another one (generally used with ImGuiMultiSelectFlags_NoAutoSelect. useful for e.g. supporting range-select in a list of checkboxes).
32
- ImGuiMultiSelectFlags_BoxSelect1d =
1 << 5 # Disable clearing selection when clicking/selecting an already selected item.
64
- ImGuiMultiSelectFlags_BoxSelect2d =
1 << 6 # Enable box-selection with same width and same x pos items (e.g. full row Selectable()). Box-selection works better with little bit of spacing between items hit-box in order to be able to aim at empty space.
128
- ImGuiMultiSelectFlags_BoxSelectNoScroll =
1 << 7 # Enable box-selection with varying width or varying x pos items support (e.g. different width labels, or 2D layout/grid). This is slower: alters clipping logic so that e.g. horizontal movements will update selection of normally clipped items.
256
- ImGuiMultiSelectFlags_ClearOnEscape =
1 << 8 # Disable scrolling when box-selecting near edges of scope.
512
- ImGuiMultiSelectFlags_ClearOnClickVoid =
1 << 9 # Clear selection when pressing Escape while scope is focused.
1024
- ImGuiMultiSelectFlags_ScopeWindow =
1 << 10 # Clear selection when clicking on empty location within scope.
2048
- ImGuiMultiSelectFlags_ScopeRect =
1 << 11 # Scope for _BoxSelect and _ClearOnClickVoid is whole window (Default). Use if BeginMultiSelect() covers a whole window or used a single time in same window.
4096
- ImGuiMultiSelectFlags_SelectOnClick =
1 << 12 # Scope for _BoxSelect and _ClearOnClickVoid is rectangle encompassing BeginMultiSelect()/EndMultiSelect(). Use if BeginMultiSelect() is called multiple times in same window.
8192
- ImGuiMultiSelectFlags_SelectOnClickRelease =
1 << 13 # Apply selection on mouse down when clicking on unselected item. (Default)
16384
65536
- ImGuiPopupFlags_None =
ImGuiPopupFlags_ 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).
-
0
- ImGuiPopupFlags_MouseButtonLeft =
0
0
- ImGuiPopupFlags_MouseButtonRight =
0 # For BeginPopupContext*(): open on Left Mouse release. Guaranteed to always be == 0 (same as ImGuiMouseButton_Left)
1
- ImGuiPopupFlags_MouseButtonMiddle =
1 # For BeginPopupContext*(): open on Right Mouse release. Guaranteed to always be == 1 (same as ImGuiMouseButton_Right)
2
- ImGuiPopupFlags_MouseButtonMask_ =
2 # For BeginPopupContext*(): open on Middle Mouse release. Guaranteed to always be == 2 (same as ImGuiMouseButton_Middle)
31
- ImGuiPopupFlags_MouseButtonDefault_ =
0x1F
1
- ImGuiPopupFlags_NoReopen =
1
32
- ImGuiPopupFlags_NoOpenOverExistingPopup =
1 << 5 # For OpenPopup*(), BeginPopupContext*(): don’t reopen same popup if already open (won’t reposition, won’t reinitialize navigation)
128
- ImGuiPopupFlags_NoOpenOverItems =
1 << 7 # For OpenPopup*(), BeginPopupContext*(): don’t open if there’s already a popup at the same level of the popup stack
256
- ImGuiPopupFlags_AnyPopupId =
1 << 8 # For BeginPopupContextWindow(): don’t return true when hovering items, only when hovering empty space
1024
- ImGuiPopupFlags_AnyPopupLevel =
1 << 10 # For IsPopupOpen(): ignore the ImGuiID parameter and test for any popup.
2048
- ImGuiPopupFlags_AnyPopup =
1 << 11 # For IsPopupOpen(): search/test at any level of the popup stack (default test in the current level)
3072
- ImGuiSelectableFlags_None =
ImGuiSelectableFlags_ Flags for ImGui::Selectable()
0
- ImGuiSelectableFlags_NoAutoClosePopups =
0
1
- ImGuiSelectableFlags_SpanAllColumns =
1 << 0 # Clicking this doesn’t close parent popup window (overrides ImGuiItemFlags_AutoClosePopups)
2
- ImGuiSelectableFlags_AllowDoubleClick =
1 << 1 # Frame will span all columns of its container table (text will still fit in current column)
4
- ImGuiSelectableFlags_Disabled =
1 << 2 # Generate press events on double clicks too
8
- ImGuiSelectableFlags_AllowOverlap =
1 << 3 # Cannot be selected, display grayed out text
16
- ImGuiSelectableFlags_Highlight =
1 << 4 # (WIP) Hit testing to allow subsequent widgets to overlap this one
32
- ImGuiSelectionRequestType_None =
ImGuiSelectionRequestType Selection request type
0
- ImGuiSelectionRequestType_SetAll =
0
1
- ImGuiSelectionRequestType_SetRange =
1 # Request app to clear selection (if Selected==false) or select all items (if Selected==true). We cannot set RangeFirstItem/RangeLastItem as its contents is entirely up to user (not necessarily an index)
2
- ImGuiSliderFlags_None =
ImGuiSliderFlags_ 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 is shared behavior flag too: ImGuiIO: io.ConfigDragClickToInputText)
0
- ImGuiSliderFlags_Logarithmic =
0
32
- ImGuiSliderFlags_NoRoundToFormat =
1 << 5 # Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.
64
- ImGuiSliderFlags_NoInput =
1 << 6 # Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits).
128
- ImGuiSliderFlags_WrapAround =
1 << 7 # Disable CTRL+Click or Enter key allowing to input text directly into the widget.
256
- ImGuiSliderFlags_ClampOnInput =
1 << 8 # Enable wrapping around from max to min and from min to max. Only supported by DragXXX() functions for now.
512
- ImGuiSliderFlags_ClampZeroRange =
1 << 9 # Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds.
1024
- ImGuiSliderFlags_NoSpeedTweaks =
1 << 10 # Clamp even if min==max==0.0f. 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.
2048
- ImGuiSliderFlags_AlwaysClamp =
1 << 11 # Disable keyboard modifiers altering tweak speed. Useful if you want to alter tweak speed yourself based on your own logic.
1536
- ImGuiSliderFlags_InvalidMask_ =
ImGuiSliderFlags_ClampOnInput | ImGuiSliderFlags_ClampZeroRange
1879048207
- ImGuiSortDirection_None =
ImGuiSortDirection A sorting direction
0
- ImGuiSortDirection_Ascending =
0
1
- ImGuiSortDirection_Descending =
1 # Ascending = 0->9, A->Z etc.
2
- ImGuiStyleVar_Alpha =
ImGuiStyleVar_ 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.
-
0
- ImGuiStyleVar_DisabledAlpha =
0 # float Alpha
1
- ImGuiStyleVar_WindowPadding =
1 # float DisabledAlpha
2
- ImGuiStyleVar_WindowRounding =
2 # ImVec2 WindowPadding
3
- ImGuiStyleVar_WindowBorderSize =
3 # float WindowRounding
4
- ImGuiStyleVar_WindowMinSize =
4 # float WindowBorderSize
5
- ImGuiStyleVar_WindowTitleAlign =
5 # ImVec2 WindowMinSize
6
- ImGuiStyleVar_ChildRounding =
6 # ImVec2 WindowTitleAlign
7
- ImGuiStyleVar_ChildBorderSize =
7 # float ChildRounding
8
- ImGuiStyleVar_PopupRounding =
8 # float ChildBorderSize
9
- ImGuiStyleVar_PopupBorderSize =
9 # float PopupRounding
10
- ImGuiStyleVar_FramePadding =
10 # float PopupBorderSize
11
- ImGuiStyleVar_FrameRounding =
11 # ImVec2 FramePadding
12
- ImGuiStyleVar_FrameBorderSize =
12 # float FrameRounding
13
- ImGuiStyleVar_ItemSpacing =
13 # float FrameBorderSize
14
- ImGuiStyleVar_ItemInnerSpacing =
14 # ImVec2 ItemSpacing
15
- ImGuiStyleVar_IndentSpacing =
15 # ImVec2 ItemInnerSpacing
16
- ImGuiStyleVar_CellPadding =
16 # float IndentSpacing
17
- ImGuiStyleVar_ScrollbarSize =
17 # ImVec2 CellPadding
18
- ImGuiStyleVar_ScrollbarRounding =
18 # float ScrollbarSize
19
- ImGuiStyleVar_GrabMinSize =
19 # float ScrollbarRounding
20
- ImGuiStyleVar_GrabRounding =
20 # float GrabMinSize
21
- ImGuiStyleVar_TabRounding =
21 # float GrabRounding
22
- ImGuiStyleVar_TabBorderSize =
22 # float TabRounding
23
- ImGuiStyleVar_TabBarBorderSize =
23 # float TabBorderSize
24
- ImGuiStyleVar_TabBarOverlineSize =
24 # float TabBarBorderSize
25
- ImGuiStyleVar_TableAngledHeadersAngle =
25 # float TabBarOverlineSize
26
- ImGuiStyleVar_TableAngledHeadersTextAlign =
26 # float TableAngledHeadersAngle
27
- ImGuiStyleVar_ButtonTextAlign =
27 # ImVec2 TableAngledHeadersTextAlign
28
- ImGuiStyleVar_SelectableTextAlign =
28 # ImVec2 ButtonTextAlign
29
- ImGuiStyleVar_SeparatorTextBorderSize =
29 # ImVec2 SelectableTextAlign
30
- ImGuiStyleVar_SeparatorTextAlign =
30 # float SeparatorTextBorderSize
31
- ImGuiStyleVar_SeparatorTextPadding =
31 # ImVec2 SeparatorTextAlign
32
- ImGuiStyleVar_DockingSeparatorSize =
32 # ImVec2 SeparatorTextPadding
33
- ImGuiStyleVar_COUNT =
33 # float DockingSeparatorSize
34
- ImGuiTabBarFlags_None =
ImGuiTabBarFlags_ Flags for ImGui::BeginTabBar()
0
- ImGuiTabBarFlags_Reorderable =
0
1
- ImGuiTabBarFlags_AutoSelectNewTabs =
1 << 0 # Allow manually dragging tabs to re-order them + New tabs are appended at the end of list
2
- ImGuiTabBarFlags_TabListPopupButton =
1 << 1 # Automatically select new tabs when they appear
4
- ImGuiTabBarFlags_NoCloseWithMiddleMouseButton =
1 << 2 # Disable buttons to open the tab list popup
8
- ImGuiTabBarFlags_NoTabListScrollingButtons =
1 << 3 # 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.
16
- ImGuiTabBarFlags_NoTooltip =
1 << 4 # Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll)
32
- ImGuiTabBarFlags_DrawSelectedOverline =
1 << 5 # Disable tooltips when hovering a tab
64
- ImGuiTabBarFlags_FittingPolicyResizeDown =
1 << 6 # Draw selected overline markers over selected tab
128
- ImGuiTabBarFlags_FittingPolicyScroll =
1 << 7 # Resize tabs when they don’t fit
256
- ImGuiTabBarFlags_FittingPolicyMask_ =
1 << 8 # Add scroll buttons when tabs don’t fit
384
- ImGuiTabBarFlags_FittingPolicyDefault_ =
ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll
128
- ImGuiTabItemFlags_None =
ImGuiTabItemFlags_ Flags for ImGui::BeginTabItem()
0
- ImGuiTabItemFlags_UnsavedDocument =
0
1
- ImGuiTabItemFlags_SetSelected =
1 << 0 # Display a dot next to the title + set ImGuiTabItemFlags_NoAssumedClosure.
2
- ImGuiTabItemFlags_NoCloseWithMiddleMouseButton =
1 << 1 # Trigger flag to programmatically make the tab selected when calling BeginTabItem()
4
- ImGuiTabItemFlags_NoPushId =
1 << 2 # 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.
8
- ImGuiTabItemFlags_NoTooltip =
1 << 3 # Don’t call PushID()/PopID() on BeginTabItem()/EndTabItem()
16
- ImGuiTabItemFlags_NoReorder =
1 << 4 # Disable tooltip for the given tab
32
- ImGuiTabItemFlags_Leading =
1 << 5 # Disable reordering this tab or having another tab cross over this tab
64
- ImGuiTabItemFlags_Trailing =
1 << 6 # Enforce the tab position to the left of the tab bar (after the tab list popup button)
128
- ImGuiTabItemFlags_NoAssumedClosure =
1 << 7 # Enforce the tab position to the right of the tab bar (before the scrolling buttons)
256
- ImGuiTableBgTarget_None =
ImGuiTableBgTarget_ 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.
0
- ImGuiTableBgTarget_RowBg0 =
0
1
- ImGuiTableBgTarget_RowBg1 =
1 # Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used)
2
- ImGuiTableBgTarget_CellBg =
2 # Set row background color 1 (generally used for selection marking)
3
- ImGuiTableColumnFlags_None =
ImGuiTableColumnFlags_ Flags for ImGui::TableSetupColumn()
0
- ImGuiTableColumnFlags_Disabled =
0
1
- ImGuiTableColumnFlags_DefaultHide =
1 << 0 # Overriding/master disable flag: hide column, won’t show in context menu (unlike calling TableSetColumnEnabled() which manipulates the user accessible state)
2
- ImGuiTableColumnFlags_DefaultSort =
1 << 1 # Default as a hidden/disabled column.
4
- ImGuiTableColumnFlags_WidthStretch =
1 << 2 # Default as a sorting column.
8
- ImGuiTableColumnFlags_WidthFixed =
1 << 3 # Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp).
16
- ImGuiTableColumnFlags_NoResize =
1 << 4 # Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable).
32
- ImGuiTableColumnFlags_NoReorder =
1 << 5 # Disable manual resizing.
64
- ImGuiTableColumnFlags_NoHide =
1 << 6 # Disable manual reordering this column, this will also prevent other columns from crossing over this column.
128
- ImGuiTableColumnFlags_NoClip =
1 << 7 # Disable ability to hide/disable this column.
256
- ImGuiTableColumnFlags_NoSort =
1 << 8 # Disable clipping for this column (all NoClip columns will render in a same draw command).
512
- ImGuiTableColumnFlags_NoSortAscending =
1 << 9 # Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table).
1024
- ImGuiTableColumnFlags_NoSortDescending =
1 << 10 # Disable ability to sort in the ascending direction.
2048
- ImGuiTableColumnFlags_NoHeaderLabel =
1 << 11 # Disable ability to sort in the descending direction.
4096
- ImGuiTableColumnFlags_NoHeaderWidth =
1 << 12 # 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.
8192
- ImGuiTableColumnFlags_PreferSortAscending =
1 << 13 # Disable header text width contribution to automatic column width.
16384
- ImGuiTableColumnFlags_PreferSortDescending =
1 << 14 # Make the initial sort direction Ascending when first sorting on this column (default).
32768
- ImGuiTableColumnFlags_IndentEnable =
1 << 15 # Make the initial sort direction Descending when first sorting on this column.
65536
- ImGuiTableColumnFlags_IndentDisable =
1 << 16 # Use current Indent value when entering cell (default for column 0).
131072
- ImGuiTableColumnFlags_AngledHeader =
1 << 17 # Ignore current Indent value when entering cell (default for columns > 0). Indentation changes within the cell will still be honored.
262144
- ImGuiTableColumnFlags_IsEnabled =
1 << 18 # TableHeadersRow() will submit an angled header row for this column. Note this will add an extra row.
16777216
- ImGuiTableColumnFlags_IsVisible =
1 << 24 # Status: is enabled == not hidden by user/api (referred to as “Hide” in _DefaultHide and _NoHide) flags.
33554432
- ImGuiTableColumnFlags_IsSorted =
1 << 25 # Status: is visible == is enabled AND not clipped by scrolling.
67108864
- ImGuiTableColumnFlags_IsHovered =
1 << 26 # Status: is currently part of the sort specs
134217728
- ImGuiTableColumnFlags_WidthMask_ =
1 << 27 # Status: is hovered by mouse
24
- ImGuiTableColumnFlags_IndentMask_ =
ImGuiTableColumnFlags_WidthStretch | ImGuiTableColumnFlags_WidthFixed
196608
- ImGuiTableColumnFlags_StatusMask_ =
ImGuiTableColumnFlags_IndentEnable | ImGuiTableColumnFlags_IndentDisable
251658240
- ImGuiTableColumnFlags_NoDirectResize_ =
ImGuiTableColumnFlags_IsEnabled | ImGuiTableColumnFlags_IsVisible | ImGuiTableColumnFlags_IsSorted | ImGuiTableColumnFlags_IsHovered
1073741824
- ImGuiTableFlags_None =
ImGuiTableFlags_ 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.
-
0
- ImGuiTableFlags_Resizable =
0
1
- ImGuiTableFlags_Reorderable =
1 << 0 # Enable resizing columns.
2
- ImGuiTableFlags_Hideable =
1 << 1 # Enable reordering columns in header row (need calling TableSetupColumn() + TableHeadersRow() to display headers)
4
- ImGuiTableFlags_Sortable =
1 << 2 # Enable hiding/disabling columns in context menu.
8
- ImGuiTableFlags_NoSavedSettings =
1 << 3 # Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate.
16
- ImGuiTableFlags_ContextMenuInBody =
1 << 4 # Disable persisting columns order, width and sort settings in the .ini file.
32
- ImGuiTableFlags_RowBg =
1 << 5 # Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow().
64
- ImGuiTableFlags_BordersInnerH =
1 << 6 # Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually)
128
- ImGuiTableFlags_BordersOuterH =
1 << 7 # Draw horizontal borders between rows.
256
- ImGuiTableFlags_BordersInnerV =
1 << 8 # Draw horizontal borders at the top and bottom.
512
- ImGuiTableFlags_BordersOuterV =
1 << 9 # Draw vertical borders between columns.
1024
- ImGuiTableFlags_BordersH =
1 << 10 # Draw vertical borders on the left and right sides.
384
- ImGuiTableFlags_BordersV =
ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH # Draw horizontal borders.
1536
- ImGuiTableFlags_BordersInner =
ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterV # Draw vertical borders.
640
- ImGuiTableFlags_BordersOuter =
ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersInnerH # Draw inner borders.
1280
- ImGuiTableFlags_Borders =
ImGuiTableFlags_BordersOuterV | ImGuiTableFlags_BordersOuterH # Draw outer borders.
1920
- ImGuiTableFlags_NoBordersInBody =
ImGuiTableFlags_BordersInner | ImGuiTableFlags_BordersOuter # Draw all borders.
2048
- ImGuiTableFlags_NoBordersInBodyUntilResize =
1 << 11 # [ALPHA] Disable vertical borders in columns Body (borders will always appear in Headers). -> May move to style
4096
- ImGuiTableFlags_SizingFixedFit =
1 << 12 # [ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appear in Headers). -> May move to style
8192
- ImGuiTableFlags_SizingFixedSame =
1 << 13 # Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width.
16384
- ImGuiTableFlags_SizingStretchProp =
2 << 13 # Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible.
24576
- ImGuiTableFlags_SizingStretchSame =
3 << 13 # Columns default to _WidthStretch with default weights proportional to each columns contents widths.
32768
- ImGuiTableFlags_NoHostExtendX =
4 << 13 # Columns default to _WidthStretch with default weights all equal, unless overridden by TableSetupColumn().
65536
- ImGuiTableFlags_NoHostExtendY =
1 << 16 # 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.
131072
- ImGuiTableFlags_NoKeepColumnsVisible =
1 << 17 # 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.
262144
- ImGuiTableFlags_PreciseWidths =
1 << 18 # Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable.
524288
- ImGuiTableFlags_NoClip =
1 << 19 # 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.
1048576
- ImGuiTableFlags_PadOuterX =
1 << 20 # Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze().
2097152
- ImGuiTableFlags_NoPadOuterX =
1 << 21 # Default if BordersOuterV is on. Enable outermost padding. Generally desirable if you have headers.
4194304
- ImGuiTableFlags_NoPadInnerX =
1 << 22 # Default if BordersOuterV is off. Disable outermost padding.
8388608
- ImGuiTableFlags_ScrollX =
1 << 23 # Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off).
16777216
- ImGuiTableFlags_ScrollY =
1 << 24 # 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.
33554432
- ImGuiTableFlags_SortMulti =
1 << 25 # Enable vertical scrolling. Require ‘outer_size’ parameter of BeginTable() to specify the container size.
67108864
- ImGuiTableFlags_SortTristate =
1 << 26 # Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1).
134217728
- ImGuiTableFlags_HighlightHoveredColumn =
1 << 27 # Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0).
268435456
- ImGuiTableFlags_SizingMask_ =
1 << 28 # Highlight column headers when hovered (may evolve into a fuller highlight)
57344
- ImGuiTableRowFlags_None =
ImGuiTableRowFlags_ Flags for ImGui::TableNextRow()
0
- ImGuiTableRowFlags_Headers =
0
1
- ImGuiTreeNodeFlags_None =
ImGuiTreeNodeFlags_ Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*()
0
- ImGuiTreeNodeFlags_Selected =
0
1
- ImGuiTreeNodeFlags_Framed =
1 << 0 # Draw as selected
2
- ImGuiTreeNodeFlags_AllowOverlap =
1 << 1 # Draw frame with background (e.g. for CollapsingHeader)
4
- ImGuiTreeNodeFlags_NoTreePushOnOpen =
1 << 2 # Hit testing to allow subsequent widgets to overlap this one
8
- ImGuiTreeNodeFlags_NoAutoOpenOnLog =
1 << 3 # Don’t do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack
16
- ImGuiTreeNodeFlags_DefaultOpen =
1 << 4 # Don’t automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes)
32
- ImGuiTreeNodeFlags_OpenOnDoubleClick =
1 << 5 # Default node to be open
64
- ImGuiTreeNodeFlags_OpenOnArrow =
1 << 6 # Open on double-click instead of simple click (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined.
128
- ImGuiTreeNodeFlags_Leaf =
1 << 7 # Open when clicking on the arrow part (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined.
256
- ImGuiTreeNodeFlags_Bullet =
1 << 8 # No collapsing, no arrow (use as a convenience for leaf nodes).
512
- ImGuiTreeNodeFlags_FramePadding =
1 << 9 # Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don’t set the _Leaf flag!
1024
- ImGuiTreeNodeFlags_SpanAvailWidth =
1 << 10 # Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding() before the node.
2048
- ImGuiTreeNodeFlags_SpanFullWidth =
1 << 11 # 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.
4096
- ImGuiTreeNodeFlags_SpanTextWidth =
1 << 12 # Extend hit box to the left-most and right-most edges (cover the indent area).
8192
- ImGuiTreeNodeFlags_SpanAllColumns =
1 << 13 # Narrow hit box + narrow hovering highlight, will only cover the label text.
16384
32768
- ImGuiTreeNodeFlags_CollapsingHeader =
1 << 15 # (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop)
26
- ImGuiViewportFlags_None =
ImGuiViewportFlags_ Flags stored in ImGuiViewport::Flags, giving indications to the platform backends.
0
- ImGuiViewportFlags_IsPlatformWindow =
0
1
- ImGuiViewportFlags_IsPlatformMonitor =
1 << 0 # Represent a Platform Window
2
- ImGuiViewportFlags_OwnedByApp =
1 << 1 # Represent a Platform Monitor (unused yet)
4
- ImGuiViewportFlags_NoDecoration =
1 << 2 # Platform Window: Is created/managed by the user application? (rather than our backend)
8
- ImGuiViewportFlags_NoTaskBarIcon =
1 << 3 # 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)
16
- ImGuiViewportFlags_NoFocusOnAppearing =
1 << 4 # Platform Window: Disable platform task bar icon (generally set on popups/tooltips, or all windows if ImGuiConfigFlags_ViewportsNoTaskBarIcon is set)
32
- ImGuiViewportFlags_NoFocusOnClick =
1 << 5 # Platform Window: Don’t take focus when created.
64
- ImGuiViewportFlags_NoInputs =
1 << 6 # Platform Window: Don’t take focus when clicked on.
128
- ImGuiViewportFlags_NoRendererClear =
1 << 7 # Platform Window: Make mouse pass through so we can drag this window while peaking behind it.
256
- ImGuiViewportFlags_NoAutoMerge =
1 << 8 # Platform Window: Renderer doesn’t need to clear the framebuffer ahead (because we will fill it entirely).
512
- ImGuiViewportFlags_TopMost =
1 << 9 # 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!).
1024
- ImGuiViewportFlags_CanHostOtherWindows =
1 << 10 # Platform Window: Display on top (for tooltips only).
2048
- ImGuiViewportFlags_IsMinimized =
1 << 11 # 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”.
4096
- ImGuiViewportFlags_IsFocused =
1 << 12 # 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.
8192
- ImGuiWindowFlags_None =
ImGuiWindowFlags_ Flags for ImGui::Begin() (Those are per-window flags. There are shared flags in ImGuiIO: io.ConfigWindowsResizeFromEdges and io.ConfigWindowsMoveFromTitleBarOnly)
0
- ImGuiWindowFlags_NoTitleBar =
0
1
- ImGuiWindowFlags_NoResize =
1 << 0 # Disable title-bar
2
- ImGuiWindowFlags_NoMove =
1 << 1 # Disable user resizing with the lower-right grip
4
- ImGuiWindowFlags_NoScrollbar =
1 << 2 # Disable user moving the window
8
- ImGuiWindowFlags_NoScrollWithMouse =
1 << 3 # Disable scrollbars (window can still scroll with mouse or programmatically)
16
- ImGuiWindowFlags_NoCollapse =
1 << 4 # Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set.
32
- ImGuiWindowFlags_AlwaysAutoResize =
1 << 5 # Disable user collapsing window by double-clicking on it. Also referred to as Window Menu Button (e.g. within a docking node).
64
- ImGuiWindowFlags_NoBackground =
1 << 6 # Resize every window to its content every frame
128
- ImGuiWindowFlags_NoSavedSettings =
1 << 7 # Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0f).
256
- ImGuiWindowFlags_NoMouseInputs =
1 << 8 # Never load/save settings in .ini file
512
- ImGuiWindowFlags_MenuBar =
1 << 9 # Disable catching mouse, hovering test with pass through.
1024
- ImGuiWindowFlags_HorizontalScrollbar =
1 << 10 # Has a menu-bar
2048
- ImGuiWindowFlags_NoFocusOnAppearing =
1 << 11 # 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.
4096
- ImGuiWindowFlags_NoBringToFrontOnFocus =
1 << 12 # Disable taking focus when transitioning from hidden to visible state
8192
- ImGuiWindowFlags_AlwaysVerticalScrollbar =
1 << 13 # Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus)
16384
- ImGuiWindowFlags_AlwaysHorizontalScrollbar =
1 << 14 # Always show vertical scrollbar (even if ContentSize.y < Size.y)
32768
65536
131072
- ImGuiWindowFlags_UnsavedDocument =
1 << 17 # No focusing toward this window with keyboard/gamepad navigation (e.g. skipped by CTRL+TAB)
262144
- ImGuiWindowFlags_NoDocking =
1 << 18 # 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.
524288
196608
- ImGuiWindowFlags_NoDecoration =
ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus
43
- ImGuiWindowFlags_NoInputs =
ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse
197120
- ImGuiWindowFlags_ChildWindow =
ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus
16777216
- ImGuiWindowFlags_Tooltip =
1 << 24 # Don’t use! For internal use by BeginChild()
33554432
- ImGuiWindowFlags_Popup =
1 << 25 # Don’t use! For internal use by BeginTooltip()
67108864
- ImGuiWindowFlags_Modal =
1 << 26 # Don’t use! For internal use by BeginPopup()
134217728
- ImGuiWindowFlags_ChildMenu =
1 << 27 # Don’t use! For internal use by BeginPopupModal()
268435456
- ImGuiWindowFlags_DockNodeHost =
1 << 28 # Don’t use! For internal use by BeginMenu()
536870912
- ImNodesStyleColor_ColCanvasLines =
ImNodes::StyleColor
0
- ImNodesStyleColor_ColNodeBg =
1
- ImNodesStyleColor_ColNodeActiveBg =
2
- ImNodesStyleColor_ColNodeBorder =
3
- ImNodesStyleColor_ColConnection =
4
- ImNodesStyleColor_ColConnectionActive =
5
- ImNodesStyleColor_ColSelectBg =
6
- ImNodesStyleColor_ColSelectBorder =
7
- ImNodesStyleColor_ColMax =
8
- ImNodesStyleVar_GridSpacing =
ImNodesStyleVar
0
- ImNodesStyleVar_CurveThickness =
float
1
- ImNodesStyleVar_CurveStrength =
float
2
- ImNodesStyleVar_SlotRadius =
float
3
- ImNodesStyleVar_NodeRounding =
float
4
- ImNodesStyleVar_NodeSpacing =
float
5
- ImNodesStyleVar_ItemSpacing =
ImVec2
6
- ImNodesStyleVar_COUNT =
ImVec2
7
- ImNodesStyleCol_GridLines =
ImNodesStyleCol
0
- ImNodesStyleCol_NodeBodyBg =
1
- ImNodesStyleCol_NodeBodyBgHovered =
2
- ImNodesStyleCol_NodeBodyBgActive =
3
- ImNodesStyleCol_NodeBorder =
4
- ImNodesStyleCol_Connection =
5
- ImNodesStyleCol_ConnectionActive =
6
- ImNodesStyleCol_SelectBg =
7
- ImNodesStyleCol_SelectBorder =
8
- ImNodesStyleCol_NodeTitleBarBg =
9
- ImNodesStyleCol_NodeTitleBarBgHovered =
10
- ImNodesStyleCol_NodeTitleBarBgActive =
11
- ImNodesStyleCol_COUNT =
12