2024-07-26 01:09:44 +00:00
|
|
|
// SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
//
|
|
|
|
// Copyright (C) 2015, Matthew Waters <matthew@centricular.com>
|
|
|
|
//
|
|
|
|
// Redistribution and use in source and binary forms, with or without
|
|
|
|
// modification, are permitted provided that the following conditions are met:
|
|
|
|
//
|
|
|
|
// a) Redistributions of source code must retain the above copyright notice,
|
|
|
|
// this list of conditions and the following disclaimer.
|
|
|
|
//
|
|
|
|
// b) 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.
|
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
|
2020-02-04 08:43:52 +00:00
|
|
|
import QtQuick 2.4
|
|
|
|
import QtQuick.Controls 1.1
|
|
|
|
import QtQuick.Controls.Styles 1.3
|
|
|
|
import QtQuick.Dialogs 1.2
|
|
|
|
import QtQuick.Window 2.1
|
|
|
|
|
|
|
|
import org.freedesktop.gstreamer.GLVideoItem 1.0
|
|
|
|
|
|
|
|
ApplicationWindow {
|
|
|
|
id: window
|
|
|
|
visible: true
|
|
|
|
width: 640
|
|
|
|
height: 480
|
|
|
|
x: 30
|
|
|
|
y: 30
|
|
|
|
color: "black"
|
|
|
|
|
|
|
|
Item {
|
|
|
|
anchors.fill: parent
|
|
|
|
|
|
|
|
GstGLVideoItem {
|
|
|
|
id: video
|
|
|
|
objectName: "videoItem"
|
|
|
|
anchors.centerIn: parent
|
|
|
|
width: parent.width
|
|
|
|
height: parent.height
|
|
|
|
}
|
|
|
|
|
|
|
|
Rectangle {
|
|
|
|
color: Qt.rgba(1, 1, 1, 0.7)
|
|
|
|
border.width: 1
|
|
|
|
border.color: "white"
|
|
|
|
anchors.bottom: video.bottom
|
|
|
|
anchors.bottomMargin: 15
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
|
|
width : parent.width - 30
|
|
|
|
height: parent.height - 30
|
|
|
|
radius: 8
|
|
|
|
|
|
|
|
MouseArea {
|
|
|
|
id: mousearea
|
|
|
|
anchors.fill: parent
|
|
|
|
hoverEnabled: true
|
|
|
|
onEntered: {
|
|
|
|
parent.opacity = 1.0
|
|
|
|
hidetimer.start()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Timer {
|
|
|
|
id: hidetimer
|
|
|
|
interval: 5000
|
|
|
|
onTriggered: {
|
|
|
|
parent.opacity = 0.0
|
|
|
|
stop()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|