packages feed

dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/Enums/ImGuiItemStatusFlags.hsc

{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}

-- This file was generated by dear-bindings-ffi. Do not edit by hand.

module DearImGui.Raw.Internal.Enums.ImGuiItemStatusFlags
  ( ImGuiItemStatusFlags
  , pattern Deactivated
  , pattern Edited
  , pattern EditedInternal
  , pattern HasClipRect
  , pattern HasDeactivated
  , pattern HasDisplayRect
  , pattern HasShortcut
  , pattern HoveredRect
  , pattern HoveredWindow
  , pattern None
  , pattern ToggledOpen
  , pattern ToggledSelection
  , pattern Visible
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions_internal.h"

-- typedefs

-- | Status flags for an already submitted item
-- - output: stored in g.LastItemData.StatusFlags
type ImGuiItemStatusFlags = CInt

-- enums

pattern None :: ImGuiItemStatusFlags
pattern None = #{const ImGuiItemStatusFlags_None}

-- | Mouse position is within item rectangle (does NOT mean that the window is in correct z-order and can be hovered!, this is only one part of the most-common IsItemHovered test)
pattern HoveredRect :: ImGuiItemStatusFlags
pattern HoveredRect = #{const ImGuiItemStatusFlags_HoveredRect}

-- | g.LastItemData.DisplayRect is valid
pattern HasDisplayRect :: ImGuiItemStatusFlags
pattern HasDisplayRect = #{const ImGuiItemStatusFlags_HasDisplayRect}

-- | Value exposed by item was edited in the current frame (should match the bool return value of most widgets)
pattern Edited :: ImGuiItemStatusFlags
pattern Edited = #{const ImGuiItemStatusFlags_Edited}

-- | Set when Selectable(), TreeNode() reports toggling a selection. We can't report "Selected", only state changes, in order to easily handle clipping with less issues.
pattern ToggledSelection :: ImGuiItemStatusFlags
pattern ToggledSelection = #{const ImGuiItemStatusFlags_ToggledSelection}

-- | Set when TreeNode() reports toggling their open state.
pattern ToggledOpen :: ImGuiItemStatusFlags
pattern ToggledOpen = #{const ImGuiItemStatusFlags_ToggledOpen}

-- | Set if the widget/group is able to provide data for the ImGuiItemStatusFlags_Deactivated flag.
pattern HasDeactivated :: ImGuiItemStatusFlags
pattern HasDeactivated = #{const ImGuiItemStatusFlags_HasDeactivated}

-- | Only valid if ImGuiItemStatusFlags_HasDeactivated is set.
pattern Deactivated :: ImGuiItemStatusFlags
pattern Deactivated = #{const ImGuiItemStatusFlags_Deactivated}

-- | Override the HoveredWindow test to allow cross-window hover testing.
pattern HoveredWindow :: ImGuiItemStatusFlags
pattern HoveredWindow = #{const ImGuiItemStatusFlags_HoveredWindow}

-- | [WIP] Set when item is overlapping the current clipping rectangle (Used internally. Please don't use yet: API/system will change as we refactor Itemadd()).
pattern Visible :: ImGuiItemStatusFlags
pattern Visible = #{const ImGuiItemStatusFlags_Visible}

-- | g.LastItemData.ClipRect is valid.
pattern HasClipRect :: ImGuiItemStatusFlags
pattern HasClipRect = #{const ImGuiItemStatusFlags_HasClipRect}

-- | g.LastItemData.Shortcut valid. Set by SetNextItemShortcut() -> ItemAdd().
pattern HasShortcut :: ImGuiItemStatusFlags
pattern HasShortcut = #{const ImGuiItemStatusFlags_HasShortcut}

-- | ImGuiItemStatusFlags_FocusedByTabbing = 1 << 8,   // Removed IN 1.90.1 (Dec 2023). The trigger is part of g.NavActivateId. See commit 54c1bdeceb.
-- Similar to ImGuiItemStatusFlags_Edited but bypassing ImGuiItemFlags_NoMarkEdited.
pattern EditedInternal :: ImGuiItemStatusFlags
pattern EditedInternal = #{const ImGuiItemStatusFlags_EditedInternal}