packages feed

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

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

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

module DearImGui.Raw.Internal.Enums.ImGuiInputFlags
  ( pattern CondActive
  , pattern CondDefault_
  , pattern CondHovered
  , pattern CondMask_
  , pattern LockThisFrame
  , pattern LockUntilRelease
  , pattern RepeatMask_
  , pattern RepeatRateDefault
  , pattern RepeatRateMask_
  , pattern RepeatRateNavMove
  , pattern RepeatRateNavTweak
  , pattern RepeatUntilKeyModsChange
  , pattern RepeatUntilKeyModsChangeFromNone
  , pattern RepeatUntilMask_
  , pattern RepeatUntilOtherKeyPress
  , pattern RepeatUntilRelease
  , pattern RouteOptionsMask_
  , pattern RouteTypeMask_
  , pattern SupportedByIsKeyPressed
  , pattern SupportedByIsMouseClicked
  , pattern SupportedBySetItemKeyOwner
  , pattern SupportedBySetKeyOwner
  , pattern SupportedBySetNextItemShortcut
  , pattern SupportedByShortcut
  ) where

import DearImGui.Raw.Enums.ImGuiInputFlags (ImGuiInputFlags)

#include "dcimgui_nodefaultargfunctions_internal.h"

-- enums

-- | Flags for IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(), Shortcut()
-- - Repeat mode: Repeat rate selection
-- Repeat rate: Regular (default)
pattern RepeatRateDefault :: ImGuiInputFlags
pattern RepeatRateDefault = #{const ImGuiInputFlags_RepeatRateDefault}

-- | Repeat rate: Fast
pattern RepeatRateNavMove :: ImGuiInputFlags
pattern RepeatRateNavMove = #{const ImGuiInputFlags_RepeatRateNavMove}

-- | Repeat rate: Faster
pattern RepeatRateNavTweak :: ImGuiInputFlags
pattern RepeatRateNavTweak = #{const ImGuiInputFlags_RepeatRateNavTweak}

-- | - Repeat mode: Specify when repeating key pressed can be interrupted.
-- - In theory ImGuiInputFlags_RepeatUntilOtherKeyPress may be a desirable default, but it would break too many behavior so everything is opt-in.
-- Stop repeating when released (default for all functions except Shortcut). This only exists to allow overriding Shortcut() default behavior.
pattern RepeatUntilRelease :: ImGuiInputFlags
pattern RepeatUntilRelease = #{const ImGuiInputFlags_RepeatUntilRelease}

-- | Stop repeating when released OR if keyboard mods are changed (default for Shortcut)
pattern RepeatUntilKeyModsChange :: ImGuiInputFlags
pattern RepeatUntilKeyModsChange = #{const ImGuiInputFlags_RepeatUntilKeyModsChange}

-- | Stop repeating when released OR if keyboard mods are leaving the None state. Allows going from Mod+Key to Key by releasing Mod.
pattern RepeatUntilKeyModsChangeFromNone :: ImGuiInputFlags
pattern RepeatUntilKeyModsChangeFromNone = #{const ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone}

-- | Stop repeating when released OR if any other keyboard key is pressed during the repeat
pattern RepeatUntilOtherKeyPress :: ImGuiInputFlags
pattern RepeatUntilOtherKeyPress = #{const ImGuiInputFlags_RepeatUntilOtherKeyPress}

-- | Flags for SetKeyOwner(), SetItemKeyOwner()
-- - Locking key away from non-input aware code. Locking is useful to make input-owner-aware code steal keys from non-input-owner-aware code. If all code is input-owner-aware locking would never be necessary.
-- Further accesses to key data will require EXPLICIT owner ID (ImGuiKeyOwner_Any/0 will NOT accepted for polling). Cleared at end of frame.
pattern LockThisFrame :: ImGuiInputFlags
pattern LockThisFrame = #{const ImGuiInputFlags_LockThisFrame}

-- | Further accesses to key data will require EXPLICIT owner ID (ImGuiKeyOwner_Any/0 will NOT accepted for polling). Cleared when the key is released or at end of each frame if key is released.
pattern LockUntilRelease :: ImGuiInputFlags
pattern LockUntilRelease = #{const ImGuiInputFlags_LockUntilRelease}

-- | - Condition for SetItemKeyOwner()
-- Only set if item is hovered (default to both)
pattern CondHovered :: ImGuiInputFlags
pattern CondHovered = #{const ImGuiInputFlags_CondHovered}

-- | Only set if item is active (default to both)
pattern CondActive :: ImGuiInputFlags
pattern CondActive = #{const ImGuiInputFlags_CondActive}

pattern CondDefault_ :: ImGuiInputFlags
pattern CondDefault_ = #{const ImGuiInputFlags_CondDefault_}

-- | [Internal] Mask of which function support which flags
pattern RepeatRateMask_ :: ImGuiInputFlags
pattern RepeatRateMask_ = #{const ImGuiInputFlags_RepeatRateMask_}

pattern RepeatUntilMask_ :: ImGuiInputFlags
pattern RepeatUntilMask_ = #{const ImGuiInputFlags_RepeatUntilMask_}

pattern RepeatMask_ :: ImGuiInputFlags
pattern RepeatMask_ = #{const ImGuiInputFlags_RepeatMask_}

pattern CondMask_ :: ImGuiInputFlags
pattern CondMask_ = #{const ImGuiInputFlags_CondMask_}

pattern RouteTypeMask_ :: ImGuiInputFlags
pattern RouteTypeMask_ = #{const ImGuiInputFlags_RouteTypeMask_}

pattern RouteOptionsMask_ :: ImGuiInputFlags
pattern RouteOptionsMask_ = #{const ImGuiInputFlags_RouteOptionsMask_}

pattern SupportedByIsKeyPressed :: ImGuiInputFlags
pattern SupportedByIsKeyPressed = #{const ImGuiInputFlags_SupportedByIsKeyPressed}

pattern SupportedByIsMouseClicked :: ImGuiInputFlags
pattern SupportedByIsMouseClicked = #{const ImGuiInputFlags_SupportedByIsMouseClicked}

pattern SupportedByShortcut :: ImGuiInputFlags
pattern SupportedByShortcut = #{const ImGuiInputFlags_SupportedByShortcut}

pattern SupportedBySetNextItemShortcut :: ImGuiInputFlags
pattern SupportedBySetNextItemShortcut = #{const ImGuiInputFlags_SupportedBySetNextItemShortcut}

pattern SupportedBySetKeyOwner :: ImGuiInputFlags
pattern SupportedBySetKeyOwner = #{const ImGuiInputFlags_SupportedBySetKeyOwner}

pattern SupportedBySetItemKeyOwner :: ImGuiInputFlags
pattern SupportedBySetItemKeyOwner = #{const ImGuiInputFlags_SupportedBySetItemKeyOwner}