dear-imgui-raw-1.0.0: src/DearImGui/Raw/Enums/ImGuiPopupFlags.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Enums.ImGuiPopupFlags
( ImGuiPopupFlags
, pattern AnyPopup
, pattern AnyPopupId
, pattern AnyPopupLevel
, pattern InvalidMask_
, pattern MouseButtonLeft
, pattern MouseButtonMask_
, pattern MouseButtonMiddle
, pattern MouseButtonRight
, pattern MouseButtonShift_
, pattern NoOpenOverExistingPopup
, pattern NoOpenOverItems
, pattern NoReopen
, pattern None
) where
import Foreign.C.Types
#include "dcimgui_nodefaultargfunctions.h"
-- typedefs
-- | Flags for OpenPopup*(), BeginPopupContext*(), IsPopupOpen() functions.
-- - IMPORTANT: If you ever used the left mouse button with BeginPopupContextXXX() helpers before 1.92.6: Read "API BREAKING CHANGES" 2026/01/07 (1.92.6) entry in imgui.cpp or GitHub topic #9157.
-- - Multiple buttons currently cannot be combined/or-ed in those functions (we could allow it later).
type ImGuiPopupFlags = CInt
-- enums
pattern None :: ImGuiPopupFlags
pattern None = #{const ImGuiPopupFlags_None}
-- | For BeginPopupContext*(): open on Left Mouse release. Only one button allowed!
pattern MouseButtonLeft :: ImGuiPopupFlags
pattern MouseButtonLeft = #{const ImGuiPopupFlags_MouseButtonLeft}
-- | For BeginPopupContext*(): open on Right Mouse release. Only one button allowed! (default)
pattern MouseButtonRight :: ImGuiPopupFlags
pattern MouseButtonRight = #{const ImGuiPopupFlags_MouseButtonRight}
-- | For BeginPopupContext*(): open on Middle Mouse release. Only one button allowed!
pattern MouseButtonMiddle :: ImGuiPopupFlags
pattern MouseButtonMiddle = #{const ImGuiPopupFlags_MouseButtonMiddle}
-- | For OpenPopup*(), BeginPopupContext*(): don't reopen same popup if already open (won't reposition, won't reinitialize navigation)
pattern NoReopen :: ImGuiPopupFlags
pattern NoReopen = #{const ImGuiPopupFlags_NoReopen}
-- | ImGuiPopupFlags_NoReopenAlwaysNavInit = 1 << 6, // For OpenPopup*(), BeginPopupContext*(): focus and initialize navigation even when not reopening.
-- For OpenPopup*(), BeginPopupContext*(): don't open if there's already a popup at the same level of the popup stack
pattern NoOpenOverExistingPopup :: ImGuiPopupFlags
pattern NoOpenOverExistingPopup = #{const ImGuiPopupFlags_NoOpenOverExistingPopup}
-- | For BeginPopupContextWindow(): don't return true when hovering items, only when hovering empty space
pattern NoOpenOverItems :: ImGuiPopupFlags
pattern NoOpenOverItems = #{const ImGuiPopupFlags_NoOpenOverItems}
-- | For IsPopupOpen(): ignore the ImGuiID parameter and test for any popup.
pattern AnyPopupId :: ImGuiPopupFlags
pattern AnyPopupId = #{const ImGuiPopupFlags_AnyPopupId}
-- | For IsPopupOpen(): search/test at any level of the popup stack (default test in the current level)
pattern AnyPopupLevel :: ImGuiPopupFlags
pattern AnyPopupLevel = #{const ImGuiPopupFlags_AnyPopupLevel}
pattern AnyPopup :: ImGuiPopupFlags
pattern AnyPopup = #{const ImGuiPopupFlags_AnyPopup}
-- | [Internal]
pattern MouseButtonShift_ :: ImGuiPopupFlags
pattern MouseButtonShift_ = #{const ImGuiPopupFlags_MouseButtonShift_}
-- | [Internal]
pattern MouseButtonMask_ :: ImGuiPopupFlags
pattern MouseButtonMask_ = #{const ImGuiPopupFlags_MouseButtonMask_}
-- | [Internal] Reserve legacy bits 0-1 to detect incorrectly passing 1 or 2 to the function.
pattern InvalidMask_ :: ImGuiPopupFlags
pattern InvalidMask_ = #{const ImGuiPopupFlags_InvalidMask_}