    {-# 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 !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