{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- A struct containing color information for a gradient.
-- 
-- /Since: 7.0.0/

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.HarfBuzz.Structs.ColorLineT
    ( 

-- * Exported types
    ColorLineT(..)                          ,
    newZeroColorLineT                       ,


 -- * Methods

#if defined(ENABLE_OVERLOADING)
    ResolveColorLineTMethod                 ,
#endif



 -- * Properties


-- ** data #attr:data#
-- | /No description available in the introspection data./

    clearColorLineTData                     ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_data                         ,
#endif
    getColorLineTData                       ,
    setColorLineTData                       ,


-- ** getColorStops #attr:getColorStops#
-- | /No description available in the introspection data./

    clearColorLineTGetColorStops            ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_getColorStops                ,
#endif
    getColorLineTGetColorStops              ,
    setColorLineTGetColorStops              ,


-- ** getColorStopsUserData #attr:getColorStopsUserData#
-- | /No description available in the introspection data./

    clearColorLineTGetColorStopsUserData    ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_getColorStopsUserData        ,
#endif
    getColorLineTGetColorStopsUserData      ,
    setColorLineTGetColorStopsUserData      ,


-- ** getExtend #attr:getExtend#
-- | /No description available in the introspection data./

    clearColorLineTGetExtend                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_getExtend                    ,
#endif
    getColorLineTGetExtend                  ,
    setColorLineTGetExtend                  ,


-- ** getExtendUserData #attr:getExtendUserData#
-- | /No description available in the introspection data./

    clearColorLineTGetExtendUserData        ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_getExtendUserData            ,
#endif
    getColorLineTGetExtendUserData          ,
    setColorLineTGetExtendUserData          ,


-- ** reserved0 #attr:reserved0#
-- | /No description available in the introspection data./

    clearColorLineTReserved0                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved0                    ,
#endif
    getColorLineTReserved0                  ,
    setColorLineTReserved0                  ,


-- ** reserved1 #attr:reserved1#
-- | /No description available in the introspection data./

    clearColorLineTReserved1                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved1                    ,
#endif
    getColorLineTReserved1                  ,
    setColorLineTReserved1                  ,


-- ** reserved2 #attr:reserved2#
-- | /No description available in the introspection data./

    clearColorLineTReserved2                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved2                    ,
#endif
    getColorLineTReserved2                  ,
    setColorLineTReserved2                  ,


-- ** reserved3 #attr:reserved3#
-- | /No description available in the introspection data./

    clearColorLineTReserved3                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved3                    ,
#endif
    getColorLineTReserved3                  ,
    setColorLineTReserved3                  ,


-- ** reserved5 #attr:reserved5#
-- | /No description available in the introspection data./

    clearColorLineTReserved5                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved5                    ,
#endif
    getColorLineTReserved5                  ,
    setColorLineTReserved5                  ,


-- ** reserved6 #attr:reserved6#
-- | /No description available in the introspection data./

    clearColorLineTReserved6                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved6                    ,
#endif
    getColorLineTReserved6                  ,
    setColorLineTReserved6                  ,


-- ** reserved7 #attr:reserved7#
-- | /No description available in the introspection data./

    clearColorLineTReserved7                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved7                    ,
#endif
    getColorLineTReserved7                  ,
    setColorLineTReserved7                  ,


-- ** reserved8 #attr:reserved8#
-- | /No description available in the introspection data./

    clearColorLineTReserved8                ,
#if defined(ENABLE_OVERLOADING)
    colorLineT_reserved8                    ,
#endif
    getColorLineTReserved8                  ,
    setColorLineTReserved8                  ,




    ) 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 GI.HarfBuzz.Callbacks as HarfBuzz.Callbacks

-- | Memory-managed wrapper type.
newtype ColorLineT = ColorLineT (SP.ManagedPtr ColorLineT)
    deriving (ColorLineT -> ColorLineT -> Bool
(ColorLineT -> ColorLineT -> Bool)
-> (ColorLineT -> ColorLineT -> Bool) -> Eq ColorLineT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ColorLineT -> ColorLineT -> Bool
== :: ColorLineT -> ColorLineT -> Bool
$c/= :: ColorLineT -> ColorLineT -> Bool
/= :: ColorLineT -> ColorLineT -> Bool
Eq)

instance SP.ManagedPtrNewtype ColorLineT where
    toManagedPtr :: ColorLineT -> ManagedPtr ColorLineT
toManagedPtr (ColorLineT ManagedPtr ColorLineT
p) = ManagedPtr ColorLineT
p

foreign import ccall "hb_gobject_color_line_get_type" c_hb_gobject_color_line_get_type :: 
    IO GType

type instance O.ParentTypes ColorLineT = '[]
instance O.HasParentTypes ColorLineT

instance B.Types.TypedObject ColorLineT where
    glibType :: IO GType
glibType = IO GType
c_hb_gobject_color_line_get_type

instance B.Types.GBoxed ColorLineT

-- | Convert 'ColorLineT' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe ColorLineT) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_hb_gobject_color_line_get_type
    gvalueSet_ :: Ptr GValue -> Maybe ColorLineT -> IO ()
gvalueSet_ Ptr GValue
gv Maybe ColorLineT
P.Nothing = Ptr GValue -> Ptr ColorLineT -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr ColorLineT
forall a. Ptr a
FP.nullPtr :: FP.Ptr ColorLineT)
    gvalueSet_ Ptr GValue
gv (P.Just ColorLineT
obj) = ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ColorLineT
obj (Ptr GValue -> Ptr ColorLineT -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe ColorLineT)
gvalueGet_ Ptr GValue
gv = do
        Ptr ColorLineT
ptr <- Ptr GValue -> IO (Ptr ColorLineT)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr ColorLineT)
        if Ptr ColorLineT
ptr Ptr ColorLineT -> Ptr ColorLineT -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr ColorLineT
forall a. Ptr a
FP.nullPtr
        then ColorLineT -> Maybe ColorLineT
forall a. a -> Maybe a
P.Just (ColorLineT -> Maybe ColorLineT)
-> IO ColorLineT -> IO (Maybe ColorLineT)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr ColorLineT -> ColorLineT)
-> Ptr ColorLineT -> IO ColorLineT
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr ColorLineT -> ColorLineT
ColorLineT Ptr ColorLineT
ptr
        else Maybe ColorLineT -> IO (Maybe ColorLineT)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ColorLineT
forall a. Maybe a
P.Nothing
        
    

-- | Construct a `ColorLineT` struct initialized to zero.
newZeroColorLineT :: MonadIO m => m ColorLineT
newZeroColorLineT :: forall (m :: * -> *). MonadIO m => m ColorLineT
newZeroColorLineT = IO ColorLineT -> m ColorLineT
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ColorLineT -> m ColorLineT) -> IO ColorLineT -> m ColorLineT
forall a b. (a -> b) -> a -> b
$ Int -> IO (Ptr ColorLineT)
forall a. GBoxed a => Int -> IO (Ptr a)
callocBoxedBytes Int
104 IO (Ptr ColorLineT)
-> (Ptr ColorLineT -> IO ColorLineT) -> IO ColorLineT
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr ColorLineT -> ColorLineT)
-> Ptr ColorLineT -> IO ColorLineT
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr ColorLineT -> ColorLineT
ColorLineT

instance tag ~ 'AttrSet => Constructible ColorLineT tag where
    new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr ColorLineT -> ColorLineT)
-> [AttrOp ColorLineT tag] -> m ColorLineT
new ManagedPtr ColorLineT -> ColorLineT
_ [AttrOp ColorLineT tag]
attrs = do
        ColorLineT
o <- m ColorLineT
forall (m :: * -> *). MonadIO m => m ColorLineT
newZeroColorLineT
        ColorLineT -> [AttrOp ColorLineT 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set ColorLineT
o [AttrOp ColorLineT tag]
[AttrOp ColorLineT 'AttrSet]
attrs
        ColorLineT -> m ColorLineT
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return ColorLineT
o


-- | Get the value of the “@data@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #data
-- @
getColorLineTData :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTData :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTData ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@data@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #data 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTData :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTData :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTData ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@data@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #data
-- @
clearColorLineTData :: MonadIO m => ColorLineT -> m ()
clearColorLineTData :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTData ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTDataFieldInfo
instance AttrInfo ColorLineTDataFieldInfo where
    type AttrBaseTypeConstraint ColorLineTDataFieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTDataFieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTDataFieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTDataFieldInfo = (Ptr ())
    type AttrGetType ColorLineTDataFieldInfo = Ptr ()
    type AttrLabel ColorLineTDataFieldInfo = "data"
    type AttrOrigin ColorLineTDataFieldInfo = ColorLineT
    attrGet = getColorLineTData
    attrSet = setColorLineTData
    attrConstruct = undefined
    attrClear = clearColorLineTData
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.data"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:data"
        })

colorLineT_data :: AttrLabelProxy "data"
colorLineT_data = AttrLabelProxy

#endif


-- | Get the value of the “@get_color_stops@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #getColorStops
-- @
getColorLineTGetColorStops :: MonadIO m => ColorLineT -> m (Maybe HarfBuzz.Callbacks.ColorLineGetColorStopsFuncT_WithClosures)
getColorLineTGetColorStops :: forall (m :: * -> *).
MonadIO m =>
ColorLineT -> m (Maybe ColorLineGetColorStopsFuncT_WithClosures)
getColorLineTGetColorStops ColorLineT
s = IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
-> m (Maybe ColorLineGetColorStopsFuncT_WithClosures)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
 -> m (Maybe ColorLineGetColorStopsFuncT_WithClosures))
-> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
-> m (Maybe ColorLineGetColorStopsFuncT_WithClosures)
forall a b. (a -> b) -> a -> b
$ ColorLineT
-> (Ptr ColorLineT
    -> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures))
-> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT
  -> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures))
 -> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures))
-> (Ptr ColorLineT
    -> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures))
-> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    FunPtr C_ColorLineGetColorStopsFuncT
val <- Ptr (FunPtr C_ColorLineGetColorStopsFuncT)
-> IO (FunPtr C_ColorLineGetColorStopsFuncT)
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (FunPtr C_ColorLineGetColorStopsFuncT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO (FunPtr HarfBuzz.Callbacks.C_ColorLineGetColorStopsFuncT)
    Maybe ColorLineGetColorStopsFuncT_WithClosures
result <- FunPtr C_ColorLineGetColorStopsFuncT
-> (FunPtr C_ColorLineGetColorStopsFuncT
    -> IO ColorLineGetColorStopsFuncT_WithClosures)
-> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_ColorLineGetColorStopsFuncT
val ((FunPtr C_ColorLineGetColorStopsFuncT
  -> IO ColorLineGetColorStopsFuncT_WithClosures)
 -> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures))
-> (FunPtr C_ColorLineGetColorStopsFuncT
    -> IO ColorLineGetColorStopsFuncT_WithClosures)
-> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
forall a b. (a -> b) -> a -> b
$ \FunPtr C_ColorLineGetColorStopsFuncT
val' -> do
        let val'' :: ColorLineGetColorStopsFuncT_WithClosures
val'' = FunPtr C_ColorLineGetColorStopsFuncT
-> ColorLineGetColorStopsFuncT_WithClosures
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_ColorLineGetColorStopsFuncT
-> ColorLineT
-> Ptr ()
-> Word32
-> [ColorStopT]
-> Ptr ()
-> m (Word32, [ColorStopT])
HarfBuzz.Callbacks.dynamic_ColorLineGetColorStopsFuncT FunPtr C_ColorLineGetColorStopsFuncT
val'
        ColorLineGetColorStopsFuncT_WithClosures
-> IO ColorLineGetColorStopsFuncT_WithClosures
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ColorLineGetColorStopsFuncT_WithClosures
val''
    Maybe ColorLineGetColorStopsFuncT_WithClosures
-> IO (Maybe ColorLineGetColorStopsFuncT_WithClosures)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ColorLineGetColorStopsFuncT_WithClosures
result

-- | Set the value of the “@get_color_stops@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #getColorStops 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTGetColorStops :: MonadIO m => ColorLineT -> FunPtr HarfBuzz.Callbacks.C_ColorLineGetColorStopsFuncT -> m ()
setColorLineTGetColorStops :: forall (m :: * -> *).
MonadIO m =>
ColorLineT -> FunPtr C_ColorLineGetColorStopsFuncT -> m ()
setColorLineTGetColorStops ColorLineT
s FunPtr C_ColorLineGetColorStopsFuncT
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (FunPtr C_ColorLineGetColorStopsFuncT)
-> FunPtr C_ColorLineGetColorStopsFuncT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (FunPtr C_ColorLineGetColorStopsFuncT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (FunPtr C_ColorLineGetColorStopsFuncT
val :: FunPtr HarfBuzz.Callbacks.C_ColorLineGetColorStopsFuncT)

-- | Set the value of the “@get_color_stops@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #getColorStops
-- @
clearColorLineTGetColorStops :: MonadIO m => ColorLineT -> m ()
clearColorLineTGetColorStops :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTGetColorStops ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (FunPtr C_ColorLineGetColorStopsFuncT)
-> FunPtr C_ColorLineGetColorStopsFuncT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (FunPtr C_ColorLineGetColorStopsFuncT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (FunPtr C_ColorLineGetColorStopsFuncT
forall a. FunPtr a
FP.nullFunPtr :: FunPtr HarfBuzz.Callbacks.C_ColorLineGetColorStopsFuncT)

#if defined(ENABLE_OVERLOADING)
data ColorLineTGetColorStopsFieldInfo
instance AttrInfo ColorLineTGetColorStopsFieldInfo where
    type AttrBaseTypeConstraint ColorLineTGetColorStopsFieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTGetColorStopsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTGetColorStopsFieldInfo = (~) (FunPtr HarfBuzz.Callbacks.C_ColorLineGetColorStopsFuncT)
    type AttrTransferTypeConstraint ColorLineTGetColorStopsFieldInfo = (~)HarfBuzz.Callbacks.ColorLineGetColorStopsFuncT_WithClosures
    type AttrTransferType ColorLineTGetColorStopsFieldInfo = (FunPtr HarfBuzz.Callbacks.C_ColorLineGetColorStopsFuncT)
    type AttrGetType ColorLineTGetColorStopsFieldInfo = Maybe HarfBuzz.Callbacks.ColorLineGetColorStopsFuncT_WithClosures
    type AttrLabel ColorLineTGetColorStopsFieldInfo = "get_color_stops"
    type AttrOrigin ColorLineTGetColorStopsFieldInfo = ColorLineT
    attrGet = getColorLineTGetColorStops
    attrSet = setColorLineTGetColorStops
    attrConstruct = undefined
    attrClear = clearColorLineTGetColorStops
    attrTransfer _ v = do
        HarfBuzz.Callbacks.mk_ColorLineGetColorStopsFuncT (HarfBuzz.Callbacks.wrap_ColorLineGetColorStopsFuncT Nothing v)
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.getColorStops"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:getColorStops"
        })

colorLineT_getColorStops :: AttrLabelProxy "getColorStops"
colorLineT_getColorStops = AttrLabelProxy

#endif


-- | Get the value of the “@get_color_stops_user_data@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #getColorStopsUserData
-- @
getColorLineTGetColorStopsUserData :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTGetColorStopsUserData :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTGetColorStopsUserData ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@get_color_stops_user_data@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #getColorStopsUserData 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTGetColorStopsUserData :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTGetColorStopsUserData :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTGetColorStopsUserData ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@get_color_stops_user_data@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #getColorStopsUserData
-- @
clearColorLineTGetColorStopsUserData :: MonadIO m => ColorLineT -> m ()
clearColorLineTGetColorStopsUserData :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTGetColorStopsUserData ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTGetColorStopsUserDataFieldInfo
instance AttrInfo ColorLineTGetColorStopsUserDataFieldInfo where
    type AttrBaseTypeConstraint ColorLineTGetColorStopsUserDataFieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTGetColorStopsUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTGetColorStopsUserDataFieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTGetColorStopsUserDataFieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTGetColorStopsUserDataFieldInfo = (Ptr ())
    type AttrGetType ColorLineTGetColorStopsUserDataFieldInfo = Ptr ()
    type AttrLabel ColorLineTGetColorStopsUserDataFieldInfo = "get_color_stops_user_data"
    type AttrOrigin ColorLineTGetColorStopsUserDataFieldInfo = ColorLineT
    attrGet = getColorLineTGetColorStopsUserData
    attrSet = setColorLineTGetColorStopsUserData
    attrConstruct = undefined
    attrClear = clearColorLineTGetColorStopsUserData
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.getColorStopsUserData"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:getColorStopsUserData"
        })

colorLineT_getColorStopsUserData :: AttrLabelProxy "getColorStopsUserData"
colorLineT_getColorStopsUserData = AttrLabelProxy

#endif


-- | Get the value of the “@get_extend@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #getExtend
-- @
getColorLineTGetExtend :: MonadIO m => ColorLineT -> m (Maybe HarfBuzz.Callbacks.ColorLineGetExtendFuncT_WithClosures)
getColorLineTGetExtend :: forall (m :: * -> *).
MonadIO m =>
ColorLineT -> m (Maybe ColorLineGetExtendFuncT_WithClosures)
getColorLineTGetExtend ColorLineT
s = IO (Maybe ColorLineGetExtendFuncT_WithClosures)
-> m (Maybe ColorLineGetExtendFuncT_WithClosures)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe ColorLineGetExtendFuncT_WithClosures)
 -> m (Maybe ColorLineGetExtendFuncT_WithClosures))
-> IO (Maybe ColorLineGetExtendFuncT_WithClosures)
-> m (Maybe ColorLineGetExtendFuncT_WithClosures)
forall a b. (a -> b) -> a -> b
$ ColorLineT
-> (Ptr ColorLineT
    -> IO (Maybe ColorLineGetExtendFuncT_WithClosures))
-> IO (Maybe ColorLineGetExtendFuncT_WithClosures)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT
  -> IO (Maybe ColorLineGetExtendFuncT_WithClosures))
 -> IO (Maybe ColorLineGetExtendFuncT_WithClosures))
-> (Ptr ColorLineT
    -> IO (Maybe ColorLineGetExtendFuncT_WithClosures))
-> IO (Maybe ColorLineGetExtendFuncT_WithClosures)
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    FunPtr C_ColorLineGetExtendFuncT
val <- Ptr (FunPtr C_ColorLineGetExtendFuncT)
-> IO (FunPtr C_ColorLineGetExtendFuncT)
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (FunPtr C_ColorLineGetExtendFuncT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO (FunPtr HarfBuzz.Callbacks.C_ColorLineGetExtendFuncT)
    Maybe ColorLineGetExtendFuncT_WithClosures
result <- FunPtr C_ColorLineGetExtendFuncT
-> (FunPtr C_ColorLineGetExtendFuncT
    -> IO ColorLineGetExtendFuncT_WithClosures)
-> IO (Maybe ColorLineGetExtendFuncT_WithClosures)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_ColorLineGetExtendFuncT
val ((FunPtr C_ColorLineGetExtendFuncT
  -> IO ColorLineGetExtendFuncT_WithClosures)
 -> IO (Maybe ColorLineGetExtendFuncT_WithClosures))
-> (FunPtr C_ColorLineGetExtendFuncT
    -> IO ColorLineGetExtendFuncT_WithClosures)
-> IO (Maybe ColorLineGetExtendFuncT_WithClosures)
forall a b. (a -> b) -> a -> b
$ \FunPtr C_ColorLineGetExtendFuncT
val' -> do
        let val'' :: ColorLineGetExtendFuncT_WithClosures
val'' = FunPtr C_ColorLineGetExtendFuncT
-> ColorLineGetExtendFuncT_WithClosures
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_ColorLineGetExtendFuncT
-> ColorLineT -> Ptr () -> Ptr () -> m PaintExtendT
HarfBuzz.Callbacks.dynamic_ColorLineGetExtendFuncT FunPtr C_ColorLineGetExtendFuncT
val'
        ColorLineGetExtendFuncT_WithClosures
-> IO ColorLineGetExtendFuncT_WithClosures
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ColorLineGetExtendFuncT_WithClosures
val''
    Maybe ColorLineGetExtendFuncT_WithClosures
-> IO (Maybe ColorLineGetExtendFuncT_WithClosures)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ColorLineGetExtendFuncT_WithClosures
result

-- | Set the value of the “@get_extend@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #getExtend 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTGetExtend :: MonadIO m => ColorLineT -> FunPtr HarfBuzz.Callbacks.C_ColorLineGetExtendFuncT -> m ()
setColorLineTGetExtend :: forall (m :: * -> *).
MonadIO m =>
ColorLineT -> FunPtr C_ColorLineGetExtendFuncT -> m ()
setColorLineTGetExtend ColorLineT
s FunPtr C_ColorLineGetExtendFuncT
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (FunPtr C_ColorLineGetExtendFuncT)
-> FunPtr C_ColorLineGetExtendFuncT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (FunPtr C_ColorLineGetExtendFuncT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (FunPtr C_ColorLineGetExtendFuncT
val :: FunPtr HarfBuzz.Callbacks.C_ColorLineGetExtendFuncT)

-- | Set the value of the “@get_extend@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #getExtend
-- @
clearColorLineTGetExtend :: MonadIO m => ColorLineT -> m ()
clearColorLineTGetExtend :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTGetExtend ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (FunPtr C_ColorLineGetExtendFuncT)
-> FunPtr C_ColorLineGetExtendFuncT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (FunPtr C_ColorLineGetExtendFuncT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (FunPtr C_ColorLineGetExtendFuncT
forall a. FunPtr a
FP.nullFunPtr :: FunPtr HarfBuzz.Callbacks.C_ColorLineGetExtendFuncT)

#if defined(ENABLE_OVERLOADING)
data ColorLineTGetExtendFieldInfo
instance AttrInfo ColorLineTGetExtendFieldInfo where
    type AttrBaseTypeConstraint ColorLineTGetExtendFieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTGetExtendFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTGetExtendFieldInfo = (~) (FunPtr HarfBuzz.Callbacks.C_ColorLineGetExtendFuncT)
    type AttrTransferTypeConstraint ColorLineTGetExtendFieldInfo = (~)HarfBuzz.Callbacks.ColorLineGetExtendFuncT_WithClosures
    type AttrTransferType ColorLineTGetExtendFieldInfo = (FunPtr HarfBuzz.Callbacks.C_ColorLineGetExtendFuncT)
    type AttrGetType ColorLineTGetExtendFieldInfo = Maybe HarfBuzz.Callbacks.ColorLineGetExtendFuncT_WithClosures
    type AttrLabel ColorLineTGetExtendFieldInfo = "get_extend"
    type AttrOrigin ColorLineTGetExtendFieldInfo = ColorLineT
    attrGet = getColorLineTGetExtend
    attrSet = setColorLineTGetExtend
    attrConstruct = undefined
    attrClear = clearColorLineTGetExtend
    attrTransfer _ v = do
        HarfBuzz.Callbacks.mk_ColorLineGetExtendFuncT (HarfBuzz.Callbacks.wrap_ColorLineGetExtendFuncT Nothing v)
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.getExtend"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:getExtend"
        })

colorLineT_getExtend :: AttrLabelProxy "getExtend"
colorLineT_getExtend = AttrLabelProxy

#endif


-- | Get the value of the “@get_extend_user_data@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #getExtendUserData
-- @
getColorLineTGetExtendUserData :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTGetExtendUserData :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTGetExtendUserData ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@get_extend_user_data@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #getExtendUserData 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTGetExtendUserData :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTGetExtendUserData :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTGetExtendUserData ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@get_extend_user_data@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #getExtendUserData
-- @
clearColorLineTGetExtendUserData :: MonadIO m => ColorLineT -> m ()
clearColorLineTGetExtendUserData :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTGetExtendUserData ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTGetExtendUserDataFieldInfo
instance AttrInfo ColorLineTGetExtendUserDataFieldInfo where
    type AttrBaseTypeConstraint ColorLineTGetExtendUserDataFieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTGetExtendUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTGetExtendUserDataFieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTGetExtendUserDataFieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTGetExtendUserDataFieldInfo = (Ptr ())
    type AttrGetType ColorLineTGetExtendUserDataFieldInfo = Ptr ()
    type AttrLabel ColorLineTGetExtendUserDataFieldInfo = "get_extend_user_data"
    type AttrOrigin ColorLineTGetExtendUserDataFieldInfo = ColorLineT
    attrGet = getColorLineTGetExtendUserData
    attrSet = setColorLineTGetExtendUserData
    attrConstruct = undefined
    attrClear = clearColorLineTGetExtendUserData
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.getExtendUserData"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:getExtendUserData"
        })

colorLineT_getExtendUserData :: AttrLabelProxy "getExtendUserData"
colorLineT_getExtendUserData = AttrLabelProxy

#endif


-- | Get the value of the “@reserved0@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved0
-- @
getColorLineTReserved0 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved0 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved0 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved0@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved0 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved0 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved0 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved0 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved0@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved0
-- @
clearColorLineTReserved0 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved0 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved0 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved0FieldInfo
instance AttrInfo ColorLineTReserved0FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved0FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved0FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved0FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved0FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved0FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved0FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved0FieldInfo = "reserved0"
    type AttrOrigin ColorLineTReserved0FieldInfo = ColorLineT
    attrGet = getColorLineTReserved0
    attrSet = setColorLineTReserved0
    attrConstruct = undefined
    attrClear = clearColorLineTReserved0
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved0"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved0"
        })

colorLineT_reserved0 :: AttrLabelProxy "reserved0"
colorLineT_reserved0 = AttrLabelProxy

#endif


-- | Get the value of the “@reserved1@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved1
-- @
getColorLineTReserved1 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved1 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved1 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved1@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved1 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved1 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved1 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved1 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved1@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved1
-- @
clearColorLineTReserved1 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved1 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved1 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved1FieldInfo
instance AttrInfo ColorLineTReserved1FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved1FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved1FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved1FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved1FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved1FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved1FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved1FieldInfo = "reserved1"
    type AttrOrigin ColorLineTReserved1FieldInfo = ColorLineT
    attrGet = getColorLineTReserved1
    attrSet = setColorLineTReserved1
    attrConstruct = undefined
    attrClear = clearColorLineTReserved1
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved1"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved1"
        })

colorLineT_reserved1 :: AttrLabelProxy "reserved1"
colorLineT_reserved1 = AttrLabelProxy

#endif


-- | Get the value of the “@reserved2@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved2
-- @
getColorLineTReserved2 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved2 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved2 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved2@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved2 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved2 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved2 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved2 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved2@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved2
-- @
clearColorLineTReserved2 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved2 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved2 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved2FieldInfo
instance AttrInfo ColorLineTReserved2FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved2FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved2FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved2FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved2FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved2FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved2FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved2FieldInfo = "reserved2"
    type AttrOrigin ColorLineTReserved2FieldInfo = ColorLineT
    attrGet = getColorLineTReserved2
    attrSet = setColorLineTReserved2
    attrConstruct = undefined
    attrClear = clearColorLineTReserved2
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved2"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved2"
        })

colorLineT_reserved2 :: AttrLabelProxy "reserved2"
colorLineT_reserved2 = AttrLabelProxy

#endif


-- | Get the value of the “@reserved3@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved3
-- @
getColorLineTReserved3 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved3 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved3 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved3@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved3 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved3 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved3 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved3 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved3@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved3
-- @
clearColorLineTReserved3 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved3 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved3 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved3FieldInfo
instance AttrInfo ColorLineTReserved3FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved3FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved3FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved3FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved3FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved3FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved3FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved3FieldInfo = "reserved3"
    type AttrOrigin ColorLineTReserved3FieldInfo = ColorLineT
    attrGet = getColorLineTReserved3
    attrSet = setColorLineTReserved3
    attrConstruct = undefined
    attrClear = clearColorLineTReserved3
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved3"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved3"
        })

colorLineT_reserved3 :: AttrLabelProxy "reserved3"
colorLineT_reserved3 = AttrLabelProxy

#endif


-- | Get the value of the “@reserved5@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved5
-- @
getColorLineTReserved5 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved5 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved5 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved5@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved5 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved5 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved5 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved5 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved5@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved5
-- @
clearColorLineTReserved5 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved5 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved5 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved5FieldInfo
instance AttrInfo ColorLineTReserved5FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved5FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved5FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved5FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved5FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved5FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved5FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved5FieldInfo = "reserved5"
    type AttrOrigin ColorLineTReserved5FieldInfo = ColorLineT
    attrGet = getColorLineTReserved5
    attrSet = setColorLineTReserved5
    attrConstruct = undefined
    attrClear = clearColorLineTReserved5
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved5"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved5"
        })

colorLineT_reserved5 :: AttrLabelProxy "reserved5"
colorLineT_reserved5 = AttrLabelProxy

#endif


-- | Get the value of the “@reserved6@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved6
-- @
getColorLineTReserved6 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved6 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved6 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved6@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved6 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved6 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved6 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved6 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved6@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved6
-- @
clearColorLineTReserved6 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved6 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved6 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved6FieldInfo
instance AttrInfo ColorLineTReserved6FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved6FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved6FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved6FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved6FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved6FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved6FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved6FieldInfo = "reserved6"
    type AttrOrigin ColorLineTReserved6FieldInfo = ColorLineT
    attrGet = getColorLineTReserved6
    attrSet = setColorLineTReserved6
    attrConstruct = undefined
    attrClear = clearColorLineTReserved6
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved6"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved6"
        })

colorLineT_reserved6 :: AttrLabelProxy "reserved6"
colorLineT_reserved6 = AttrLabelProxy

#endif


-- | Get the value of the “@reserved7@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved7
-- @
getColorLineTReserved7 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved7 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved7 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved7@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved7 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved7 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved7 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved7 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved7@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved7
-- @
clearColorLineTReserved7 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved7 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved7 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved7FieldInfo
instance AttrInfo ColorLineTReserved7FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved7FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved7FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved7FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved7FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved7FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved7FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved7FieldInfo = "reserved7"
    type AttrOrigin ColorLineTReserved7FieldInfo = ColorLineT
    attrGet = getColorLineTReserved7
    attrSet = setColorLineTReserved7
    attrConstruct = undefined
    attrClear = clearColorLineTReserved7
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved7"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved7"
        })

colorLineT_reserved7 :: AttrLabelProxy "reserved7"
colorLineT_reserved7 = AttrLabelProxy

#endif


-- | Get the value of the “@reserved8@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' colorLineT #reserved8
-- @
getColorLineTReserved8 :: MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved8 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m (Ptr ())
getColorLineTReserved8 ColorLineT
s = IO (Ptr ()) -> m (Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Ptr ()) -> m (Ptr ())) -> IO (Ptr ()) -> m (Ptr ())
forall a b. (a -> b) -> a -> b
$ ColorLineT -> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr ColorLineT -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr ()
val <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
96) :: IO (Ptr ())
    Ptr () -> IO (Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr ()
val

-- | Set the value of the “@reserved8@” field.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' colorLineT [ #reserved8 'Data.GI.Base.Attributes.:=' value ]
-- @
setColorLineTReserved8 :: MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved8 :: forall (m :: * -> *). MonadIO m => ColorLineT -> Ptr () -> m ()
setColorLineTReserved8 ColorLineT
s Ptr ()
val = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
96) (Ptr ()
val :: Ptr ())

-- | Set the value of the “@reserved8@” field to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #reserved8
-- @
clearColorLineTReserved8 :: MonadIO m => ColorLineT -> m ()
clearColorLineTReserved8 :: forall (m :: * -> *). MonadIO m => ColorLineT -> m ()
clearColorLineTReserved8 ColorLineT
s = 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
$ ColorLineT -> (Ptr ColorLineT -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ColorLineT
s ((Ptr ColorLineT -> IO ()) -> IO ())
-> (Ptr ColorLineT -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ColorLineT
ptr -> do
    Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ColorLineT
ptr Ptr ColorLineT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
96) (Ptr ()
forall a. Ptr a
FP.nullPtr :: Ptr ())

#if defined(ENABLE_OVERLOADING)
data ColorLineTReserved8FieldInfo
instance AttrInfo ColorLineTReserved8FieldInfo where
    type AttrBaseTypeConstraint ColorLineTReserved8FieldInfo = (~) ColorLineT
    type AttrAllowedOps ColorLineTReserved8FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ColorLineTReserved8FieldInfo = (~) (Ptr ())
    type AttrTransferTypeConstraint ColorLineTReserved8FieldInfo = (~)(Ptr ())
    type AttrTransferType ColorLineTReserved8FieldInfo = (Ptr ())
    type AttrGetType ColorLineTReserved8FieldInfo = Ptr ()
    type AttrLabel ColorLineTReserved8FieldInfo = "reserved8"
    type AttrOrigin ColorLineTReserved8FieldInfo = ColorLineT
    attrGet = getColorLineTReserved8
    attrSet = setColorLineTReserved8
    attrConstruct = undefined
    attrClear = clearColorLineTReserved8
    attrTransfer _ v = do
        return v
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.HarfBuzz.Structs.ColorLineT.reserved8"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-harfbuzz-0.0.9/docs/GI-HarfBuzz-Structs-ColorLineT.html#g:attr:reserved8"
        })

colorLineT_reserved8 :: AttrLabelProxy "reserved8"
colorLineT_reserved8 = AttrLabelProxy

#endif



#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ColorLineT
type instance O.AttributeList ColorLineT = ColorLineTAttributeList
type ColorLineTAttributeList = ('[ '("data", ColorLineTDataFieldInfo), '("getColorStops", ColorLineTGetColorStopsFieldInfo), '("getColorStopsUserData", ColorLineTGetColorStopsUserDataFieldInfo), '("getExtend", ColorLineTGetExtendFieldInfo), '("getExtendUserData", ColorLineTGetExtendUserDataFieldInfo), '("reserved0", ColorLineTReserved0FieldInfo), '("reserved1", ColorLineTReserved1FieldInfo), '("reserved2", ColorLineTReserved2FieldInfo), '("reserved3", ColorLineTReserved3FieldInfo), '("reserved5", ColorLineTReserved5FieldInfo), '("reserved6", ColorLineTReserved6FieldInfo), '("reserved7", ColorLineTReserved7FieldInfo), '("reserved8", ColorLineTReserved8FieldInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
type family ResolveColorLineTMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveColorLineTMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveColorLineTMethod t ColorLineT, O.OverloadedMethod info ColorLineT p) => OL.IsLabel t (ColorLineT -> 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 ~ ResolveColorLineTMethod t ColorLineT, O.OverloadedMethod info ColorLineT p, R.HasField t ColorLineT p) => R.HasField t ColorLineT p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveColorLineTMethod t ColorLineT, O.OverloadedMethodInfo info ColorLineT) => OL.IsLabel t (O.MethodProxy info ColorLineT) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif