dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiTableTempData.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiTableTempData
( ImGuiTableTempData (..)
, destroy
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID)
import DearImGui.Raw.ImDrawListSplitter (ImDrawListSplitter)
import DearImGui.Raw.ImVec2 (ImVec2)
import DearImGui.Raw.ImVector (ImVector)
import DearImGui.Raw.Internal (ImGuiTableColumn)
import DearImGui.Raw.Internal.ImGuiTableHeaderData (ImGuiTableHeaderData)
import DearImGui.Raw.Internal.ImGuiTableReconcileColumnData (ImGuiTableReconcileColumnData)
import DearImGui.Raw.Internal.ImRect (ImRect)
import DearImGui.Raw.Internal.ImSpan (ImSpan)
import DearImGui.Raw.Internal.ImVec1 (ImVec1)
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" "ImGuiTableTempData" #-} ImGuiTableTempData = ImGuiTableTempData
{ windowID :: ImGuiID
, tableIndex :: CInt
, lastTimeActive :: Float
, angledHeadersExtraWidth :: Float
, angledHeadersRequests :: ImVector ImGuiTableHeaderData
, reconcileColumnsRequests :: ImVector ImGuiTableReconcileColumnData
, oldColumnsRawData :: Ptr ()
, oldColumnsData :: ImSpan ImGuiTableColumn
, userOuterSize :: ImVec2
, drawSplitter :: ImDrawListSplitter
, hostBackupWorkRect :: ImRect
, hostBackupParentWorkRect :: ImRect
, hostBackupPrevLineSize :: ImVec2
, hostBackupCurrLineSize :: ImVec2
, hostBackupCursorMaxPos :: ImVec2
, hostBackupColumnsOffset :: ImVec1
, hostBackupItemWidth :: Float
, hostBackupItemWidthStackSize :: CInt
}
deriving (Eq, Show)
instance Storable ImGuiTableTempData where
sizeOf _ = #{size ImGuiTableTempData}
alignment _ = #{alignment ImGuiTableTempData}
peek p = ImGuiTableTempData <$> #{peek ImGuiTableTempData, WindowID} p <*> #{peek ImGuiTableTempData, TableIndex} p <*> #{peek ImGuiTableTempData, LastTimeActive} p <*> #{peek ImGuiTableTempData, AngledHeadersExtraWidth} p <*> #{peek ImGuiTableTempData, AngledHeadersRequests} p <*> #{peek ImGuiTableTempData, ReconcileColumnsRequests} p <*> #{peek ImGuiTableTempData, OldColumnsRawData} p <*> #{peek ImGuiTableTempData, OldColumnsData} p <*> #{peek ImGuiTableTempData, UserOuterSize} p <*> #{peek ImGuiTableTempData, DrawSplitter} p <*> #{peek ImGuiTableTempData, HostBackupWorkRect} p <*> #{peek ImGuiTableTempData, HostBackupParentWorkRect} p <*> #{peek ImGuiTableTempData, HostBackupPrevLineSize} p <*> #{peek ImGuiTableTempData, HostBackupCurrLineSize} p <*> #{peek ImGuiTableTempData, HostBackupCursorMaxPos} p <*> #{peek ImGuiTableTempData, HostBackupColumnsOffset} p <*> #{peek ImGuiTableTempData, HostBackupItemWidth} p <*> #{peek ImGuiTableTempData, HostBackupItemWidthStackSize} p
poke p v = do
#{poke ImGuiTableTempData, WindowID} p v.windowID
#{poke ImGuiTableTempData, TableIndex} p v.tableIndex
#{poke ImGuiTableTempData, LastTimeActive} p v.lastTimeActive
#{poke ImGuiTableTempData, AngledHeadersExtraWidth} p v.angledHeadersExtraWidth
#{poke ImGuiTableTempData, AngledHeadersRequests} p v.angledHeadersRequests
#{poke ImGuiTableTempData, ReconcileColumnsRequests} p v.reconcileColumnsRequests
#{poke ImGuiTableTempData, OldColumnsRawData} p v.oldColumnsRawData
#{poke ImGuiTableTempData, OldColumnsData} p v.oldColumnsData
#{poke ImGuiTableTempData, UserOuterSize} p v.userOuterSize
#{poke ImGuiTableTempData, DrawSplitter} p v.drawSplitter
#{poke ImGuiTableTempData, HostBackupWorkRect} p v.hostBackupWorkRect
#{poke ImGuiTableTempData, HostBackupParentWorkRect} p v.hostBackupParentWorkRect
#{poke ImGuiTableTempData, HostBackupPrevLineSize} p v.hostBackupPrevLineSize
#{poke ImGuiTableTempData, HostBackupCurrLineSize} p v.hostBackupCurrLineSize
#{poke ImGuiTableTempData, HostBackupCursorMaxPos} p v.hostBackupCursorMaxPos
#{poke ImGuiTableTempData, HostBackupColumnsOffset} p v.hostBackupColumnsOffset
#{poke ImGuiTableTempData, HostBackupItemWidth} p v.hostBackupItemWidth
#{poke ImGuiTableTempData, HostBackupItemWidthStackSize} p v.hostBackupItemWidthStackSize
instance HasField "windowID" (Ptr ImGuiTableTempData) (Ptr ImGuiID) where
getField = #{ptr ImGuiTableTempData, WindowID}
instance HasField "tableIndex" (Ptr ImGuiTableTempData) (Ptr CInt) where
getField = #{ptr ImGuiTableTempData, TableIndex}
instance HasField "lastTimeActive" (Ptr ImGuiTableTempData) (Ptr Float) where
getField = #{ptr ImGuiTableTempData, LastTimeActive}
instance HasField "angledHeadersExtraWidth" (Ptr ImGuiTableTempData) (Ptr Float) where
getField = #{ptr ImGuiTableTempData, AngledHeadersExtraWidth}
instance HasField "angledHeadersRequests" (Ptr ImGuiTableTempData) (Ptr (ImVector ImGuiTableHeaderData)) where
getField = #{ptr ImGuiTableTempData, AngledHeadersRequests}
instance HasField "reconcileColumnsRequests" (Ptr ImGuiTableTempData) (Ptr (ImVector ImGuiTableReconcileColumnData)) where
getField = #{ptr ImGuiTableTempData, ReconcileColumnsRequests}
instance HasField "oldColumnsRawData" (Ptr ImGuiTableTempData) (Ptr (Ptr ())) where
getField = #{ptr ImGuiTableTempData, OldColumnsRawData}
instance HasField "oldColumnsData" (Ptr ImGuiTableTempData) (Ptr (ImSpan ImGuiTableColumn)) where
getField = #{ptr ImGuiTableTempData, OldColumnsData}
instance HasField "userOuterSize" (Ptr ImGuiTableTempData) (Ptr ImVec2) where
getField = #{ptr ImGuiTableTempData, UserOuterSize}
instance HasField "drawSplitter" (Ptr ImGuiTableTempData) (Ptr ImDrawListSplitter) where
getField = #{ptr ImGuiTableTempData, DrawSplitter}
instance HasField "hostBackupWorkRect" (Ptr ImGuiTableTempData) (Ptr ImRect) where
getField = #{ptr ImGuiTableTempData, HostBackupWorkRect}
instance HasField "hostBackupParentWorkRect" (Ptr ImGuiTableTempData) (Ptr ImRect) where
getField = #{ptr ImGuiTableTempData, HostBackupParentWorkRect}
instance HasField "hostBackupPrevLineSize" (Ptr ImGuiTableTempData) (Ptr ImVec2) where
getField = #{ptr ImGuiTableTempData, HostBackupPrevLineSize}
instance HasField "hostBackupCurrLineSize" (Ptr ImGuiTableTempData) (Ptr ImVec2) where
getField = #{ptr ImGuiTableTempData, HostBackupCurrLineSize}
instance HasField "hostBackupCursorMaxPos" (Ptr ImGuiTableTempData) (Ptr ImVec2) where
getField = #{ptr ImGuiTableTempData, HostBackupCursorMaxPos}
instance HasField "hostBackupColumnsOffset" (Ptr ImGuiTableTempData) (Ptr ImVec1) where
getField = #{ptr ImGuiTableTempData, HostBackupColumnsOffset}
instance HasField "hostBackupItemWidth" (Ptr ImGuiTableTempData) (Ptr Float) where
getField = #{ptr ImGuiTableTempData, HostBackupItemWidth}
instance HasField "hostBackupItemWidthStackSize" (Ptr ImGuiTableTempData) (Ptr CInt) where
getField = #{ptr ImGuiTableTempData, HostBackupItemWidthStackSize}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiTableTempData_Init_wrap"
init
:: Ptr ImGuiTableTempData
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiTableTempData_Destroy_wrap"
destroy
:: Ptr ImGuiTableTempData
-> IO ()
withDefault :: (Ptr ImGuiTableTempData -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)