Class ImGuiButtonFlags

java.lang.Object
imgui.internal.flag.ImGuiButtonFlags

public final class ImGuiButtonFlags extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    vertically align button to match text baseline - ButtonEx() only // FIXME: Should be removed and handled by SmallButton(), not possible currently because of DC.CursorPosPrevLine
    static final int
    Hit testing will allow subsequent widgets to overlap this one.
    static final int
    InvisibleButton(): do not disable navigation/tabbing.
    static final int
    allow interactions even if a child window is overlapping
    static final int
    React on left mouse button (default)
    static final int
    [Internal]
    static final int
    React on center mouse button
    static final int
    React on right mouse button
    static final int
    [EXPERIMENTAL: Not very well specced].
    static final int
    don't set ActiveId while holding the mouse (ImGuiButtonFlags_PressedOnClick only)
    static final int
    don't report as hovered when nav focus is on this item
    static final int
    disable mouse interaction if a key modifier is held
    static final int
    don't override navigation focus when activated (FIXME: this is essentially used every time an item uses ImGuiItemFlags_NoNav, but because legacy specs don't requires LastItemData to be set ButtonBehavior(), we can't poll g.LastItemData.ItemFlags)
    static final int
    Definition: 0
    static final int
    don't set key/input owner on the initial click (note: mouse buttons are keys! often, the key in question will be ImGuiKey_MouseLeft!)
    static final int
    don't test key/input owner when polling the key (note: mouse buttons are keys! often, the key in question will be ImGuiKey_MouseLeft!)
    static final int
    return true on click (mouse down event)
    static final int
    [Default] return true on click + release on same item<-- this is what the majority of Button are using
    static final int
    return true on click + release even if the release event is not done while hovering the item
    static final int
    Definition: ImGuiButtonFlags_PressedOnClickRelease
    static final int
    return true on double-click (default requires click+release)
    static final int
    return true when held into while we are drag and dropping another item (used by e.g.
    static final int
    Definition: ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold
    static final int
    return true on release (default requires click+release).
  • Method Summary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • None

      public static final int None
      Definition: 0
      See Also:
    • MouseButtonLeft

      public static final int MouseButtonLeft
      React on left mouse button (default)

      Definition: 1 << 0

      See Also:
    • MouseButtonRight

      public static final int MouseButtonRight
      React on right mouse button

      Definition: 1 << 1

      See Also:
    • MouseButtonMiddle

      public static final int MouseButtonMiddle
      React on center mouse button

      Definition: 1 << 2

      See Also:
    • MouseButtonMask_

      public static final int MouseButtonMask_
      [Internal]

      Definition: ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle

      See Also:
    • EnableNav

      public static final int EnableNav
      InvisibleButton(): do not disable navigation/tabbing. Otherwise disabled by default.

      Definition: 1 << 3

      See Also:
    • AllowOverlap

      public static final int AllowOverlap
      Hit testing will allow subsequent widgets to overlap this one. Require previous frame HoveredId to match before being usable. Shortcut to calling SetNextItemAllowOverlap().

      Definition: 1 << 12

      See Also:
    • PressedOnClick

      public static final int PressedOnClick
      return true on click (mouse down event)

      Definition: 1 << 4

      See Also:
    • PressedOnClickRelease

      public static final int PressedOnClickRelease
      [Default] return true on click + release on same item<-- this is what the majority of Button are using

      Definition: 1 << 5

      See Also:
    • PressedOnClickReleaseAnywhere

      public static final int PressedOnClickReleaseAnywhere
      return true on click + release even if the release event is not done while hovering the item

      Definition: 1 << 6

      See Also:
    • PressedOnRelease

      public static final int PressedOnRelease
      return true on release (default requires click+release). Prior to 2026/03/20 this implied ImGuiButtonFlags_NoHoldingActiveId but they are separate now.

      Definition: 1 << 7

      See Also:
    • PressedOnDoubleClick

      public static final int PressedOnDoubleClick
      return true on double-click (default requires click+release)

      Definition: 1 << 8

      See Also:
    • PressedOnDragDropHold

      public static final int PressedOnDragDropHold
      return true when held into while we are drag and dropping another item (used by e.g. tree nodes, collapsing headers)

      Definition: 1 << 9

      See Also:
    • FlattenChildren

      public static final int FlattenChildren
      allow interactions even if a child window is overlapping

      Definition: 1 << 11

      See Also:
    • AlignTextBaseLine

      public static final int AlignTextBaseLine
      vertically align button to match text baseline - ButtonEx() only // FIXME: Should be removed and handled by SmallButton(), not possible currently because of DC.CursorPosPrevLine

      Definition: 1 << 15

      See Also:
    • NoKeyModsAllowed

      public static final int NoKeyModsAllowed
      disable mouse interaction if a key modifier is held

      Definition: 1 << 16

      See Also:
    • NoHoldingActiveId

      public static final int NoHoldingActiveId
      don't set ActiveId while holding the mouse (ImGuiButtonFlags_PressedOnClick only)

      Definition: 1 << 17

      See Also:
    • NoNavFocus

      public static final int NoNavFocus
      don't override navigation focus when activated (FIXME: this is essentially used every time an item uses ImGuiItemFlags_NoNav, but because legacy specs don't requires LastItemData to be set ButtonBehavior(), we can't poll g.LastItemData.ItemFlags)

      Definition: 1 << 18

      See Also:
    • NoHoveredOnFocus

      public static final int NoHoveredOnFocus
      don't report as hovered when nav focus is on this item

      Definition: 1 << 19

      See Also:
    • NoSetKeyOwner

      public static final int NoSetKeyOwner
      don't set key/input owner on the initial click (note: mouse buttons are keys! often, the key in question will be ImGuiKey_MouseLeft!)

      Definition: 1 << 20

      See Also:
    • NoTestKeyOwner

      public static final int NoTestKeyOwner
      don't test key/input owner when polling the key (note: mouse buttons are keys! often, the key in question will be ImGuiKey_MouseLeft!)

      Definition: 1 << 21

      See Also:
    • NoFocus

      public static final int NoFocus
      [EXPERIMENTAL: Not very well specced]. Don't focus parent window when clicking.

      Definition: 1 << 22

      See Also:
    • PressedOnMask_

      public static final int PressedOnMask_
      Definition: ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold
      See Also:
    • PressedOnDefault_

      public static final int PressedOnDefault_
      Definition: ImGuiButtonFlags_PressedOnClickRelease
      See Also: