mirror of
https://github.com/overte-org/overte.git
synced 2025-05-03 17:19:11 +02:00
101 lines
2.3 KiB
QML
101 lines
2.3 KiB
QML
//
|
|
// InputPeak.qml
|
|
//
|
|
// Created by Zach Pomerantz on 6/20/2017
|
|
// Copyright 2017 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
import QtQuick 2.10
|
|
import QtGraphicalEffects 1.0
|
|
|
|
Item {
|
|
property var peak
|
|
property alias showMuted: status.visible
|
|
|
|
width: 70
|
|
height: 8
|
|
|
|
QtObject {
|
|
id: colors
|
|
|
|
readonly property string unmuted: "#FFF"
|
|
readonly property string muted: "#E2334D"
|
|
readonly property string gutter: "#575757"
|
|
readonly property string greenStart: "#39A38F"
|
|
readonly property string greenEnd: "#1FC6A6"
|
|
readonly property string yellow: "#C0C000"
|
|
readonly property string red: colors.muted
|
|
readonly property string fill: "#55000000"
|
|
}
|
|
|
|
|
|
Text {
|
|
id: status
|
|
|
|
anchors {
|
|
horizontalCenter: parent.horizontalCenter
|
|
verticalCenter: parent.verticalCenter
|
|
}
|
|
|
|
visible: false
|
|
color: colors.muted
|
|
|
|
text: "MUTED"
|
|
font.pointSize: 10
|
|
}
|
|
|
|
Item {
|
|
id: bar
|
|
|
|
width: parent.width
|
|
height: parent.height
|
|
|
|
anchors { fill: parent }
|
|
|
|
visible: !status.visible
|
|
|
|
Rectangle { // base
|
|
radius: 4
|
|
anchors { fill: parent }
|
|
color: colors.gutter
|
|
}
|
|
|
|
Rectangle { // mask
|
|
id: mask
|
|
width: parent.width * peak
|
|
radius: 5
|
|
anchors {
|
|
bottom: parent.bottom
|
|
bottomMargin: 0
|
|
top: parent.top
|
|
topMargin: 0
|
|
left: parent.left
|
|
leftMargin: 0
|
|
}
|
|
}
|
|
|
|
LinearGradient {
|
|
anchors { fill: mask }
|
|
source: mask
|
|
start: Qt.point(0, 0)
|
|
end: Qt.point(bar.width, 0)
|
|
gradient: Gradient {
|
|
GradientStop {
|
|
position: 0
|
|
color: colors.greenStart
|
|
}
|
|
GradientStop {
|
|
position: 0.5
|
|
color: colors.greenEnd
|
|
}
|
|
GradientStop {
|
|
position: 1
|
|
color: colors.yellow
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|