dear-imgui-raw-1.0.0: src/DearImGui/Raw/ImFontGlyphRangesBuilder.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.ImFontGlyphRangesBuilder
( ImFontGlyphRangesBuilder (..)
, addChar
, addRanges
, addText
, buildRanges
, clear
, destroy
, getBit
, init
, setBit
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImU32, ImWchar)
import DearImGui.Raw.ImVector (ImVector)
import Foreign.C.String (CString)
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.h"
-- structs (opaque)
newtype {-# CTYPE "dcimgui_nodefaultargfunctions.h" "ImFontGlyphRangesBuilder" #-} ImFontGlyphRangesBuilder = ImFontGlyphRangesBuilder
{ usedChars :: ImVector ImU32
}
deriving (Eq, Show)
instance Storable ImFontGlyphRangesBuilder where
sizeOf _ = #{size ImFontGlyphRangesBuilder}
alignment _ = #{alignment ImFontGlyphRangesBuilder}
peek p = ImFontGlyphRangesBuilder <$> #{peek ImFontGlyphRangesBuilder, UsedChars} p
poke p v = do
#{poke ImFontGlyphRangesBuilder, UsedChars} p v.usedChars
instance HasField "usedChars" (Ptr ImFontGlyphRangesBuilder) (Ptr (ImVector ImU32)) where
getField = #{ptr ImFontGlyphRangesBuilder, UsedChars}
foreign import capi unsafe "DearImGuiWrappers.h ImFontGlyphRangesBuilder_Init_wrap"
init
:: Ptr ImFontGlyphRangesBuilder
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImFontGlyphRangesBuilder_Destroy_wrap"
destroy
:: Ptr ImFontGlyphRangesBuilder
-> IO ()
withDefault :: (Ptr ImFontGlyphRangesBuilder -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void AddChar(ImFontGlyphRangesBuilder* self, ImWchar c)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImFontGlyphRangesBuilder_AddChar"
addChar
:: (Ptr ImFontGlyphRangesBuilder) -- ^ self
-> ImWchar -- ^ c
-> IO ()
-- C: void AddRanges(ImFontGlyphRangesBuilder* self, const ImWchar* ranges)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImFontGlyphRangesBuilder_AddRanges"
addRanges
:: (Ptr ImFontGlyphRangesBuilder) -- ^ self
-> (Ptr ImWchar) -- ^ ranges
-> IO ()
-- C: void AddText(ImFontGlyphRangesBuilder* self, const char* text, const char* text_end)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImFontGlyphRangesBuilder_AddText"
addText
:: (Ptr ImFontGlyphRangesBuilder) -- ^ self
-> CString -- ^ text
-> CString -- ^ text_end
-> IO ()
-- C: void BuildRanges(ImFontGlyphRangesBuilder* self, ImVector_ImWchar* out_ranges)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImFontGlyphRangesBuilder_BuildRanges"
buildRanges
:: (Ptr ImFontGlyphRangesBuilder) -- ^ self
-> (Ptr (ImVector ImWchar)) -- ^ out_ranges
-> IO ()
-- C: void Clear(ImFontGlyphRangesBuilder* self)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImFontGlyphRangesBuilder_Clear"
clear
:: (Ptr ImFontGlyphRangesBuilder) -- ^ self
-> IO ()
-- C: bool GetBit(const ImFontGlyphRangesBuilder* self, size_t n)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImFontGlyphRangesBuilder_GetBit"
getBit
:: (Ptr ImFontGlyphRangesBuilder) -- ^ self
-> CSize -- ^ n
-> IO CBool
-- C: void SetBit(ImFontGlyphRangesBuilder* self, size_t n)
foreign import capi unsafe "dcimgui_nodefaultargfunctions.h ImFontGlyphRangesBuilder_SetBit"
setBit
:: (Ptr ImFontGlyphRangesBuilder) -- ^ self
-> CSize -- ^ n
-> IO ()