gi-gtk-4.0.1: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.Video

Description

GtkVideo is a widget to show a MediaStream.

It is commonly combined with MediaControls to give the user a way to control the playback.

Synopsis

Exported types

newtype Video Source #

Memory-managed wrapper type.

Constructors

Video (ManagedPtr Video) 

Instances

Instances details
Eq Video Source # 
Instance details

Defined in GI.Gtk.Objects.Video

Methods

(==) :: Video -> Video -> Bool #

(/=) :: Video -> Video -> Bool #

IsGValue Video Source #

Convert Video to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.Video

GObject Video Source # 
Instance details

Defined in GI.Gtk.Objects.Video

Methods

gobjectType :: IO GType #

HasParentTypes Video Source # 
Instance details

Defined in GI.Gtk.Objects.Video

type ParentTypes Video Source # 
Instance details

Defined in GI.Gtk.Objects.Video

class (GObject o, IsDescendantOf Video o) => IsVideo o Source #

Type class for types which can be safely cast to Video, for instance with toVideo.

Instances

Instances details
(GObject o, IsDescendantOf Video o) => IsVideo o Source # 
Instance details

Defined in GI.Gtk.Objects.Video

toVideo :: (MonadIO m, IsVideo o) => o -> m Video Source #

Cast to Video, for types for which this is known to be safe. For general casts, use castTo.

noVideo :: Maybe Video Source #

A convenience alias for Nothing :: Maybe Video.

Methods

Overloaded methods

getAutoplay

videoGetAutoplay Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> m Bool

Returns: True if streams should autoplay

Returns True if videos have been set to loop via videoSetLoop.

getFile

videoGetFile Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> m (Maybe File)

Returns: The file played by self

Gets the file played by self or Nothing if not playing back a file.

getLoop

videoGetLoop Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> m Bool

Returns: True if streams should loop

Returns True if videos have been set to loop via videoSetLoop.

getMediaStream

videoGetMediaStream Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> m (Maybe MediaStream)

Returns: The media stream managed by self

Gets the media stream managed by self or Nothing if none.

new

videoNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Video

Returns: a new Video

Creates a new empty Video.

newForFile

videoNewForFile Source #

Arguments

:: (HasCallStack, MonadIO m, IsFile a) 
=> Maybe a

file: a File

-> m Video

Returns: a new Video

Creates a Video to play back the given file.

newForFilename

videoNewForFilename Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Maybe [Char]

filename: filename to play back

-> m Video

Returns: a new Video

Creates a Video to play back the given filename.

This is a utility function that calls videoNewForFile, See that function for details.

newForMediaStream

videoNewForMediaStream Source #

Arguments

:: (HasCallStack, MonadIO m, IsMediaStream a) 
=> Maybe a

stream: a MediaStream

-> m Video

Returns: a new Video

Creates a Video to play back the given stream.

newForResource

videoNewForResource Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Maybe Text

resourcePath: resource path to play back

-> m Video

Returns: a new Video

Creates a Video to play back the resource at the given resourcePath.

This is a utility function that calls videoNewForFile,

setAutoplay

videoSetAutoplay Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> Bool

autoplay: whether media streams should autoplay

-> m () 

Sets whether self automatically starts playback when it becomes visible or when a new file gets loaded.

setFile

videoSetFile Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a, IsFile b) 
=> a

self: a Video

-> Maybe b

file: the file to play

-> m () 

Makes self play the given file.

setFilename

videoSetFilename Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> Maybe Text

filename: the filename to play

-> m () 

Makes self play the given filename.

This is a utility function that calls videoSetFile,

setLoop

videoSetLoop Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> Bool

loop: whether media streams should loop

-> m () 

Sets whether new files loaded by self should be set to loop.

setMediaStream

videoSetMediaStream Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a, IsMediaStream b) 
=> a

self: a Video

-> Maybe b

stream: The media stream to play or Nothing to unset

-> m () 

Sets the media stream to be played back. self will take full control of managing the media stream. If you want to manage a media stream yourself, consider using a Image for display.

If you want to display a file, consider using videoSetFile instead.

setResource

videoSetResource Source #

Arguments

:: (HasCallStack, MonadIO m, IsVideo a) 
=> a

self: a Video

-> Maybe Text

resourcePath: the resource to set

-> m () 

Makes self play the resource at the given resourcePath.

This is a utility function that calls videoSetFile,

Properties

autoplay

If the video should automatically begin playing.

constructVideoAutoplay :: IsVideo o => Bool -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “autoplay” property. This is rarely needed directly, but it is used by new.

getVideoAutoplay :: (MonadIO m, IsVideo o) => o -> m Bool Source #

Get the value of the “autoplay” property. When overloading is enabled, this is equivalent to

get video #autoplay

setVideoAutoplay :: (MonadIO m, IsVideo o) => o -> Bool -> m () Source #

Set the value of the “autoplay” property. When overloading is enabled, this is equivalent to

set video [ #autoplay := value ]

file

The file played by this video if the video is playing a file.

clearVideoFile :: (MonadIO m, IsVideo o) => o -> m () Source #

Set the value of the “file” property to Nothing. When overloading is enabled, this is equivalent to

clear #file

constructVideoFile :: (IsVideo o, IsFile a) => a -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “file” property. This is rarely needed directly, but it is used by new.

getVideoFile :: (MonadIO m, IsVideo o) => o -> m (Maybe File) Source #

Get the value of the “file” property. When overloading is enabled, this is equivalent to

get video #file

setVideoFile :: (MonadIO m, IsVideo o, IsFile a) => o -> a -> m () Source #

Set the value of the “file” property. When overloading is enabled, this is equivalent to

set video [ #file := value ]

loop

If new media files should be set to loop.

constructVideoLoop :: IsVideo o => Bool -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “loop” property. This is rarely needed directly, but it is used by new.

getVideoLoop :: (MonadIO m, IsVideo o) => o -> m Bool Source #

Get the value of the “loop” property. When overloading is enabled, this is equivalent to

get video #loop

setVideoLoop :: (MonadIO m, IsVideo o) => o -> Bool -> m () Source #

Set the value of the “loop” property. When overloading is enabled, this is equivalent to

set video [ #loop := value ]

mediaStream

The media-stream played

clearVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m () Source #

Set the value of the “media-stream” property to Nothing. When overloading is enabled, this is equivalent to

clear #mediaStream

constructVideoMediaStream :: (IsVideo o, IsMediaStream a) => a -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “media-stream” property. This is rarely needed directly, but it is used by new.

getVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m (Maybe MediaStream) Source #

Get the value of the “media-stream” property. When overloading is enabled, this is equivalent to

get video #mediaStream

setVideoMediaStream :: (MonadIO m, IsVideo o, IsMediaStream a) => o -> a -> m () Source #

Set the value of the “media-stream” property. When overloading is enabled, this is equivalent to

set video [ #mediaStream := value ]