packages feed

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

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

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

module DearImGui.Raw.Enums.ImGuiInputFlags
  ( ImGuiInputFlags
  , pattern None
  , pattern Repeat
  , pattern RouteActive
  , pattern RouteAlways
  , pattern RouteFocused
  , pattern RouteFromRootWindow
  , pattern RouteGlobal
  , pattern RouteOverActive
  , pattern RouteOverFocused
  , pattern RouteUnlessBgFocused
  , pattern Tooltip
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions.h"

-- typedefs

-- | Flags for Shortcut(), SetNextItemShortcut(),
-- (and for upcoming extended versions of IsKeyPressed(), IsMouseClicked(), Shortcut(), SetKeyOwner(), SetItemKeyOwner() that are still in imgui_internal.h)
-- Don't mistake with ImGuiInputTextFlags! (which is for ImGui::InputText() function)
type ImGuiInputFlags = CInt

-- enums

pattern None :: ImGuiInputFlags
pattern None = #{const ImGuiInputFlags_None}

-- | Enable repeat. Return true on successive repeats. Default for legacy IsKeyPressed(). NOT Default for legacy IsMouseClicked(). MUST BE == 1.
pattern Repeat :: ImGuiInputFlags
pattern Repeat = #{const ImGuiInputFlags_Repeat}

-- | Flags for Shortcut(), SetNextItemShortcut()
-- - Routing policies: RouteGlobal+OverActive >> RouteActive or RouteFocused (if owner is active item) >> RouteGlobal+OverFocused >> RouteFocused (if in focused window stack) >> RouteGlobal.
-- - Default policy is RouteFocused. Can select only 1 policy among all available.
-- Route to active item only.
pattern RouteActive :: ImGuiInputFlags
pattern RouteActive = #{const ImGuiInputFlags_RouteActive}

-- | Route to windows in the focus stack (DEFAULT). Deep-most focused window takes inputs. Active item takes inputs over deep-most focused window.
pattern RouteFocused :: ImGuiInputFlags
pattern RouteFocused = #{const ImGuiInputFlags_RouteFocused}

-- | Global route (unless a focused window or active item registered the route).
pattern RouteGlobal :: ImGuiInputFlags
pattern RouteGlobal = #{const ImGuiInputFlags_RouteGlobal}

-- | Do not register route, poll keys directly.
pattern RouteAlways :: ImGuiInputFlags
pattern RouteAlways = #{const ImGuiInputFlags_RouteAlways}

-- | - Routing options
-- Option: global route: higher priority than focused route (unless active item in focused route).
pattern RouteOverFocused :: ImGuiInputFlags
pattern RouteOverFocused = #{const ImGuiInputFlags_RouteOverFocused}

-- | Option: global route: higher priority than active item. Unlikely you need to use that: will interfere with every active items, e.g. Ctrl+A registered by InputText will be overridden by this. May not be fully honored as user/internal code is likely to always assume they can access keys when active.
pattern RouteOverActive :: ImGuiInputFlags
pattern RouteOverActive = #{const ImGuiInputFlags_RouteOverActive}

-- | Option: global route: will not be applied if underlying background/void is focused (== no Dear ImGui windows are focused). Useful for overlay applications.
pattern RouteUnlessBgFocused :: ImGuiInputFlags
pattern RouteUnlessBgFocused = #{const ImGuiInputFlags_RouteUnlessBgFocused}

-- | Option: route evaluated from the point of view of root window rather than current window.
pattern RouteFromRootWindow :: ImGuiInputFlags
pattern RouteFromRootWindow = #{const ImGuiInputFlags_RouteFromRootWindow}

-- | Flags for SetNextItemShortcut()
-- Automatically display a tooltip when hovering item [BETA] Unsure of right api (opt-in/opt-out)
pattern Tooltip :: ImGuiInputFlags
pattern Tooltip = #{const ImGuiInputFlags_Tooltip}