packages feed

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

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

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

module DearImGui.Raw.Enums.ImGuiDockNodeFlags
  ( ImGuiDockNodeFlags
  , pattern AutoHideTabBar
  , pattern KeepAliveOnly
  , pattern NoDockingOverCentralNode
  , pattern NoDockingSplit
  , pattern NoResize
  , pattern NoUndocking
  , pattern None
  , pattern PassthruCentralNode
  ) where

import Foreign.C.Types

#include "dcimgui_nodefaultargfunctions.h"

-- typedefs

-- | Flags for ImGui::DockSpace(), shared/inherited by child nodes.
-- (Some flags can be applied to individual nodes directly)
-- FIXME-DOCK: Also see ImGuiDockNodeFlagsPrivate_ which may involve using the WIP and internal DockBuilder api.
type ImGuiDockNodeFlags = CInt

-- enums

pattern None :: ImGuiDockNodeFlags
pattern None = #{const ImGuiDockNodeFlags_None}

-- |       // Don't display the dockspace node but keep it alive. Windows docked into this dockspace node won't be undocked.
pattern KeepAliveOnly :: ImGuiDockNodeFlags
pattern KeepAliveOnly = #{const ImGuiDockNodeFlags_KeepAliveOnly}

-- | ImGuiDockNodeFlags_NoCentralNode              = 1 << 1,   //       // Disable Central Node (the node which can stay empty)
--       // Disable docking over the Central Node, which will be always kept empty.
pattern NoDockingOverCentralNode :: ImGuiDockNodeFlags
pattern NoDockingOverCentralNode = #{const ImGuiDockNodeFlags_NoDockingOverCentralNode}

-- |       // Enable passthru dockspace: 1) DockSpace() will render a ImGuiCol_WindowBg background covering everything excepted the Central Node when empty. Meaning the host window should probably use SetNextWindowBgAlpha(0.0f) prior to Begin() when using this. 2) When Central Node is empty: let inputs pass-through + won't display a DockingEmptyBg background. See demo for details.
pattern PassthruCentralNode :: ImGuiDockNodeFlags
pattern PassthruCentralNode = #{const ImGuiDockNodeFlags_PassthruCentralNode}

-- |       // Disable other windows/nodes from splitting this node.
pattern NoDockingSplit :: ImGuiDockNodeFlags
pattern NoDockingSplit = #{const ImGuiDockNodeFlags_NoDockingSplit}

-- | Saved // Disable resizing node using the splitter/separators. Useful with programmatically setup dockspaces.
pattern NoResize :: ImGuiDockNodeFlags
pattern NoResize = #{const ImGuiDockNodeFlags_NoResize}

-- |       // Tab bar will automatically hide when there is a single window in the dock node.
pattern AutoHideTabBar :: ImGuiDockNodeFlags
pattern AutoHideTabBar = #{const ImGuiDockNodeFlags_AutoHideTabBar}

-- |       // Disable undocking this node.
pattern NoUndocking :: ImGuiDockNodeFlags
pattern NoUndocking = #{const ImGuiDockNodeFlags_NoUndocking}