packages feed

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

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

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

module DearImGui.Raw.Enums.ImGuiSliderFlags
  ( ImGuiSliderFlags
  , pattern AlwaysClamp
  , pattern ClampOnInput
  , pattern ClampZeroRange
  , pattern ColorMarkers
  , pattern InvalidMask_
  , pattern Logarithmic
  , pattern NoInput
  , pattern NoRoundToFormat
  , pattern NoSpeedTweaks
  , pattern None
  , pattern WrapAround
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions.h"

-- typedefs

-- | Flags for DragFloat(), DragInt(), SliderFloat(), SliderInt() etc.
-- We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them.
-- (Those are per-item flags. There is shared behavior flag too: ImGuiIO: io.ConfigDragClickToInputText)
type ImGuiSliderFlags = CInt

-- enums

pattern None :: ImGuiSliderFlags
pattern None = #{const ImGuiSliderFlags_None}

-- | Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.
pattern Logarithmic :: ImGuiSliderFlags
pattern Logarithmic = #{const ImGuiSliderFlags_Logarithmic}

-- | Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits).
pattern NoRoundToFormat :: ImGuiSliderFlags
pattern NoRoundToFormat = #{const ImGuiSliderFlags_NoRoundToFormat}

-- | Disable Ctrl+Click or Enter key allowing to input text directly into the widget.
pattern NoInput :: ImGuiSliderFlags
pattern NoInput = #{const ImGuiSliderFlags_NoInput}

-- | Enable wrapping around from max to min and from min to max. Only supported by DragXXX() functions for now.
pattern WrapAround :: ImGuiSliderFlags
pattern WrapAround = #{const ImGuiSliderFlags_WrapAround}

-- | Clamp value to min/max bounds when input manually with Ctrl+Click. By default Ctrl+Click allows going out of bounds.
pattern ClampOnInput :: ImGuiSliderFlags
pattern ClampOnInput = #{const ImGuiSliderFlags_ClampOnInput}

-- | Clamp even if min==max==0.0f. Otherwise due to legacy reason DragXXX functions don't clamp with those values. When your clamping limits are dynamic you almost always want to use it.
pattern ClampZeroRange :: ImGuiSliderFlags
pattern ClampZeroRange = #{const ImGuiSliderFlags_ClampZeroRange}

-- | Disable keyboard modifiers altering tweak speed. Useful if you want to alter tweak speed yourself based on your own logic.
pattern NoSpeedTweaks :: ImGuiSliderFlags
pattern NoSpeedTweaks = #{const ImGuiSliderFlags_NoSpeedTweaks}

-- | DragScalarN(), SliderScalarN(): Draw R/G/B/A color markers on each component.
pattern ColorMarkers :: ImGuiSliderFlags
pattern ColorMarkers = #{const ImGuiSliderFlags_ColorMarkers}

pattern AlwaysClamp :: ImGuiSliderFlags
pattern AlwaysClamp = #{const ImGuiSliderFlags_AlwaysClamp}

-- | ImGuiSliderFlags_LiveEditOnInput  = 1 << 13,      // Shortcut to enable LiveEdit for this field.
-- ImGuiSliderFlags_NoLiveEditOnInput= 1 << 14,      // Shortcut to disable LiveEdit for this field.
-- [Internal] We treat using those bits as being potentially a 'float power' argument from legacy API (obsoleted 2020-08) that has got miscast to this enum, and will trigger an assert if needed.
pattern InvalidMask_ :: ImGuiSliderFlags
pattern InvalidMask_ = #{const ImGuiSliderFlags_InvalidMask_}