dear-imgui-raw-1.0.0: src/DearImGui/Raw/ImGuiSelectionBasicStorage.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.ImGuiSelectionBasicStorage
( ImGuiSelectionBasicStorage (..)
, applyRequests
, clear
, contains
, destroy
, getNextSelectedItem
, getStorageIdFromIndex
, init
, setItemSelected
, swap
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID)
import DearImGui.Raw.ImGuiMultiSelectIO (ImGuiMultiSelectIO)
import DearImGui.Raw.ImGuiStorage (ImGuiStorage)
import Foreign.C.Types
import Foreign.Marshal.Alloc (alloca)
import Foreign.Ptr (FunPtr, Ptr, plusPtr)
import Foreign.Storable (Storable (..))
import GHC.Records (HasField (..))
import Prelude hiding (init)
#include "dcimgui_nodefaultargfunctions.h"
-- structs (opaque)
data {-# CTYPE "dcimgui_nodefaultargfunctions.h" "ImGuiSelectionBasicStorage" #-} ImGuiSelectionBasicStorage = ImGuiSelectionBasicStorage
{ size :: CInt
, preserveOrder :: CBool
, userData :: Ptr ()
, adapterIndexToStorageId :: FunPtr ((Ptr ImGuiSelectionBasicStorage) -> CInt -> IO ImGuiID)
, _SelectionOrder :: CInt
, _Storage :: ImGuiStorage
}
deriving (Eq, Show)
instance Storable ImGuiSelectionBasicStorage where
sizeOf _ = #{size ImGuiSelectionBasicStorage}
alignment _ = #{alignment ImGuiSelectionBasicStorage}
peek p = ImGuiSelectionBasicStorage <$> #{peek ImGuiSelectionBasicStorage, Size} p <*> #{peek ImGuiSelectionBasicStorage, PreserveOrder} p <*> #{peek ImGuiSelectionBasicStorage, UserData} p <*> #{peek ImGuiSelectionBasicStorage, AdapterIndexToStorageId} p <*> #{peek ImGuiSelectionBasicStorage, _SelectionOrder} p <*> #{peek ImGuiSelectionBasicStorage, _Storage} p
poke p v = do
#{poke ImGuiSelectionBasicStorage, Size} p v.size
#{poke ImGuiSelectionBasicStorage, PreserveOrder} p v.preserveOrder
#{poke ImGuiSelectionBasicStorage, UserData} p v.userData
#{poke ImGuiSelectionBasicStorage, AdapterIndexToStorageId} p v.adapterIndexToStorageId
#{poke ImGuiSelectionBasicStorage, _SelectionOrder} p v._SelectionOrder
#{poke ImGuiSelectionBasicStorage, _Storage} p v._Storage
instance HasField "size" (Ptr ImGuiSelectionBasicStorage) (Ptr CInt) where
getField = #{ptr ImGuiSelectionBasicStorage, Size}
instance HasField "preserveOrder" (Ptr ImGuiSelectionBasicStorage) (Ptr CBool) where
getField = #{ptr ImGuiSelectionBasicStorage, PreserveOrder}
instance HasField "userData" (Ptr ImGuiSelectionBasicStorage) (Ptr (Ptr ())) where
getField = #{ptr ImGuiSelectionBasicStorage, UserData}
instance HasField "adapterIndexToStorageId" (Ptr ImGuiSelectionBasicStorage) (Ptr (FunPtr ((Ptr ImGuiSelectionBasicStorage) -> CInt -> IO ImGuiID))) where
getField = #{ptr ImGuiSelectionBasicStorage, AdapterIndexToStorageId}
instance HasField "_SelectionOrder" (Ptr ImGuiSelectionBasicStorage) (Ptr CInt) where
getField = #{ptr ImGuiSelectionBasicStorage, _SelectionOrder}
instance HasField "_Storage" (Ptr ImGuiSelectionBasicStorage) (Ptr ImGuiStorage) where
getField = #{ptr ImGuiSelectionBasicStorage, _Storage}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiSelectionBasicStorage_Init_wrap"
init
:: Ptr ImGuiSelectionBasicStorage
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiSelectionBasicStorage_Destroy_wrap"
destroy
:: Ptr ImGuiSelectionBasicStorage
-> IO ()
withDefault :: (Ptr ImGuiSelectionBasicStorage -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void ApplyRequests(ImGuiSelectionBasicStorage* self, ImGuiMultiSelectIO* ms_io)
foreign import capi safe "dcimgui_nodefaultargfunctions.h ImGuiSelectionBasicStorage_ApplyRequests"
applyRequests
:: (Ptr ImGuiSelectionBasicStorage) -- ^ self
-> (Ptr ImGuiMultiSelectIO) -- ^ ms_io
-> IO ()
-- C: void Clear(ImGuiSelectionBasicStorage* self)
foreign import capi safe "dcimgui_nodefaultargfunctions.h ImGuiSelectionBasicStorage_Clear"
clear
:: (Ptr ImGuiSelectionBasicStorage) -- ^ self
-> IO ()
-- C: bool Contains(const ImGuiSelectionBasicStorage* self, ImGuiID id)
foreign import capi safe "dcimgui_nodefaultargfunctions.h ImGuiSelectionBasicStorage_Contains"
contains
:: (Ptr ImGuiSelectionBasicStorage) -- ^ self
-> ImGuiID -- ^ id
-> IO CBool
-- C: bool GetNextSelectedItem(ImGuiSelectionBasicStorage* self, void** opaque_it, ImGuiID* out_id)
foreign import capi safe "dcimgui_nodefaultargfunctions.h ImGuiSelectionBasicStorage_GetNextSelectedItem"
getNextSelectedItem
:: (Ptr ImGuiSelectionBasicStorage) -- ^ self
-> (Ptr (Ptr ())) -- ^ opaque_it
-> (Ptr ImGuiID) -- ^ out_id
-> IO CBool
-- C: ImGuiID GetStorageIdFromIndex(ImGuiSelectionBasicStorage* self, int idx)
foreign import capi safe "dcimgui_nodefaultargfunctions.h ImGuiSelectionBasicStorage_GetStorageIdFromIndex"
getStorageIdFromIndex
:: (Ptr ImGuiSelectionBasicStorage) -- ^ self
-> CInt -- ^ idx
-> IO ImGuiID
-- C: void SetItemSelected(ImGuiSelectionBasicStorage* self, ImGuiID id, bool selected)
foreign import capi safe "dcimgui_nodefaultargfunctions.h ImGuiSelectionBasicStorage_SetItemSelected"
setItemSelected
:: (Ptr ImGuiSelectionBasicStorage) -- ^ self
-> ImGuiID -- ^ id
-> CBool -- ^ selected
-> IO ()
-- C: void Swap(ImGuiSelectionBasicStorage* self, ImGuiSelectionBasicStorage* r)
foreign import capi safe "dcimgui_nodefaultargfunctions.h ImGuiSelectionBasicStorage_Swap"
swap
:: (Ptr ImGuiSelectionBasicStorage) -- ^ self
-> (Ptr ImGuiSelectionBasicStorage) -- ^ r
-> IO ()