dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImFontAtlasBuilder.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImFontAtlasBuilder
( ImFontAtlasBuilder
, destroy
, init
, texUvCornersLength
, texUvLinesLength
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw.ImFontAtlasRect (Id)
import DearImGui.Raw.ImGuiStorage (ImGuiStorage)
import DearImGui.Raw.ImTextureRect (ImTextureRect)
import DearImGui.Raw.ImVec4 (ImVec4)
import DearImGui.Raw.ImVector (ImVector)
import DearImGui.Raw.Internal (ImStableVector_ImFontBaked_32, Stbrp_context_opaque, Stbrp_node_im)
import DearImGui.Raw.Internal.ImFontAtlasRectEntry (ImFontAtlasRectEntry)
import DearImGui.Raw.Internal.ImVec2i (ImVec2i)
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 ImFontAtlasBuilder
instance Storable ImFontAtlasBuilder where
sizeOf _ = #{size ImFontAtlasBuilder}
alignment _ = #{alignment ImFontAtlasBuilder}
peek _ = error "ImFontAtlasBuilder: opaque struct, peek not supported in v0"
poke _ _ = error "ImFontAtlasBuilder: opaque struct, poke not supported in v0"
instance HasField "packContext" (Ptr ImFontAtlasBuilder) (Ptr Stbrp_context_opaque) where
getField = #{ptr ImFontAtlasBuilder, PackContext}
instance HasField "packNodes" (Ptr ImFontAtlasBuilder) (Ptr (ImVector Stbrp_node_im)) where
getField = #{ptr ImFontAtlasBuilder, PackNodes}
instance HasField "rects" (Ptr ImFontAtlasBuilder) (Ptr (ImVector ImTextureRect)) where
getField = #{ptr ImFontAtlasBuilder, Rects}
instance HasField "rectsIndex" (Ptr ImFontAtlasBuilder) (Ptr (ImVector ImFontAtlasRectEntry)) where
getField = #{ptr ImFontAtlasBuilder, RectsIndex}
instance HasField "tempBuffer" (Ptr ImFontAtlasBuilder) (Ptr (ImVector CUChar)) where
getField = #{ptr ImFontAtlasBuilder, TempBuffer}
instance HasField "rectsIndexFreeListStart" (Ptr ImFontAtlasBuilder) (Ptr CInt) where
getField = #{ptr ImFontAtlasBuilder, RectsIndexFreeListStart}
instance HasField "rectsPackedCount" (Ptr ImFontAtlasBuilder) (Ptr CInt) where
getField = #{ptr ImFontAtlasBuilder, RectsPackedCount}
instance HasField "rectsPackedSurface" (Ptr ImFontAtlasBuilder) (Ptr CInt) where
getField = #{ptr ImFontAtlasBuilder, RectsPackedSurface}
instance HasField "rectsDiscardedCount" (Ptr ImFontAtlasBuilder) (Ptr CInt) where
getField = #{ptr ImFontAtlasBuilder, RectsDiscardedCount}
instance HasField "rectsDiscardedSurface" (Ptr ImFontAtlasBuilder) (Ptr CInt) where
getField = #{ptr ImFontAtlasBuilder, RectsDiscardedSurface}
instance HasField "frameCount" (Ptr ImFontAtlasBuilder) (Ptr CInt) where
getField = #{ptr ImFontAtlasBuilder, FrameCount}
instance HasField "maxRectSize" (Ptr ImFontAtlasBuilder) (Ptr ImVec2i) where
getField = #{ptr ImFontAtlasBuilder, MaxRectSize}
instance HasField "maxRectBounds" (Ptr ImFontAtlasBuilder) (Ptr ImVec2i) where
getField = #{ptr ImFontAtlasBuilder, MaxRectBounds}
instance HasField "lockDisableResize" (Ptr ImFontAtlasBuilder) (Ptr CBool) where
getField = #{ptr ImFontAtlasBuilder, LockDisableResize}
instance HasField "preloadedAllGlyphsRanges" (Ptr ImFontAtlasBuilder) (Ptr CBool) where
getField = #{ptr ImFontAtlasBuilder, PreloadedAllGlyphsRanges}
instance HasField "bakedPool" (Ptr ImFontAtlasBuilder) (Ptr ImStableVector_ImFontBaked_32) where
getField = #{ptr ImFontAtlasBuilder, BakedPool}
instance HasField "bakedMap" (Ptr ImFontAtlasBuilder) (Ptr ImGuiStorage) where
getField = #{ptr ImFontAtlasBuilder, BakedMap}
instance HasField "bakedDiscardedCount" (Ptr ImFontAtlasBuilder) (Ptr CInt) where
getField = #{ptr ImFontAtlasBuilder, BakedDiscardedCount}
instance HasField "packIdMouseCursors" (Ptr ImFontAtlasBuilder) (Ptr Id) where
getField = #{ptr ImFontAtlasBuilder, PackIdMouseCursors}
instance HasField "packIdLinesTexData" (Ptr ImFontAtlasBuilder) (Ptr Id) where
getField = #{ptr ImFontAtlasBuilder, PackIdLinesTexData}
instance HasField "packIdLineFractTexData" (Ptr ImFontAtlasBuilder) (Ptr Id) where
getField = #{ptr ImFontAtlasBuilder, PackIdLineFractTexData}
instance HasField "packIdCornersTexData" (Ptr ImFontAtlasBuilder) (Ptr Id) where
getField = #{ptr ImFontAtlasBuilder, PackIdCornersTexData}
instance HasField "texUvLines" (Ptr ImFontAtlasBuilder) (Ptr ImVec4) where
getField = #{ptr ImFontAtlasBuilder, TexUvLines}
texUvLinesLength :: Int
texUvLinesLength = #{const IM_DRAWLIST_TEX_LINES_WIDTH_MAX+1+IM_DRAWLIST_TEX_LINES_DETAILED_WIDTH_COUNT}
instance HasField "texUvCorners" (Ptr ImFontAtlasBuilder) (Ptr ImVec4) where
getField = #{ptr ImFontAtlasBuilder, TexUvCorners}
texUvCornersLength :: Int
texUvCornersLength = #{const IM_DRAWLIST_TEX_CORNERS_ROUNDING_MAX*IM_DRAWLIST_TEX_CORNERS_THICKNESS_MAX}
foreign import capi unsafe "DearImGuiWrappers.h ImFontAtlasBuilder_Init_wrap"
init
:: Ptr ImFontAtlasBuilder
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImFontAtlasBuilder_Destroy_wrap"
destroy
:: Ptr ImFontAtlasBuilder
-> IO ()
withDefault :: (Ptr ImFontAtlasBuilder -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)