VideoWidget Class
(Phonon::VideoWidget)The VideoWidget class provides a widget that is used to display video. More...
Public Types
enum | AspectRatio { AspectRatioAuto, AspectRatioWidget, AspectRatio4_3, AspectRatio16_9 } |
enum | ScaleMode { FitInView, ScaleAndCrop } |
Properties
|
|
Public Functions
VideoWidget(QWidget * parent = 0) | |
AspectRatio | aspectRatio() const |
qreal | brightness() const |
qreal | contrast() const |
qreal | hue() const |
qreal | saturation() const |
ScaleMode | scaleMode() const |
QImage | snapshot() const |
- 220 public functions inherited from QWidget
- 3 public functions inherited from Phonon::MediaNode
- 29 public functions inherited from QObject
- 12 public functions inherited from QPaintDevice
Public Slots
void | enterFullScreen() |
void | exitFullScreen() |
void | setAspectRatio(AspectRatio) |
void | setBrightness(qreal value) |
void | setContrast(qreal value) |
void | setFullScreen(bool fullscreen) |
void | setHue(qreal value) |
void | setSaturation(qreal value) |
void | setScaleMode(ScaleMode) |
Reimplemented Protected Functions
virtual bool | event(QEvent *) |
virtual void | mouseMoveEvent(QMouseEvent *) |
- 37 protected functions inherited from QWidget
- 8 protected functions inherited from QObject
- 1 protected function inherited from QPaintDevice
Additional Inherited Members
- 1 signal inherited from QWidget
- 1 signal inherited from QObject
- 4 static public members inherited from QWidget
- 7 static public members inherited from QObject
- 37 protected functions inherited from QWidget
- 8 protected functions inherited from QObject
- 1 protected function inherited from QPaintDevice
- 1 protected slot inherited from QWidget
Detailed Description
The VideoWidget class provides a widget that is used to display video.
The VideoWidget class renders the video of a media stream on a QWidget. It is connected to the MediaObject, of which video stream it should render. You connect the two objects using the Phonon::createPath() function.
The widget has some possibilities to manipulate the video stream. You can change the brightness(), hue(), saturation(), and contrast().
Resizing of the video is handled automatically, but you can affect the way the video is resized with the aspectRatio and scaleMode properties. By default, the widget will use the aspect ratio of the video stream itself.
The video widget takes the size of the video when it receives a new video stream (i.e., when a new MediaSource is set on the MediaObject to which it is connected). If you need to know the size of the video, you can call sizeHint() after the video has been loaded (i.e., after the MediaObject leaves the LoadingState).
It is also possible to go to full screen mode.
A typical example of usage follows below:
MediaObject *media = new MediaObject(parent); VideoWidget *vwidget = new VideoWidget(parent); Phonon::createPath(media, vwidget);
See also Phonon Module.
Member Type Documentation
enum VideoWidget::AspectRatio
Defines the width:height to be used for the video.
Constant | Value | Description |
---|---|---|
Phonon::VideoWidget::AspectRatioAuto | 0 | Let the decoder find the aspect ratio automatically from the media file (this is the default). |
Phonon::VideoWidget::AspectRatioWidget | 1 | Fits the video into the widget making the aspect ratio depend solely on the size of the widget. This way the aspect ratio is freely resizeable by the user. |
Phonon::VideoWidget::AspectRatio4_3 | 2 | Make width/height == 4/3, which is the old TV size and monitor size (1024/768 == 4/3). (4:3) |
Phonon::VideoWidget::AspectRatio16_9 | 3 | Make width/height == 16/9, which is the size of most current media. (16:9) |
enum VideoWidget::ScaleMode
The ScaleMode enum describes how to treat aspect ratio during resizing of video.
Constant | Value | Description |
---|---|---|
Phonon::VideoWidget::FitInView | 0 | The video will be fitted to fill the view keeping aspect ratio. |
Phonon::VideoWidget::ScaleAndCrop | 1 | The video is scaled |
Property Documentation
aspectRatio : AspectRatio
Defaults to AspectRatioAuto.
Access functions:
AspectRatio | aspectRatio() const |
void | setAspectRatio(AspectRatio) |
See also AspectRatio.
brightness : qreal
This property holds brightness of the video.
Default is 0. Acceptable values are in range of -1, 1.
Access functions:
qreal | brightness() const |
void | setBrightness(qreal value) |
contrast : qreal
This property holds the contrast of the video.
Default is 0. Acceptable values are in range of -1, 1.
Access functions:
qreal | contrast() const |
void | setContrast(qreal value) |
fullScreen : bool
This property holds whether the video is shown using the complete screen.
The property differs from QWidget::fullScreen in that it is writeable.
By default the widget is not shown in fullScreen.
Warning: When switching to full screen mode using setFullScreen(), the widget onto which the video is rendered is shown as a top-level window. Key event forwarding is handled by VideoWidget, but if you need to handle other events, e.g., mouse events, you should handle fullscreen mode yourself.
Access functions:
bool | isFullScreen() const |
void | setFullScreen(bool fullscreen) |
hue : qreal
This property holds the hue of the video.
Default is 0. Acceptable values are in range of -1, 1.
Access functions:
qreal | hue() const |
void | setHue(qreal value) |
saturation : qreal
This property holds saturation of the video.
Default is 0. Acceptable values are in range of -1, 1.
Access functions:
qreal | saturation() const |
void | setSaturation(qreal value) |
scaleMode : ScaleMode
If the size of the widget and the size of the video are not equal. The video will be zoomed to fit the widget. The smaller zoom (AddBarsScaleMode) adds black bars at the left/right or top/bottom to make all of the image visible (default). The bigger zoom (ExpandMode) fills the widget completely, keeping all information in one direction and leaving parts of the image outside of the widget in the other direction.
Access functions:
ScaleMode | scaleMode() const |
void | setScaleMode(ScaleMode) |
Member Function Documentation
VideoWidget::VideoWidget(QWidget * parent = 0)
Constructs a new video widget with the specified parent.
[slot]
void VideoWidget::enterFullScreen()
Convenience slot, calling setFullScreen(true)
[virtual protected]
bool VideoWidget::event(QEvent *)
Reimplemented from QObject::event().
[slot]
void VideoWidget::exitFullScreen()
Convenience slot, calling setFullScreen(false)
[virtual protected]
void VideoWidget::mouseMoveEvent(QMouseEvent *)
Reimplemented from QWidget::mouseMoveEvent().
QImage VideoWidget::snapshot() const
Returns a snapshot of the current frame shown in the widget.
This function was introduced in Qt 4.7.
© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.