{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- t'GI.GES.Objects.TitleSource.TitleSource' is a GESTimelineElement that implements the notion
-- of titles in GES.

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

module GI.GES.Objects.TitleSource
    ( 

-- * Exported types
    TitleSource(..)                         ,
    IsTitleSource                           ,
    toTitleSource                           ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addChildProperty]("GI.GES.Objects.TimelineElement#g:method:addChildProperty"), [addChildrenProps]("GI.GES.Objects.TrackElement#g:method:addChildrenProps"), [addMetasFromString]("GI.GES.Interfaces.MetaContainer#g:method:addMetasFromString"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [checkMetaRegistered]("GI.GES.Interfaces.MetaContainer#g:method:checkMetaRegistered"), [clampControlSource]("GI.GES.Objects.TrackElement#g:method:clampControlSource"), [copy]("GI.GES.Objects.TimelineElement#g:method:copy"), [edit]("GI.GES.Objects.TrackElement#g:method:edit"), [editFull]("GI.GES.Objects.TimelineElement#g:method:editFull"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [foreach]("GI.GES.Interfaces.MetaContainer#g:method:foreach"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [hasInternalSource]("GI.GES.Objects.TrackElement#g:method:hasInternalSource"), [isActive]("GI.GES.Objects.TrackElement#g:method:isActive"), [isCore]("GI.GES.Objects.TrackElement#g:method:isCore"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [listChildrenProperties]("GI.GES.Objects.TrackElement#g:method:listChildrenProperties"), [lookupChild]("GI.GES.Objects.TrackElement#g:method:lookupChild"), [metasToString]("GI.GES.Interfaces.MetaContainer#g:method:metasToString"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [paste]("GI.GES.Objects.TimelineElement#g:method:paste"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [registerMeta]("GI.GES.Interfaces.MetaContainer#g:method:registerMeta"), [registerMetaBoolean]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaBoolean"), [registerMetaDate]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaDate"), [registerMetaDateTime]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaDateTime"), [registerMetaDouble]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaDouble"), [registerMetaFloat]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaFloat"), [registerMetaInt]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaInt"), [registerMetaInt64]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaInt64"), [registerMetaString]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaString"), [registerMetaUint]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaUint"), [registerMetaUint64]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaUint64"), [registerStaticMeta]("GI.GES.Interfaces.MetaContainer#g:method:registerStaticMeta"), [removeChildProperty]("GI.GES.Objects.TimelineElement#g:method:removeChildProperty"), [removeControlBinding]("GI.GES.Objects.TrackElement#g:method:removeControlBinding"), [ripple]("GI.GES.Objects.TimelineElement#g:method:ripple"), [rippleEnd]("GI.GES.Objects.TimelineElement#g:method:rippleEnd"), [rollEnd]("GI.GES.Objects.TimelineElement#g:method:rollEnd"), [rollStart]("GI.GES.Objects.TimelineElement#g:method:rollStart"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [trim]("GI.GES.Objects.TimelineElement#g:method:trim"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAllControlBindings]("GI.GES.Objects.TrackElement#g:method:getAllControlBindings"), [getAsset]("GI.GES.Interfaces.Extractable#g:method:getAsset"), [getAutoClampControlSources]("GI.GES.Objects.TrackElement#g:method:getAutoClampControlSources"), [getBackgroundColor]("GI.GES.Objects.TitleSource#g:method:getBackgroundColor"), [getBoolean]("GI.GES.Interfaces.MetaContainer#g:method:getBoolean"), [getChildProperty]("GI.GES.Objects.TimelineElement#g:method:getChildProperty"), [getChildPropertyByPspec]("GI.GES.Objects.TimelineElement#g:method:getChildPropertyByPspec"), [getControlBinding]("GI.GES.Objects.TrackElement#g:method:getControlBinding"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDate]("GI.GES.Interfaces.MetaContainer#g:method:getDate"), [getDateTime]("GI.GES.Interfaces.MetaContainer#g:method:getDateTime"), [getDouble]("GI.GES.Interfaces.MetaContainer#g:method:getDouble"), [getDuration]("GI.GES.Objects.TimelineElement#g:method:getDuration"), [getElement]("GI.GES.Objects.TrackElement#g:method:getElement"), [getFloat]("GI.GES.Interfaces.MetaContainer#g:method:getFloat"), [getFontDesc]("GI.GES.Objects.TitleSource#g:method:getFontDesc"), [getGnlobject]("GI.GES.Objects.TrackElement#g:method:getGnlobject"), [getHalignment]("GI.GES.Objects.TitleSource#g:method:getHalignment"), [getId]("GI.GES.Interfaces.Extractable#g:method:getId"), [getInpoint]("GI.GES.Objects.TimelineElement#g:method:getInpoint"), [getInt]("GI.GES.Interfaces.MetaContainer#g:method:getInt"), [getInt64]("GI.GES.Interfaces.MetaContainer#g:method:getInt64"), [getLayerPriority]("GI.GES.Objects.TimelineElement#g:method:getLayerPriority"), [getMarkerList]("GI.GES.Interfaces.MetaContainer#g:method:getMarkerList"), [getMaxDuration]("GI.GES.Objects.TimelineElement#g:method:getMaxDuration"), [getMeta]("GI.GES.Interfaces.MetaContainer#g:method:getMeta"), [getName]("GI.GES.Objects.TimelineElement#g:method:getName"), [getNaturalFramerate]("GI.GES.Objects.TimelineElement#g:method:getNaturalFramerate"), [getNaturalSize]("GI.GES.Objects.VideoSource#g:method:getNaturalSize"), [getNleobject]("GI.GES.Objects.TrackElement#g:method:getNleobject"), [getParent]("GI.GES.Objects.TimelineElement#g:method:getParent"), [getPriority]("GI.GES.Objects.TimelineElement#g:method:getPriority"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getStart]("GI.GES.Objects.TimelineElement#g:method:getStart"), [getString]("GI.GES.Interfaces.MetaContainer#g:method:getString"), [getText]("GI.GES.Objects.TitleSource#g:method:getText"), [getTextColor]("GI.GES.Objects.TitleSource#g:method:getTextColor"), [getTimeline]("GI.GES.Objects.TimelineElement#g:method:getTimeline"), [getToplevelParent]("GI.GES.Objects.TimelineElement#g:method:getToplevelParent"), [getTrack]("GI.GES.Objects.TrackElement#g:method:getTrack"), [getTrackType]("GI.GES.Objects.TrackElement#g:method:getTrackType"), [getTrackTypes]("GI.GES.Objects.TimelineElement#g:method:getTrackTypes"), [getUint]("GI.GES.Interfaces.MetaContainer#g:method:getUint"), [getUint64]("GI.GES.Interfaces.MetaContainer#g:method:getUint64"), [getValignment]("GI.GES.Objects.TitleSource#g:method:getValignment"), [getXpos]("GI.GES.Objects.TitleSource#g:method:getXpos"), [getYpos]("GI.GES.Objects.TitleSource#g:method:getYpos").
-- 
-- ==== Setters
-- [setActive]("GI.GES.Objects.TrackElement#g:method:setActive"), [setAsset]("GI.GES.Interfaces.Extractable#g:method:setAsset"), [setAutoClampControlSources]("GI.GES.Objects.TrackElement#g:method:setAutoClampControlSources"), [setBackgroundColor]("GI.GES.Objects.TitleSource#g:method:setBackgroundColor"), [setBoolean]("GI.GES.Interfaces.MetaContainer#g:method:setBoolean"), [setChildProperty]("GI.GES.Objects.TimelineElement#g:method:setChildProperty"), [setChildPropertyByPspec]("GI.GES.Objects.TimelineElement#g:method:setChildPropertyByPspec"), [setChildPropertyFull]("GI.GES.Objects.TimelineElement#g:method:setChildPropertyFull"), [setControlSource]("GI.GES.Objects.TrackElement#g:method:setControlSource"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDate]("GI.GES.Interfaces.MetaContainer#g:method:setDate"), [setDateTime]("GI.GES.Interfaces.MetaContainer#g:method:setDateTime"), [setDouble]("GI.GES.Interfaces.MetaContainer#g:method:setDouble"), [setDuration]("GI.GES.Objects.TimelineElement#g:method:setDuration"), [setFloat]("GI.GES.Interfaces.MetaContainer#g:method:setFloat"), [setFontDesc]("GI.GES.Objects.TitleSource#g:method:setFontDesc"), [setHalignment]("GI.GES.Objects.TitleSource#g:method:setHalignment"), [setHasInternalSource]("GI.GES.Objects.TrackElement#g:method:setHasInternalSource"), [setInpoint]("GI.GES.Objects.TimelineElement#g:method:setInpoint"), [setInt]("GI.GES.Interfaces.MetaContainer#g:method:setInt"), [setInt64]("GI.GES.Interfaces.MetaContainer#g:method:setInt64"), [setMarkerList]("GI.GES.Interfaces.MetaContainer#g:method:setMarkerList"), [setMaxDuration]("GI.GES.Objects.TimelineElement#g:method:setMaxDuration"), [setMeta]("GI.GES.Interfaces.MetaContainer#g:method:setMeta"), [setName]("GI.GES.Objects.TimelineElement#g:method:setName"), [setParent]("GI.GES.Objects.TimelineElement#g:method:setParent"), [setPriority]("GI.GES.Objects.TimelineElement#g:method:setPriority"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setStart]("GI.GES.Objects.TimelineElement#g:method:setStart"), [setString]("GI.GES.Interfaces.MetaContainer#g:method:setString"), [setText]("GI.GES.Objects.TitleSource#g:method:setText"), [setTextColor]("GI.GES.Objects.TitleSource#g:method:setTextColor"), [setTimeline]("GI.GES.Objects.TimelineElement#g:method:setTimeline"), [setTrackType]("GI.GES.Objects.TrackElement#g:method:setTrackType"), [setUint]("GI.GES.Interfaces.MetaContainer#g:method:setUint"), [setUint64]("GI.GES.Interfaces.MetaContainer#g:method:setUint64"), [setValignment]("GI.GES.Objects.TitleSource#g:method:setValignment"), [setXpos]("GI.GES.Objects.TitleSource#g:method:setXpos"), [setYpos]("GI.GES.Objects.TitleSource#g:method:setYpos").

#if defined(ENABLE_OVERLOADING)
    ResolveTitleSourceMethod                ,
#endif

-- ** getBackgroundColor #method:getBackgroundColor#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetBackgroundColorMethodInfo ,
#endif
    titleSourceGetBackgroundColor           ,


-- ** getFontDesc #method:getFontDesc#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetFontDescMethodInfo        ,
#endif
    titleSourceGetFontDesc                  ,


-- ** getHalignment #method:getHalignment#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetHalignmentMethodInfo      ,
#endif
    titleSourceGetHalignment                ,


-- ** getText #method:getText#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetTextMethodInfo            ,
#endif
    titleSourceGetText                      ,


-- ** getTextColor #method:getTextColor#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetTextColorMethodInfo       ,
#endif
    titleSourceGetTextColor                 ,


-- ** getValignment #method:getValignment#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetValignmentMethodInfo      ,
#endif
    titleSourceGetValignment                ,


-- ** getXpos #method:getXpos#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetXposMethodInfo            ,
#endif
    titleSourceGetXpos                      ,


-- ** getYpos #method:getYpos#

#if defined(ENABLE_OVERLOADING)
    TitleSourceGetYposMethodInfo            ,
#endif
    titleSourceGetYpos                      ,


-- ** setBackgroundColor #method:setBackgroundColor#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetBackgroundColorMethodInfo ,
#endif
    titleSourceSetBackgroundColor           ,


-- ** setFontDesc #method:setFontDesc#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetFontDescMethodInfo        ,
#endif
    titleSourceSetFontDesc                  ,


-- ** setHalignment #method:setHalignment#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetHalignmentMethodInfo      ,
#endif
    titleSourceSetHalignment                ,


-- ** setText #method:setText#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetTextMethodInfo            ,
#endif
    titleSourceSetText                      ,


-- ** setTextColor #method:setTextColor#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetTextColorMethodInfo       ,
#endif
    titleSourceSetTextColor                 ,


-- ** setValignment #method:setValignment#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetValignmentMethodInfo      ,
#endif
    titleSourceSetValignment                ,


-- ** setXpos #method:setXpos#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetXposMethodInfo            ,
#endif
    titleSourceSetXpos                      ,


-- ** setYpos #method:setYpos#

#if defined(ENABLE_OVERLOADING)
    TitleSourceSetYposMethodInfo            ,
#endif
    titleSourceSetYpos                      ,




    ) 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.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 {-# SOURCE #-} qualified GI.GES.Enums as GES.Enums
import {-# SOURCE #-} qualified GI.GES.Interfaces.Extractable as GES.Extractable
import {-# SOURCE #-} qualified GI.GES.Interfaces.MetaContainer as GES.MetaContainer
import {-# SOURCE #-} qualified GI.GES.Objects.Source as GES.Source
import {-# SOURCE #-} qualified GI.GES.Objects.TimelineElement as GES.TimelineElement
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import {-# SOURCE #-} qualified GI.GES.Objects.VideoSource as GES.VideoSource
import qualified GI.GObject.Objects.Object as GObject.Object

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

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

foreign import ccall "ges_title_source_get_type"
    c_ges_title_source_get_type :: IO B.Types.GType

instance B.Types.TypedObject TitleSource where
    glibType :: IO GType
glibType = IO GType
c_ges_title_source_get_type

instance B.Types.GObject TitleSource

-- | Type class for types which can be safely cast to `TitleSource`, for instance with `toTitleSource`.
class (SP.GObject o, O.IsDescendantOf TitleSource o) => IsTitleSource o
instance (SP.GObject o, O.IsDescendantOf TitleSource o) => IsTitleSource o

instance O.HasParentTypes TitleSource
type instance O.ParentTypes TitleSource = '[GES.VideoSource.VideoSource, GES.Source.Source, GES.TrackElement.TrackElement, GES.TimelineElement.TimelineElement, GObject.Object.Object, GES.Extractable.Extractable, GES.MetaContainer.MetaContainer]

-- | Cast to `TitleSource`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toTitleSource :: (MIO.MonadIO m, IsTitleSource o) => o -> m TitleSource
toTitleSource :: forall (m :: * -> *) o.
(MonadIO m, IsTitleSource o) =>
o -> m TitleSource
toTitleSource = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr TitleSource -> TitleSource
TitleSource

-- | Convert 'TitleSource' 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 TitleSource) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_title_source_get_type
    gvalueSet_ :: Ptr GValue -> Maybe TitleSource -> IO ()
gvalueSet_ Ptr GValue
gv Maybe TitleSource
P.Nothing = forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (forall a. Ptr a
FP.nullPtr :: FP.Ptr TitleSource)
    gvalueSet_ Ptr GValue
gv (P.Just TitleSource
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TitleSource
obj (forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe TitleSource)
gvalueGet_ Ptr GValue
gv = do
        Ptr TitleSource
ptr <- forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr TitleSource)
        if Ptr TitleSource
ptr forall a. Eq a => a -> a -> Bool
/= forall a. Ptr a
FP.nullPtr
        then forall a. a -> Maybe a
P.Just forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr TitleSource -> TitleSource
TitleSource Ptr TitleSource
ptr
        else forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveTitleSourceMethod (t :: Symbol) (o :: *) :: * where
    ResolveTitleSourceMethod "addChildProperty" o = GES.TimelineElement.TimelineElementAddChildPropertyMethodInfo
    ResolveTitleSourceMethod "addChildrenProps" o = GES.TrackElement.TrackElementAddChildrenPropsMethodInfo
    ResolveTitleSourceMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
    ResolveTitleSourceMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveTitleSourceMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveTitleSourceMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
    ResolveTitleSourceMethod "clampControlSource" o = GES.TrackElement.TrackElementClampControlSourceMethodInfo
    ResolveTitleSourceMethod "copy" o = GES.TimelineElement.TimelineElementCopyMethodInfo
    ResolveTitleSourceMethod "edit" o = GES.TrackElement.TrackElementEditMethodInfo
    ResolveTitleSourceMethod "editFull" o = GES.TimelineElement.TimelineElementEditFullMethodInfo
    ResolveTitleSourceMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveTitleSourceMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
    ResolveTitleSourceMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveTitleSourceMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveTitleSourceMethod "hasInternalSource" o = GES.TrackElement.TrackElementHasInternalSourceMethodInfo
    ResolveTitleSourceMethod "isActive" o = GES.TrackElement.TrackElementIsActiveMethodInfo
    ResolveTitleSourceMethod "isCore" o = GES.TrackElement.TrackElementIsCoreMethodInfo
    ResolveTitleSourceMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveTitleSourceMethod "listChildrenProperties" o = GES.TrackElement.TrackElementListChildrenPropertiesMethodInfo
    ResolveTitleSourceMethod "lookupChild" o = GES.TrackElement.TrackElementLookupChildMethodInfo
    ResolveTitleSourceMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
    ResolveTitleSourceMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveTitleSourceMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveTitleSourceMethod "paste" o = GES.TimelineElement.TimelineElementPasteMethodInfo
    ResolveTitleSourceMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveTitleSourceMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveTitleSourceMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
    ResolveTitleSourceMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
    ResolveTitleSourceMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
    ResolveTitleSourceMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
    ResolveTitleSourceMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
    ResolveTitleSourceMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
    ResolveTitleSourceMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
    ResolveTitleSourceMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
    ResolveTitleSourceMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
    ResolveTitleSourceMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
    ResolveTitleSourceMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
    ResolveTitleSourceMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
    ResolveTitleSourceMethod "removeChildProperty" o = GES.TimelineElement.TimelineElementRemoveChildPropertyMethodInfo
    ResolveTitleSourceMethod "removeControlBinding" o = GES.TrackElement.TrackElementRemoveControlBindingMethodInfo
    ResolveTitleSourceMethod "ripple" o = GES.TimelineElement.TimelineElementRippleMethodInfo
    ResolveTitleSourceMethod "rippleEnd" o = GES.TimelineElement.TimelineElementRippleEndMethodInfo
    ResolveTitleSourceMethod "rollEnd" o = GES.TimelineElement.TimelineElementRollEndMethodInfo
    ResolveTitleSourceMethod "rollStart" o = GES.TimelineElement.TimelineElementRollStartMethodInfo
    ResolveTitleSourceMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveTitleSourceMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveTitleSourceMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveTitleSourceMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveTitleSourceMethod "trim" o = GES.TimelineElement.TimelineElementTrimMethodInfo
    ResolveTitleSourceMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveTitleSourceMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveTitleSourceMethod "getAllControlBindings" o = GES.TrackElement.TrackElementGetAllControlBindingsMethodInfo
    ResolveTitleSourceMethod "getAsset" o = GES.Extractable.ExtractableGetAssetMethodInfo
    ResolveTitleSourceMethod "getAutoClampControlSources" o = GES.TrackElement.TrackElementGetAutoClampControlSourcesMethodInfo
    ResolveTitleSourceMethod "getBackgroundColor" o = TitleSourceGetBackgroundColorMethodInfo
    ResolveTitleSourceMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
    ResolveTitleSourceMethod "getChildProperty" o = GES.TimelineElement.TimelineElementGetChildPropertyMethodInfo
    ResolveTitleSourceMethod "getChildPropertyByPspec" o = GES.TimelineElement.TimelineElementGetChildPropertyByPspecMethodInfo
    ResolveTitleSourceMethod "getControlBinding" o = GES.TrackElement.TrackElementGetControlBindingMethodInfo
    ResolveTitleSourceMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveTitleSourceMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
    ResolveTitleSourceMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
    ResolveTitleSourceMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
    ResolveTitleSourceMethod "getDuration" o = GES.TimelineElement.TimelineElementGetDurationMethodInfo
    ResolveTitleSourceMethod "getElement" o = GES.TrackElement.TrackElementGetElementMethodInfo
    ResolveTitleSourceMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
    ResolveTitleSourceMethod "getFontDesc" o = TitleSourceGetFontDescMethodInfo
    ResolveTitleSourceMethod "getGnlobject" o = GES.TrackElement.TrackElementGetGnlobjectMethodInfo
    ResolveTitleSourceMethod "getHalignment" o = TitleSourceGetHalignmentMethodInfo
    ResolveTitleSourceMethod "getId" o = GES.Extractable.ExtractableGetIdMethodInfo
    ResolveTitleSourceMethod "getInpoint" o = GES.TimelineElement.TimelineElementGetInpointMethodInfo
    ResolveTitleSourceMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
    ResolveTitleSourceMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
    ResolveTitleSourceMethod "getLayerPriority" o = GES.TimelineElement.TimelineElementGetLayerPriorityMethodInfo
    ResolveTitleSourceMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
    ResolveTitleSourceMethod "getMaxDuration" o = GES.TimelineElement.TimelineElementGetMaxDurationMethodInfo
    ResolveTitleSourceMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
    ResolveTitleSourceMethod "getName" o = GES.TimelineElement.TimelineElementGetNameMethodInfo
    ResolveTitleSourceMethod "getNaturalFramerate" o = GES.TimelineElement.TimelineElementGetNaturalFramerateMethodInfo
    ResolveTitleSourceMethod "getNaturalSize" o = GES.VideoSource.VideoSourceGetNaturalSizeMethodInfo
    ResolveTitleSourceMethod "getNleobject" o = GES.TrackElement.TrackElementGetNleobjectMethodInfo
    ResolveTitleSourceMethod "getParent" o = GES.TimelineElement.TimelineElementGetParentMethodInfo
    ResolveTitleSourceMethod "getPriority" o = GES.TimelineElement.TimelineElementGetPriorityMethodInfo
    ResolveTitleSourceMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveTitleSourceMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveTitleSourceMethod "getStart" o = GES.TimelineElement.TimelineElementGetStartMethodInfo
    ResolveTitleSourceMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
    ResolveTitleSourceMethod "getText" o = TitleSourceGetTextMethodInfo
    ResolveTitleSourceMethod "getTextColor" o = TitleSourceGetTextColorMethodInfo
    ResolveTitleSourceMethod "getTimeline" o = GES.TimelineElement.TimelineElementGetTimelineMethodInfo
    ResolveTitleSourceMethod "getToplevelParent" o = GES.TimelineElement.TimelineElementGetToplevelParentMethodInfo
    ResolveTitleSourceMethod "getTrack" o = GES.TrackElement.TrackElementGetTrackMethodInfo
    ResolveTitleSourceMethod "getTrackType" o = GES.TrackElement.TrackElementGetTrackTypeMethodInfo
    ResolveTitleSourceMethod "getTrackTypes" o = GES.TimelineElement.TimelineElementGetTrackTypesMethodInfo
    ResolveTitleSourceMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
    ResolveTitleSourceMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
    ResolveTitleSourceMethod "getValignment" o = TitleSourceGetValignmentMethodInfo
    ResolveTitleSourceMethod "getXpos" o = TitleSourceGetXposMethodInfo
    ResolveTitleSourceMethod "getYpos" o = TitleSourceGetYposMethodInfo
    ResolveTitleSourceMethod "setActive" o = GES.TrackElement.TrackElementSetActiveMethodInfo
    ResolveTitleSourceMethod "setAsset" o = GES.Extractable.ExtractableSetAssetMethodInfo
    ResolveTitleSourceMethod "setAutoClampControlSources" o = GES.TrackElement.TrackElementSetAutoClampControlSourcesMethodInfo
    ResolveTitleSourceMethod "setBackgroundColor" o = TitleSourceSetBackgroundColorMethodInfo
    ResolveTitleSourceMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
    ResolveTitleSourceMethod "setChildProperty" o = GES.TimelineElement.TimelineElementSetChildPropertyMethodInfo
    ResolveTitleSourceMethod "setChildPropertyByPspec" o = GES.TimelineElement.TimelineElementSetChildPropertyByPspecMethodInfo
    ResolveTitleSourceMethod "setChildPropertyFull" o = GES.TimelineElement.TimelineElementSetChildPropertyFullMethodInfo
    ResolveTitleSourceMethod "setControlSource" o = GES.TrackElement.TrackElementSetControlSourceMethodInfo
    ResolveTitleSourceMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveTitleSourceMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveTitleSourceMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
    ResolveTitleSourceMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
    ResolveTitleSourceMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
    ResolveTitleSourceMethod "setDuration" o = GES.TimelineElement.TimelineElementSetDurationMethodInfo
    ResolveTitleSourceMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
    ResolveTitleSourceMethod "setFontDesc" o = TitleSourceSetFontDescMethodInfo
    ResolveTitleSourceMethod "setHalignment" o = TitleSourceSetHalignmentMethodInfo
    ResolveTitleSourceMethod "setHasInternalSource" o = GES.TrackElement.TrackElementSetHasInternalSourceMethodInfo
    ResolveTitleSourceMethod "setInpoint" o = GES.TimelineElement.TimelineElementSetInpointMethodInfo
    ResolveTitleSourceMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
    ResolveTitleSourceMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
    ResolveTitleSourceMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
    ResolveTitleSourceMethod "setMaxDuration" o = GES.TimelineElement.TimelineElementSetMaxDurationMethodInfo
    ResolveTitleSourceMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
    ResolveTitleSourceMethod "setName" o = GES.TimelineElement.TimelineElementSetNameMethodInfo
    ResolveTitleSourceMethod "setParent" o = GES.TimelineElement.TimelineElementSetParentMethodInfo
    ResolveTitleSourceMethod "setPriority" o = GES.TimelineElement.TimelineElementSetPriorityMethodInfo
    ResolveTitleSourceMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveTitleSourceMethod "setStart" o = GES.TimelineElement.TimelineElementSetStartMethodInfo
    ResolveTitleSourceMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
    ResolveTitleSourceMethod "setText" o = TitleSourceSetTextMethodInfo
    ResolveTitleSourceMethod "setTextColor" o = TitleSourceSetTextColorMethodInfo
    ResolveTitleSourceMethod "setTimeline" o = GES.TimelineElement.TimelineElementSetTimelineMethodInfo
    ResolveTitleSourceMethod "setTrackType" o = GES.TrackElement.TrackElementSetTrackTypeMethodInfo
    ResolveTitleSourceMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
    ResolveTitleSourceMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
    ResolveTitleSourceMethod "setValignment" o = TitleSourceSetValignmentMethodInfo
    ResolveTitleSourceMethod "setXpos" o = TitleSourceSetXposMethodInfo
    ResolveTitleSourceMethod "setYpos" o = TitleSourceSetYposMethodInfo
    ResolveTitleSourceMethod l o = O.MethodResolutionFailed l o

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

#endif

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

#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TitleSource
type instance O.AttributeList TitleSource = TitleSourceAttributeList
type TitleSourceAttributeList = ('[ '("active", GES.TrackElement.TrackElementActivePropertyInfo), '("autoClampControlSources", GES.TrackElement.TrackElementAutoClampControlSourcesPropertyInfo), '("duration", GES.TimelineElement.TimelineElementDurationPropertyInfo), '("hasInternalSource", GES.TrackElement.TrackElementHasInternalSourcePropertyInfo), '("inPoint", GES.TimelineElement.TimelineElementInPointPropertyInfo), '("maxDuration", GES.TimelineElement.TimelineElementMaxDurationPropertyInfo), '("name", GES.TimelineElement.TimelineElementNamePropertyInfo), '("parent", GES.TimelineElement.TimelineElementParentPropertyInfo), '("priority", GES.TimelineElement.TimelineElementPriorityPropertyInfo), '("serialize", GES.TimelineElement.TimelineElementSerializePropertyInfo), '("start", GES.TimelineElement.TimelineElementStartPropertyInfo), '("timeline", GES.TimelineElement.TimelineElementTimelinePropertyInfo), '("track", GES.TrackElement.TrackElementTrackPropertyInfo), '("trackType", GES.TrackElement.TrackElementTrackTypePropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TitleSource = TitleSourceSignalList
type TitleSourceSignalList = ('[ '("childPropertyAdded", GES.TimelineElement.TimelineElementChildPropertyAddedSignalInfo), '("childPropertyRemoved", GES.TimelineElement.TimelineElementChildPropertyRemovedSignalInfo), '("controlBindingAdded", GES.TrackElement.TrackElementControlBindingAddedSignalInfo), '("controlBindingRemoved", GES.TrackElement.TrackElementControlBindingRemovedSignalInfo), '("deepNotify", GES.TimelineElement.TimelineElementDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, *)])

#endif

-- method TitleSource::get_background_color
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt32)
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_background_color" ges_title_source_get_background_color :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO Word32

-- | Get the background used by /@source@/.
titleSourceGetBackgroundColor ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m Word32
    -- ^ __Returns:__ The background used by /@source@/.
titleSourceGetBackgroundColor :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m Word32
titleSourceGetBackgroundColor a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    Word32
result <- Ptr TitleSource -> IO Word32
ges_title_source_get_background_color Ptr TitleSource
source'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetBackgroundColorMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetBackgroundColorMethodInfo a signature where
    overloadedMethod = titleSourceGetBackgroundColor

instance O.OverloadedMethodInfo TitleSourceGetBackgroundColorMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetBackgroundColor",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetBackgroundColor"
        })


#endif

-- method TitleSource::get_font_desc
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_font_desc" ges_title_source_get_font_desc :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO CString

{-# DEPRECATED titleSourceGetFontDesc ["(Since version 1.16)","Use ges_timeline_element_get_child_property instead","(this actually returns a newly allocated string)"] #-}
-- | Get the pango font description used by /@source@/.
titleSourceGetFontDesc ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m T.Text
    -- ^ __Returns:__ The pango font description used by this
    -- /@source@/.
titleSourceGetFontDesc :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m Text
titleSourceGetFontDesc a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    CString
result <- Ptr TitleSource -> IO CString
ges_title_source_get_font_desc Ptr TitleSource
source'
    forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"titleSourceGetFontDesc" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
cstringToText CString
result
    forall a. Ptr a -> IO ()
freeMem CString
result
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetFontDescMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetFontDescMethodInfo a signature where
    overloadedMethod = titleSourceGetFontDesc

instance O.OverloadedMethodInfo TitleSourceGetFontDescMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetFontDesc",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetFontDesc"
        })


#endif

-- method TitleSource::get_halignment
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GES" , name = "TextHAlign" })
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_halignment" ges_title_source_get_halignment :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO CUInt

-- | Get the horizontal aligment used by /@source@/.
titleSourceGetHalignment ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m GES.Enums.TextHAlign
    -- ^ __Returns:__ The horizontal aligment used by /@source@/.
titleSourceGetHalignment :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m TextHAlign
titleSourceGetHalignment a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    CUInt
result <- Ptr TitleSource -> IO CUInt
ges_title_source_get_halignment Ptr TitleSource
source'
    let result' :: TextHAlign
result' = (forall a. Enum a => Int -> a
toEnum forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return TextHAlign
result'

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetHalignmentMethodInfo
instance (signature ~ (m GES.Enums.TextHAlign), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetHalignmentMethodInfo a signature where
    overloadedMethod = titleSourceGetHalignment

instance O.OverloadedMethodInfo TitleSourceGetHalignmentMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetHalignment",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetHalignment"
        })


#endif

-- method TitleSource::get_text
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_text" ges_title_source_get_text :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO CString

{-# DEPRECATED titleSourceGetText ["(Since version 1.16)","Use ges_timeline_element_get_child_property instead","(this actually returns a newly allocated string)"] #-}
-- | Get the text currently set on the /@source@/.
titleSourceGetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m T.Text
    -- ^ __Returns:__ The text currently set on the /@source@/.
titleSourceGetText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m Text
titleSourceGetText a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    CString
result <- Ptr TitleSource -> IO CString
ges_title_source_get_text Ptr TitleSource
source'
    forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"titleSourceGetText" CString
result
    Text
result' <- HasCallStack => CString -> IO Text
cstringToText CString
result
    forall a. Ptr a -> IO ()
freeMem CString
result
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetTextMethodInfo a signature where
    overloadedMethod = titleSourceGetText

instance O.OverloadedMethodInfo TitleSourceGetTextMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetText",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetText"
        })


#endif

-- method TitleSource::get_text_color
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt32)
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_text_color" ges_title_source_get_text_color :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO Word32

