packages feed

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

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

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

module DearImGui.Raw.Internal.Enums.ImGuiNavMoveFlags
  ( ImGuiNavMoveFlags
  , pattern Activate
  , pattern AllowCurrentNavId
  , pattern AlsoScoreVisibleSet
  , pattern DebugNoResult
  , pattern FocusApi
  , pattern Forwarded
  , pattern IsPageMove
  , pattern IsTabbing
  , pattern LoopX
  , pattern LoopY
  , pattern NoClearActiveId
  , pattern NoSelect
  , pattern NoSetNavCursorVisible
  , pattern None
  , pattern ScrollToEdgeY
  , pattern WrapMask_
  , pattern WrapX
  , pattern WrapY
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions_internal.h"

-- typedefs

-- | -> enum ImGuiNavMoveFlags_       // Flags: for navigation requests
type ImGuiNavMoveFlags = CInt

-- enums

pattern None :: ImGuiNavMoveFlags
pattern None = #{const ImGuiNavMoveFlags_None}

-- | On failed request, restart from opposite side
pattern LoopX :: ImGuiNavMoveFlags
pattern LoopX = #{const ImGuiNavMoveFlags_LoopX}

pattern LoopY :: ImGuiNavMoveFlags
pattern LoopY = #{const ImGuiNavMoveFlags_LoopY}

-- | On failed request, request from opposite side one line down (when NavDir==right) or one line up (when NavDir==left)
pattern WrapX :: ImGuiNavMoveFlags
pattern WrapX = #{const ImGuiNavMoveFlags_WrapX}

-- | This is not super useful but provided for completeness
pattern WrapY :: ImGuiNavMoveFlags
pattern WrapY = #{const ImGuiNavMoveFlags_WrapY}

pattern WrapMask_ :: ImGuiNavMoveFlags
pattern WrapMask_ = #{const ImGuiNavMoveFlags_WrapMask_}

-- | Allow scoring and considering the current NavId as a move target candidate. This is used when the move source is offset (e.g. pressing PageDown actually needs to send a Up move request, if we are pressing PageDown from the bottom-most item we need to stay in place)
pattern AllowCurrentNavId :: ImGuiNavMoveFlags
pattern AllowCurrentNavId = #{const ImGuiNavMoveFlags_AllowCurrentNavId}

-- | Store alternate result in NavMoveResultLocalVisible that only comprise elements that are already fully visible (used by PageUp/PageDown)
pattern AlsoScoreVisibleSet :: ImGuiNavMoveFlags
pattern AlsoScoreVisibleSet = #{const ImGuiNavMoveFlags_AlsoScoreVisibleSet}

-- | Force scrolling to min/max (used by Home/End) // FIXME-NAV: Aim to remove or reword as ImGuiScrollFlags
pattern ScrollToEdgeY :: ImGuiNavMoveFlags
pattern ScrollToEdgeY = #{const ImGuiNavMoveFlags_ScrollToEdgeY}

pattern Forwarded :: ImGuiNavMoveFlags
pattern Forwarded = #{const ImGuiNavMoveFlags_Forwarded}

-- | Dummy scoring for debug purpose, don't apply result
pattern DebugNoResult :: ImGuiNavMoveFlags
pattern DebugNoResult = #{const ImGuiNavMoveFlags_DebugNoResult}

-- | Requests from focus API can land/focus/activate items even if they are marked with _NoTabStop (see NavProcessItemForTabbingRequest() for details)
pattern FocusApi :: ImGuiNavMoveFlags
pattern FocusApi = #{const ImGuiNavMoveFlags_FocusApi}

-- | == Focus + Activate if item is Inputable + DontChangeNavHighlight
pattern IsTabbing :: ImGuiNavMoveFlags
pattern IsTabbing = #{const ImGuiNavMoveFlags_IsTabbing}

-- | Identify a PageDown/PageUp request.
pattern IsPageMove :: ImGuiNavMoveFlags
pattern IsPageMove = #{const ImGuiNavMoveFlags_IsPageMove}

-- | Activate/select target item.
pattern Activate :: ImGuiNavMoveFlags
pattern Activate = #{const ImGuiNavMoveFlags_Activate}

-- | Don't trigger selection by not setting g.NavJustMovedTo
pattern NoSelect :: ImGuiNavMoveFlags
pattern NoSelect = #{const ImGuiNavMoveFlags_NoSelect}

-- | Do not alter the nav cursor visible state
pattern NoSetNavCursorVisible :: ImGuiNavMoveFlags
pattern NoSetNavCursorVisible = #{const ImGuiNavMoveFlags_NoSetNavCursorVisible}

-- | (Experimental) Do not clear active id when applying move result
pattern NoClearActiveId :: ImGuiNavMoveFlags
pattern NoClearActiveId = #{const ImGuiNavMoveFlags_NoClearActiveId}