diff options
author | 2024-09-10 19:15:25 +0900 | |
---|---|---|
committer | 2024-09-11 18:40:18 +0900 | |
commit | 5c8f09d2c3c99f621b467ed5c1be4fac3a708e85 (patch) | |
tree | 9312e269961b14945a00db47ed236ca53ffbb149 /GUIModel/Meter/ChargeGuage.qml | |
parent | 17b016d08cf1680f58cbb9102f35949c8436207c (diff) |
Port the cluster-refgui demo supports both Qt5 and Qt6HEADtrout_19.90.0trout/19.90.019.90.0master
This demo can now run on both Qt5 and Qt6, also added a macro to switch with or without the backend so that it can be developed easily on the Windows desktop.
Bug-AGL: SPEC-5243
Change-Id: I99b12ad9779a477784df13b83a850387747bb588
Signed-off-by: Jiu Shanheng <shanheng.jiu@qt.io>
Diffstat (limited to 'GUIModel/Meter/ChargeGuage.qml')
-rw-r--r-- | GUIModel/Meter/ChargeGuage.qml | 175 |
1 files changed, 91 insertions, 84 deletions
diff --git a/GUIModel/Meter/ChargeGuage.qml b/GUIModel/Meter/ChargeGuage.qml index 038df02..ad0c5ac 100644 --- a/GUIModel/Meter/ChargeGuage.qml +++ b/GUIModel/Meter/ChargeGuage.qml @@ -15,14 +15,14 @@ */ import QtQuick 2.14 -import QtGraphicalEffects 1.14 +import "qrc:/MeterEffect/" Item { id: chargeGuage - x:666 - y:97 - width:588 - height:588 + x: 666 + y: 97 + width: 588 + height: 588 property real chargeValue readonly property real chargeGuageMax: 100 @@ -30,40 +30,40 @@ Item { onChargeValueChanged: { limitChargeValue(); - effectChr.angleBase = (-0.45 * chargeValue*Math.PI/180)+effectChr.angle + effectChr.angleBase = (-0.45 * chargeValue * Math.PI / 180) + effectChr.angle; } - Connections{ + Connections { target: rootItem - onTransNormalToAdas:{ - normalToAdasAnimation.start() + onTransNormalToAdas: { + normalToAdasAnimation.start(); } } - function limitChargeValue(){ - if(chargeValue > chargeGuageMax){ - chargeValue = chargeGuageMax - }else if(chargeValue < chargeGuageMin){ - chargeValue = chargeGuageMin + function limitChargeValue() { + if (chargeValue > chargeGuageMax) { + chargeValue = chargeGuageMax; + } else if (chargeValue < chargeGuageMin) { + chargeValue = chargeGuageMin; } } - Item{ + Item { id: chrGuageGroup - width:588 - height:588 + width: 588 + height: 588 Item { id: chrGuage - width:588 - height:588 + width: 588 + height: 588 anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter visible: false - Image{ + Image { id: chrGuageImg source: "qrc:/Images/NormalView/METER/charge_guage.ktx" - width:588 - height:588 + width: 588 + height: 588 anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter visible: true @@ -71,119 +71,123 @@ Item { Image { id: chrEffect source: "" - width:588 - height:588 + width: 588 + height: 588 anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter visible: true } } - ShaderEffect{ + ShaderEffect { id: effectChr anchors.fill: parent visible: true blending: true supportsAtlasTextures: true - property real angleBase: -pi*1/2 - property real angle:-pi*1/2 - property var src: ShaderEffectSource{ + property real angleBase: -pi * 1 / 2 + property real angle: -pi * 1 / 2 + property var src: ShaderEffectSource { sourceItem: chrGuage live: false } readonly property real pi: 3.1415926535 - vertexShader: "qrc:/Shaders/vert/guageMask.vert" - fragmentShader:"qrc:/Shaders/frag/guageMask.frag" + vertexShader: ShaderPath.guageMaskVert + fragmentShader: ShaderPath.guageMaskFrag } } - SequentialAnimation{ + SequentialAnimation { id: normalToAdasAnimation - onStarted: rootItem.focus=false - SequentialAnimation{ - NumberAnimation{ + onStarted: rootItem.focus = false + SequentialAnimation { + NumberAnimation { target: chrGuageGroup property: "opacity" duration: 330 easing.type: Easing.InOutSine - from:1.0 - to:0.0 + from: 1.0 + to: 0.0 } - PropertyAnimation{ + PropertyAnimation { target: chrGuageGroup property: "visible" duration: 0 easing.type: Easing.InOutSine - from:true - to:false + from: true + to: false } } - - ParallelAnimation{ + + ParallelAnimation { /* down size */ - NumberAnimation{ + NumberAnimation { target: chargeGuage property: "scale" duration: 891 easing.type: meterParts.easing - from:1 - to:0.75 + from: 1 + to: 0.75 } - + /* translation */ - PathAnimation{ + PathAnimation { target: chargeGuage - anchorPoint: Qt.point(chargeGuage.width/2, chargeGuage.height/2) + anchorPoint: Qt.point(chargeGuage.width / 2, chargeGuage.height / 2) orientation: PathAnimation.Fixed duration: 891 easing.type: meterParts.easing - + path: Path { - startX: 960; startY: 391 - PathLine { x: 540; y: 402 } + startX: 960 + startY: 391 + PathLine { + x: 540 + y: 402 + } } } - PropertyAnimation{ + PropertyAnimation { target: chrGuageImg property: "source" to: "qrc:/Images/ADASView/METER/chr_wave.png" duration: 0 } - PropertyAnimation{ + PropertyAnimation { target: chrEffect property: "source" to: "qrc:/Images/ADASView/METER/chr_glow.png" duration: 0 } } - PauseAnimation{ + PauseAnimation { duration: 396 } - PropertyAnimation{ + PropertyAnimation { target: chrGuageGroup property: "visible" to: true duration: 0 } - PropertyAnimation{ + PropertyAnimation { target: chrGuageGroup property: "opacity" to: 1 duration: 198 } } - - SequentialAnimation{ + + SequentialAnimation { id: mapToNormalAnimation - onStarted: rootItem.focus=false - onStopped: rootItem.focus=true - PropertyAnimation{ + onStarted: rootItem.focus = false + onStopped: rootItem.focus = true + PropertyAnimation { target: chrGuageGroup property: "opacity" to: 0 duration: 198 } - PropertyAnimation{ + PropertyAnimation { target: chrGuageGroup property: "visible" to: true @@ -192,63 +196,66 @@ Item { PauseAnimation { duration: 254 + 330 } - - - ParallelAnimation{ + + ParallelAnimation { /* scaling */ - NumberAnimation{ + NumberAnimation { target: chargeGuage property: "scale" duration: 891 easing.type: meterParts.easing - from:0.75 - to:1.0 + from: 0.75 + to: 1.0 } - + /* slide */ - PathAnimation{ + PathAnimation { target: chargeGuage - anchorPoint: Qt.point(chargeGuage.width/2, chargeGuage.height/2) + anchorPoint: Qt.point(chargeGuage.width / 2, chargeGuage.height / 2) orientation: PathAnimation.Fixed duration: 891 easing.type: meterParts.easing - + path: Path { - startX: 540; startY: 402 - PathLine { x: 960; y: 391 } + startX: 540 + startY: 402 + PathLine { + x: 960 + y: 391 + } } } - PropertyAnimation{ + PropertyAnimation { target: chrGuageImg property: "source" to: "qrc:/Images/NormalView/METER/charge_guage.ktx" duration: 0 } - PropertyAnimation{ + PropertyAnimation { target: chrEffect property: "source" to: "" duration: 0 } } - - SequentialAnimation{ - PropertyAnimation{ + + SequentialAnimation { + PropertyAnimation { target: chrGuageGroup property: "visible" duration: 0 easing.type: Easing.InOutSine - from:false - to:true + from: false + to: true } - - NumberAnimation{ + + NumberAnimation { target: chrGuageGroup property: "opacity" duration: 330 easing.type: Easing.InOutSine - from:0.0 - to:1.0 + from: 0.0 + to: 1.0 } } PauseAnimation { |