cpu panel: interpolate bar color green→yellow→red by load
This commit is contained in:
parent
7633ed75a9
commit
03554e5ad3
1 changed files with 11 additions and 2 deletions
|
|
@ -102,6 +102,14 @@ M.BarSection {
|
|||
onTriggered: root._pinned = false
|
||||
}
|
||||
|
||||
function _loadColor(pct) {
|
||||
const t = Math.max(0, Math.min(100, pct)) / 100;
|
||||
const a = t < 0.5 ? M.Theme.base0B : M.Theme.base0A;
|
||||
const b = t < 0.5 ? M.Theme.base0A : M.Theme.base08;
|
||||
const u = t < 0.5 ? t * 2 : (t - 0.5) * 2;
|
||||
return Qt.rgba(a.r + (b.r - a.r) * u, a.g + (b.g - a.g) * u, a.b + (b.b - a.b) * u, 1);
|
||||
}
|
||||
|
||||
M.BarIcon {
|
||||
icon: "\uF2DB"
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
|
@ -167,6 +175,7 @@ M.BarSection {
|
|||
|
||||
readonly property int _u: root._coreUsage[index] ?? 0
|
||||
readonly property real _f: root._coreFreq[index] ?? 0
|
||||
readonly property color _barColor: root._loadColor(_u)
|
||||
|
||||
Text {
|
||||
id: coreLabel
|
||||
|
|
@ -197,7 +206,7 @@ M.BarSection {
|
|||
Rectangle {
|
||||
width: parent.width * (parent.parent._u / 100)
|
||||
height: parent.height
|
||||
color: root.accentColor
|
||||
color: parent.parent._barColor
|
||||
radius: 2
|
||||
Behavior on width {
|
||||
NumberAnimation {
|
||||
|
|
@ -213,7 +222,7 @@ M.BarSection {
|
|||
anchors.rightMargin: 12
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: parent._f.toFixed(2)
|
||||
color: M.Theme.base04
|
||||
color: parent._barColor
|
||||
font.pixelSize: M.Theme.fontSize - 2
|
||||
font.family: M.Theme.fontFamily
|
||||
width: 32
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue