packages feed

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

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

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

module DearImGui.Raw.Enums.ImGuiDragDropFlags
  ( ImGuiDragDropFlags
  , pattern AcceptBeforeDelivery
  , pattern AcceptDrawAsHovered
  , pattern AcceptNoDrawDefaultRect
  , pattern AcceptNoPreviewTooltip
  , pattern AcceptPeekOnly
  , pattern None
  , pattern PayloadAutoExpire
  , pattern PayloadNoCrossContext
  , pattern PayloadNoCrossProcess
  , pattern SourceAllowNullID
  , pattern SourceExtern
  , pattern SourceNoDisableHover
  , pattern SourceNoHoldToOpenOthers
  , pattern SourceNoPreviewTooltip
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions.h"

-- typedefs

-- | Flags for ImGui::BeginDragDropSource(), ImGui::AcceptDragDropPayload()
type ImGuiDragDropFlags = CInt

-- enums

pattern None :: ImGuiDragDropFlags
pattern None = #{const ImGuiDragDropFlags_None}

-- | BeginDragDropSource() flags
-- Disable preview tooltip. By default, a successful call to BeginDragDropSource opens a tooltip so you can display a preview or description of the source contents. This flag disables this behavior.
pattern SourceNoPreviewTooltip :: ImGuiDragDropFlags
pattern SourceNoPreviewTooltip = #{const ImGuiDragDropFlags_SourceNoPreviewTooltip}

-- | By default, when dragging we clear data so that IsItemHovered() will return false, to avoid subsequent user code submitting tooltips. This flag disables this behavior so you can still call IsItemHovered() on the source item.
pattern SourceNoDisableHover :: ImGuiDragDropFlags
pattern SourceNoDisableHover = #{const ImGuiDragDropFlags_SourceNoDisableHover}

-- | Disable the behavior that allows to open tree nodes and collapsing header by holding over them while dragging a source item.
pattern SourceNoHoldToOpenOthers :: ImGuiDragDropFlags
pattern SourceNoHoldToOpenOthers = #{const ImGuiDragDropFlags_SourceNoHoldToOpenOthers}

-- | Allow items such as Text(), Image() that have no unique identifier to be used as drag source, by manufacturing a temporary identifier based on their window-relative position. This is extremely unusual within the dear imgui ecosystem and so we made it explicit.
pattern SourceAllowNullID :: ImGuiDragDropFlags
pattern SourceAllowNullID = #{const ImGuiDragDropFlags_SourceAllowNullID}

-- | External source (from outside of dear imgui), won't attempt to read current item/window info. Will always return true. Only one Extern source can be active simultaneously.
pattern SourceExtern :: ImGuiDragDropFlags
pattern SourceExtern = #{const ImGuiDragDropFlags_SourceExtern}

-- | Automatically expire the payload if the source cease to be submitted (otherwise payloads are persisting while being dragged)
pattern PayloadAutoExpire :: ImGuiDragDropFlags
pattern PayloadAutoExpire = #{const ImGuiDragDropFlags_PayloadAutoExpire}

-- | Hint to specify that the payload may not be copied outside current dear imgui context.
pattern PayloadNoCrossContext :: ImGuiDragDropFlags
pattern PayloadNoCrossContext = #{const ImGuiDragDropFlags_PayloadNoCrossContext}

-- | Hint to specify that the payload may not be copied outside current process.
pattern PayloadNoCrossProcess :: ImGuiDragDropFlags
pattern PayloadNoCrossProcess = #{const ImGuiDragDropFlags_PayloadNoCrossProcess}

-- | AcceptDragDropPayload() flags
-- AcceptDragDropPayload() will returns true even before the mouse button is released. You can then call IsDelivery() to test if the payload needs to be delivered.
pattern AcceptBeforeDelivery :: ImGuiDragDropFlags
pattern AcceptBeforeDelivery = #{const ImGuiDragDropFlags_AcceptBeforeDelivery}

-- | Do not draw the default highlight rectangle when hovering over target.
pattern AcceptNoDrawDefaultRect :: ImGuiDragDropFlags
pattern AcceptNoDrawDefaultRect = #{const ImGuiDragDropFlags_AcceptNoDrawDefaultRect}

-- | Request hiding the BeginDragDropSource tooltip from the BeginDragDropTarget site.
pattern AcceptNoPreviewTooltip :: ImGuiDragDropFlags
pattern AcceptNoPreviewTooltip = #{const ImGuiDragDropFlags_AcceptNoPreviewTooltip}

-- | Accepting item will render as if hovered. Useful for e.g. a Button() used as a drop target.
pattern AcceptDrawAsHovered :: ImGuiDragDropFlags
pattern AcceptDrawAsHovered = #{const ImGuiDragDropFlags_AcceptDrawAsHovered}

-- | For peeking ahead and inspecting the payload before delivery.
pattern AcceptPeekOnly :: ImGuiDragDropFlags
pattern AcceptPeekOnly = #{const ImGuiDragDropFlags_AcceptPeekOnly}