dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiNavItemData.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiNavItemData
( ImGuiNavItemData (..)
, clear
, destroy
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID, ImGuiSelectionUserData)
import DearImGui.Raw.Enums.ImGuiItemFlags (ImGuiItemFlags)
import {-# SOURCE #-} DearImGui.Raw.Internal.ImGuiWindow (ImGuiWindow)
import DearImGui.Raw.Internal.ImRect (ImRect)
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" "ImGuiNavItemData" #-} ImGuiNavItemData = ImGuiNavItemData
{ window :: Ptr ImGuiWindow
, iD :: ImGuiID
, focusScopeId :: ImGuiID
, rectRel :: ImRect
, itemFlags :: ImGuiItemFlags
, distBox :: Float
, distCenter :: Float
, distAxial :: Float
, selectionUserData :: ImGuiSelectionUserData
}
deriving (Eq, Show)
instance Storable ImGuiNavItemData where
sizeOf _ = #{size ImGuiNavItemData}
alignment _ = #{alignment ImGuiNavItemData}
peek p = ImGuiNavItemData <$> #{peek ImGuiNavItemData, Window} p <*> #{peek ImGuiNavItemData, ID} p <*> #{peek ImGuiNavItemData, FocusScopeId} p <*> #{peek ImGuiNavItemData, RectRel} p <*> #{peek ImGuiNavItemData, ItemFlags} p <*> #{peek ImGuiNavItemData, DistBox} p <*> #{peek ImGuiNavItemData, DistCenter} p <*> #{peek ImGuiNavItemData, DistAxial} p <*> #{peek ImGuiNavItemData, SelectionUserData} p
poke p v = do
#{poke ImGuiNavItemData, Window} p v.window
#{poke ImGuiNavItemData, ID} p v.iD
#{poke ImGuiNavItemData, FocusScopeId} p v.focusScopeId
#{poke ImGuiNavItemData, RectRel} p v.rectRel
#{poke ImGuiNavItemData, ItemFlags} p v.itemFlags
#{poke ImGuiNavItemData, DistBox} p v.distBox
#{poke ImGuiNavItemData, DistCenter} p v.distCenter
#{poke ImGuiNavItemData, DistAxial} p v.distAxial
#{poke ImGuiNavItemData, SelectionUserData} p v.selectionUserData
instance HasField "window" (Ptr ImGuiNavItemData) (Ptr (Ptr ImGuiWindow)) where
getField = #{ptr ImGuiNavItemData, Window}
instance HasField "iD" (Ptr ImGuiNavItemData) (Ptr ImGuiID) where
getField = #{ptr ImGuiNavItemData, ID}
instance HasField "focusScopeId" (Ptr ImGuiNavItemData) (Ptr ImGuiID) where
getField = #{ptr ImGuiNavItemData, FocusScopeId}
instance HasField "rectRel" (Ptr ImGuiNavItemData) (Ptr ImRect) where
getField = #{ptr ImGuiNavItemData, RectRel}
instance HasField "itemFlags" (Ptr ImGuiNavItemData) (Ptr ImGuiItemFlags) where
getField = #{ptr ImGuiNavItemData, ItemFlags}
instance HasField "distBox" (Ptr ImGuiNavItemData) (Ptr Float) where
getField = #{ptr ImGuiNavItemData, DistBox}
instance HasField "distCenter" (Ptr ImGuiNavItemData) (Ptr Float) where
getField = #{ptr ImGuiNavItemData, DistCenter}
instance HasField "distAxial" (Ptr ImGuiNavItemData) (Ptr Float) where
getField = #{ptr ImGuiNavItemData, DistAxial}
instance HasField "selectionUserData" (Ptr ImGuiNavItemData) (Ptr ImGuiSelectionUserData) where
getField = #{ptr ImGuiNavItemData, SelectionUserData}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiNavItemData_Init_wrap"
init
:: Ptr ImGuiNavItemData
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiNavItemData_Destroy_wrap"
destroy
:: Ptr ImGuiNavItemData
-> IO ()
withDefault :: (Ptr ImGuiNavItemData -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void Clear(ImGuiNavItemData* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiNavItemData_Clear"
clear
:: (Ptr ImGuiNavItemData) -- ^ self
-> IO ()