diff options
Diffstat (limited to 'examples/multimedia/video/doc/src/qmlvideo.qdoc')
-rw-r--r-- | examples/multimedia/video/doc/src/qmlvideo.qdoc | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/examples/multimedia/video/doc/src/qmlvideo.qdoc b/examples/multimedia/video/doc/src/qmlvideo.qdoc deleted file mode 100644 index b8ab25d03..000000000 --- a/examples/multimedia/video/doc/src/qmlvideo.qdoc +++ /dev/null @@ -1,135 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! -\example multimedia/video/qmlvideo -\title QML Video Example -\ingroup multimedia_examples -\brief Transforming video and camera viewfinder content. - -\e{QML Video} demonstrates the various transformations (move; resize; rotate; -change aspect ratio) that can be applied to QML \l VideoOutput and \l Camera -types. - -It also shows how native code can be combined with QML to implement more -advanced functionality - in this case, C++ code is used to calculate the QML -frame rate. This value is rendered in QML in a semi-transparent item -overlaid on the video content. - -The following image shows the application executing the video-overlay scene, -which creates a dummy overlay item (just a semi-transparent \l{Rectangle}), -which moves across the \l{VideoOutput} item. - -\image qmlvideo-overlay.jpg - -\include examples-run.qdocinc - -\section1 Application Structure - -The \c main.qml file creates a UI which includes the following items: - -\list - \li Two \c Button instances, each of which displays a filename, and can be - used to launch a \c FileBrowser. - \li An exit \c Button. - \li A \c SceneSelectionPanel, which is a flickable list displaying the - available scenes. - \li At the lower left, an item which displays the QML repainting rate - the - upper number is the instantaneous frame rate and the lower number is the - average over the past second. -\endlist - -\image qmlvideo-menu.jpg - -Each scene in the flickable list is implemented in its own QML file - for -example the video-basic scene (which just displays a static \l{VideoOutput} -in the center of the screen) is implemented in the \c VideoBasic.qml file. As -you can see from the code, this makes use of a type of inheritance; a -\c VideoBasic item ... - -\quotefromfile multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml -\skipto import -\printuntil /^\}/ - -... is of type \c SceneBasic ... - -\quotefromfile multimedia/video/qmlvideo/qml/qmlvideo/SceneBasic.qml -\skipto import -\printuntil contentType -\dots -\skipto Content -\printuntil content -\dots -\skipto } -\printuntil /^\}/ - -... which itself is a \c Scene: - -\quotefromfile multimedia/video/qmlvideo/qml/qmlvideo/Scene.qml -\skipto import -\printuntil root -\dots -\skipto property QtObject content -\printuntil content -\dots -\skipto Button -\printuntil /^\}/ - -\c SceneBasic describes the structure and behavior of the scene, but is -agnostic of the type of content which will be displayed - this is abstracted -by \c Content. - -This pattern allows us to define a particular use case (in this case, simply -display a static piece of content), and then instantiate that use case for -both video content (\c {VideoBasic}) and camera content \c ({CameraBasic}). -This approach is used to implement many of the other scenes - for example, -\e {"repeatedly slide the content from left to right and back again"} is -implemented by \c SceneMove, on which \c VideoMove and \c CameraMove are based. - -Depending on the value of the contentType property in the top-level scene -instance, the embedded \c Content item creates either a -\l[QML]{MediaPlayer} or a \l[QML]{Camera} item. - -\section1 Calculating and Displaying QML Painting Rate - -\input multimedia/doc/src/examples/video-qml-paint-rate.qdocinc - -All that remains is to connect the afterRendering() signal of the QQuickView -object to a JavaScript function, which will eventually call -\c frequencyItem.notify(): - -\quotefromfile multimedia/video/qmlvideo/main.cpp -\skipto QGuiApplication -\printuntil ; -\dots -\skipto QQuickItem -\printuntil ; -\dots -\skipto QObject::connect -\printuntil SLOT(qmlFramePainted())); - -*/ |