packages feed

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

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

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

module DearImGui.Raw.Internal.Enums.ImGuiScrollFlags
  ( ImGuiScrollFlags
  , pattern AlwaysCenterX
  , pattern AlwaysCenterY
  , pattern KeepVisibleCenterX
  , pattern KeepVisibleCenterY
  , pattern KeepVisibleEdgeX
  , pattern KeepVisibleEdgeY
  , pattern MaskX_
  , pattern MaskY_
  , pattern NoScrollParent
  , pattern None
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions_internal.h"

-- typedefs

-- | Early work-in-progress API for ScrollToItem()
-- FIXME: Missing flags to request making both edges visible when possible.
type ImGuiScrollFlags = CInt

-- enums

pattern None :: ImGuiScrollFlags
pattern None = #{const ImGuiScrollFlags_None}

-- | If item is not visible: scroll as little as possible on X axis to bring item back into view [default for X axis]
pattern KeepVisibleEdgeX :: ImGuiScrollFlags
pattern KeepVisibleEdgeX = #{const ImGuiScrollFlags_KeepVisibleEdgeX}

-- | If item is not visible: scroll as little as possible on Y axis to bring item back into view [default for Y axis for windows that are already visible]
pattern KeepVisibleEdgeY :: ImGuiScrollFlags
pattern KeepVisibleEdgeY = #{const ImGuiScrollFlags_KeepVisibleEdgeY}

-- | If item is not visible: scroll to make the item centered on X axis [rarely used]
pattern KeepVisibleCenterX :: ImGuiScrollFlags
pattern KeepVisibleCenterX = #{const ImGuiScrollFlags_KeepVisibleCenterX}

-- | If item is not visible: scroll to make the item centered on Y axis
pattern KeepVisibleCenterY :: ImGuiScrollFlags
pattern KeepVisibleCenterY = #{const ImGuiScrollFlags_KeepVisibleCenterY}

-- | Always center the result item on X axis [rarely used]
pattern AlwaysCenterX :: ImGuiScrollFlags
pattern AlwaysCenterX = #{const ImGuiScrollFlags_AlwaysCenterX}

-- | Always center the result item on Y axis [default for Y axis for appearing window)
pattern AlwaysCenterY :: ImGuiScrollFlags
pattern AlwaysCenterY = #{const ImGuiScrollFlags_AlwaysCenterY}

-- | Disable forwarding scrolling to parent window if required to keep item/rect visible (only scroll window the function was applied to).
pattern NoScrollParent :: ImGuiScrollFlags
pattern NoScrollParent = #{const ImGuiScrollFlags_NoScrollParent}

pattern MaskX_ :: ImGuiScrollFlags
pattern MaskX_ = #{const ImGuiScrollFlags_MaskX_}

pattern MaskY_ :: ImGuiScrollFlags
pattern MaskY_ = #{const ImGuiScrollFlags_MaskY_}