Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
GI.Gtk.Objects.Video
Description
GtkVideo is a widget to show a MediaStream
with media controls
as provided by MediaControls
. If you just want to display a
video without controls, you can treat it like any other paintable
and for example put it into a Picture
.
GtkVideo aims to cover use cases such as previews, embedded animations,
etc. It supports autoplay, looping, and simple media controls. It does
not have support for video overlays, multichannel audio, device
selection, or input. If you are writing a full-fledged video player,
you may want to use the Paintable
API and a media framework such
as Gstreamer directly.
Synopsis
- newtype Video = Video (ManagedPtr Video)
- class (GObject o, IsDescendantOf Video o) => IsVideo o
- toVideo :: (MonadIO m, IsVideo o) => o -> m Video
- videoGetAutoplay :: (HasCallStack, MonadIO m, IsVideo a) => a -> m Bool
- videoGetFile :: (HasCallStack, MonadIO m, IsVideo a) => a -> m (Maybe File)
- videoGetLoop :: (HasCallStack, MonadIO m, IsVideo a) => a -> m Bool
- videoGetMediaStream :: (HasCallStack, MonadIO m, IsVideo a) => a -> m (Maybe MediaStream)
- videoNew :: (HasCallStack, MonadIO m) => m Video
- videoNewForFile :: (HasCallStack, MonadIO m, IsFile a) => Maybe a -> m Video
- videoNewForFilename :: (HasCallStack, MonadIO m) => Maybe [Char] -> m Video
- videoNewForMediaStream :: (HasCallStack, MonadIO m, IsMediaStream a) => Maybe a -> m Video
- videoNewForResource :: (HasCallStack, MonadIO m) => Maybe Text -> m Video
- videoSetAutoplay :: (HasCallStack, MonadIO m, IsVideo a) => a -> Bool -> m ()
- videoSetFile :: (HasCallStack, MonadIO m, IsVideo a, IsFile b) => a -> Maybe b -> m ()
- videoSetFilename :: (HasCallStack, MonadIO m, IsVideo a) => a -> Maybe Text -> m ()
- videoSetLoop :: (HasCallStack, MonadIO m, IsVideo a) => a -> Bool -> m ()
- videoSetMediaStream :: (HasCallStack, MonadIO m, IsVideo a, IsMediaStream b) => a -> Maybe b -> m ()
- videoSetResource :: (HasCallStack, MonadIO m, IsVideo a) => a -> Maybe Text -> m ()
- constructVideoAutoplay :: (IsVideo o, MonadIO m) => Bool -> m (GValueConstruct o)
- getVideoAutoplay :: (MonadIO m, IsVideo o) => o -> m Bool
- setVideoAutoplay :: (MonadIO m, IsVideo o) => o -> Bool -> m ()
- clearVideoFile :: (MonadIO m, IsVideo o) => o -> m ()
- constructVideoFile :: (IsVideo o, MonadIO m, IsFile a) => a -> m (GValueConstruct o)
- getVideoFile :: (MonadIO m, IsVideo o) => o -> m (Maybe File)
- setVideoFile :: (MonadIO m, IsVideo o, IsFile a) => o -> a -> m ()
- constructVideoLoop :: (IsVideo o, MonadIO m) => Bool -> m (GValueConstruct o)
- getVideoLoop :: (MonadIO m, IsVideo o) => o -> m Bool
- setVideoLoop :: (MonadIO m, IsVideo o) => o -> Bool -> m ()
- clearVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m ()
- constructVideoMediaStream :: (IsVideo o, MonadIO m, IsMediaStream a) => a -> m (GValueConstruct o)
- getVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m (Maybe MediaStream)
- setVideoMediaStream :: (MonadIO m, IsVideo o, IsMediaStream a) => o -> a -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Video Source # | |
GObject Video Source # | |
Defined in GI.Gtk.Objects.Video | |
ManagedPtrNewtype Video Source # | |
Defined in GI.Gtk.Objects.Video Methods toManagedPtr :: Video -> ManagedPtr Video | |
TypedObject Video Source # | |
Defined in GI.Gtk.Objects.Video | |
HasParentTypes Video Source # | |
Defined in GI.Gtk.Objects.Video | |
IsGValue (Maybe Video) Source # | Convert |
Defined in GI.Gtk.Objects.Video Methods gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Video -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Video) | |
type ParentTypes Video Source # | |
Defined in GI.Gtk.Objects.Video |
class (GObject o, IsDescendantOf Video o) => IsVideo o Source #
Instances
(GObject o, IsDescendantOf Video o) => IsVideo o Source # | |
Defined in GI.Gtk.Objects.Video |
Methods
Click to display all available methods, including inherited ones
Methods
actionSetEnabled, activate, activateAction, activateDefault, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, queueAllocate, queueDraw, queueResize, realize, ref, refSink, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, resetProperty, resetRelation, resetState, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateProperty, updateRelation, updateState, watchClosure.
Getters
getAccessibleRole, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getAutoplay, getBuildableId, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getFile, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getLoop, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMediaStream, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.
Setters
setAutoplay, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setData, setDataFull, setDirection, setFile, setFilename, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setLoop, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setMediaStream, setName, setOpacity, setOverflow, setParent, setProperty, setReceivesDefault, setResource, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible.
getAutoplay
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m Bool | Returns: |
Returns True
if videos have been set to loop via videoSetLoop
.
getFile
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m (Maybe File) | Returns: The file played by |
Gets the file played by self
or Nothing
if not playing back
a file.
getLoop
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m Bool | Returns: |
Returns True
if videos have been set to loop via videoSetLoop
.
getMediaStream
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m (Maybe MediaStream) | Returns: The media stream managed by |
Gets the media stream managed by self
or Nothing
if none.
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> m Video | Returns: a new |
Creates a new empty Video
.
newForFile
Arguments
:: (HasCallStack, MonadIO m, IsFile a) | |
=> Maybe a |
|
-> m Video | Returns: a new |
Creates a Video
to play back the given file
.
newForFilename
Arguments
:: (HasCallStack, MonadIO m) | |
=> Maybe [Char] |
|
-> m Video | Returns: a new |
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 |
|
-> m Video | Returns: a new |
Creates a Video
to play back the given stream
.
newForResource
Arguments
:: (HasCallStack, MonadIO m) | |
=> Maybe Text |
|
-> m Video | Returns: a new |
Creates a Video
to play back the resource at the
given resourcePath
.
This is a utility function that calls videoNewForFile
,
setAutoplay
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether self
automatically starts playback when it becomes visible
or when a new file gets loaded.
setFile
Arguments
:: (HasCallStack, MonadIO m, IsVideo a, IsFile b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Makes self
play the given file
.
setFilename
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
Makes self
play the given filename
.
This is a utility function that calls videoSetFile
,
setLoop
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether new files loaded by self
should be set to loop.
setMediaStream
Arguments
:: (HasCallStack, MonadIO m, IsVideo a, IsMediaStream b) | |
=> a |
|
-> Maybe b |
|
-> 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
Arguments
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Maybe Text |
|
-> 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, MonadIO m) => Bool -> m (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, MonadIO m, IsFile a) => a -> m (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, MonadIO m) => Bool -> m (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, MonadIO m, IsMediaStream a) => a -> m (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 ]