{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Wnck.Structs.ResourceUsage
(
ResourceUsage(..) ,
newZeroResourceUsage ,
#if defined(ENABLE_OVERLOADING)
ResolveResourceUsageMethod ,
#endif
getResourceUsageNColormapEntries ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nColormapEntries ,
#endif
setResourceUsageNColormapEntries ,
getResourceUsageNCursors ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nCursors ,
#endif
setResourceUsageNCursors ,
getResourceUsageNFonts ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nFonts ,
#endif
setResourceUsageNFonts ,
getResourceUsageNGcs ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nGcs ,
#endif
setResourceUsageNGcs ,
getResourceUsageNGlyphsets ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nGlyphsets ,
#endif
setResourceUsageNGlyphsets ,
getResourceUsageNOther ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nOther ,
#endif
setResourceUsageNOther ,
getResourceUsageNPassiveGrabs ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nPassiveGrabs ,
#endif
setResourceUsageNPassiveGrabs ,
getResourceUsageNPictures ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nPictures ,
#endif
setResourceUsageNPictures ,
getResourceUsageNPixmaps ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nPixmaps ,
#endif
setResourceUsageNPixmaps ,
getResourceUsageNWindows ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_nWindows ,
#endif
setResourceUsageNWindows ,
getResourceUsagePixmapBytes ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_pixmapBytes ,
#endif
setResourceUsagePixmapBytes ,
getResourceUsageTotalBytesEstimate ,
#if defined(ENABLE_OVERLOADING)
resourceUsage_totalBytesEstimate ,
#endif
setResourceUsageTotalBytesEstimate ,
) 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.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.Text as T
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 ResourceUsage = ResourceUsage (SP.ManagedPtr ResourceUsage)
deriving (ResourceUsage -> ResourceUsage -> Bool
(ResourceUsage -> ResourceUsage -> Bool)
-> (ResourceUsage -> ResourceUsage -> Bool) -> Eq ResourceUsage
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceUsage -> ResourceUsage -> Bool
$c/= :: ResourceUsage -> ResourceUsage -> Bool
== :: ResourceUsage -> ResourceUsage -> Bool
$c== :: ResourceUsage -> ResourceUsage -> Bool
Eq)
instance SP.ManagedPtrNewtype ResourceUsage where
toManagedPtr :: ResourceUsage -> ManagedPtr ResourceUsage
toManagedPtr (ResourceUsage ManagedPtr ResourceUsage
p) = ManagedPtr ResourceUsage
p
instance BoxedPtr ResourceUsage where
boxedPtrCopy :: ResourceUsage -> IO ResourceUsage
boxedPtrCopy = \ResourceUsage
p -> ResourceUsage
-> (Ptr ResourceUsage -> IO ResourceUsage) -> IO ResourceUsage
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ResourceUsage
p (Int -> Ptr ResourceUsage -> IO (Ptr ResourceUsage)
forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
112 (Ptr ResourceUsage -> IO (Ptr ResourceUsage))
-> (Ptr ResourceUsage -> IO ResourceUsage)
-> Ptr ResourceUsage
-> IO ResourceUsage
forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> (ManagedPtr ResourceUsage -> ResourceUsage)
-> Ptr ResourceUsage -> IO ResourceUsage
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr ResourceUsage -> ResourceUsage
ResourceUsage)
boxedPtrFree :: ResourceUsage -> IO ()
boxedPtrFree = \ResourceUsage
x -> ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr ResourceUsage
x Ptr ResourceUsage -> IO ()
forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr ResourceUsage where
boxedPtrCalloc :: IO (Ptr ResourceUsage)
boxedPtrCalloc = Int -> IO (Ptr ResourceUsage)
forall a. Int -> IO (Ptr a)
callocBytes Int
112
newZeroResourceUsage :: MonadIO m => m ResourceUsage
newZeroResourceUsage :: forall (m :: * -> *). MonadIO m => m ResourceUsage
newZeroResourceUsage = IO ResourceUsage -> m ResourceUsage
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ResourceUsage -> m ResourceUsage)
-> IO ResourceUsage -> m ResourceUsage
forall a b. (a -> b) -> a -> b
$ IO (Ptr ResourceUsage)
forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc IO (Ptr ResourceUsage)
-> (Ptr ResourceUsage -> IO ResourceUsage) -> IO ResourceUsage
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr ResourceUsage -> ResourceUsage)
-> Ptr ResourceUsage -> IO ResourceUsage
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr ResourceUsage -> ResourceUsage
ResourceUsage
instance tag ~ 'AttrSet => Constructible ResourceUsage tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr ResourceUsage -> ResourceUsage)
-> [AttrOp ResourceUsage tag] -> m ResourceUsage
new ManagedPtr ResourceUsage -> ResourceUsage
_ [AttrOp ResourceUsage tag]
attrs = do
ResourceUsage
o <- m ResourceUsage
forall (m :: * -> *). MonadIO m => m ResourceUsage
newZeroResourceUsage
ResourceUsage -> [AttrOp ResourceUsage 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set ResourceUsage
o [AttrOp ResourceUsage tag]
[AttrOp ResourceUsage 'AttrSet]
attrs
ResourceUsage -> m ResourceUsage
forall (m :: * -> *) a. Monad m => a -> m a
return ResourceUsage
o
getResourceUsageTotalBytesEstimate :: MonadIO m => ResourceUsage -> m CULong
getResourceUsageTotalBytesEstimate :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m CULong
getResourceUsageTotalBytesEstimate ResourceUsage
s = IO CULong -> m CULong
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO CULong) -> IO CULong
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO CULong) -> IO CULong)
-> (Ptr ResourceUsage -> IO CULong) -> IO CULong
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
CULong
val <- Ptr CULong -> IO CULong
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr CULong
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO CULong
CULong -> IO CULong
forall (m :: * -> *) a. Monad m => a -> m a
return CULong
val
setResourceUsageTotalBytesEstimate :: MonadIO m => ResourceUsage -> CULong -> m ()
setResourceUsageTotalBytesEstimate :: forall (m :: * -> *). MonadIO m => ResourceUsage -> CULong -> m ()
setResourceUsageTotalBytesEstimate ResourceUsage
s CULong
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr CULong -> CULong -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr CULong
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (CULong
val :: CULong)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageTotalBytesEstimateFieldInfo
instance AttrInfo ResourceUsageTotalBytesEstimateFieldInfo where
type AttrBaseTypeConstraint ResourceUsageTotalBytesEstimateFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageTotalBytesEstimateFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageTotalBytesEstimateFieldInfo = (~) CULong
type AttrTransferTypeConstraint ResourceUsageTotalBytesEstimateFieldInfo = (~)CULong
type AttrTransferType ResourceUsageTotalBytesEstimateFieldInfo = CULong
type AttrGetType ResourceUsageTotalBytesEstimateFieldInfo = CULong
type AttrLabel ResourceUsageTotalBytesEstimateFieldInfo = "total_bytes_estimate"
type AttrOrigin ResourceUsageTotalBytesEstimateFieldInfo = ResourceUsage
attrGet = getResourceUsageTotalBytesEstimate
attrSet = setResourceUsageTotalBytesEstimate
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_totalBytesEstimate :: AttrLabelProxy "totalBytesEstimate"
resourceUsage_totalBytesEstimate = AttrLabelProxy
#endif
getResourceUsagePixmapBytes :: MonadIO m => ResourceUsage -> m CULong
getResourceUsagePixmapBytes :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m CULong
getResourceUsagePixmapBytes ResourceUsage
s = IO CULong -> m CULong
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO CULong) -> IO CULong
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO CULong) -> IO CULong)
-> (Ptr ResourceUsage -> IO CULong) -> IO CULong
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
CULong
val <- Ptr CULong -> IO CULong
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr CULong
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO CULong
CULong -> IO CULong
forall (m :: * -> *) a. Monad m => a -> m a
return CULong
val
setResourceUsagePixmapBytes :: MonadIO m => ResourceUsage -> CULong -> m ()
setResourceUsagePixmapBytes :: forall (m :: * -> *). MonadIO m => ResourceUsage -> CULong -> m ()
setResourceUsagePixmapBytes ResourceUsage
s CULong
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr CULong -> CULong -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr CULong
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (CULong
val :: CULong)
#if defined(ENABLE_OVERLOADING)
data ResourceUsagePixmapBytesFieldInfo
instance AttrInfo ResourceUsagePixmapBytesFieldInfo where
type AttrBaseTypeConstraint ResourceUsagePixmapBytesFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsagePixmapBytesFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsagePixmapBytesFieldInfo = (~) CULong
type AttrTransferTypeConstraint ResourceUsagePixmapBytesFieldInfo = (~)CULong
type AttrTransferType ResourceUsagePixmapBytesFieldInfo = CULong
type AttrGetType ResourceUsagePixmapBytesFieldInfo = CULong
type AttrLabel ResourceUsagePixmapBytesFieldInfo = "pixmap_bytes"
type AttrOrigin ResourceUsagePixmapBytesFieldInfo = ResourceUsage
attrGet = getResourceUsagePixmapBytes
attrSet = setResourceUsagePixmapBytes
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_pixmapBytes :: AttrLabelProxy "pixmapBytes"
resourceUsage_pixmapBytes = AttrLabelProxy
#endif
getResourceUsageNPixmaps :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNPixmaps :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNPixmaps ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNPixmaps :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNPixmaps :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNPixmaps ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNPixmapsFieldInfo
instance AttrInfo ResourceUsageNPixmapsFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNPixmapsFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNPixmapsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNPixmapsFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNPixmapsFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNPixmapsFieldInfo = Word32
type AttrGetType ResourceUsageNPixmapsFieldInfo = Word32
type AttrLabel ResourceUsageNPixmapsFieldInfo = "n_pixmaps"
type AttrOrigin ResourceUsageNPixmapsFieldInfo = ResourceUsage
attrGet = getResourceUsageNPixmaps
attrSet = setResourceUsageNPixmaps
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nPixmaps :: AttrLabelProxy "nPixmaps"
resourceUsage_nPixmaps = AttrLabelProxy
#endif
getResourceUsageNWindows :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNWindows :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNWindows ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNWindows :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNWindows :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNWindows ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNWindowsFieldInfo
instance AttrInfo ResourceUsageNWindowsFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNWindowsFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNWindowsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNWindowsFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNWindowsFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNWindowsFieldInfo = Word32
type AttrGetType ResourceUsageNWindowsFieldInfo = Word32
type AttrLabel ResourceUsageNWindowsFieldInfo = "n_windows"
type AttrOrigin ResourceUsageNWindowsFieldInfo = ResourceUsage
attrGet = getResourceUsageNWindows
attrSet = setResourceUsageNWindows
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nWindows :: AttrLabelProxy "nWindows"
resourceUsage_nWindows = AttrLabelProxy
#endif
getResourceUsageNGcs :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNGcs :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNGcs ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNGcs :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNGcs :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNGcs ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNGcsFieldInfo
instance AttrInfo ResourceUsageNGcsFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNGcsFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNGcsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNGcsFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNGcsFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNGcsFieldInfo = Word32
type AttrGetType ResourceUsageNGcsFieldInfo = Word32
type AttrLabel ResourceUsageNGcsFieldInfo = "n_gcs"
type AttrOrigin ResourceUsageNGcsFieldInfo = ResourceUsage
attrGet = getResourceUsageNGcs
attrSet = setResourceUsageNGcs
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nGcs :: AttrLabelProxy "nGcs"
resourceUsage_nGcs = AttrLabelProxy
#endif
getResourceUsageNPictures :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNPictures :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNPictures ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNPictures :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNPictures :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNPictures ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNPicturesFieldInfo
instance AttrInfo ResourceUsageNPicturesFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNPicturesFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNPicturesFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNPicturesFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNPicturesFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNPicturesFieldInfo = Word32
type AttrGetType ResourceUsageNPicturesFieldInfo = Word32
type AttrLabel ResourceUsageNPicturesFieldInfo = "n_pictures"
type AttrOrigin ResourceUsageNPicturesFieldInfo = ResourceUsage
attrGet = getResourceUsageNPictures
attrSet = setResourceUsageNPictures
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nPictures :: AttrLabelProxy "nPictures"
resourceUsage_nPictures = AttrLabelProxy
#endif
getResourceUsageNGlyphsets :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNGlyphsets :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNGlyphsets ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNGlyphsets :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNGlyphsets :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNGlyphsets ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNGlyphsetsFieldInfo
instance AttrInfo ResourceUsageNGlyphsetsFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNGlyphsetsFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNGlyphsetsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNGlyphsetsFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNGlyphsetsFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNGlyphsetsFieldInfo = Word32
type AttrGetType ResourceUsageNGlyphsetsFieldInfo = Word32
type AttrLabel ResourceUsageNGlyphsetsFieldInfo = "n_glyphsets"
type AttrOrigin ResourceUsageNGlyphsetsFieldInfo = ResourceUsage
attrGet = getResourceUsageNGlyphsets
attrSet = setResourceUsageNGlyphsets
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nGlyphsets :: AttrLabelProxy "nGlyphsets"
resourceUsage_nGlyphsets = AttrLabelProxy
#endif
getResourceUsageNFonts :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNFonts :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNFonts ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNFonts :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNFonts :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNFonts ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNFontsFieldInfo
instance AttrInfo ResourceUsageNFontsFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNFontsFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNFontsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNFontsFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNFontsFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNFontsFieldInfo = Word32
type AttrGetType ResourceUsageNFontsFieldInfo = Word32
type AttrLabel ResourceUsageNFontsFieldInfo = "n_fonts"
type AttrOrigin ResourceUsageNFontsFieldInfo = ResourceUsage
attrGet = getResourceUsageNFonts
attrSet = setResourceUsageNFonts
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nFonts :: AttrLabelProxy "nFonts"
resourceUsage_nFonts = AttrLabelProxy
#endif
getResourceUsageNColormapEntries :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNColormapEntries :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNColormapEntries ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNColormapEntries :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNColormapEntries :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNColormapEntries ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNColormapEntriesFieldInfo
instance AttrInfo ResourceUsageNColormapEntriesFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNColormapEntriesFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNColormapEntriesFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNColormapEntriesFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNColormapEntriesFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNColormapEntriesFieldInfo = Word32
type AttrGetType ResourceUsageNColormapEntriesFieldInfo = Word32
type AttrLabel ResourceUsageNColormapEntriesFieldInfo = "n_colormap_entries"
type AttrOrigin ResourceUsageNColormapEntriesFieldInfo = ResourceUsage
attrGet = getResourceUsageNColormapEntries
attrSet = setResourceUsageNColormapEntries
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nColormapEntries :: AttrLabelProxy "nColormapEntries"
resourceUsage_nColormapEntries = AttrLabelProxy
#endif
getResourceUsageNPassiveGrabs :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNPassiveGrabs :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNPassiveGrabs ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNPassiveGrabs :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNPassiveGrabs :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNPassiveGrabs ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNPassiveGrabsFieldInfo
instance AttrInfo ResourceUsageNPassiveGrabsFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNPassiveGrabsFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNPassiveGrabsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNPassiveGrabsFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNPassiveGrabsFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNPassiveGrabsFieldInfo = Word32
type AttrGetType ResourceUsageNPassiveGrabsFieldInfo = Word32
type AttrLabel ResourceUsageNPassiveGrabsFieldInfo = "n_passive_grabs"
type AttrOrigin ResourceUsageNPassiveGrabsFieldInfo = ResourceUsage
attrGet = getResourceUsageNPassiveGrabs
attrSet = setResourceUsageNPassiveGrabs
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nPassiveGrabs :: AttrLabelProxy "nPassiveGrabs"
resourceUsage_nPassiveGrabs = AttrLabelProxy
#endif
getResourceUsageNCursors :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNCursors :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNCursors ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNCursors :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNCursors :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNCursors ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNCursorsFieldInfo
instance AttrInfo ResourceUsageNCursorsFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNCursorsFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNCursorsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNCursorsFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNCursorsFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNCursorsFieldInfo = Word32
type AttrGetType ResourceUsageNCursorsFieldInfo = Word32
type AttrLabel ResourceUsageNCursorsFieldInfo = "n_cursors"
type AttrOrigin ResourceUsageNCursorsFieldInfo = ResourceUsage
attrGet = getResourceUsageNCursors
attrSet = setResourceUsageNCursors
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nCursors :: AttrLabelProxy "nCursors"
resourceUsage_nCursors = AttrLabelProxy
#endif
getResourceUsageNOther :: MonadIO m => ResourceUsage -> m Word32
getResourceUsageNOther :: forall (m :: * -> *). MonadIO m => ResourceUsage -> m Word32
getResourceUsageNOther ResourceUsage
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO Word32) -> IO Word32)
-> (Ptr ResourceUsage -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setResourceUsageNOther :: MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNOther :: forall (m :: * -> *). MonadIO m => ResourceUsage -> Word32 -> m ()
setResourceUsageNOther ResourceUsage
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ResourceUsage -> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ResourceUsage
s ((Ptr ResourceUsage -> IO ()) -> IO ())
-> (Ptr ResourceUsage -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ResourceUsage
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ResourceUsage
ptr Ptr ResourceUsage -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data ResourceUsageNOtherFieldInfo
instance AttrInfo ResourceUsageNOtherFieldInfo where
type AttrBaseTypeConstraint ResourceUsageNOtherFieldInfo = (~) ResourceUsage
type AttrAllowedOps ResourceUsageNOtherFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ResourceUsageNOtherFieldInfo = (~) Word32
type AttrTransferTypeConstraint ResourceUsageNOtherFieldInfo = (~)Word32
type AttrTransferType ResourceUsageNOtherFieldInfo = Word32
type AttrGetType ResourceUsageNOtherFieldInfo = Word32
type AttrLabel ResourceUsageNOtherFieldInfo = "n_other"
type AttrOrigin ResourceUsageNOtherFieldInfo = ResourceUsage
attrGet = getResourceUsageNOther
attrSet = setResourceUsageNOther
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
resourceUsage_nOther :: AttrLabelProxy "nOther"
resourceUsage_nOther = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ResourceUsage
type instance O.AttributeList ResourceUsage = ResourceUsageAttributeList
type ResourceUsageAttributeList = ('[ '("totalBytesEstimate", ResourceUsageTotalBytesEstimateFieldInfo), '("pixmapBytes", ResourceUsagePixmapBytesFieldInfo), '("nPixmaps", ResourceUsageNPixmapsFieldInfo), '("nWindows", ResourceUsageNWindowsFieldInfo), '("nGcs", ResourceUsageNGcsFieldInfo), '("nPictures", ResourceUsageNPicturesFieldInfo), '("nGlyphsets", ResourceUsageNGlyphsetsFieldInfo), '("nFonts", ResourceUsageNFontsFieldInfo), '("nColormapEntries", ResourceUsageNColormapEntriesFieldInfo), '("nPassiveGrabs", ResourceUsageNPassiveGrabsFieldInfo), '("nCursors", ResourceUsageNCursorsFieldInfo), '("nOther", ResourceUsageNOtherFieldInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveResourceUsageMethod (t :: Symbol) (o :: *) :: * where
ResolveResourceUsageMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveResourceUsageMethod t ResourceUsage, O.OverloadedMethod info ResourceUsage p) => OL.IsLabel t (ResourceUsage -> 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 ~ ResolveResourceUsageMethod t ResourceUsage, O.OverloadedMethod info ResourceUsage p, R.HasField t ResourceUsage p) => R.HasField t ResourceUsage p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveResourceUsageMethod t ResourceUsage, O.OverloadedMethodInfo info ResourceUsage) => OL.IsLabel t (O.MethodProxy info ResourceUsage) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif