packages feed

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

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

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

module DearImGui.Raw.Enums.ImGuiTabBarFlags
  ( ImGuiTabBarFlags
  , pattern AutoSelectNewTabs
  , pattern DrawSelectedOverline
  , pattern FittingPolicyDefault_
  , pattern FittingPolicyMask_
  , pattern FittingPolicyMixed
  , pattern FittingPolicyScroll
  , pattern FittingPolicyShrink
  , pattern NoCloseWithMiddleMouseButton
  , pattern NoTabListScrollingButtons
  , pattern NoTooltip
  , pattern None
  , pattern Reorderable
  , pattern TabListPopupButton
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions.h"

-- typedefs

-- | Flags for ImGui::BeginTabBar()
type ImGuiTabBarFlags = CInt

-- enums

pattern None :: ImGuiTabBarFlags
pattern None = #{const ImGuiTabBarFlags_None}

-- | Allow manually dragging tabs to re-order them + New tabs are appended at the end of list
pattern Reorderable :: ImGuiTabBarFlags
pattern Reorderable = #{const ImGuiTabBarFlags_Reorderable}

-- | Automatically select new tabs when they appear
pattern AutoSelectNewTabs :: ImGuiTabBarFlags
pattern AutoSelectNewTabs = #{const ImGuiTabBarFlags_AutoSelectNewTabs}

-- | Disable buttons to open the tab list popup
pattern TabListPopupButton :: ImGuiTabBarFlags
pattern TabListPopupButton = #{const ImGuiTabBarFlags_TabListPopupButton}

-- | Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You may handle this behavior manually on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false.
pattern NoCloseWithMiddleMouseButton :: ImGuiTabBarFlags
pattern NoCloseWithMiddleMouseButton = #{const ImGuiTabBarFlags_NoCloseWithMiddleMouseButton}

-- | Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll)
pattern NoTabListScrollingButtons :: ImGuiTabBarFlags
pattern NoTabListScrollingButtons = #{const ImGuiTabBarFlags_NoTabListScrollingButtons}

-- | Disable tooltips when hovering a tab
pattern NoTooltip :: ImGuiTabBarFlags
pattern NoTooltip = #{const ImGuiTabBarFlags_NoTooltip}

-- | Draw selected overline markers over selected tab
pattern DrawSelectedOverline :: ImGuiTabBarFlags
pattern DrawSelectedOverline = #{const ImGuiTabBarFlags_DrawSelectedOverline}

-- | Fitting/Resize policy
-- Shrink down tabs when they don't fit, until width is style.TabMinWidthShrink, then enable scrolling. Setting TabMinWidthShrink to FLT_MAX makes this behave like ImGuiTabBarFlags_FittingPolicyScroll.
pattern FittingPolicyMixed :: ImGuiTabBarFlags
pattern FittingPolicyMixed = #{const ImGuiTabBarFlags_FittingPolicyMixed}

-- | Shrink down tabs when they don't fit
pattern FittingPolicyShrink :: ImGuiTabBarFlags
pattern FittingPolicyShrink = #{const ImGuiTabBarFlags_FittingPolicyShrink}

-- | Enable scrolling buttons when tabs don't fit
pattern FittingPolicyScroll :: ImGuiTabBarFlags
pattern FittingPolicyScroll = #{const ImGuiTabBarFlags_FittingPolicyScroll}

pattern FittingPolicyMask_ :: ImGuiTabBarFlags
pattern FittingPolicyMask_ = #{const ImGuiTabBarFlags_FittingPolicyMask_}

pattern FittingPolicyDefault_ :: ImGuiTabBarFlags
pattern FittingPolicyDefault_ = #{const ImGuiTabBarFlags_FittingPolicyDefault_}