dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImGuiMetricsConfig.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImGuiMetricsConfig
( ImGuiMetricsConfig (..)
, destroy
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImGuiID)
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" "ImGuiMetricsConfig" #-} ImGuiMetricsConfig = ImGuiMetricsConfig
{ showDebugLog :: CBool
, showIDStackTool :: CBool
, showWindowsRects :: CBool
, showWindowsBeginOrder :: CBool
, showTablesRects :: CBool
, showDrawCmdMesh :: CBool
, showDrawCmdBoundingBoxes :: CBool
, showTextEncodingViewer :: CBool
, showTextureUsedRect :: CBool
, showDockingNodes :: CBool
, showWindowsRectsType :: CInt
, showTablesRectsType :: CInt
, highlightMonitorIdx :: CInt
, highlightViewportID :: ImGuiID
, settingsDiscardMonths :: CInt
, settingsHighlightOldEntries :: CBool
, showFontPreview :: CBool
}
deriving (Eq, Show)
instance Storable ImGuiMetricsConfig where
sizeOf _ = #{size ImGuiMetricsConfig}
alignment _ = #{alignment ImGuiMetricsConfig}
peek p = ImGuiMetricsConfig <$> #{peek ImGuiMetricsConfig, ShowDebugLog} p <*> #{peek ImGuiMetricsConfig, ShowIDStackTool} p <*> #{peek ImGuiMetricsConfig, ShowWindowsRects} p <*> #{peek ImGuiMetricsConfig, ShowWindowsBeginOrder} p <*> #{peek ImGuiMetricsConfig, ShowTablesRects} p <*> #{peek ImGuiMetricsConfig, ShowDrawCmdMesh} p <*> #{peek ImGuiMetricsConfig, ShowDrawCmdBoundingBoxes} p <*> #{peek ImGuiMetricsConfig, ShowTextEncodingViewer} p <*> #{peek ImGuiMetricsConfig, ShowTextureUsedRect} p <*> #{peek ImGuiMetricsConfig, ShowDockingNodes} p <*> #{peek ImGuiMetricsConfig, ShowWindowsRectsType} p <*> #{peek ImGuiMetricsConfig, ShowTablesRectsType} p <*> #{peek ImGuiMetricsConfig, HighlightMonitorIdx} p <*> #{peek ImGuiMetricsConfig, HighlightViewportID} p <*> #{peek ImGuiMetricsConfig, SettingsDiscardMonths} p <*> #{peek ImGuiMetricsConfig, SettingsHighlightOldEntries} p <*> #{peek ImGuiMetricsConfig, ShowFontPreview} p
poke p v = do
#{poke ImGuiMetricsConfig, ShowDebugLog} p v.showDebugLog
#{poke ImGuiMetricsConfig, ShowIDStackTool} p v.showIDStackTool
#{poke ImGuiMetricsConfig, ShowWindowsRects} p v.showWindowsRects
#{poke ImGuiMetricsConfig, ShowWindowsBeginOrder} p v.showWindowsBeginOrder
#{poke ImGuiMetricsConfig, ShowTablesRects} p v.showTablesRects
#{poke ImGuiMetricsConfig, ShowDrawCmdMesh} p v.showDrawCmdMesh
#{poke ImGuiMetricsConfig, ShowDrawCmdBoundingBoxes} p v.showDrawCmdBoundingBoxes
#{poke ImGuiMetricsConfig, ShowTextEncodingViewer} p v.showTextEncodingViewer
#{poke ImGuiMetricsConfig, ShowTextureUsedRect} p v.showTextureUsedRect
#{poke ImGuiMetricsConfig, ShowDockingNodes} p v.showDockingNodes
#{poke ImGuiMetricsConfig, ShowWindowsRectsType} p v.showWindowsRectsType
#{poke ImGuiMetricsConfig, ShowTablesRectsType} p v.showTablesRectsType
#{poke ImGuiMetricsConfig, HighlightMonitorIdx} p v.highlightMonitorIdx
#{poke ImGuiMetricsConfig, HighlightViewportID} p v.highlightViewportID
#{poke ImGuiMetricsConfig, SettingsDiscardMonths} p v.settingsDiscardMonths
#{poke ImGuiMetricsConfig, SettingsHighlightOldEntries} p v.settingsHighlightOldEntries
#{poke ImGuiMetricsConfig, ShowFontPreview} p v.showFontPreview
instance HasField "showDebugLog" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowDebugLog}
instance HasField "showIDStackTool" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowIDStackTool}
instance HasField "showWindowsRects" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowWindowsRects}
instance HasField "showWindowsBeginOrder" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowWindowsBeginOrder}
instance HasField "showTablesRects" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowTablesRects}
instance HasField "showDrawCmdMesh" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowDrawCmdMesh}
instance HasField "showDrawCmdBoundingBoxes" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowDrawCmdBoundingBoxes}
instance HasField "showTextEncodingViewer" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowTextEncodingViewer}
instance HasField "showTextureUsedRect" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowTextureUsedRect}
instance HasField "showDockingNodes" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowDockingNodes}
instance HasField "showWindowsRectsType" (Ptr ImGuiMetricsConfig) (Ptr CInt) where
getField = #{ptr ImGuiMetricsConfig, ShowWindowsRectsType}
instance HasField "showTablesRectsType" (Ptr ImGuiMetricsConfig) (Ptr CInt) where
getField = #{ptr ImGuiMetricsConfig, ShowTablesRectsType}
instance HasField "highlightMonitorIdx" (Ptr ImGuiMetricsConfig) (Ptr CInt) where
getField = #{ptr ImGuiMetricsConfig, HighlightMonitorIdx}
instance HasField "highlightViewportID" (Ptr ImGuiMetricsConfig) (Ptr ImGuiID) where
getField = #{ptr ImGuiMetricsConfig, HighlightViewportID}
instance HasField "settingsDiscardMonths" (Ptr ImGuiMetricsConfig) (Ptr CInt) where
getField = #{ptr ImGuiMetricsConfig, SettingsDiscardMonths}
instance HasField "settingsHighlightOldEntries" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, SettingsHighlightOldEntries}
instance HasField "showFontPreview" (Ptr ImGuiMetricsConfig) (Ptr CBool) where
getField = #{ptr ImGuiMetricsConfig, ShowFontPreview}
foreign import capi unsafe "DearImGuiWrappers.h ImGuiMetricsConfig_Init_wrap"
init
:: Ptr ImGuiMetricsConfig
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImGuiMetricsConfig_Destroy_wrap"
destroy
:: Ptr ImGuiMetricsConfig
-> IO ()
withDefault :: (Ptr ImGuiMetricsConfig -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)