{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit.Objects.DOMTextTrackCue
    ( 

-- * Exported types
    DOMTextTrackCue(..)                     ,
    DOMTextTrackCueK                        ,
    toDOMTextTrackCue                       ,
    noDOMTextTrackCue                       ,


 -- * Methods
-- ** dOMTextTrackCueDispatchEvent
    dOMTextTrackCueDispatchEvent            ,


-- ** dOMTextTrackCueGetAlign
    dOMTextTrackCueGetAlign                 ,


-- ** dOMTextTrackCueGetCueAsHtml
    dOMTextTrackCueGetCueAsHtml             ,


-- ** dOMTextTrackCueGetEndTime
    dOMTextTrackCueGetEndTime               ,


-- ** dOMTextTrackCueGetId
    dOMTextTrackCueGetId                    ,


-- ** dOMTextTrackCueGetLine
    dOMTextTrackCueGetLine                  ,


-- ** dOMTextTrackCueGetPauseOnExit
    dOMTextTrackCueGetPauseOnExit           ,


-- ** dOMTextTrackCueGetPosition
    dOMTextTrackCueGetPosition              ,


-- ** dOMTextTrackCueGetSize
    dOMTextTrackCueGetSize                  ,


-- ** dOMTextTrackCueGetSnapToLines
    dOMTextTrackCueGetSnapToLines           ,


-- ** dOMTextTrackCueGetStartTime
    dOMTextTrackCueGetStartTime             ,


-- ** dOMTextTrackCueGetText
    dOMTextTrackCueGetText                  ,


-- ** dOMTextTrackCueGetTrack
    dOMTextTrackCueGetTrack                 ,


-- ** dOMTextTrackCueGetVertical
    dOMTextTrackCueGetVertical              ,


-- ** dOMTextTrackCueSetAlign
    dOMTextTrackCueSetAlign                 ,


-- ** dOMTextTrackCueSetEndTime
    dOMTextTrackCueSetEndTime               ,


-- ** dOMTextTrackCueSetId
    dOMTextTrackCueSetId                    ,


-- ** dOMTextTrackCueSetLine
    dOMTextTrackCueSetLine                  ,


-- ** dOMTextTrackCueSetPauseOnExit
    dOMTextTrackCueSetPauseOnExit           ,


-- ** dOMTextTrackCueSetPosition
    dOMTextTrackCueSetPosition              ,


-- ** dOMTextTrackCueSetSize
    dOMTextTrackCueSetSize                  ,


-- ** dOMTextTrackCueSetSnapToLines
    dOMTextTrackCueSetSnapToLines           ,


-- ** dOMTextTrackCueSetStartTime
    dOMTextTrackCueSetStartTime             ,


-- ** dOMTextTrackCueSetText
    dOMTextTrackCueSetText                  ,


-- ** dOMTextTrackCueSetVertical
    dOMTextTrackCueSetVertical              ,




 -- * Properties
-- ** Align
    DOMTextTrackCueAlignPropertyInfo        ,
    constructDOMTextTrackCueAlign           ,
    getDOMTextTrackCueAlign                 ,
    setDOMTextTrackCueAlign                 ,


-- ** EndTime
    DOMTextTrackCueEndTimePropertyInfo      ,
    constructDOMTextTrackCueEndTime         ,
    getDOMTextTrackCueEndTime               ,
    setDOMTextTrackCueEndTime               ,


-- ** Id
    DOMTextTrackCueIdPropertyInfo           ,
    constructDOMTextTrackCueId              ,
    getDOMTextTrackCueId                    ,
    setDOMTextTrackCueId                    ,


-- ** Line
    DOMTextTrackCueLinePropertyInfo         ,
    constructDOMTextTrackCueLine            ,
    getDOMTextTrackCueLine                  ,
    setDOMTextTrackCueLine                  ,


-- ** PauseOnExit
    DOMTextTrackCuePauseOnExitPropertyInfo  ,
    constructDOMTextTrackCuePauseOnExit     ,
    getDOMTextTrackCuePauseOnExit           ,
    setDOMTextTrackCuePauseOnExit           ,


-- ** Position
    DOMTextTrackCuePositionPropertyInfo     ,
    constructDOMTextTrackCuePosition        ,
    getDOMTextTrackCuePosition              ,
    setDOMTextTrackCuePosition              ,


-- ** Size
    DOMTextTrackCueSizePropertyInfo         ,
    constructDOMTextTrackCueSize            ,
    getDOMTextTrackCueSize                  ,
    setDOMTextTrackCueSize                  ,


-- ** SnapToLines
    DOMTextTrackCueSnapToLinesPropertyInfo  ,
    constructDOMTextTrackCueSnapToLines     ,
    getDOMTextTrackCueSnapToLines           ,
    setDOMTextTrackCueSnapToLines           ,


-- ** StartTime
    DOMTextTrackCueStartTimePropertyInfo    ,
    constructDOMTextTrackCueStartTime       ,
    getDOMTextTrackCueStartTime             ,
    setDOMTextTrackCueStartTime             ,


-- ** Text
    DOMTextTrackCueTextPropertyInfo         ,
    constructDOMTextTrackCueText            ,
    getDOMTextTrackCueText                  ,
    setDOMTextTrackCueText                  ,


-- ** Track
    DOMTextTrackCueTrackPropertyInfo        ,
    getDOMTextTrackCueTrack                 ,


-- ** Vertical
    DOMTextTrackCueVerticalPropertyInfo     ,
    constructDOMTextTrackCueVertical        ,
    getDOMTextTrackCueVertical              ,
    setDOMTextTrackCueVertical              ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject

newtype DOMTextTrackCue = DOMTextTrackCue (ForeignPtr DOMTextTrackCue)
foreign import ccall "webkit_dom_text_track_cue_get_type"
    c_webkit_dom_text_track_cue_get_type :: IO GType

type instance ParentTypes DOMTextTrackCue = DOMTextTrackCueParentTypes
type DOMTextTrackCueParentTypes = '[DOMObject, GObject.Object, DOMEventTarget]

instance GObject DOMTextTrackCue where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_text_track_cue_get_type
    

class GObject o => DOMTextTrackCueK o
instance (GObject o, IsDescendantOf DOMTextTrackCue o) => DOMTextTrackCueK o

toDOMTextTrackCue :: DOMTextTrackCueK o => o -> IO DOMTextTrackCue
toDOMTextTrackCue = unsafeCastTo DOMTextTrackCue

noDOMTextTrackCue :: Maybe DOMTextTrackCue
noDOMTextTrackCue = Nothing

-- VVV Prop "align"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueAlign :: (MonadIO m, DOMTextTrackCueK o) => o -> m T.Text
getDOMTextTrackCueAlign obj = liftIO $ getObjectPropertyString obj "align"

setDOMTextTrackCueAlign :: (MonadIO m, DOMTextTrackCueK o) => o -> T.Text -> m ()
setDOMTextTrackCueAlign obj val = liftIO $ setObjectPropertyString obj "align" val

constructDOMTextTrackCueAlign :: T.Text -> IO ([Char], GValue)
constructDOMTextTrackCueAlign val = constructObjectPropertyString "align" val

data DOMTextTrackCueAlignPropertyInfo
instance AttrInfo DOMTextTrackCueAlignPropertyInfo where
    type AttrAllowedOps DOMTextTrackCueAlignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueAlignPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMTextTrackCueAlignPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueAlignPropertyInfo = T.Text
    type AttrLabel DOMTextTrackCueAlignPropertyInfo = "DOMTextTrackCue::align"
    attrGet _ = getDOMTextTrackCueAlign
    attrSet _ = setDOMTextTrackCueAlign
    attrConstruct _ = constructDOMTextTrackCueAlign

-- VVV Prop "end-time"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueEndTime :: (MonadIO m, DOMTextTrackCueK o) => o -> m Double
getDOMTextTrackCueEndTime obj = liftIO $ getObjectPropertyDouble obj "end-time"

setDOMTextTrackCueEndTime :: (MonadIO m, DOMTextTrackCueK o) => o -> Double -> m ()
setDOMTextTrackCueEndTime obj val = liftIO $ setObjectPropertyDouble obj "end-time" val

constructDOMTextTrackCueEndTime :: Double -> IO ([Char], GValue)
constructDOMTextTrackCueEndTime val = constructObjectPropertyDouble "end-time" val

data DOMTextTrackCueEndTimePropertyInfo
instance AttrInfo DOMTextTrackCueEndTimePropertyInfo where
    type AttrAllowedOps DOMTextTrackCueEndTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueEndTimePropertyInfo = (~) Double
    type AttrBaseTypeConstraint DOMTextTrackCueEndTimePropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueEndTimePropertyInfo = Double
    type AttrLabel DOMTextTrackCueEndTimePropertyInfo = "DOMTextTrackCue::end-time"
    attrGet _ = getDOMTextTrackCueEndTime
    attrSet _ = setDOMTextTrackCueEndTime
    attrConstruct _ = constructDOMTextTrackCueEndTime

-- VVV Prop "id"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueId :: (MonadIO m, DOMTextTrackCueK o) => o -> m T.Text
getDOMTextTrackCueId obj = liftIO $ getObjectPropertyString obj "id"

setDOMTextTrackCueId :: (MonadIO m, DOMTextTrackCueK o) => o -> T.Text -> m ()
setDOMTextTrackCueId obj val = liftIO $ setObjectPropertyString obj "id" val

constructDOMTextTrackCueId :: T.Text -> IO ([Char], GValue)
constructDOMTextTrackCueId val = constructObjectPropertyString "id" val

data DOMTextTrackCueIdPropertyInfo
instance AttrInfo DOMTextTrackCueIdPropertyInfo where
    type AttrAllowedOps DOMTextTrackCueIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueIdPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMTextTrackCueIdPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueIdPropertyInfo = T.Text
    type AttrLabel DOMTextTrackCueIdPropertyInfo = "DOMTextTrackCue::id"
    attrGet _ = getDOMTextTrackCueId
    attrSet _ = setDOMTextTrackCueId
    attrConstruct _ = constructDOMTextTrackCueId

-- VVV Prop "line"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueLine :: (MonadIO m, DOMTextTrackCueK o) => o -> m Int64
getDOMTextTrackCueLine obj = liftIO $ getObjectPropertyInt64 obj "line"

setDOMTextTrackCueLine :: (MonadIO m, DOMTextTrackCueK o) => o -> Int64 -> m ()
setDOMTextTrackCueLine obj val = liftIO $ setObjectPropertyInt64 obj "line" val

constructDOMTextTrackCueLine :: Int64 -> IO ([Char], GValue)
constructDOMTextTrackCueLine val = constructObjectPropertyInt64 "line" val

data DOMTextTrackCueLinePropertyInfo
instance AttrInfo DOMTextTrackCueLinePropertyInfo where
    type AttrAllowedOps DOMTextTrackCueLinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueLinePropertyInfo = (~) Int64
    type AttrBaseTypeConstraint DOMTextTrackCueLinePropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueLinePropertyInfo = Int64
    type AttrLabel DOMTextTrackCueLinePropertyInfo = "DOMTextTrackCue::line"
    attrGet _ = getDOMTextTrackCueLine
    attrSet _ = setDOMTextTrackCueLine
    attrConstruct _ = constructDOMTextTrackCueLine

-- VVV Prop "pause-on-exit"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCuePauseOnExit :: (MonadIO m, DOMTextTrackCueK o) => o -> m Bool
getDOMTextTrackCuePauseOnExit obj = liftIO $ getObjectPropertyBool obj "pause-on-exit"

setDOMTextTrackCuePauseOnExit :: (MonadIO m, DOMTextTrackCueK o) => o -> Bool -> m ()
setDOMTextTrackCuePauseOnExit obj val = liftIO $ setObjectPropertyBool obj "pause-on-exit" val

constructDOMTextTrackCuePauseOnExit :: Bool -> IO ([Char], GValue)
constructDOMTextTrackCuePauseOnExit val = constructObjectPropertyBool "pause-on-exit" val

data DOMTextTrackCuePauseOnExitPropertyInfo
instance AttrInfo DOMTextTrackCuePauseOnExitPropertyInfo where
    type AttrAllowedOps DOMTextTrackCuePauseOnExitPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCuePauseOnExitPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMTextTrackCuePauseOnExitPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCuePauseOnExitPropertyInfo = Bool
    type AttrLabel DOMTextTrackCuePauseOnExitPropertyInfo = "DOMTextTrackCue::pause-on-exit"
    attrGet _ = getDOMTextTrackCuePauseOnExit
    attrSet _ = setDOMTextTrackCuePauseOnExit
    attrConstruct _ = constructDOMTextTrackCuePauseOnExit

-- VVV Prop "position"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCuePosition :: (MonadIO m, DOMTextTrackCueK o) => o -> m Int64
getDOMTextTrackCuePosition obj = liftIO $ getObjectPropertyInt64 obj "position"

setDOMTextTrackCuePosition :: (MonadIO m, DOMTextTrackCueK o) => o -> Int64 -> m ()
setDOMTextTrackCuePosition obj val = liftIO $ setObjectPropertyInt64 obj "position" val

constructDOMTextTrackCuePosition :: Int64 -> IO ([Char], GValue)
constructDOMTextTrackCuePosition val = constructObjectPropertyInt64 "position" val

data DOMTextTrackCuePositionPropertyInfo
instance AttrInfo DOMTextTrackCuePositionPropertyInfo where
    type AttrAllowedOps DOMTextTrackCuePositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCuePositionPropertyInfo = (~) Int64
    type AttrBaseTypeConstraint DOMTextTrackCuePositionPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCuePositionPropertyInfo = Int64
    type AttrLabel DOMTextTrackCuePositionPropertyInfo = "DOMTextTrackCue::position"
    attrGet _ = getDOMTextTrackCuePosition
    attrSet _ = setDOMTextTrackCuePosition
    attrConstruct _ = constructDOMTextTrackCuePosition

-- VVV Prop "size"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueSize :: (MonadIO m, DOMTextTrackCueK o) => o -> m Int64
getDOMTextTrackCueSize obj = liftIO $ getObjectPropertyInt64 obj "size"

setDOMTextTrackCueSize :: (MonadIO m, DOMTextTrackCueK o) => o -> Int64 -> m ()
setDOMTextTrackCueSize obj val = liftIO $ setObjectPropertyInt64 obj "size" val

constructDOMTextTrackCueSize :: Int64 -> IO ([Char], GValue)
constructDOMTextTrackCueSize val = constructObjectPropertyInt64 "size" val

data DOMTextTrackCueSizePropertyInfo
instance AttrInfo DOMTextTrackCueSizePropertyInfo where
    type AttrAllowedOps DOMTextTrackCueSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueSizePropertyInfo = (~) Int64
    type AttrBaseTypeConstraint DOMTextTrackCueSizePropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueSizePropertyInfo = Int64
    type AttrLabel DOMTextTrackCueSizePropertyInfo = "DOMTextTrackCue::size"
    attrGet _ = getDOMTextTrackCueSize
    attrSet _ = setDOMTextTrackCueSize
    attrConstruct _ = constructDOMTextTrackCueSize

-- VVV Prop "snap-to-lines"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueSnapToLines :: (MonadIO m, DOMTextTrackCueK o) => o -> m Bool
getDOMTextTrackCueSnapToLines obj = liftIO $ getObjectPropertyBool obj "snap-to-lines"

setDOMTextTrackCueSnapToLines :: (MonadIO m, DOMTextTrackCueK o) => o -> Bool -> m ()
setDOMTextTrackCueSnapToLines obj val = liftIO $ setObjectPropertyBool obj "snap-to-lines" val

constructDOMTextTrackCueSnapToLines :: Bool -> IO ([Char], GValue)
constructDOMTextTrackCueSnapToLines val = constructObjectPropertyBool "snap-to-lines" val

data DOMTextTrackCueSnapToLinesPropertyInfo
instance AttrInfo DOMTextTrackCueSnapToLinesPropertyInfo where
    type AttrAllowedOps DOMTextTrackCueSnapToLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueSnapToLinesPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMTextTrackCueSnapToLinesPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueSnapToLinesPropertyInfo = Bool
    type AttrLabel DOMTextTrackCueSnapToLinesPropertyInfo = "DOMTextTrackCue::snap-to-lines"
    attrGet _ = getDOMTextTrackCueSnapToLines
    attrSet _ = setDOMTextTrackCueSnapToLines
    attrConstruct _ = constructDOMTextTrackCueSnapToLines

-- VVV Prop "start-time"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueStartTime :: (MonadIO m, DOMTextTrackCueK o) => o -> m Double
getDOMTextTrackCueStartTime obj = liftIO $ getObjectPropertyDouble obj "start-time"

setDOMTextTrackCueStartTime :: (MonadIO m, DOMTextTrackCueK o) => o -> Double -> m ()
setDOMTextTrackCueStartTime obj val = liftIO $ setObjectPropertyDouble obj "start-time" val

constructDOMTextTrackCueStartTime :: Double -> IO ([Char], GValue)
constructDOMTextTrackCueStartTime val = constructObjectPropertyDouble "start-time" val

data DOMTextTrackCueStartTimePropertyInfo
instance AttrInfo DOMTextTrackCueStartTimePropertyInfo where
    type AttrAllowedOps DOMTextTrackCueStartTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueStartTimePropertyInfo = (~) Double
    type AttrBaseTypeConstraint DOMTextTrackCueStartTimePropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueStartTimePropertyInfo = Double
    type AttrLabel DOMTextTrackCueStartTimePropertyInfo = "DOMTextTrackCue::start-time"
    attrGet _ = getDOMTextTrackCueStartTime
    attrSet _ = setDOMTextTrackCueStartTime
    attrConstruct _ = constructDOMTextTrackCueStartTime

-- VVV Prop "text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueText :: (MonadIO m, DOMTextTrackCueK o) => o -> m T.Text
getDOMTextTrackCueText obj = liftIO $ getObjectPropertyString obj "text"

setDOMTextTrackCueText :: (MonadIO m, DOMTextTrackCueK o) => o -> T.Text -> m ()
setDOMTextTrackCueText obj val = liftIO $ setObjectPropertyString obj "text" val

constructDOMTextTrackCueText :: T.Text -> IO ([Char], GValue)
constructDOMTextTrackCueText val = constructObjectPropertyString "text" val

data DOMTextTrackCueTextPropertyInfo
instance AttrInfo DOMTextTrackCueTextPropertyInfo where
    type AttrAllowedOps DOMTextTrackCueTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMTextTrackCueTextPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueTextPropertyInfo = T.Text
    type AttrLabel DOMTextTrackCueTextPropertyInfo = "DOMTextTrackCue::text"
    attrGet _ = getDOMTextTrackCueText
    attrSet _ = setDOMTextTrackCueText
    attrConstruct _ = constructDOMTextTrackCueText

-- VVV Prop "track"
   -- Type: TInterface "WebKit" "DOMTextTrack"
   -- Flags: [PropertyReadable]

getDOMTextTrackCueTrack :: (MonadIO m, DOMTextTrackCueK o) => o -> m DOMTextTrack
getDOMTextTrackCueTrack obj = liftIO $ getObjectPropertyObject obj "track" DOMTextTrack

data DOMTextTrackCueTrackPropertyInfo
instance AttrInfo DOMTextTrackCueTrackPropertyInfo where
    type AttrAllowedOps DOMTextTrackCueTrackPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueTrackPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTextTrackCueTrackPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueTrackPropertyInfo = DOMTextTrack
    type AttrLabel DOMTextTrackCueTrackPropertyInfo = "DOMTextTrackCue::track"
    attrGet _ = getDOMTextTrackCueTrack
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "vertical"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMTextTrackCueVertical :: (MonadIO m, DOMTextTrackCueK o) => o -> m T.Text
getDOMTextTrackCueVertical obj = liftIO $ getObjectPropertyString obj "vertical"

setDOMTextTrackCueVertical :: (MonadIO m, DOMTextTrackCueK o) => o -> T.Text -> m ()
setDOMTextTrackCueVertical obj val = liftIO $ setObjectPropertyString obj "vertical" val

constructDOMTextTrackCueVertical :: T.Text -> IO ([Char], GValue)
constructDOMTextTrackCueVertical val = constructObjectPropertyString "vertical" val

data DOMTextTrackCueVerticalPropertyInfo
instance AttrInfo DOMTextTrackCueVerticalPropertyInfo where
    type AttrAllowedOps DOMTextTrackCueVerticalPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMTextTrackCueVerticalPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMTextTrackCueVerticalPropertyInfo = DOMTextTrackCueK
    type AttrGetType DOMTextTrackCueVerticalPropertyInfo = T.Text
    type AttrLabel DOMTextTrackCueVerticalPropertyInfo = "DOMTextTrackCue::vertical"
    attrGet _ = getDOMTextTrackCueVertical
    attrSet _ = setDOMTextTrackCueVertical
    attrConstruct _ = constructDOMTextTrackCueVertical

type instance AttributeList DOMTextTrackCue = DOMTextTrackCueAttributeList
type DOMTextTrackCueAttributeList = ('[ '("align", DOMTextTrackCueAlignPropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("end-time", DOMTextTrackCueEndTimePropertyInfo), '("id", DOMTextTrackCueIdPropertyInfo), '("line", DOMTextTrackCueLinePropertyInfo), '("pause-on-exit", DOMTextTrackCuePauseOnExitPropertyInfo), '("position", DOMTextTrackCuePositionPropertyInfo), '("size", DOMTextTrackCueSizePropertyInfo), '("snap-to-lines", DOMTextTrackCueSnapToLinesPropertyInfo), '("start-time", DOMTextTrackCueStartTimePropertyInfo), '("text", DOMTextTrackCueTextPropertyInfo), '("track", DOMTextTrackCueTrackPropertyInfo), '("vertical", DOMTextTrackCueVerticalPropertyInfo)] :: [(Symbol, *)])

type instance SignalList DOMTextTrackCue = DOMTextTrackCueSignalList
type DOMTextTrackCueSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMTextTrackCue::dispatch_event
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "evt", argType = TInterface "WebKit" "DOMEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "evt", argType = TInterface "WebKit" "DOMEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_dispatch_event" webkit_dom_text_track_cue_dispatch_event :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    Ptr DOMEvent ->                         -- evt : TInterface "WebKit" "DOMEvent"
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{-# DEPRECATED dOMTextTrackCueDispatchEvent ["(Since version 2.4)","Use webkit_dom_event_target_dispatch_event() instead."]#-}
dOMTextTrackCueDispatchEvent ::
    (MonadIO m, DOMTextTrackCueK a, DOMEventK b) =>
    a ->                                    -- _obj
    b ->                                    -- evt
    m ()
dOMTextTrackCueDispatchEvent _obj evt = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let evt' = unsafeManagedPtrCastPtr evt
    onException (do
        _ <- propagateGError $ webkit_dom_text_track_cue_dispatch_event _obj' evt'
        touchManagedPtr _obj
        touchManagedPtr evt
        return ()
     ) (do
        return ()
     )

-- method DOMTextTrackCue::get_align
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_align" webkit_dom_text_track_cue_get_align :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CString


dOMTextTrackCueGetAlign ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m T.Text
dOMTextTrackCueGetAlign _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_align _obj'
    checkUnexpectedReturnNULL "webkit_dom_text_track_cue_get_align" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_cue_as_html
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDocumentFragment"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_cue_as_html" webkit_dom_text_track_cue_get_cue_as_html :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO (Ptr DOMDocumentFragment)


dOMTextTrackCueGetCueAsHtml ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m DOMDocumentFragment
dOMTextTrackCueGetCueAsHtml _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_cue_as_html _obj'
    checkUnexpectedReturnNULL "webkit_dom_text_track_cue_get_cue_as_html" result
    result' <- (newObject DOMDocumentFragment) result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_end_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_end_time" webkit_dom_text_track_cue_get_end_time :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CDouble


dOMTextTrackCueGetEndTime ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m Double
dOMTextTrackCueGetEndTime _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_end_time _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_id
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_id" webkit_dom_text_track_cue_get_id :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CString


dOMTextTrackCueGetId ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m T.Text
dOMTextTrackCueGetId _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_id _obj'
    checkUnexpectedReturnNULL "webkit_dom_text_track_cue_get_id" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_line
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_line" webkit_dom_text_track_cue_get_line :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO Int64


dOMTextTrackCueGetLine ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m Int64
dOMTextTrackCueGetLine _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_line _obj'
    touchManagedPtr _obj
    return result

-- method DOMTextTrackCue::get_pause_on_exit
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_pause_on_exit" webkit_dom_text_track_cue_get_pause_on_exit :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CInt


dOMTextTrackCueGetPauseOnExit ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m Bool
dOMTextTrackCueGetPauseOnExit _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_pause_on_exit _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_position
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_position" webkit_dom_text_track_cue_get_position :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO Int64


dOMTextTrackCueGetPosition ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m Int64
dOMTextTrackCueGetPosition _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_position _obj'
    touchManagedPtr _obj
    return result

-- method DOMTextTrackCue::get_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_size" webkit_dom_text_track_cue_get_size :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO Int64


dOMTextTrackCueGetSize ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m Int64
dOMTextTrackCueGetSize _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_size _obj'
    touchManagedPtr _obj
    return result

-- method DOMTextTrackCue::get_snap_to_lines
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_snap_to_lines" webkit_dom_text_track_cue_get_snap_to_lines :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CInt


dOMTextTrackCueGetSnapToLines ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m Bool
dOMTextTrackCueGetSnapToLines _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_snap_to_lines _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_start_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_start_time" webkit_dom_text_track_cue_get_start_time :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CDouble


dOMTextTrackCueGetStartTime ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m Double
dOMTextTrackCueGetStartTime _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_start_time _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_text" webkit_dom_text_track_cue_get_text :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CString


dOMTextTrackCueGetText ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m T.Text
dOMTextTrackCueGetText _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_text _obj'
    checkUnexpectedReturnNULL "webkit_dom_text_track_cue_get_text" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_track
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTextTrack"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_track" webkit_dom_text_track_cue_get_track :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO (Ptr DOMTextTrack)


dOMTextTrackCueGetTrack ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m DOMTextTrack
dOMTextTrackCueGetTrack _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_track _obj'
    checkUnexpectedReturnNULL "webkit_dom_text_track_cue_get_track" result
    result' <- (wrapObject DOMTextTrack) result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::get_vertical
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_get_vertical" webkit_dom_text_track_cue_get_vertical :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    IO CString


dOMTextTrackCueGetVertical ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    m T.Text
dOMTextTrackCueGetVertical _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_text_track_cue_get_vertical _obj'
    checkUnexpectedReturnNULL "webkit_dom_text_track_cue_get_vertical" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMTextTrackCue::set_align
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_align" webkit_dom_text_track_cue_set_align :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMTextTrackCueSetAlign ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMTextTrackCueSetAlign _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_text_track_cue_set_align _obj' value'
        touchManagedPtr _obj
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )

-- method DOMTextTrackCue::set_end_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_end_time" webkit_dom_text_track_cue_set_end_time :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CDouble ->                              -- value : TBasicType TDouble
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMTextTrackCueSetEndTime ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    Double ->                               -- value
    m ()
dOMTextTrackCueSetEndTime _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = realToFrac value
    onException (do
        propagateGError $ webkit_dom_text_track_cue_set_end_time _obj' value'
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMTextTrackCue::set_id
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_id" webkit_dom_text_track_cue_set_id :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMTextTrackCueSetId ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMTextTrackCueSetId _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_text_track_cue_set_id _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMTextTrackCue::set_line
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_line" webkit_dom_text_track_cue_set_line :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    Int64 ->                                -- value : TBasicType TInt64
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMTextTrackCueSetLine ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- value
    m ()
dOMTextTrackCueSetLine _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    onException (do
        propagateGError $ webkit_dom_text_track_cue_set_line _obj' value
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMTextTrackCue::set_pause_on_exit
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_pause_on_exit" webkit_dom_text_track_cue_set_pause_on_exit :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMTextTrackCueSetPauseOnExit ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMTextTrackCueSetPauseOnExit _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_text_track_cue_set_pause_on_exit _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMTextTrackCue::set_position
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_position" webkit_dom_text_track_cue_set_position :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    Int64 ->                                -- value : TBasicType TInt64
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMTextTrackCueSetPosition ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- value
    m ()
dOMTextTrackCueSetPosition _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    onException (do
        propagateGError $ webkit_dom_text_track_cue_set_position _obj' value
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMTextTrackCue::set_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_size" webkit_dom_text_track_cue_set_size :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    Int64 ->                                -- value : TBasicType TInt64
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMTextTrackCueSetSize ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- value
    m ()
dOMTextTrackCueSetSize _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    onException (do
        propagateGError $ webkit_dom_text_track_cue_set_size _obj' value
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMTextTrackCue::set_snap_to_lines
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_snap_to_lines" webkit_dom_text_track_cue_set_snap_to_lines :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMTextTrackCueSetSnapToLines ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMTextTrackCueSetSnapToLines _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_text_track_cue_set_snap_to_lines _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMTextTrackCue::set_start_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_start_time" webkit_dom_text_track_cue_set_start_time :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CDouble ->                              -- value : TBasicType TDouble
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMTextTrackCueSetStartTime ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    Double ->                               -- value
    m ()
dOMTextTrackCueSetStartTime _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = realToFrac value
    onException (do
        propagateGError $ webkit_dom_text_track_cue_set_start_time _obj' value'
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMTextTrackCue::set_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_text" webkit_dom_text_track_cue_set_text :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMTextTrackCueSetText ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMTextTrackCueSetText _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_text_track_cue_set_text _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMTextTrackCue::set_vertical
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTextTrackCue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_text_track_cue_set_vertical" webkit_dom_text_track_cue_set_vertical :: 
    Ptr DOMTextTrackCue ->                  -- _obj : TInterface "WebKit" "DOMTextTrackCue"
    CString ->                              -- value : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMTextTrackCueSetVertical ::
    (MonadIO m, DOMTextTrackCueK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMTextTrackCueSetVertical _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    onException (do
        propagateGError $ webkit_dom_text_track_cue_set_vertical _obj' value'
        touchManagedPtr _obj
        freeMem value'
        return ()
     ) (do
        freeMem value'
     )