-- | Get the color used by /@source@/.
titleSourceGetTextColor ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m Word32
    -- ^ __Returns:__ The color used by /@source@/.
titleSourceGetTextColor :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m Word32
titleSourceGetTextColor a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    Word32
result <- Ptr TitleSource -> IO Word32
ges_title_source_get_text_color Ptr TitleSource
source'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetTextColorMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetTextColorMethodInfo a signature where
    overloadedMethod = titleSourceGetTextColor

instance O.OverloadedMethodInfo TitleSourceGetTextColorMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetTextColor",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetTextColor"
        })


#endif

-- method TitleSource::get_valignment
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "GES" , name = "TextVAlign" })
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_valignment" ges_title_source_get_valignment :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO CUInt

-- | Get the vertical aligment used by /@source@/.
titleSourceGetValignment ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m GES.Enums.TextVAlign
    -- ^ __Returns:__ The vertical aligment used by /@source@/.
titleSourceGetValignment :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m TextVAlign
titleSourceGetValignment a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    CUInt
result <- Ptr TitleSource -> IO CUInt
ges_title_source_get_valignment Ptr TitleSource
source'
    let result' :: TextVAlign
result' = (forall a. Enum a => Int -> a
toEnum forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return TextVAlign
result'

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetValignmentMethodInfo
instance (signature ~ (m GES.Enums.TextVAlign), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetValignmentMethodInfo a signature where
    overloadedMethod = titleSourceGetValignment

instance O.OverloadedMethodInfo TitleSourceGetValignmentMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetValignment",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetValignment"
        })


#endif

-- method TitleSource::get_xpos
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_xpos" ges_title_source_get_xpos :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO CDouble

-- | Get the horizontal position used by /@source@/.
titleSourceGetXpos ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m Double
    -- ^ __Returns:__ The horizontal position used by /@source@/.
titleSourceGetXpos :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m Double
titleSourceGetXpos a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    CDouble
result <- Ptr TitleSource -> IO CDouble
ges_title_source_get_xpos Ptr TitleSource
source'
    let result' :: Double
result' = forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
result
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return Double
result'

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetXposMethodInfo
instance (signature ~ (m Double), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetXposMethodInfo a signature where
    overloadedMethod = titleSourceGetXpos

instance O.OverloadedMethodInfo TitleSourceGetXposMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetXpos",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetXpos"
        })


#endif

-- method TitleSource::get_ypos
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "source"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GESTitleSource" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_get_ypos" ges_title_source_get_ypos :: 
    Ptr TitleSource ->                      -- source : TInterface (Name {namespace = "GES", name = "TitleSource"})
    IO CDouble

-- | Get the vertical position used by /@source@/.
titleSourceGetYpos ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@source@/: a t'GI.GES.Objects.TitleSource.TitleSource'
    -> m Double
    -- ^ __Returns:__ The vertical position used by /@source@/.
titleSourceGetYpos :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m Double
titleSourceGetYpos a
source = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
    CDouble
result <- Ptr TitleSource -> IO CDouble
ges_title_source_get_ypos Ptr TitleSource
source'
    let result' :: Double
result' = forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
result
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    forall (m :: * -> *) a. Monad m => a -> m a
return Double
result'

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetYposMethodInfo
instance (signature ~ (m Double), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceGetYposMethodInfo a signature where
    overloadedMethod = titleSourceGetYpos

instance O.OverloadedMethodInfo TitleSourceGetYposMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceGetYpos",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceGetYpos"
        })


#endif

-- method TitleSource::set_background_color
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource* to set"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "color"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the color @self is being set to"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_background_color" ges_title_source_set_background_color :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    Word32 ->                               -- color : TBasicType TUInt32
    IO ()

-- | Sets the color of the background
titleSourceSetBackgroundColor ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'* to set
    -> Word32
    -- ^ /@color@/: the color /@self@/ is being set to
    -> m ()
titleSourceSetBackgroundColor :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> Word32 -> m ()
titleSourceSetBackgroundColor a
self Word32
color = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr TitleSource -> Word32 -> IO ()
ges_title_source_set_background_color Ptr TitleSource
self' Word32
color
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetBackgroundColorMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetBackgroundColorMethodInfo a signature where
    overloadedMethod = titleSourceSetBackgroundColor

instance O.OverloadedMethodInfo TitleSourceSetBackgroundColorMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetBackgroundColor",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetBackgroundColor"
        })


#endif

-- method TitleSource::set_font_desc
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "font_desc"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the pango font description"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_font_desc" ges_title_source_set_font_desc :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    CString ->                              -- font_desc : TBasicType TUTF8
    IO ()

-- | Set the pango font description this source will use to render
-- the text.
titleSourceSetFontDesc ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'
    -> T.Text
    -- ^ /@fontDesc@/: the pango font description
    -> m ()
titleSourceSetFontDesc :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> Text -> m ()
titleSourceSetFontDesc a
self Text
fontDesc = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
fontDesc' <- Text -> IO CString
textToCString Text
fontDesc
    Ptr TitleSource -> CString -> IO ()
ges_title_source_set_font_desc Ptr TitleSource
self' CString
fontDesc'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall a. Ptr a -> IO ()
freeMem CString
fontDesc'
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetFontDescMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetFontDescMethodInfo a signature where
    overloadedMethod = titleSourceSetFontDesc

instance O.OverloadedMethodInfo TitleSourceSetFontDescMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetFontDesc",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetFontDesc"
        })


#endif

-- method TitleSource::set_halignment
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource* to set text on"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "halign"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TextHAlign" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "#GESTextHAlign" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_halignment" ges_title_source_set_halignment :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    CUInt ->                                -- halign : TInterface (Name {namespace = "GES", name = "TextHAlign"})
    IO ()

-- | Sets the vertical aligment of the text.
titleSourceSetHalignment ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'* to set text on
    -> GES.Enums.TextHAlign
    -- ^ /@halign@/: t'GI.GES.Enums.TextHAlign'
    -> m ()
titleSourceSetHalignment :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> TextHAlign -> m ()
titleSourceSetHalignment a
self TextHAlign
halign = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let halign' :: CUInt
halign' = (forall a b. (Integral a, Num b) => a -> b
fromIntegral forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Enum a => a -> Int
fromEnum) TextHAlign
halign
    Ptr TitleSource -> CUInt -> IO ()
ges_title_source_set_halignment Ptr TitleSource
self' CUInt
halign'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetHalignmentMethodInfo
instance (signature ~ (GES.Enums.TextHAlign -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetHalignmentMethodInfo a signature where
    overloadedMethod = titleSourceSetHalignment

instance O.OverloadedMethodInfo TitleSourceSetHalignmentMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetHalignment",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetHalignment"
        })


#endif

-- method TitleSource::set_text
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource* to set text on"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "text"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just
--                       "the text to render. an internal copy of this text will be\nmade."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_text" ges_title_source_set_text :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    CString ->                              -- text : TBasicType TUTF8
    IO ()

{-# DEPRECATED titleSourceSetText ["use ges_track_element_get\\/set_children_properties on the","GESTrackElement instead"] #-}
-- | Sets the text this track element will render.
titleSourceSetText ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'* to set text on
    -> T.Text
    -- ^ /@text@/: the text to render. an internal copy of this text will be
    -- made.
    -> m ()
titleSourceSetText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> Text -> m ()
titleSourceSetText a
self Text
text = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
text' <- Text -> IO CString
textToCString Text
text
    Ptr TitleSource -> CString -> IO ()
ges_title_source_set_text Ptr TitleSource
self' CString
text'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall a. Ptr a -> IO ()
freeMem CString
text'
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetTextMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetTextMethodInfo a signature where
    overloadedMethod = titleSourceSetText

instance O.OverloadedMethodInfo TitleSourceSetTextMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetText",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetText"
        })


#endif

-- method TitleSource::set_text_color
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource* to set"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "color"
--           , argType = TBasicType TUInt32
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the color @self is being set to"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_text_color" ges_title_source_set_text_color :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    Word32 ->                               -- color : TBasicType TUInt32
    IO ()

-- | Sets the color of the text.
titleSourceSetTextColor ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'* to set
    -> Word32
    -- ^ /@color@/: the color /@self@/ is being set to
    -> m ()
titleSourceSetTextColor :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> Word32 -> m ()
titleSourceSetTextColor a
self Word32
color = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    Ptr TitleSource -> Word32 -> IO ()
ges_title_source_set_text_color Ptr TitleSource
self' Word32
color
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetTextColorMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetTextColorMethodInfo a signature where
    overloadedMethod = titleSourceSetTextColor

instance O.OverloadedMethodInfo TitleSourceSetTextColorMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetTextColor",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetTextColor"
        })


#endif

-- method TitleSource::set_valignment
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource* to set text on"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "valign"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TextVAlign" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "#GESTextVAlign" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_valignment" ges_title_source_set_valignment :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    CUInt ->                                -- valign : TInterface (Name {namespace = "GES", name = "TextVAlign"})
    IO ()

-- | Sets the vertical aligment of the text.
titleSourceSetValignment ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'* to set text on
    -> GES.Enums.TextVAlign
    -- ^ /@valign@/: t'GI.GES.Enums.TextVAlign'
    -> m ()
titleSourceSetValignment :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> TextVAlign -> m ()
titleSourceSetValignment a
self TextVAlign
valign = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let valign' :: CUInt
valign' = (forall a b. (Integral a, Num b) => a -> b
fromIntegral forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Enum a => a -> Int
fromEnum) TextVAlign
valign
    Ptr TitleSource -> CUInt -> IO ()
ges_title_source_set_valignment Ptr TitleSource
self' CUInt
valign'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetValignmentMethodInfo
instance (signature ~ (GES.Enums.TextVAlign -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetValignmentMethodInfo a signature where
    overloadedMethod = titleSourceSetValignment

instance O.OverloadedMethodInfo TitleSourceSetValignmentMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetValignment",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetValignment"
        })


#endif

-- method TitleSource::set_xpos
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource* to set"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "position"
--           , argType = TBasicType TDouble
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the horizontal position @self is being set to"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_xpos" ges_title_source_set_xpos :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    CDouble ->                              -- position : TBasicType TDouble
    IO ()

-- | Sets the horizontal position of the text.
titleSourceSetXpos ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'* to set
    -> Double
    -- ^ /@position@/: the horizontal position /@self@/ is being set to
    -> m ()
titleSourceSetXpos :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> Double -> m ()
titleSourceSetXpos a
self Double
position = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let position' :: CDouble
position' = forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
position
    Ptr TitleSource -> CDouble -> IO ()
ges_title_source_set_xpos Ptr TitleSource
self' CDouble
position'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetXposMethodInfo
instance (signature ~ (Double -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetXposMethodInfo a signature where
    overloadedMethod = titleSourceSetXpos

instance O.OverloadedMethodInfo TitleSourceSetXposMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetXpos",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetXpos"
        })


#endif

-- method TitleSource::set_ypos
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "self"
--           , argType =
--               TInterface Name { namespace = "GES" , name = "TitleSource" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the #GESTitleSource* to set"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "position"
--           , argType = TBasicType TDouble
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the color @self is being set to"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "ges_title_source_set_ypos" ges_title_source_set_ypos :: 
    Ptr TitleSource ->                      -- self : TInterface (Name {namespace = "GES", name = "TitleSource"})
    CDouble ->                              -- position : TBasicType TDouble
    IO ()

-- | Sets the vertical position of the text.
titleSourceSetYpos ::
    (B.CallStack.HasCallStack, MonadIO m, IsTitleSource a) =>
    a
    -- ^ /@self@/: the t'GI.GES.Objects.TitleSource.TitleSource'* to set
    -> Double
    -- ^ /@position@/: the color /@self@/ is being set to
    -> m ()
titleSourceSetYpos :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> Double -> m ()
titleSourceSetYpos a
self Double
position = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
self' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let position' :: CDouble
position' = forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
position
    Ptr TitleSource -> CDouble -> IO ()
ges_title_source_set_ypos Ptr TitleSource
self' CDouble
position'
    forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetYposMethodInfo
instance (signature ~ (Double -> m ()), MonadIO m, IsTitleSource a) => O.OverloadedMethod TitleSourceSetYposMethodInfo a signature where
    overloadedMethod = titleSourceSetYpos

instance O.OverloadedMethodInfo TitleSourceSetYposMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.GES.Objects.TitleSource.titleSourceSetYpos",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.1/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetYpos"
        })


#endif