dear-imgui-raw-1.0.0: src/DearImGui/Raw/ImGuiPayload.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.ImGuiPayload
( ImGuiPayload
, clear
, dataTypeLength
, destroy
, init
, isDataType
, isDelivery
, isPreview
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID)
import Foreign.C.String (CString)
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.h"
-- structs (opaque)
data ImGuiPayload
instance Storable ImGuiPayload where
sizeOf _ = #{size ImGuiPayload}
alignment _ = #{alignment ImGuiPayload}
peek _ = error "ImGuiPayload: opaque struct, peek not supported in v0"
poke _ _ = error "ImGuiPayload: opaque struct, poke not supported in v0"
instance HasField "data_" (Ptr ImGuiPayload) (Ptr (Ptr ())) where
getField = #{ptr ImGuiPayload, Data}
instance HasField "dataSize" (Ptr ImGuiPayload) (Ptr CInt) where
getField = #{ptr ImGuiPayload, DataSize}
instance HasField "sourceId" (Ptr ImGuiPayload) (Ptr ImGuiID) where
getField = #{ptr ImGuiPayload, SourceId}
instance HasField "sourceParentId" (Ptr ImGuiPayload) (Ptr ImGuiID) where
getField = #{ptr ImGuiPayload, SourceParentId}
instance HasField "dataFrameCount" (Ptr ImGuiPayload) (Ptr CInt) where
getField = #{ptr ImGuiPayload, DataFrameCount}
instance HasField "dataType" (Ptr ImGuiPayload) (Ptr CChar) where
getField = #{ptr ImGuiPayload, DataType}
dataTypeLength :: Int
dataTypeLength = #{const 32+1}
instance HasField "preview" (Ptr ImGuiPayload) (Ptr CBool) where
getField = #{ptr ImGuiPayload, Preview}
instance HasField "delivery" (Ptr ImGuiPayload) (Ptr CBool) where
getField = #{ptr ImGuiPayload, Delivery}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiPayload_Init_wrap"
init
:: Ptr ImGuiPayload
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiPayload_Destroy_wrap"
destroy
:: Ptr ImGuiPayload
-> IO ()
withDefault :: (Ptr ImGuiPayload -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void Clear(ImGuiPayload* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiPayload_Clear"
clear
:: (Ptr ImGuiPayload) -- ^ self
-> IO ()
-- C: bool IsDataType(const ImGuiPayload* self, const char* type)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiPayload_IsDataType"
isDataType
:: (Ptr ImGuiPayload) -- ^ self
-> CString -- ^ type
-> IO CBool
-- C: bool IsDelivery(const ImGuiPayload* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiPayload_IsDelivery"
isDelivery
:: (Ptr ImGuiPayload) -- ^ self
-> IO CBool
-- C: bool IsPreview(const ImGuiPayload* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImGuiPayload_IsPreview"
isPreview
:: (Ptr ImGuiPayload) -- ^ self
-> IO CBool