{-# LANGUAGE CApiFFI #-} module OpenCascade.RWGltf.CafReader ( CafReader , new , setDoublePrecision ) where import OpenCascade.RWGltf.Types (CafReader) import OpenCascade.RWGltf.Internal.Destructors (deleteCafReader) import Data.Acquire (Acquire, mkAcquire) import OpenCascade.Internal.Bool (boolToCBool) import Foreign.C (CBool (..)) import Foreign.Ptr (Ptr) foreign import capi unsafe "hs_RWGltf_CafReader.h hs_new_RWGltf_CafReader" rawNew :: IO (Ptr CafReader) new :: Acquire (Ptr CafReader) new :: Acquire (Ptr CafReader) new = IO (Ptr CafReader) -> (Ptr CafReader -> IO ()) -> Acquire (Ptr CafReader) forall a. IO a -> (a -> IO ()) -> Acquire a mkAcquire IO (Ptr CafReader) rawNew Ptr CafReader -> IO () deleteCafReader foreign import capi unsafe "hs_RWGltf_CafReader.h hs_RWGltf_CafReader_setDoublePrecision" rawSetDoublePrecision :: Ptr CafReader -> CBool -> IO () setDoublePrecision :: Ptr CafReader -> Bool -> IO () setDoublePrecision :: Ptr CafReader -> Bool -> IO () setDoublePrecision Ptr CafReader reader Bool isDouble = Ptr CafReader -> CBool -> IO () rawSetDoublePrecision Ptr CafReader reader (Bool -> CBool boolToCBool Bool isDouble)