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, ImGuiSelectionBasicStorage, ImGuiSelectionExternalStorage, ImGuiSelectionRequest, ImGuiSizeCallbackData, ImGuiStorage, ImGuiStoragePair, ImGuiStyle, ImGuiTableColumnSortSpecs, ImGuiTableSortSpecs, ImGuiTextBuffer, ImGuiTextFilter, ImGuiTextRange, ImGuiViewport, 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 ImGuiConfigFlags_NavEnableSetMousePos is set).

8
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
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
ImGuiChildFlags_NavFlattened =

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

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

39 #..horizontal overline, when tab-bar is unfocused & tab is selected

40
ImGuiCol_PlotLinesHovered =

40

41
ImGuiCol_PlotHistogram =

41

42
ImGuiCol_PlotHistogramHovered =

42

43
ImGuiCol_TableHeaderBg =

43

44
ImGuiCol_TableBorderStrong =

44 # Table header background

45
ImGuiCol_TableBorderLight =

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

46
ImGuiCol_TableRowBg =

46 # Table inner borders (prefer using Alpha=1.0 here)

47
ImGuiCol_TableRowBgAlt =

47 # Table row background (even rows)

48
49
ImGuiCol_TextSelectedBg =

49 # Hyperlink color

50
ImGuiCol_DragDropTarget =

50

51
ImGuiCol_NavHighlight =

51 # Rectangle highlighting a drop target

52
ImGuiCol_NavWindowingHighlight =

52 # Gamepad/keyboard: current highlighted item

53
ImGuiCol_NavWindowingDimBg =

53 # Highlight window when using CTRL+TAB

54
ImGuiCol_ModalWindowDimBg =

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

55
ImGuiCol_COUNT =

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

56
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
ImGuiConfigFlags_NavEnableKeyboard =

0

1
ImGuiConfigFlags_NavEnableGamepad =

1 << 0 # Master keyboard navigation enable flag. Enable full Tabbing + directional arrows + space/enter to activate.

2
ImGuiConfigFlags_NavEnableSetMousePos =

1 << 1 # Master gamepad navigation enable flag. Backend also needs to set ImGuiBackendFlags_HasGamepad.

4
ImGuiConfigFlags_NavNoCaptureKeyboard =

1 << 2 # Instruct navigation to move the mouse cursor. May be useful on TV/console systems where moving a virtual mouse is awkward. Will update io.MousePos and set io.WantSetMousePos=true. If enabled you MUST honor io.WantSetMousePos requests in your backend, otherwise ImGui will react as if the mouse is jumping around back and forth.

8
ImGuiConfigFlags_NoMouse =

1 << 3 # Instruct navigation to not set the io.WantCaptureKeyboard flag when io.NavActive is set.

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

1 << 6 # Instruct dear imgui to disable keyboard inputs and interactions. This is done by ignoring keyboard events and clearing existing states.

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

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

3
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_AllowWhenBlockedByPopup =

1 << 3 # IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (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
ImGuiHoveredFlags_NoNavOverride =

1 << 10 # IsItemHovered() only: Return true even if the item is disabled

2048
ImGuiHoveredFlags_AllowWhenOverlapped =

1 << 11 # IsItemHovered() only: Disable using gamepad/keyboard 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
ImGuiHoveredFlags_NoSharedDelay =

1 << 16 # 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).

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 looking at the IsItemDeactivatedAfterEdit() function.

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

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

1 << 17 # Callback on pressing TAB (for completion handling)

262144
ImGuiInputTextFlags_CallbackAlways =

1 << 18 # Callback on pressing Up/Down arrows (for history handling)

524288
ImGuiInputTextFlags_CallbackCharFilter =

1 << 19 # Callback on each iteration. User code may query cursor position, modify text buffer.

1048576
ImGuiInputTextFlags_CallbackResize =

1 << 20 # Callback on character inputs to replace or discard them. Modify ‘EventChar’ to replace or discard, or return 1 in callback to discard.

2097152
ImGuiInputTextFlags_CallbackEdit =

1 << 21 # 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)

4194304
ImGuiItemFlags_None =

ImGuiItemFlags_ Flags for ImGui::PushItemFlag() (Those are shared by all items)

0
ImGuiItemFlags_NoTabStop =

0 # (Default)

1
ImGuiItemFlags_NoNav =

1 << 0 # false // Disable keyboard tabbing. This is a “lighter” version of ImGuiItemFlags_NoNav.

2
ImGuiItemFlags_NoNavDefaultFocus =

1 << 1 # false // Disable any form of focusing (keyboard/gamepad directional navigation and SetKeyboardFocusHere() calls).

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
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 as legacy native/opaque key values (< 1.87). Since >= 1.89 we increased typing (went from int to enum), some legacy code may need a cast to ImGuiKey. Read details about the 1.87 and 1.89 transition : 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_Tab =

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

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

0xF000 # 4-bits

512
ImGuiKey_NamedKey_END =

512

666
ImGuiKey_NamedKey_COUNT =

ImGuiKey_COUNT

154
ImGuiKey_KeysData_SIZE =

ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN

154
ImGuiKey_KeysData_OFFSET =

ImGuiKey_NamedKey_COUNT # Size of KeysData[]: hold legacy 0..512 keycodes + named keys

512
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
ImGuiMultiSelectFlags_NavWrapX =

1 << 14 # Apply selection on mouse release when clicking an unselected item. Allow dragging an unselected item without altering selection.

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 are shared flags in ImGuiIO: io.ConfigDragClickToInputText)

0
ImGuiSliderFlags_AlwaysClamp =

0

16
ImGuiSliderFlags_Logarithmic =

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

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

1 << 8 # Enable wrapping around from max to min and from min to max (only supported by DragXXX() functions for now.

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

32 # ImVec2 SeparatorTextPadding

33
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
ImGuiTreeNodeFlags_NavLeftJumpsBackHere =

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

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

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

65536
ImGuiWindowFlags_NoNavFocus =

1 << 16 # No gamepad/keyboard navigation within the window

131072
ImGuiWindowFlags_UnsavedDocument =

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

262144
ImGuiWindowFlags_NoNav =

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.

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