SceneOverlay.qml Example File

multimedia/video/qmlvideo/qml/qmlvideo/SceneOverlay.qml
/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Mobility Components. ** ** $QT_BEGIN_LICENSE:BSD$ ** 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. ** ** BSD License Usage ** Alternatively, you may use this file under the terms of the BSD license ** as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of The Qt Company Ltd nor the names of its ** contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/
import QtQuick 2.0 Scene { id: root property int margin: 20 property string contentType Content { id: content anchors.centerIn: parent width: parent.contentWidth contentType: root.contentType source: parent.source1 volume: parent.volume onVideoFramePainted: root.videoFramePainted() } Rectangle { id: overlay y: 0.5 * parent.height width: content.width height: content.height color: "#e0e0e0" opacity: 0.5 SequentialAnimation on x { id: xAnimation loops: Animation.Infinite property int from: margin property int to: 100 property int duration: 1500 running: false PropertyAnimation { from: xAnimation.from to: xAnimation.to duration: xAnimation.duration easing.type: Easing.InOutCubic } PropertyAnimation { from: xAnimation.to to: xAnimation.from duration: xAnimation.duration easing.type: Easing.InOutCubic } } SequentialAnimation on y { id: yAnimation loops: Animation.Infinite property int from: margin property int to: 180 property int duration: 1500 running: false PropertyAnimation { from: yAnimation.from to: yAnimation.to duration: yAnimation.duration easing.type: Easing.InOutCubic } PropertyAnimation { from: yAnimation.to to: yAnimation.from duration: yAnimation.duration easing.type: Easing.InOutCubic } } } onWidthChanged: { xAnimation.to = root.width - content.width - margin xAnimation.start() } onHeightChanged: { //yAnimation.to = root.height - content.height - margin yAnimation.start() } Component.onCompleted: root.content = content }