dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImFontAtlasPostProcessData.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImFontAtlasPostProcessData
( ImFontAtlasPostProcessData (..)
, cImFontAtlasTextureBlockPostProcess
, cImFontAtlasTextureBlockPostProcessMultiply
, destroy
, init
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw.Enums.ImTextureFormat (ImTextureFormat)
import DearImGui.Raw.ImFont (ImFont)
import DearImGui.Raw.ImFontAtlas (ImFontAtlas)
import DearImGui.Raw.ImFontBaked (ImFontBaked)
import DearImGui.Raw.ImFontConfig (ImFontConfig)
import DearImGui.Raw.ImFontGlyph (ImFontGlyph)
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" "ImFontAtlasPostProcessData" #-} ImFontAtlasPostProcessData = ImFontAtlasPostProcessData
{ fontAtlas :: Ptr ImFontAtlas
, font :: Ptr ImFont
, fontSrc :: Ptr ImFontConfig
, fontBaked :: Ptr ImFontBaked
, glyph :: Ptr ImFontGlyph
, pixels :: Ptr ()
, format :: ImTextureFormat
, pitch :: CInt
, width :: CInt
, height :: CInt
}
deriving (Eq, Show)
instance Storable ImFontAtlasPostProcessData where
sizeOf _ = #{size ImFontAtlasPostProcessData}
alignment _ = #{alignment ImFontAtlasPostProcessData}
peek p = ImFontAtlasPostProcessData <$> #{peek ImFontAtlasPostProcessData, FontAtlas} p <*> #{peek ImFontAtlasPostProcessData, Font} p <*> #{peek ImFontAtlasPostProcessData, FontSrc} p <*> #{peek ImFontAtlasPostProcessData, FontBaked} p <*> #{peek ImFontAtlasPostProcessData, Glyph} p <*> #{peek ImFontAtlasPostProcessData, Pixels} p <*> #{peek ImFontAtlasPostProcessData, Format} p <*> #{peek ImFontAtlasPostProcessData, Pitch} p <*> #{peek ImFontAtlasPostProcessData, Width} p <*> #{peek ImFontAtlasPostProcessData, Height} p
poke p v = do
#{poke ImFontAtlasPostProcessData, FontAtlas} p v.fontAtlas
#{poke ImFontAtlasPostProcessData, Font} p v.font
#{poke ImFontAtlasPostProcessData, FontSrc} p v.fontSrc
#{poke ImFontAtlasPostProcessData, FontBaked} p v.fontBaked
#{poke ImFontAtlasPostProcessData, Glyph} p v.glyph
#{poke ImFontAtlasPostProcessData, Pixels} p v.pixels
#{poke ImFontAtlasPostProcessData, Format} p v.format
#{poke ImFontAtlasPostProcessData, Pitch} p v.pitch
#{poke ImFontAtlasPostProcessData, Width} p v.width
#{poke ImFontAtlasPostProcessData, Height} p v.height
instance HasField "fontAtlas" (Ptr ImFontAtlasPostProcessData) (Ptr (Ptr ImFontAtlas)) where
getField = #{ptr ImFontAtlasPostProcessData, FontAtlas}
instance HasField "font" (Ptr ImFontAtlasPostProcessData) (Ptr (Ptr ImFont)) where
getField = #{ptr ImFontAtlasPostProcessData, Font}
instance HasField "fontSrc" (Ptr ImFontAtlasPostProcessData) (Ptr (Ptr ImFontConfig)) where
getField = #{ptr ImFontAtlasPostProcessData, FontSrc}
instance HasField "fontBaked" (Ptr ImFontAtlasPostProcessData) (Ptr (Ptr ImFontBaked)) where
getField = #{ptr ImFontAtlasPostProcessData, FontBaked}
instance HasField "glyph" (Ptr ImFontAtlasPostProcessData) (Ptr (Ptr ImFontGlyph)) where
getField = #{ptr ImFontAtlasPostProcessData, Glyph}
instance HasField "pixels" (Ptr ImFontAtlasPostProcessData) (Ptr (Ptr ())) where
getField = #{ptr ImFontAtlasPostProcessData, Pixels}
instance HasField "format" (Ptr ImFontAtlasPostProcessData) (Ptr ImTextureFormat) where
getField = #{ptr ImFontAtlasPostProcessData, Format}
instance HasField "pitch" (Ptr ImFontAtlasPostProcessData) (Ptr CInt) where
getField = #{ptr ImFontAtlasPostProcessData, Pitch}
instance HasField "width" (Ptr ImFontAtlasPostProcessData) (Ptr CInt) where
getField = #{ptr ImFontAtlasPostProcessData, Width}
instance HasField "height" (Ptr ImFontAtlasPostProcessData) (Ptr CInt) where
getField = #{ptr ImFontAtlasPostProcessData, Height}
foreign import capi unsafe "DearImGuiWrappers.h ImFontAtlasPostProcessData_Init_wrap"
init
:: Ptr ImFontAtlasPostProcessData
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImFontAtlasPostProcessData_Destroy_wrap"
destroy
:: Ptr ImFontAtlasPostProcessData
-> IO ()
withDefault :: (Ptr ImFontAtlasPostProcessData -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void ImFontAtlasTextureBlockPostProcess(ImFontAtlasPostProcessData* data)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h cImFontAtlasTextureBlockPostProcess"
cImFontAtlasTextureBlockPostProcess
:: (Ptr ImFontAtlasPostProcessData) -- ^ data
-> IO ()
-- C: void ImFontAtlasTextureBlockPostProcessMultiply(ImFontAtlasPostProcessData* data, float multiply_factor)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h cImFontAtlasTextureBlockPostProcessMultiply"
cImFontAtlasTextureBlockPostProcessMultiply
:: (Ptr ImFontAtlasPostProcessData) -- ^ data
-> Float -- ^ multiply_factor
-> IO ()