dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiMultiSelectTempData.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiMultiSelectTempData
( ImGuiMultiSelectTempData (..)
, clear
, clearIO
, destroy
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID, ImGuiKeyChord, ImS8)
import DearImGui.Raw.Enums.ImGuiMultiSelectFlags (ImGuiMultiSelectFlags)
import DearImGui.Raw.ImGuiMultiSelectIO (ImGuiMultiSelectIO)
import DearImGui.Raw.ImVec2 (ImVec2)
import DearImGui.Raw.Internal.ImGuiMultiSelectState (ImGuiMultiSelectState)
import Foreign.C.Types
import Foreign.Marshal.Alloc (alloca)
import Foreign.Ptr (Ptr, plusPtr)
import Foreign.Storable (Storable (..))
import GHC.Records (HasField (..))
import Prelude hiding (init)
#include "dcimgui_nodefaultargfunctions_internal.h"
-- structs (opaque)
data {-# CTYPE "dcimgui_nodefaultargfunctions_internal.h" "ImGuiMultiSelectTempData" #-} ImGuiMultiSelectTempData = ImGuiMultiSelectTempData
{ iO :: ImGuiMultiSelectIO
, storage :: Ptr ImGuiMultiSelectState
, focusScopeId :: ImGuiID
, flags :: ImGuiMultiSelectFlags
, scopeRectMin :: ImVec2
, backupCursorMaxPos :: ImVec2
, boxSelectId :: ImGuiID
, keyMods :: ImGuiKeyChord
, loopRequestSetAll :: ImS8
, isEndIO :: CBool
, isFocused :: CBool
, isKeyboardSetRange :: CBool
, navIdPassedBy :: CBool
, rangeSrcPassedBy :: CBool
, rangeDstPassedBy :: CBool
, isSoleOrUnknownSelectionSize :: CBool
}
deriving (Eq, Show)
instance Storable ImGuiMultiSelectTempData where
sizeOf _ = #{size ImGuiMultiSelectTempData}
alignment _ = #{alignment ImGuiMultiSelectTempData}
peek p = ImGuiMultiSelectTempData <$> #{peek ImGuiMultiSelectTempData, IO} p <*> #{peek ImGuiMultiSelectTempData, Storage} p <*> #{peek ImGuiMultiSelectTempData, FocusScopeId} p <*> #{peek ImGuiMultiSelectTempData, Flags} p <*> #{peek ImGuiMultiSelectTempData, ScopeRectMin} p <*> #{peek ImGuiMultiSelectTempData, BackupCursorMaxPos} p <*> #{peek ImGuiMultiSelectTempData, BoxSelectId} p <*> #{peek ImGuiMultiSelectTempData, KeyMods} p <*> #{peek ImGuiMultiSelectTempData, LoopRequestSetAll} p <*> #{peek ImGuiMultiSelectTempData, IsEndIO} p <*> #{peek ImGuiMultiSelectTempData, IsFocused} p <*> #{peek ImGuiMultiSelectTempData, IsKeyboardSetRange} p <*> #{peek ImGuiMultiSelectTempData, NavIdPassedBy} p <*> #{peek ImGuiMultiSelectTempData, RangeSrcPassedBy} p <*> #{peek ImGuiMultiSelectTempData, RangeDstPassedBy} p <*> #{peek ImGuiMultiSelectTempData, IsSoleOrUnknownSelectionSize} p
poke p v = do
#{poke ImGuiMultiSelectTempData, IO} p v.iO
#{poke ImGuiMultiSelectTempData, Storage} p v.storage
#{poke ImGuiMultiSelectTempData, FocusScopeId} p v.focusScopeId
#{poke ImGuiMultiSelectTempData, Flags} p v.flags
#{poke ImGuiMultiSelectTempData, ScopeRectMin} p v.scopeRectMin
#{poke ImGuiMultiSelectTempData, BackupCursorMaxPos} p v.backupCursorMaxPos
#{poke ImGuiMultiSelectTempData, BoxSelectId} p v.boxSelectId
#{poke ImGuiMultiSelectTempData, KeyMods} p v.keyMods
#{poke ImGuiMultiSelectTempData, LoopRequestSetAll} p v.loopRequestSetAll
#{poke ImGuiMultiSelectTempData, IsEndIO} p v.isEndIO
#{poke ImGuiMultiSelectTempData, IsFocused} p v.isFocused
#{poke ImGuiMultiSelectTempData, IsKeyboardSetRange} p v.isKeyboardSetRange
#{poke ImGuiMultiSelectTempData, NavIdPassedBy} p v.navIdPassedBy
#{poke ImGuiMultiSelectTempData, RangeSrcPassedBy} p v.rangeSrcPassedBy
#{poke ImGuiMultiSelectTempData, RangeDstPassedBy} p v.rangeDstPassedBy
#{poke ImGuiMultiSelectTempData, IsSoleOrUnknownSelectionSize} p v.isSoleOrUnknownSelectionSize
instance HasField "iO" (Ptr ImGuiMultiSelectTempData) (Ptr ImGuiMultiSelectIO) where
getField = #{ptr ImGuiMultiSelectTempData, IO}
instance HasField "storage" (Ptr ImGuiMultiSelectTempData) (Ptr (Ptr ImGuiMultiSelectState)) where
getField = #{ptr ImGuiMultiSelectTempData, Storage}
instance HasField "focusScopeId" (Ptr ImGuiMultiSelectTempData) (Ptr ImGuiID) where
getField = #{ptr ImGuiMultiSelectTempData, FocusScopeId}
instance HasField "flags" (Ptr ImGuiMultiSelectTempData) (Ptr ImGuiMultiSelectFlags) where
getField = #{ptr ImGuiMultiSelectTempData, Flags}
instance HasField "scopeRectMin" (Ptr ImGuiMultiSelectTempData) (Ptr ImVec2) where
getField = #{ptr ImGuiMultiSelectTempData, ScopeRectMin}
instance HasField "backupCursorMaxPos" (Ptr ImGuiMultiSelectTempData) (Ptr ImVec2) where
getField = #{ptr ImGuiMultiSelectTempData, BackupCursorMaxPos}
instance HasField "boxSelectId" (Ptr ImGuiMultiSelectTempData) (Ptr ImGuiID) where
getField = #{ptr ImGuiMultiSelectTempData, BoxSelectId}
instance HasField "keyMods" (Ptr ImGuiMultiSelectTempData) (Ptr ImGuiKeyChord) where
getField = #{ptr ImGuiMultiSelectTempData, KeyMods}
instance HasField "loopRequestSetAll" (Ptr ImGuiMultiSelectTempData) (Ptr ImS8) where
getField = #{ptr ImGuiMultiSelectTempData, LoopRequestSetAll}
instance HasField "isEndIO" (Ptr ImGuiMultiSelectTempData) (Ptr CBool) where
getField = #{ptr ImGuiMultiSelectTempData, IsEndIO}
instance HasField "isFocused" (Ptr ImGuiMultiSelectTempData) (Ptr CBool) where
getField = #{ptr ImGuiMultiSelectTempData, IsFocused}
instance HasField "isKeyboardSetRange" (Ptr ImGuiMultiSelectTempData) (Ptr CBool) where
getField = #{ptr ImGuiMultiSelectTempData, IsKeyboardSetRange}
instance HasField "navIdPassedBy" (Ptr ImGuiMultiSelectTempData) (Ptr CBool) where
getField = #{ptr ImGuiMultiSelectTempData, NavIdPassedBy}
instance HasField "rangeSrcPassedBy" (Ptr ImGuiMultiSelectTempData) (Ptr CBool) where
getField = #{ptr ImGuiMultiSelectTempData, RangeSrcPassedBy}
instance HasField "rangeDstPassedBy" (Ptr ImGuiMultiSelectTempData) (Ptr CBool) where
getField = #{ptr ImGuiMultiSelectTempData, RangeDstPassedBy}
instance HasField "isSoleOrUnknownSelectionSize" (Ptr ImGuiMultiSelectTempData) (Ptr CBool) where
getField = #{ptr ImGuiMultiSelectTempData, IsSoleOrUnknownSelectionSize}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiMultiSelectTempData_Init_wrap"
init
:: Ptr ImGuiMultiSelectTempData
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiMultiSelectTempData_Destroy_wrap"
destroy
:: Ptr ImGuiMultiSelectTempData
-> IO ()
withDefault :: (Ptr ImGuiMultiSelectTempData -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void Clear(ImGuiMultiSelectTempData* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiMultiSelectTempData_Clear"
clear
:: (Ptr ImGuiMultiSelectTempData) -- ^ self
-> IO ()
-- C: void ClearIO(ImGuiMultiSelectTempData* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiMultiSelectTempData_ClearIO"
clearIO
:: (Ptr ImGuiMultiSelectTempData) -- ^ self
-> IO ()