dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiNextWindowData.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiNextWindowData
( ImGuiNextWindowData (..)
, clearFlags
, destroy
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID, ImGuiSizeCallback)
import DearImGui.Raw.Enums.ImGuiChildFlags (ImGuiChildFlags)
import DearImGui.Raw.Enums.ImGuiCond (ImGuiCond)
import DearImGui.Raw.Enums.ImGuiWindowFlags (ImGuiWindowFlags)
import DearImGui.Raw.ImGuiWindowClass (ImGuiWindowClass)
import DearImGui.Raw.ImVec2 (ImVec2)
import DearImGui.Raw.Internal.Enums.ImGuiNextWindowDataFlags (ImGuiNextWindowDataFlags)
import DearImGui.Raw.Internal.Enums.ImGuiWindowRefreshFlags (ImGuiWindowRefreshFlags)
import DearImGui.Raw.Internal.ImRect (ImRect)
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" "ImGuiNextWindowData" #-} ImGuiNextWindowData = ImGuiNextWindowData
{ hasFlags :: ImGuiNextWindowDataFlags
, posCond :: ImGuiCond
, sizeCond :: ImGuiCond
, collapsedCond :: ImGuiCond
, dockCond :: ImGuiCond
, posVal :: ImVec2
, posPivotVal :: ImVec2
, sizeVal :: ImVec2
, contentSizeVal :: ImVec2
, scrollVal :: ImVec2
, windowFlagsSet :: ImGuiWindowFlags
, windowFlagsClear :: ImGuiWindowFlags
, childFlagsSet :: ImGuiChildFlags
, childFlagsClear :: ImGuiChildFlags
, posUndock :: CBool
, collapsedVal :: CBool
, sizeConstraintRect :: ImRect
, sizeCallback :: ImGuiSizeCallback
, sizeCallbackUserData :: Ptr ()
, bgAlphaVal :: Float
, viewportId :: ImGuiID
, dockId :: ImGuiID
, windowClass :: ImGuiWindowClass
, menuBarOffsetMinVal :: ImVec2
, refreshFlagsVal :: ImGuiWindowRefreshFlags
}
deriving (Eq, Show)
instance Storable ImGuiNextWindowData where
sizeOf _ = #{size ImGuiNextWindowData}
alignment _ = #{alignment ImGuiNextWindowData}
peek p = ImGuiNextWindowData <$> #{peek ImGuiNextWindowData, HasFlags} p <*> #{peek ImGuiNextWindowData, PosCond} p <*> #{peek ImGuiNextWindowData, SizeCond} p <*> #{peek ImGuiNextWindowData, CollapsedCond} p <*> #{peek ImGuiNextWindowData, DockCond} p <*> #{peek ImGuiNextWindowData, PosVal} p <*> #{peek ImGuiNextWindowData, PosPivotVal} p <*> #{peek ImGuiNextWindowData, SizeVal} p <*> #{peek ImGuiNextWindowData, ContentSizeVal} p <*> #{peek ImGuiNextWindowData, ScrollVal} p <*> #{peek ImGuiNextWindowData, WindowFlagsSet} p <*> #{peek ImGuiNextWindowData, WindowFlagsClear} p <*> #{peek ImGuiNextWindowData, ChildFlagsSet} p <*> #{peek ImGuiNextWindowData, ChildFlagsClear} p <*> #{peek ImGuiNextWindowData, PosUndock} p <*> #{peek ImGuiNextWindowData, CollapsedVal} p <*> #{peek ImGuiNextWindowData, SizeConstraintRect} p <*> #{peek ImGuiNextWindowData, SizeCallback} p <*> #{peek ImGuiNextWindowData, SizeCallbackUserData} p <*> #{peek ImGuiNextWindowData, BgAlphaVal} p <*> #{peek ImGuiNextWindowData, ViewportId} p <*> #{peek ImGuiNextWindowData, DockId} p <*> #{peek ImGuiNextWindowData, WindowClass} p <*> #{peek ImGuiNextWindowData, MenuBarOffsetMinVal} p <*> #{peek ImGuiNextWindowData, RefreshFlagsVal} p
poke p v = do
#{poke ImGuiNextWindowData, HasFlags} p v.hasFlags
#{poke ImGuiNextWindowData, PosCond} p v.posCond
#{poke ImGuiNextWindowData, SizeCond} p v.sizeCond
#{poke ImGuiNextWindowData, CollapsedCond} p v.collapsedCond
#{poke ImGuiNextWindowData, DockCond} p v.dockCond
#{poke ImGuiNextWindowData, PosVal} p v.posVal
#{poke ImGuiNextWindowData, PosPivotVal} p v.posPivotVal
#{poke ImGuiNextWindowData, SizeVal} p v.sizeVal
#{poke ImGuiNextWindowData, ContentSizeVal} p v.contentSizeVal
#{poke ImGuiNextWindowData, ScrollVal} p v.scrollVal
#{poke ImGuiNextWindowData, WindowFlagsSet} p v.windowFlagsSet
#{poke ImGuiNextWindowData, WindowFlagsClear} p v.windowFlagsClear
#{poke ImGuiNextWindowData, ChildFlagsSet} p v.childFlagsSet
#{poke ImGuiNextWindowData, ChildFlagsClear} p v.childFlagsClear
#{poke ImGuiNextWindowData, PosUndock} p v.posUndock
#{poke ImGuiNextWindowData, CollapsedVal} p v.collapsedVal
#{poke ImGuiNextWindowData, SizeConstraintRect} p v.sizeConstraintRect
#{poke ImGuiNextWindowData, SizeCallback} p v.sizeCallback
#{poke ImGuiNextWindowData, SizeCallbackUserData} p v.sizeCallbackUserData
#{poke ImGuiNextWindowData, BgAlphaVal} p v.bgAlphaVal
#{poke ImGuiNextWindowData, ViewportId} p v.viewportId
#{poke ImGuiNextWindowData, DockId} p v.dockId
#{poke ImGuiNextWindowData, WindowClass} p v.windowClass
#{poke ImGuiNextWindowData, MenuBarOffsetMinVal} p v.menuBarOffsetMinVal
#{poke ImGuiNextWindowData, RefreshFlagsVal} p v.refreshFlagsVal
instance HasField "hasFlags" (Ptr ImGuiNextWindowData) (Ptr ImGuiNextWindowDataFlags) where
getField = #{ptr ImGuiNextWindowData, HasFlags}
instance HasField "posCond" (Ptr ImGuiNextWindowData) (Ptr ImGuiCond) where
getField = #{ptr ImGuiNextWindowData, PosCond}
instance HasField "sizeCond" (Ptr ImGuiNextWindowData) (Ptr ImGuiCond) where
getField = #{ptr ImGuiNextWindowData, SizeCond}
instance HasField "collapsedCond" (Ptr ImGuiNextWindowData) (Ptr ImGuiCond) where
getField = #{ptr ImGuiNextWindowData, CollapsedCond}
instance HasField "dockCond" (Ptr ImGuiNextWindowData) (Ptr ImGuiCond) where
getField = #{ptr ImGuiNextWindowData, DockCond}
instance HasField "posVal" (Ptr ImGuiNextWindowData) (Ptr ImVec2) where
getField = #{ptr ImGuiNextWindowData, PosVal}
instance HasField "posPivotVal" (Ptr ImGuiNextWindowData) (Ptr ImVec2) where
getField = #{ptr ImGuiNextWindowData, PosPivotVal}
instance HasField "sizeVal" (Ptr ImGuiNextWindowData) (Ptr ImVec2) where
getField = #{ptr ImGuiNextWindowData, SizeVal}
instance HasField "contentSizeVal" (Ptr ImGuiNextWindowData) (Ptr ImVec2) where
getField = #{ptr ImGuiNextWindowData, ContentSizeVal}
instance HasField "scrollVal" (Ptr ImGuiNextWindowData) (Ptr ImVec2) where
getField = #{ptr ImGuiNextWindowData, ScrollVal}
instance HasField "windowFlagsSet" (Ptr ImGuiNextWindowData) (Ptr ImGuiWindowFlags) where
getField = #{ptr ImGuiNextWindowData, WindowFlagsSet}
instance HasField "windowFlagsClear" (Ptr ImGuiNextWindowData) (Ptr ImGuiWindowFlags) where
getField = #{ptr ImGuiNextWindowData, WindowFlagsClear}
instance HasField "childFlagsSet" (Ptr ImGuiNextWindowData) (Ptr ImGuiChildFlags) where
getField = #{ptr ImGuiNextWindowData, ChildFlagsSet}
instance HasField "childFlagsClear" (Ptr ImGuiNextWindowData) (Ptr ImGuiChildFlags) where
getField = #{ptr ImGuiNextWindowData, ChildFlagsClear}
instance HasField "posUndock" (Ptr ImGuiNextWindowData) (Ptr CBool) where
getField = #{ptr ImGuiNextWindowData, PosUndock}
instance HasField "collapsedVal" (Ptr ImGuiNextWindowData) (Ptr CBool) where
getField = #{ptr ImGuiNextWindowData, CollapsedVal}
instance HasField "sizeConstraintRect" (Ptr ImGuiNextWindowData) (Ptr ImRect) where
getField = #{ptr ImGuiNextWindowData, SizeConstraintRect}
instance HasField "sizeCallback" (Ptr ImGuiNextWindowData) (Ptr ImGuiSizeCallback) where
getField = #{ptr ImGuiNextWindowData, SizeCallback}
instance HasField "sizeCallbackUserData" (Ptr ImGuiNextWindowData) (Ptr (Ptr ())) where
getField = #{ptr ImGuiNextWindowData, SizeCallbackUserData}
instance HasField "bgAlphaVal" (Ptr ImGuiNextWindowData) (Ptr Float) where
getField = #{ptr ImGuiNextWindowData, BgAlphaVal}
instance HasField "viewportId" (Ptr ImGuiNextWindowData) (Ptr ImGuiID) where
getField = #{ptr ImGuiNextWindowData, ViewportId}
instance HasField "dockId" (Ptr ImGuiNextWindowData) (Ptr ImGuiID) where
getField = #{ptr ImGuiNextWindowData, DockId}
instance HasField "windowClass" (Ptr ImGuiNextWindowData) (Ptr ImGuiWindowClass) where
getField = #{ptr ImGuiNextWindowData, WindowClass}
instance HasField "menuBarOffsetMinVal" (Ptr ImGuiNextWindowData) (Ptr ImVec2) where
getField = #{ptr ImGuiNextWindowData, MenuBarOffsetMinVal}
instance HasField "refreshFlagsVal" (Ptr ImGuiNextWindowData) (Ptr ImGuiWindowRefreshFlags) where
getField = #{ptr ImGuiNextWindowData, RefreshFlagsVal}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiNextWindowData_Init_wrap"
init
:: Ptr ImGuiNextWindowData
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiNextWindowData_Destroy_wrap"
destroy
:: Ptr ImGuiNextWindowData
-> IO ()
withDefault :: (Ptr ImGuiNextWindowData -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void ClearFlags(ImGuiNextWindowData* self)
foreign import capi safe "dcimgui_nodefaultargfunctions_internal.h ImGuiNextWindowData_ClearFlags"
clearFlags
:: (Ptr ImGuiNextWindowData) -- ^ self
-> IO ()