{-# LANGUAGE TypeApplications #-}
#if !defined(__HADDOCK_VERSION__)
#define ENABLE_OVERLOADING
#endif
module GI.Pango.Objects.Coverage
(
Coverage(..) ,
IsCoverage ,
toCoverage ,
#if defined(ENABLE_OVERLOADING)
ResolveCoverageMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
CoverageCopyMethodInfo ,
#endif
coverageCopy ,
coverageFromBytes ,
#if defined(ENABLE_OVERLOADING)
CoverageGetMethodInfo ,
#endif
coverageGet ,
#if defined(ENABLE_OVERLOADING)
CoverageMaxMethodInfo ,
#endif
coverageMax ,
coverageNew ,
#if defined(ENABLE_OVERLOADING)
CoverageRefMethodInfo ,
#endif
coverageRef ,
#if defined(ENABLE_OVERLOADING)
CoverageSetMethodInfo ,
#endif
coverageSet ,
#if defined(ENABLE_OVERLOADING)
CoverageToBytesMethodInfo ,
#endif
coverageToBytes ,
#if defined(ENABLE_OVERLOADING)
CoverageUnrefMethodInfo ,
#endif
coverageUnref ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Pango.Enums as Pango.Enums
#else
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Pango.Enums as Pango.Enums
#endif
newtype Coverage = Coverage (SP.ManagedPtr Coverage)
deriving (Coverage -> Coverage -> Bool
(Coverage -> Coverage -> Bool)
-> (Coverage -> Coverage -> Bool) -> Eq Coverage
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Coverage -> Coverage -> Bool
== :: Coverage -> Coverage -> Bool
$c/= :: Coverage -> Coverage -> Bool
/= :: Coverage -> Coverage -> Bool
Eq)
instance SP.ManagedPtrNewtype Coverage where
toManagedPtr :: Coverage -> ManagedPtr Coverage
toManagedPtr (Coverage ManagedPtr Coverage
p) = ManagedPtr Coverage
p
foreign import ccall "pango_coverage_get_type"
c_pango_coverage_get_type :: IO B.Types.GType
instance B.Types.TypedObject Coverage where
glibType :: IO GType
glibType = IO GType
c_pango_coverage_get_type
instance B.Types.GObject Coverage
class (SP.GObject o, O.IsDescendantOf Coverage o) => IsCoverage o
instance (SP.GObject o, O.IsDescendantOf Coverage o) => IsCoverage o
instance O.HasParentTypes Coverage
type instance O.ParentTypes Coverage = '[GObject.Object.Object]
toCoverage :: (MIO.MonadIO m, IsCoverage o) => o -> m Coverage
toCoverage :: forall (m :: * -> *) o.
(MonadIO m, IsCoverage o) =>
o -> m Coverage
toCoverage = IO Coverage -> m Coverage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Coverage -> m Coverage)
-> (o -> IO Coverage) -> o -> m Coverage
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Coverage -> Coverage) -> o -> IO Coverage
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Coverage -> Coverage
Coverage
instance B.GValue.IsGValue (Maybe Coverage) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_pango_coverage_get_type
gvalueSet_ :: Ptr GValue -> Maybe Coverage -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Coverage
P.Nothing = Ptr GValue -> Ptr Coverage -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Coverage
forall a. Ptr a
FP.nullPtr :: FP.Ptr Coverage)
gvalueSet_ Ptr GValue
gv (P.Just Coverage
obj) = Coverage -> (Ptr Coverage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Coverage
obj (Ptr GValue -> Ptr Coverage -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Coverage)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr Coverage)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Coverage)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject Coverage ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveCoverageMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveCoverageMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveCoverageMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveCoverageMethod "copy" o = CoverageCopyMethodInfo
ResolveCoverageMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveCoverageMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveCoverageMethod "get" o = CoverageGetMethodInfo
ResolveCoverageMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveCoverageMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveCoverageMethod "max" o = CoverageMaxMethodInfo
ResolveCoverageMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveCoverageMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveCoverageMethod "ref" o = CoverageRefMethodInfo
ResolveCoverageMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveCoverageMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveCoverageMethod "set" o = CoverageSetMethodInfo
ResolveCoverageMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveCoverageMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveCoverageMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveCoverageMethod "toBytes" o = CoverageToBytesMethodInfo
ResolveCoverageMethod "unref" o = CoverageUnrefMethodInfo
ResolveCoverageMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveCoverageMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveCoverageMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveCoverageMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveCoverageMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveCoverageMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveCoverageMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveCoverageMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCoverageMethod t Coverage, O.OverloadedMethod info Coverage p) => OL.IsLabel t (Coverage -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveCoverageMethod t Coverage, O.OverloadedMethod info Coverage p, R.HasField t Coverage p) => R.HasField t Coverage p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveCoverageMethod t Coverage, O.OverloadedMethodInfo info Coverage) => OL.IsLabel t (O.MethodProxy info Coverage) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Coverage
type instance O.AttributeList Coverage = CoverageAttributeList
type CoverageAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Coverage = CoverageSignalList
type CoverageSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "pango_coverage_new" pango_coverage_new ::
IO (Ptr Coverage)
coverageNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Coverage
coverageNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Coverage
coverageNew = IO Coverage -> m Coverage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Coverage -> m Coverage) -> IO Coverage -> m Coverage
forall a b. (a -> b) -> a -> b
$ do
result <- IO (Ptr Coverage)
pango_coverage_new
checkUnexpectedReturnNULL "coverageNew" result
result' <- (wrapObject Coverage) result
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "pango_coverage_copy" pango_coverage_copy ::
Ptr Coverage ->
IO (Ptr Coverage)
coverageCopy ::
(B.CallStack.HasCallStack, MonadIO m, IsCoverage a) =>
a
-> m Coverage
coverageCopy :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCoverage a) =>
a -> m Coverage
coverageCopy a
coverage = IO Coverage -> m Coverage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Coverage -> m Coverage) -> IO Coverage -> m Coverage
forall a b. (a -> b) -> a -> b
$ do
coverage' <- a -> IO (Ptr Coverage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
coverage
result <- pango_coverage_copy coverage'
checkUnexpectedReturnNULL "coverageCopy" result
result' <- (wrapObject Coverage) result
touchManagedPtr coverage
return result'
#if defined(ENABLE_OVERLOADING)
data CoverageCopyMethodInfo
instance (signature ~ (m Coverage), MonadIO m, IsCoverage a) => O.OverloadedMethod CoverageCopyMethodInfo a signature where
overloadedMethod = coverageCopy
instance O.OverloadedMethodInfo CoverageCopyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Objects.Coverage.coverageCopy",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Objects-Coverage.html#v:coverageCopy"
})
#endif
foreign import ccall "pango_coverage_get" pango_coverage_get ::
Ptr Coverage ->
Int32 ->
IO CUInt
coverageGet ::
(B.CallStack.HasCallStack, MonadIO m, IsCoverage a) =>
a
-> Int32
-> m Pango.Enums.CoverageLevel
coverageGet :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCoverage a) =>
a -> Int32 -> m CoverageLevel
coverageGet a
coverage Int32
index_ = IO CoverageLevel -> m CoverageLevel
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CoverageLevel -> m CoverageLevel)
-> IO CoverageLevel -> m CoverageLevel
forall a b. (a -> b) -> a -> b
$ do
coverage' <- a -> IO (Ptr Coverage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
coverage
result <- pango_coverage_get coverage' index_
let result' = (Int -> CoverageLevel
forall a. Enum a => Int -> a
toEnum (Int -> CoverageLevel) -> (CUInt -> Int) -> CUInt -> CoverageLevel
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
touchManagedPtr coverage
return result'
#if defined(ENABLE_OVERLOADING)
data CoverageGetMethodInfo
instance (signature ~ (Int32 -> m Pango.Enums.CoverageLevel), MonadIO m, IsCoverage a) => O.OverloadedMethod CoverageGetMethodInfo a signature where
overloadedMethod = coverageGet
instance O.OverloadedMethodInfo CoverageGetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Objects.Coverage.coverageGet",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Objects-Coverage.html#v:coverageGet"
})
#endif
foreign import ccall "pango_coverage_max" pango_coverage_max ::
Ptr Coverage ->
Ptr Coverage ->
IO ()
{-# DEPRECATED coverageMax ["(Since version 1.44)","This function does nothing"] #-}
coverageMax ::
(B.CallStack.HasCallStack, MonadIO m, IsCoverage a, IsCoverage b) =>
a
-> b
-> m ()
coverageMax :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsCoverage a, IsCoverage b) =>
a -> b -> m ()
coverageMax a
coverage b
other = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
coverage' <- a -> IO (Ptr Coverage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
coverage
other' <- unsafeManagedPtrCastPtr other
pango_coverage_max coverage' other'
touchManagedPtr coverage
touchManagedPtr other
return ()
#if defined(ENABLE_OVERLOADING)
data CoverageMaxMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsCoverage a, IsCoverage b) => O.OverloadedMethod CoverageMaxMethodInfo a signature where
overloadedMethod = coverageMax
instance O.OverloadedMethodInfo CoverageMaxMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Objects.Coverage.coverageMax",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Objects-Coverage.html#v:coverageMax"
})
#endif
foreign import ccall "pango_coverage_ref" pango_coverage_ref ::
Ptr Coverage ->
IO (Ptr Coverage)
{-# DEPRECATED coverageRef ["(Since version 1.52)","Use g_object_ref instead"] #-}
coverageRef ::
(B.CallStack.HasCallStack, MonadIO m, IsCoverage a) =>
a
-> m Coverage
coverageRef :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCoverage a) =>
a -> m Coverage
coverageRef a
coverage = IO Coverage -> m Coverage
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Coverage -> m Coverage) -> IO Coverage -> m Coverage
forall a b. (a -> b) -> a -> b
$ do
coverage' <- a -> IO (Ptr Coverage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
coverage
result <- pango_coverage_ref coverage'
checkUnexpectedReturnNULL "coverageRef" result
result' <- (wrapObject Coverage) result
touchManagedPtr coverage
return result'
#if defined(ENABLE_OVERLOADING)
data CoverageRefMethodInfo
instance (signature ~ (m Coverage), MonadIO m, IsCoverage a) => O.OverloadedMethod CoverageRefMethodInfo a signature where
overloadedMethod = coverageRef
instance O.OverloadedMethodInfo CoverageRefMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Objects.Coverage.coverageRef",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Objects-Coverage.html#v:coverageRef"
})
#endif
foreign import ccall "pango_coverage_set" pango_coverage_set ::
Ptr Coverage ->
Int32 ->
CUInt ->
IO ()
coverageSet ::
(B.CallStack.HasCallStack, MonadIO m, IsCoverage a) =>
a
-> Int32
-> Pango.Enums.CoverageLevel
-> m ()
coverageSet :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCoverage a) =>
a -> Int32 -> CoverageLevel -> m ()
coverageSet a
coverage Int32
index_ CoverageLevel
level = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
coverage' <- a -> IO (Ptr Coverage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
coverage
let level' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (CoverageLevel -> Int) -> CoverageLevel -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CoverageLevel -> Int
forall a. Enum a => a -> Int
fromEnum) CoverageLevel
level
pango_coverage_set coverage' index_ level'
touchManagedPtr coverage
return ()
#if defined(ENABLE_OVERLOADING)
data CoverageSetMethodInfo
instance (signature ~ (Int32 -> Pango.Enums.CoverageLevel -> m ()), MonadIO m, IsCoverage a) => O.OverloadedMethod CoverageSetMethodInfo a signature where
overloadedMethod = coverageSet
instance O.OverloadedMethodInfo CoverageSetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Objects.Coverage.coverageSet",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Objects-Coverage.html#v:coverageSet"
})
#endif
foreign import ccall "pango_coverage_to_bytes" pango_coverage_to_bytes ::
Ptr Coverage ->
Ptr (Ptr Word8) ->
Ptr Int32 ->
IO ()
{-# DEPRECATED coverageToBytes ["(Since version 1.44)","This returns 'P.Nothing'"] #-}
coverageToBytes ::
(B.CallStack.HasCallStack, MonadIO m, IsCoverage a) =>
a
-> m (ByteString)
coverageToBytes :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCoverage a) =>
a -> m ByteString
coverageToBytes a
coverage = IO ByteString -> m ByteString
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ByteString -> m ByteString) -> IO ByteString -> m ByteString
forall a b. (a -> b) -> a -> b
$ do
coverage' <- a -> IO (Ptr Coverage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
coverage
bytes <- callocMem :: IO (Ptr (Ptr Word8))
nBytes <- allocMem :: IO (Ptr Int32)
pango_coverage_to_bytes coverage' bytes nBytes
nBytes' <- peek nBytes
bytes' <- peek bytes
bytes'' <- (unpackByteStringWithLength nBytes') bytes'
freeMem bytes'
touchManagedPtr coverage
freeMem bytes
freeMem nBytes
return bytes''
#if defined(ENABLE_OVERLOADING)
data CoverageToBytesMethodInfo
instance (signature ~ (m (ByteString)), MonadIO m, IsCoverage a) => O.OverloadedMethod CoverageToBytesMethodInfo a signature where
overloadedMethod = coverageToBytes
instance O.OverloadedMethodInfo CoverageToBytesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Objects.Coverage.coverageToBytes",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Objects-Coverage.html#v:coverageToBytes"
})
#endif
foreign import ccall "pango_coverage_unref" pango_coverage_unref ::
Ptr Coverage ->
IO ()
{-# DEPRECATED coverageUnref ["(Since version 1.52)","Use g_object_unref instead"] #-}
coverageUnref ::
(B.CallStack.HasCallStack, MonadIO m, IsCoverage a) =>
a
-> m ()
coverageUnref :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCoverage a) =>
a -> m ()
coverageUnref a
coverage = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
coverage' <- a -> IO (Ptr Coverage)
forall a b. (HasCallStack, GObject a) => a -> IO (Ptr b)
B.ManagedPtr.disownObject a
coverage
pango_coverage_unref coverage'
touchManagedPtr coverage
return ()
#if defined(ENABLE_OVERLOADING)
data CoverageUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m, IsCoverage a) => O.OverloadedMethod CoverageUnrefMethodInfo a signature where
overloadedMethod = coverageUnref
instance O.OverloadedMethodInfo CoverageUnrefMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Pango.Objects.Coverage.coverageUnref",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-pango-1.0.30/docs/GI-Pango-Objects-Coverage.html#v:coverageUnref"
})
#endif
foreign import ccall "pango_coverage_from_bytes" pango_coverage_from_bytes ::
Ptr Word8 ->
Int32 ->
IO (Ptr Coverage)
{-# DEPRECATED coverageFromBytes ["(Since version 1.44)","This returns 'P.Nothing'"] #-}
coverageFromBytes ::
(B.CallStack.HasCallStack, MonadIO m) =>
ByteString
-> m (Maybe Coverage)
coverageFromBytes :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ByteString -> m (Maybe Coverage)
coverageFromBytes ByteString
bytes = IO (Maybe Coverage) -> m (Maybe Coverage)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Coverage) -> m (Maybe Coverage))
-> IO (Maybe Coverage) -> m (Maybe Coverage)
forall a b. (a -> b) -> a -> b
$ do
let nBytes :: Int32
nBytes = Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ ByteString -> Int
B.length ByteString
bytes
bytes' <- ByteString -> IO (Ptr Word8)
packByteString ByteString
bytes
result <- pango_coverage_from_bytes bytes' nBytes
maybeResult <- convertIfNonNull result $ \Ptr Coverage
result' -> do
result'' <- ((ManagedPtr Coverage -> Coverage) -> Ptr Coverage -> IO Coverage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Coverage -> Coverage
Coverage) Ptr Coverage
result'
return result''
freeMem bytes'
return maybeResult
#if defined(ENABLE_OVERLOADING)
#endif