dear-imgui-raw-internal-1.0.0: src/DearImGui/Raw/Internal/ImDrawListSharedData.hsc
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE PatternSynonyms #-}
-- This file was generated by dear-bindings-ffi. Do not edit by hand.
module DearImGui.Raw.Internal.ImDrawListSharedData
( ImDrawListSharedData
, arcFastVtxLength
, circleSegmentCountsLength
, destroy
, init
, setCircleTessellationMaxError
, withDefault
) where
import Control.Exception (bracket_)
import DearImGui.Raw (ImU8)
import DearImGui.Raw.Enums.ImDrawFlags (ImDrawFlags)
import DearImGui.Raw.ImDrawList (ImDrawList)
import DearImGui.Raw.ImFont (ImFont)
import DearImGui.Raw.ImFontAtlas (ImFontAtlas)
import DearImGui.Raw.ImVec2 (ImVec2)
import DearImGui.Raw.ImVec4 (ImVec4)
import DearImGui.Raw.ImVector (ImVector)
import {-# SOURCE #-} DearImGui.Raw.Internal.ImGuiContext (ImGuiContext)
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 ImDrawListSharedData
instance Storable ImDrawListSharedData where
sizeOf _ = #{size ImDrawListSharedData}
alignment _ = #{alignment ImDrawListSharedData}
peek _ = error "ImDrawListSharedData: opaque struct, peek not supported in v0"
poke _ _ = error "ImDrawListSharedData: opaque struct, poke not supported in v0"
instance HasField "texUvWhitePixel" (Ptr ImDrawListSharedData) (Ptr ImVec2) where
getField = #{ptr ImDrawListSharedData, TexUvWhitePixel}
instance HasField "texUvLines" (Ptr ImDrawListSharedData) (Ptr (Ptr ImVec4)) where
getField = #{ptr ImDrawListSharedData, TexUvLines}
instance HasField "texUvCorners" (Ptr ImDrawListSharedData) (Ptr (Ptr ImVec4)) where
getField = #{ptr ImDrawListSharedData, TexUvCorners}
instance HasField "fontAtlas" (Ptr ImDrawListSharedData) (Ptr (Ptr ImFontAtlas)) where
getField = #{ptr ImDrawListSharedData, FontAtlas}
instance HasField "font" (Ptr ImDrawListSharedData) (Ptr (Ptr ImFont)) where
getField = #{ptr ImDrawListSharedData, Font}
instance HasField "fontSize" (Ptr ImDrawListSharedData) (Ptr Float) where
getField = #{ptr ImDrawListSharedData, FontSize}
instance HasField "fontScale" (Ptr ImDrawListSharedData) (Ptr Float) where
getField = #{ptr ImDrawListSharedData, FontScale}
instance HasField "curveTessellationMaxError" (Ptr ImDrawListSharedData) (Ptr Float) where
getField = #{ptr ImDrawListSharedData, CurveTessellationMaxError}
instance HasField "circleTessellationMaxError" (Ptr ImDrawListSharedData) (Ptr Float) where
getField = #{ptr ImDrawListSharedData, CircleTessellationMaxError}
instance HasField "initialDrawFlags" (Ptr ImDrawListSharedData) (Ptr ImDrawFlags) where
getField = #{ptr ImDrawListSharedData, InitialDrawFlags}
instance HasField "clipRectFullscreen" (Ptr ImDrawListSharedData) (Ptr ImVec4) where
getField = #{ptr ImDrawListSharedData, ClipRectFullscreen}
instance HasField "tempBuffer" (Ptr ImDrawListSharedData) (Ptr (ImVector ImVec2)) where
getField = #{ptr ImDrawListSharedData, TempBuffer}
instance HasField "drawLists" (Ptr ImDrawListSharedData) (Ptr (ImVector (Ptr ImDrawList))) where
getField = #{ptr ImDrawListSharedData, DrawLists}
instance HasField "context" (Ptr ImDrawListSharedData) (Ptr (Ptr ImGuiContext)) where
getField = #{ptr ImDrawListSharedData, Context}
instance HasField "arcFastVtx" (Ptr ImDrawListSharedData) (Ptr ImVec2) where
getField = #{ptr ImDrawListSharedData, ArcFastVtx}
arcFastVtxLength :: Int
arcFastVtxLength = #{const IM_DRAWLIST_ARCFAST_TABLE_SIZE}
instance HasField "arcFastRadiusCutoff" (Ptr ImDrawListSharedData) (Ptr Float) where
getField = #{ptr ImDrawListSharedData, ArcFastRadiusCutoff}
instance HasField "circleSegmentCounts" (Ptr ImDrawListSharedData) (Ptr ImU8) where
getField = #{ptr ImDrawListSharedData, CircleSegmentCounts}
circleSegmentCountsLength :: Int
circleSegmentCountsLength = #{const 64}
foreign import capi unsafe "DearImGuiWrappers.h ImDrawListSharedData_Init_wrap"
init
:: Ptr ImDrawListSharedData
-> IO ()
foreign import capi unsafe "DearImGuiWrappers.h ImDrawListSharedData_Destroy_wrap"
destroy
:: Ptr ImDrawListSharedData
-> IO ()
withDefault :: (Ptr ImDrawListSharedData -> IO a) -> IO a
withDefault k = alloca $ \p -> bracket_ (init p) (destroy p) (k p)
-- functions
-- C: void SetCircleTessellationMaxError(ImDrawListSharedData* self, float max_error)
foreign import capi unsafe "dcimgui_nodefaultargfunctions_internal.h ImDrawListSharedData_SetCircleTessellationMaxError"
setCircleTessellationMaxError
:: (Ptr ImDrawListSharedData) -- ^ self
-> Float -- ^ max_error
-> IO ()