dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiMenuColumns.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiMenuColumns
( ImGuiMenuColumns
, calcNextTotalWidth
, declColumns
, destroy
, init
, update
, widthsLength
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImU16, ImU32)
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 ImGuiMenuColumns
instance Storable ImGuiMenuColumns where
sizeOf _ = #{size ImGuiMenuColumns}
alignment _ = #{alignment ImGuiMenuColumns}
peek _ = error "ImGuiMenuColumns: opaque struct, peek not supported in v0"
poke _ _ = error "ImGuiMenuColumns: opaque struct, poke not supported in v0"
instance HasField "totalWidth" (Ptr ImGuiMenuColumns) (Ptr ImU32) where
getField = #{ptr ImGuiMenuColumns, TotalWidth}
instance HasField "nextTotalWidth" (Ptr ImGuiMenuColumns) (Ptr ImU32) where
getField = #{ptr ImGuiMenuColumns, NextTotalWidth}
instance HasField "spacing" (Ptr ImGuiMenuColumns) (Ptr ImU16) where
getField = #{ptr ImGuiMenuColumns, Spacing}
instance HasField "offsetIcon" (Ptr ImGuiMenuColumns) (Ptr ImU16) where
getField = #{ptr ImGuiMenuColumns, OffsetIcon}
instance HasField "offsetLabel" (Ptr ImGuiMenuColumns) (Ptr ImU16) where
getField = #{ptr ImGuiMenuColumns, OffsetLabel}
instance HasField "offsetShortcut" (Ptr ImGuiMenuColumns) (Ptr ImU16) where
getField = #{ptr ImGuiMenuColumns, OffsetShortcut}
instance HasField "offsetMark" (Ptr ImGuiMenuColumns) (Ptr ImU16) where
getField = #{ptr ImGuiMenuColumns, OffsetMark}
instance HasField "widths" (Ptr ImGuiMenuColumns) (Ptr ImU16) where
getField = #{ptr ImGuiMenuColumns, Widths}
widthsLength :: Int
widthsLength = #{const 4}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiMenuColumns_Init_wrap"
init
:: Ptr ImGuiMenuColumns
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiMenuColumns_Destroy_wrap"
destroy
:: Ptr ImGuiMenuColumns
-> IO ()
withDefault :: (Ptr ImGuiMenuColumns -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void CalcNextTotalWidth(ImGuiMenuColumns* self, bool update_offsets)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiMenuColumns_CalcNextTotalWidth"
calcNextTotalWidth
:: (Ptr ImGuiMenuColumns) -- ^ self
-> CBool -- ^ update_offsets
-> IO ()
-- C: float DeclColumns(ImGuiMenuColumns* self, float w_icon, float w_label, float w_shortcut, float w_mark)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiMenuColumns_DeclColumns"
declColumns
:: (Ptr ImGuiMenuColumns) -- ^ self
-> Float -- ^ w_icon
-> Float -- ^ w_label
-> Float -- ^ w_shortcut
-> Float -- ^ w_mark
-> IO Float
-- C: void Update(ImGuiMenuColumns* self, float spacing, bool window_reappearing)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImGuiMenuColumns_Update"
update
:: (Ptr ImGuiMenuColumns) -- ^ self
-> Float -- ^ spacing
-> CBool -- ^ window_reappearing
-> IO ()