{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GdkPixbuf.Structs.PixbufModulePattern
(
PixbufModulePattern(..) ,
newZeroPixbufModulePattern ,
#if defined(ENABLE_OVERLOADING)
ResolvePixbufModulePatternMethod ,
#endif
clearPixbufModulePatternMask ,
getPixbufModulePatternMask ,
#if defined(ENABLE_OVERLOADING)
pixbufModulePattern_mask ,
#endif
setPixbufModulePatternMask ,
clearPixbufModulePatternPrefix ,
getPixbufModulePatternPrefix ,
#if defined(ENABLE_OVERLOADING)
pixbufModulePattern_prefix ,
#endif
setPixbufModulePatternPrefix ,
getPixbufModulePatternRelevance ,
#if defined(ENABLE_OVERLOADING)
pixbufModulePattern_relevance ,
#endif
setPixbufModulePatternRelevance ,
) 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
newtype PixbufModulePattern = PixbufModulePattern (SP.ManagedPtr PixbufModulePattern)
deriving (PixbufModulePattern -> PixbufModulePattern -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PixbufModulePattern -> PixbufModulePattern -> Bool
$c/= :: PixbufModulePattern -> PixbufModulePattern -> Bool
== :: PixbufModulePattern -> PixbufModulePattern -> Bool
$c== :: PixbufModulePattern -> PixbufModulePattern -> Bool
Eq)
instance SP.ManagedPtrNewtype PixbufModulePattern where
toManagedPtr :: PixbufModulePattern -> ManagedPtr PixbufModulePattern
toManagedPtr (PixbufModulePattern ManagedPtr PixbufModulePattern
p) = ManagedPtr PixbufModulePattern
p
instance BoxedPtr PixbufModulePattern where
boxedPtrCopy :: PixbufModulePattern -> IO PixbufModulePattern
boxedPtrCopy = \PixbufModulePattern
p -> forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr PixbufModulePattern
p (forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
24 forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr PixbufModulePattern -> PixbufModulePattern
PixbufModulePattern)
boxedPtrFree :: PixbufModulePattern -> IO ()
boxedPtrFree = \PixbufModulePattern
x -> forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr PixbufModulePattern
x forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr PixbufModulePattern where
boxedPtrCalloc :: IO (Ptr PixbufModulePattern)
boxedPtrCalloc = forall a. Int -> IO (Ptr a)
callocBytes Int
24
newZeroPixbufModulePattern :: MonadIO m => m PixbufModulePattern
newZeroPixbufModulePattern :: forall (m :: * -> *). MonadIO m => m PixbufModulePattern
newZeroPixbufModulePattern = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr PixbufModulePattern -> PixbufModulePattern
PixbufModulePattern
instance tag ~ 'AttrSet => Constructible PixbufModulePattern tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr PixbufModulePattern -> PixbufModulePattern)
-> [AttrOp PixbufModulePattern tag] -> m PixbufModulePattern
new ManagedPtr PixbufModulePattern -> PixbufModulePattern
_ [AttrOp PixbufModulePattern tag]
attrs = do
PixbufModulePattern
o <- forall (m :: * -> *). MonadIO m => m PixbufModulePattern
newZeroPixbufModulePattern
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set PixbufModulePattern
o [AttrOp PixbufModulePattern tag]
attrs
forall (m :: * -> *) a. Monad m => a -> m a
return PixbufModulePattern
o
getPixbufModulePatternPrefix :: MonadIO m => PixbufModulePattern -> m (Maybe T.Text)
getPixbufModulePatternPrefix :: forall (m :: * -> *).
MonadIO m =>
PixbufModulePattern -> m (Maybe Text)
getPixbufModulePatternPrefix PixbufModulePattern
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
CString
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO CString
Maybe Text
result <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull CString
val forall a b. (a -> b) -> a -> b
$ \CString
val' -> do
Text
val'' <- HasCallStack => CString -> IO Text
cstringToText CString
val'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
val''
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
result
setPixbufModulePatternPrefix :: MonadIO m => PixbufModulePattern -> CString -> m ()
setPixbufModulePatternPrefix :: forall (m :: * -> *).
MonadIO m =>
PixbufModulePattern -> CString -> m ()
setPixbufModulePatternPrefix PixbufModulePattern
s CString
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (CString
val :: CString)
clearPixbufModulePatternPrefix :: MonadIO m => PixbufModulePattern -> m ()
clearPixbufModulePatternPrefix :: forall (m :: * -> *). MonadIO m => PixbufModulePattern -> m ()
clearPixbufModulePatternPrefix PixbufModulePattern
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (forall a. Ptr a
FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING)
data PixbufModulePatternPrefixFieldInfo
instance AttrInfo PixbufModulePatternPrefixFieldInfo where
type AttrBaseTypeConstraint PixbufModulePatternPrefixFieldInfo = (~) PixbufModulePattern
type AttrAllowedOps PixbufModulePatternPrefixFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint PixbufModulePatternPrefixFieldInfo = (~) CString
type AttrTransferTypeConstraint PixbufModulePatternPrefixFieldInfo = (~)CString
type AttrTransferType PixbufModulePatternPrefixFieldInfo = CString
type AttrGetType PixbufModulePatternPrefixFieldInfo = Maybe T.Text
type AttrLabel PixbufModulePatternPrefixFieldInfo = "prefix"
type AttrOrigin PixbufModulePatternPrefixFieldInfo = PixbufModulePattern
attrGet = getPixbufModulePatternPrefix
attrSet = setPixbufModulePatternPrefix
attrConstruct = undefined
attrClear = clearPixbufModulePatternPrefix
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GdkPixbuf.Structs.PixbufModulePattern.prefix"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdkpixbuf-2.0.29/docs/GI-GdkPixbuf-Structs-PixbufModulePattern.html#g:attr:prefix"
})
pixbufModulePattern_prefix :: AttrLabelProxy "prefix"
pixbufModulePattern_prefix = AttrLabelProxy
#endif
getPixbufModulePatternMask :: MonadIO m => PixbufModulePattern -> m (Maybe T.Text)
getPixbufModulePatternMask :: forall (m :: * -> *).
MonadIO m =>
PixbufModulePattern -> m (Maybe Text)
getPixbufModulePatternMask PixbufModulePattern
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
CString
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO CString
Maybe Text
result <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull CString
val forall a b. (a -> b) -> a -> b
$ \CString
val' -> do
Text
val'' <- HasCallStack => CString -> IO Text
cstringToText CString
val'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
val''
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
result
setPixbufModulePatternMask :: MonadIO m => PixbufModulePattern -> CString -> m ()
setPixbufModulePatternMask :: forall (m :: * -> *).
MonadIO m =>
PixbufModulePattern -> CString -> m ()
setPixbufModulePatternMask PixbufModulePattern
s CString
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (CString
val :: CString)
clearPixbufModulePatternMask :: MonadIO m => PixbufModulePattern -> m ()
clearPixbufModulePatternMask :: forall (m :: * -> *). MonadIO m => PixbufModulePattern -> m ()
clearPixbufModulePatternMask PixbufModulePattern
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (forall a. Ptr a
FP.nullPtr :: CString)
#if defined(ENABLE_OVERLOADING)
data PixbufModulePatternMaskFieldInfo
instance AttrInfo PixbufModulePatternMaskFieldInfo where
type AttrBaseTypeConstraint PixbufModulePatternMaskFieldInfo = (~) PixbufModulePattern
type AttrAllowedOps PixbufModulePatternMaskFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint PixbufModulePatternMaskFieldInfo = (~) CString
type AttrTransferTypeConstraint PixbufModulePatternMaskFieldInfo = (~)CString
type AttrTransferType PixbufModulePatternMaskFieldInfo = CString
type AttrGetType PixbufModulePatternMaskFieldInfo = Maybe T.Text
type AttrLabel PixbufModulePatternMaskFieldInfo = "mask"
type AttrOrigin PixbufModulePatternMaskFieldInfo = PixbufModulePattern
attrGet = getPixbufModulePatternMask
attrSet = setPixbufModulePatternMask
attrConstruct = undefined
attrClear = clearPixbufModulePatternMask
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GdkPixbuf.Structs.PixbufModulePattern.mask"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdkpixbuf-2.0.29/docs/GI-GdkPixbuf-Structs-PixbufModulePattern.html#g:attr:mask"
})
pixbufModulePattern_mask :: AttrLabelProxy "mask"
pixbufModulePattern_mask = AttrLabelProxy
#endif
getPixbufModulePatternRelevance :: MonadIO m => PixbufModulePattern -> m Int32
getPixbufModulePatternRelevance :: forall (m :: * -> *). MonadIO m => PixbufModulePattern -> m Int32
getPixbufModulePatternRelevance PixbufModulePattern
s = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
Int32
val <- forall a. Storable a => Ptr a -> IO a
peek (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
val
setPixbufModulePatternRelevance :: MonadIO m => PixbufModulePattern -> Int32 -> m ()
setPixbufModulePatternRelevance :: forall (m :: * -> *).
MonadIO m =>
PixbufModulePattern -> Int32 -> m ()
setPixbufModulePatternRelevance PixbufModulePattern
s Int32
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr PixbufModulePattern
s forall a b. (a -> b) -> a -> b
$ \Ptr PixbufModulePattern
ptr -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr PixbufModulePattern
ptr forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Int32
val :: Int32)
#if defined(ENABLE_OVERLOADING)
data PixbufModulePatternRelevanceFieldInfo
instance AttrInfo PixbufModulePatternRelevanceFieldInfo where
type AttrBaseTypeConstraint PixbufModulePatternRelevanceFieldInfo = (~) PixbufModulePattern
type AttrAllowedOps PixbufModulePatternRelevanceFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PixbufModulePatternRelevanceFieldInfo = (~) Int32
type AttrTransferTypeConstraint PixbufModulePatternRelevanceFieldInfo = (~)Int32
type AttrTransferType PixbufModulePatternRelevanceFieldInfo = Int32
type AttrGetType PixbufModulePatternRelevanceFieldInfo = Int32
type AttrLabel PixbufModulePatternRelevanceFieldInfo = "relevance"
type AttrOrigin PixbufModulePatternRelevanceFieldInfo = PixbufModulePattern
attrGet = getPixbufModulePatternRelevance
attrSet = setPixbufModulePatternRelevance
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GdkPixbuf.Structs.PixbufModulePattern.relevance"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdkpixbuf-2.0.29/docs/GI-GdkPixbuf-Structs-PixbufModulePattern.html#g:attr:relevance"
})
pixbufModulePattern_relevance :: AttrLabelProxy "relevance"
pixbufModulePattern_relevance = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList PixbufModulePattern
type instance O.AttributeList PixbufModulePattern = PixbufModulePatternAttributeList
type PixbufModulePatternAttributeList = ('[ '("prefix", PixbufModulePatternPrefixFieldInfo), '("mask", PixbufModulePatternMaskFieldInfo), '("relevance", PixbufModulePatternRelevanceFieldInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolvePixbufModulePatternMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolvePixbufModulePatternMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePixbufModulePatternMethod t PixbufModulePattern, O.OverloadedMethod info PixbufModulePattern p) => OL.IsLabel t (PixbufModulePattern -> 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 ~ ResolvePixbufModulePatternMethod t PixbufModulePattern, O.OverloadedMethod info PixbufModulePattern p, R.HasField t PixbufModulePattern p) => R.HasField t PixbufModulePattern p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolvePixbufModulePatternMethod t PixbufModulePattern, O.OverloadedMethodInfo info PixbufModulePattern) => OL.IsLabel t (O.MethodProxy info PixbufModulePattern) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif