{-# 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.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 Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT

-- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
#if MIN_VERSION_base(4,18,0)
import qualified GI.GES.Callbacks as GES.Callbacks
import {-# SOURCE #-} qualified GI.GES.Enums as GES.Enums
import {-# SOURCE #-} qualified GI.GES.Flags as GES.Flags
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.Asset as GES.Asset
import {-# SOURCE #-} qualified GI.GES.Objects.BaseEffect as GES.BaseEffect
import {-# SOURCE #-} qualified GI.GES.Objects.Clip as GES.Clip
import {-# SOURCE #-} qualified GI.GES.Objects.Container as GES.Container
import {-# SOURCE #-} qualified GI.GES.Objects.Group as GES.Group
import {-# SOURCE #-} qualified GI.GES.Objects.Layer as GES.Layer
import {-# SOURCE #-} qualified GI.GES.Objects.Marker as GES.Marker
import {-# SOURCE #-} qualified GI.GES.Objects.MarkerList as GES.MarkerList
import {-# SOURCE #-} qualified GI.GES.Objects.Operation as GES.Operation
import {-# SOURCE #-} qualified GI.GES.Objects.Source as GES.Source
import {-# SOURCE #-} qualified GI.GES.Objects.Timeline as GES.Timeline
import {-# SOURCE #-} qualified GI.GES.Objects.TimelineElement as GES.TimelineElement
import {-# SOURCE #-} qualified GI.GES.Objects.Track as GES.Track
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import {-# SOURCE #-} qualified GI.GES.Objects.VideoSource as GES.VideoSource
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Structs.Date as GLib.Date
import qualified GI.GObject.Objects.InitiallyUnowned as GObject.InitiallyUnowned
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncInitable as Gio.AsyncInitable
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gst.Interfaces.ChildProxy as Gst.ChildProxy
import qualified GI.Gst.Objects.Bin as Gst.Bin
import qualified GI.Gst.Objects.ControlBinding as Gst.ControlBinding
import qualified GI.Gst.Objects.ControlSource as Gst.ControlSource
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Objects.Pad as Gst.Pad
import qualified GI.Gst.Structs.Caps as Gst.Caps
import qualified GI.Gst.Structs.DateTime as Gst.DateTime

#else
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

#endif

-- | Memory-managed wrapper type.
newtype TitleSource = TitleSource (SP.ManagedPtr TitleSource)
    deriving (TitleSource -> TitleSource -> Bool
(TitleSource -> TitleSource -> Bool)
-> (TitleSource -> TitleSource -> Bool) -> Eq TitleSource
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TitleSource -> TitleSource -> Bool
== :: TitleSource -> TitleSource -> Bool
$c/= :: TitleSource -> TitleSource -> Bool
/= :: 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 = IO TitleSource -> m TitleSource
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO TitleSource -> m TitleSource)
-> (o -> IO TitleSource) -> o -> m TitleSource
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TitleSource -> TitleSource) -> o -> IO TitleSource
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 = Ptr GValue -> Ptr TitleSource -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr TitleSource
forall a. Ptr a
FP.nullPtr :: FP.Ptr TitleSource)
    gvalueSet_ Ptr GValue
gv (P.Just TitleSource
obj) = TitleSource -> (Ptr TitleSource -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TitleSource
obj (Ptr GValue -> Ptr TitleSource -> IO ()
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 <- Ptr GValue -> IO (Ptr TitleSource)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr TitleSource)
        if Ptr TitleSource
ptr Ptr TitleSource -> Ptr TitleSource -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr TitleSource
forall a. Ptr a
FP.nullPtr
        then TitleSource -> Maybe TitleSource
forall a. a -> Maybe a
P.Just (TitleSource -> Maybe TitleSource)
-> IO TitleSource -> IO (Maybe TitleSource)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr TitleSource -> TitleSource)
-> Ptr TitleSource -> IO TitleSource
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 Maybe TitleSource -> IO (Maybe TitleSource)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TitleSource
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveTitleSourceMethod (t :: Symbol) (o :: DK.Type) :: DK.Type 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, DK.Type)])
#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, DK.Type)])

#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
--           , argCallbackUserData = 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 = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    Word32 -> IO Word32
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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 (Maybe T.Text)
    -- ^ __Returns:__ The pango font description used by this
    -- /@source@/.
titleSourceGetFontDesc :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m (Maybe Text)
titleSourceGetFontDesc a
source = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetFontDescMethodInfo
instance (signature ~ (m (Maybe 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.5/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
--           , argCallbackUserData = 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 = IO TextHAlign -> m TextHAlign
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TextHAlign -> m TextHAlign) -> IO TextHAlign -> m TextHAlign
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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' = (Int -> TextHAlign
forall a. Enum a => Int -> a
toEnum (Int -> TextHAlign) -> (CUInt -> Int) -> CUInt -> TextHAlign
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    TextHAlign -> IO TextHAlign
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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 (Maybe T.Text)
    -- ^ __Returns:__ The text currently set on the /@source@/.
titleSourceGetText :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> m (Maybe Text)
titleSourceGetText a
source = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
        Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data TitleSourceGetTextMethodInfo
instance (signature ~ (m (Maybe 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.5/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
--           , argCallbackUserData = 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 = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    Word32 -> IO Word32
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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 = IO TextVAlign -> m TextVAlign
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TextVAlign -> m TextVAlign) -> IO TextVAlign -> m TextVAlign
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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' = (Int -> TextVAlign
forall a. Enum a => Int -> a
toEnum (Int -> TextVAlign) -> (CUInt -> Int) -> CUInt -> TextVAlign
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    TextVAlign -> IO TextVAlign
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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 = IO Double -> m Double
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    Double -> IO Double
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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 = IO Double -> m Double
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Double -> m Double) -> IO Double -> m Double
forall a b. (a -> b) -> a -> b
$ do
    Ptr TitleSource
source' <- a -> IO (Ptr TitleSource)
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' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
    Double -> IO Double
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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
--           , argCallbackUserData = 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 = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
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
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "font_desc"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "the pango font description"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , argCallbackUserData = 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'
    -> Maybe (T.Text)
    -- ^ /@fontDesc@/: the pango font description
    -> m ()
titleSourceSetFontDesc :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTitleSource a) =>
a -> Maybe Text -> m ()
titleSourceSetFontDesc a
self Maybe Text
fontDesc = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
maybeFontDesc <- case Maybe Text
fontDesc of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
        Just Text
jFontDesc -> do
            CString
jFontDesc' <- Text -> IO CString
textToCString Text
jFontDesc
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jFontDesc'
    Ptr TitleSource -> CString -> IO ()
ges_title_source_set_font_desc Ptr TitleSource
self' CString
maybeFontDesc
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeFontDesc
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetFontDescMethodInfo
instance (signature ~ (Maybe (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.5/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
--           , argCallbackUserData = 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
--           , argCallbackUserData = 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 = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let halign' :: CUInt
halign' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (TextHAlign -> Int) -> TextHAlign -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TextHAlign -> Int
forall a. Enum a => a -> Int
fromEnum) TextHAlign
halign
    Ptr TitleSource -> CUInt -> IO ()
ges_title_source_set_halignment Ptr TitleSource
self' CUInt
halign'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "text"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = True
--           , 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
--           , argCallbackUserData = 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
    -> Maybe (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 -> Maybe Text -> m ()
titleSourceSetText a
self Maybe Text
text = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    CString
maybeText <- case Maybe Text
text of
        Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
        Just Text
jText -> do
            CString
jText' <- Text -> IO CString
textToCString Text
jText
            CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jText'
    Ptr TitleSource -> CString -> IO ()
ges_title_source_set_text Ptr TitleSource
self' CString
maybeText
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeText
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data TitleSourceSetTextMethodInfo
instance (signature ~ (Maybe (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.5/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
--           , argCallbackUserData = 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
--           , argCallbackUserData = 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 = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
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
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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
--           , argCallbackUserData = 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 = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let valign' :: CUInt
valign' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (TextVAlign -> Int) -> TextVAlign -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TextVAlign -> Int
forall a. Enum a => a -> Int
fromEnum) TextVAlign
valign
    Ptr TitleSource -> CUInt -> IO ()
ges_title_source_set_valignment Ptr TitleSource
self' CUInt
valign'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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
--           , argCallbackUserData = 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 = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let position' :: CDouble
position' = Double -> CDouble
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'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
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.5/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
--           , argCallbackUserData = 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
--           , argCallbackUserData = 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 = 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
$ do
    Ptr TitleSource
self' <- a -> IO (Ptr TitleSource)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
    let position' :: CDouble
position' = Double -> CDouble
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'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
    () -> IO ()
forall a. a -> IO a
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.5/docs/GI-GES-Objects-TitleSource.html#v:titleSourceSetYpos"
        })


#endif