diff options
Diffstat (limited to 'app')
38 files changed, 1705 insertions, 0 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt new file mode 100644 index 0000000..8e039e6 --- /dev/null +++ b/app/CMakeLists.txt @@ -0,0 +1,48 @@ +########################################################################### +# Copyright 2018 Konsulko Group +# +# Author: Scott Murray <scott.murray@konsulko.com> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_CXX_STANDARD 14) + +find_package(Qt5 COMPONENTS Core Gui QuickControls2 WebSockets QuickWidgets REQUIRED) +find_package(PkgConfig REQUIRED) + +qt5_add_resources(RESOURCES cluster-gauges.qrc images/images.qrc) + +PROJECT_TARGET_ADD(cluster-gauges) + +add_executable(${TARGET_NAME} + main.cpp + ${RESOURCES} +) + +set_target_properties(${TARGET_NAME} PROPERTIES + LABELS "EXECUTABLE" + PREFIX "" + COMPILE_FLAGS "${QLIBWINMGR_FLAGS} ${EXTRAS_CFLAGS} -DFOR_AFB_BINDING" + LINK_FLAGS "${BINDINGS_LINK_FLAG}" + LINK_LIBRARIES "${EXTRAS_LIBRARIES}" + OUTPUT_NAME "${TARGET_NAME}" +) + +target_link_libraries(${TARGET_NAME} + Qt5::QuickControls2 + Qt5::QuickWidgets + ${QLIBWINMGR_LIBRARIES} +) diff --git a/app/DashboardGaugeStyle.qml b/app/DashboardGaugeStyle.qml new file mode 100644 index 0000000..aafe50f --- /dev/null +++ b/app/DashboardGaugeStyle.qml @@ -0,0 +1,176 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $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.2 +import QtQuick.Controls.Styles 1.4 + +CircularGaugeStyle { + tickmarkInset: toPixels(0.04) + minorTickmarkInset: tickmarkInset + labelStepSize: 20 + labelInset: toPixels(0.23) + + property real xCenter: outerRadius + property real yCenter: outerRadius + property real needleLength: outerRadius - tickmarkInset * 1.25 + property real needleTipWidth: toPixels(0.02) + property real needleBaseWidth: toPixels(0.06) + property bool halfGauge: false + + function toPixels(percentage) { + return percentage * outerRadius; + } + + function degToRad(degrees) { + return degrees * (Math.PI / 180); + } + + function radToDeg(radians) { + return radians * (180 / Math.PI); + } + + function paintBackground(ctx) { + if (halfGauge) { + ctx.beginPath(); + ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height / 2); + ctx.clip(); + } + + ctx.beginPath(); + ctx.fillStyle = "black"; + ctx.ellipse(0, 0, ctx.canvas.width, ctx.canvas.height); + ctx.fill(); + + ctx.beginPath(); + ctx.lineWidth = tickmarkInset; + ctx.strokeStyle = "black"; + ctx.arc(xCenter, yCenter, outerRadius - ctx.lineWidth / 2, outerRadius - ctx.lineWidth / 2, 0, Math.PI * 2); + ctx.stroke(); + + ctx.beginPath(); + ctx.lineWidth = tickmarkInset / 2; + ctx.strokeStyle = "#222"; + ctx.arc(xCenter, yCenter, outerRadius - ctx.lineWidth / 2, outerRadius - ctx.lineWidth / 2, 0, Math.PI * 2); + ctx.stroke(); + + ctx.beginPath(); + var gradient = ctx.createRadialGradient(xCenter, yCenter, 0, xCenter, yCenter, outerRadius * 1.5); + gradient.addColorStop(0, Qt.rgba(1, 1, 1, 0)); + gradient.addColorStop(0.7, Qt.rgba(1, 1, 1, 0.13)); + gradient.addColorStop(1, Qt.rgba(1, 1, 1, 1)); + ctx.fillStyle = gradient; + ctx.arc(xCenter, yCenter, outerRadius - tickmarkInset, outerRadius - tickmarkInset, 0, Math.PI * 2); + ctx.fill(); + } + + background: Canvas { + onPaint: { + var ctx = getContext("2d"); + ctx.reset(); + paintBackground(ctx); + } + + Text { + id: speedText + font.pixelSize: toPixels(0.3) + text: kphInt + color: "white" + horizontalAlignment: Text.AlignRight + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.verticalCenter + anchors.topMargin: toPixels(0.1) + + readonly property int kphInt: control.value + } + Text { + id: speedLabel + text: valueSource.mphDisplay ? "MPH" : "km/h" + color: "white" + font.pixelSize: toPixels(0.09) + anchors.top: speedText.bottom + anchors.horizontalCenter: parent.horizontalCenter + } + } + + needle: Canvas { + implicitWidth: needleBaseWidth + implicitHeight: needleLength + + property real xCenter: width / 2 + property real yCenter: height / 2 + + onPaint: { + var ctx = getContext("2d"); + ctx.reset(); + + ctx.beginPath(); + ctx.moveTo(xCenter, height); + ctx.lineTo(xCenter - needleBaseWidth / 2, height - needleBaseWidth / 2); + ctx.lineTo(xCenter - needleTipWidth / 2, 0); + ctx.lineTo(xCenter, yCenter - needleLength); + ctx.lineTo(xCenter, 0); + ctx.closePath(); + ctx.fillStyle = Qt.rgba(0.66, 0, 0, 0.66); + ctx.fill(); + + ctx.beginPath(); + ctx.moveTo(xCenter, height) + ctx.lineTo(width, height - needleBaseWidth / 2); + ctx.lineTo(xCenter + needleTipWidth / 2, 0); + ctx.lineTo(xCenter, 0); + ctx.closePath(); + ctx.fillStyle = Qt.lighter(Qt.rgba(0.66, 0, 0, 0.66)); + ctx.fill(); + } + } + + foreground: null +} diff --git a/app/IconGaugeStyle.qml b/app/IconGaugeStyle.qml new file mode 100644 index 0000000..6247076 --- /dev/null +++ b/app/IconGaugeStyle.qml @@ -0,0 +1,135 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $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.2 +import QtQuick.Controls.Styles 1.4 +import QtQuick.Extras 1.4 + +DashboardGaugeStyle { + id: fuelGaugeStyle + minimumValueAngle: -60 + maximumValueAngle: 60 + tickmarkStepSize: 1 + labelStepSize: 1 + labelInset: toPixels(-0.25) + minorTickmarkCount: 3 + + needleLength: toPixels(0.85) + needleBaseWidth: toPixels(0.08) + needleTipWidth: toPixels(0.03) + + halfGauge: true + + property string icon: "" + property color minWarningColor: "transparent" + property color maxWarningColor: "transparent" + readonly property real minWarningStartAngle: minimumValueAngle - 90 + readonly property real maxWarningStartAngle: maximumValueAngle - 90 + + tickmark: Rectangle { + implicitWidth: toPixels(0.06) + antialiasing: true + implicitHeight: toPixels(0.2) + color: "#c8c8c8" + } + + minorTickmark: Rectangle { + implicitWidth: toPixels(0.03) + antialiasing: true + implicitHeight: toPixels(0.15) + color: "#c8c8c8" + } + + background: Item { + Canvas { + anchors.fill: parent + onPaint: { + var ctx = getContext("2d"); + ctx.reset(); + + paintBackground(ctx); + + if (minWarningColor != "transparent") { + ctx.beginPath(); + ctx.lineWidth = fuelGaugeStyle.toPixels(0.08); + ctx.strokeStyle = minWarningColor; + ctx.arc(outerRadius, outerRadius, + // Start the line in from the decorations, and account for the width of the line itself. + outerRadius - tickmarkInset - ctx.lineWidth / 2, + degToRad(minWarningStartAngle), + degToRad(minWarningStartAngle + angleRange / (minorTickmarkCount + 1)), false); + ctx.stroke(); + } + if (maxWarningColor != "transparent") { + ctx.beginPath(); + ctx.lineWidth = fuelGaugeStyle.toPixels(0.08); + ctx.strokeStyle = maxWarningColor; + ctx.arc(outerRadius, outerRadius, + // Start the line in from the decorations, and account for the width of the line itself. + outerRadius - tickmarkInset - ctx.lineWidth / 2, + degToRad(maxWarningStartAngle - angleRange / (minorTickmarkCount + 1)), + degToRad(maxWarningStartAngle), false); + ctx.stroke(); + } + } + } + + Image { + source: icon + anchors.bottom: parent.verticalCenter + anchors.bottomMargin: toPixels(0.3) + anchors.horizontalCenter: parent.horizontalCenter + width: toPixels(0.3) + height: width + fillMode: Image.PreserveAspectFit + } + } +} diff --git a/app/TachometerStyle.qml b/app/TachometerStyle.qml new file mode 100644 index 0000000..a632eab --- /dev/null +++ b/app/TachometerStyle.qml @@ -0,0 +1,127 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $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.2 +import QtQuick.Controls.Styles 1.4 +import QtQuick.Extras 1.4 + +DashboardGaugeStyle { + id: tachometerStyle + tickmarkStepSize: 1 + labelStepSize: 1 + needleLength: toPixels(0.85) + needleBaseWidth: toPixels(0.08) + needleTipWidth: toPixels(0.03) + + tickmark: Rectangle { + implicitWidth: toPixels(0.03) + antialiasing: true + implicitHeight: toPixels(0.08) + color: styleData.index === 7 || styleData.index === 8 ? Qt.rgba(0.5, 0, 0, 1) : "#c8c8c8" + } + + minorTickmark: null + + tickmarkLabel: Text { + font.pixelSize: Math.max(6, toPixels(0.12)) + text: styleData.value + color: styleData.index === 7 || styleData.index === 8 ? Qt.rgba(0.5, 0, 0, 1) : "#c8c8c8" + antialiasing: true + } + + background: Canvas { + onPaint: { + var ctx = getContext("2d"); + ctx.reset(); + paintBackground(ctx); + + ctx.beginPath(); + ctx.lineWidth = tachometerStyle.toPixels(0.08); + ctx.strokeStyle = Qt.rgba(0.5, 0, 0, 1); + var warningCircumference = maximumValueAngle - minimumValueAngle * 0.1; + var startAngle = maximumValueAngle - 90; + ctx.arc(outerRadius, outerRadius, + // Start the line in from the decorations, and account for the width of the line itself. + outerRadius - tickmarkInset - ctx.lineWidth / 2, + degToRad(startAngle - angleRange / 8 + angleRange * 0.015), + degToRad(startAngle - angleRange * 0.015), false); + ctx.stroke(); + } + + Text { + id: rpmText + font.pixelSize: tachometerStyle.toPixels(0.3) + text: rpmInt + color: "white" + horizontalAlignment: Text.AlignRight + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.verticalCenter + anchors.topMargin: 20 + + readonly property int rpmInt: valueSource.rpm + } + Text { + text: "x1000" + color: "white" + font.pixelSize: tachometerStyle.toPixels(0.1) + anchors.top: parent.top + anchors.topMargin: parent.height / 4 + anchors.horizontalCenter: parent.horizontalCenter + } + Text { + text: "RPM" + color: "white" + font.pixelSize: tachometerStyle.toPixels(0.1) + anchors.top: rpmText.bottom + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/app/TurnIndicator.qml b/app/TurnIndicator.qml new file mode 100644 index 0000000..3bc4c0e --- /dev/null +++ b/app/TurnIndicator.qml @@ -0,0 +1,111 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $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.2 + +Item { + // This enum is actually keyboard-related, but it serves its purpose + // as an indication of direction for us. + property int direction: Qt.LeftArrow + property bool on: false + + property bool flashing: false + + scale: direction === Qt.LeftArrow ? 1 : -1 + Timer { + id: flashTimer + interval: 500 + running: on + repeat: true + onTriggered: flashing = !flashing + } + function paintOutlinePath(ctx) { + ctx.beginPath(); + ctx.moveTo(0, height * 0.5); + ctx.lineTo(0.6 * width, 0); + ctx.lineTo(0.6 * width, height * 0.28); + ctx.lineTo(width, height * 0.28); + ctx.lineTo(width, height * 0.72); + ctx.lineTo(0.6 * width, height * 0.72); + ctx.lineTo(0.6 * width, height); + ctx.lineTo(0, height * 0.5); + } + Canvas { + id: backgroundCanvas + anchors.fill: parent + + onPaint: { + var ctx = getContext("2d"); + ctx.reset(); + + paintOutlinePath(ctx); + + ctx.lineWidth = 1; + ctx.strokeStyle = "lightgrey"; + ctx.stroke(); + } + } + Canvas { + id: foregroundCanvas + anchors.fill: parent + visible: on && flashing + + onPaint: { + var ctx = getContext("2d"); + ctx.reset(); + + paintOutlinePath(ctx); + + ctx.fillStyle = "green"; + ctx.fill(); + } + } +} diff --git a/app/ValueSource.qml b/app/ValueSource.qml new file mode 100644 index 0000000..48e5cf6 --- /dev/null +++ b/app/ValueSource.qml @@ -0,0 +1,420 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2018 Konsulko Group +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $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.2 +Item { + id: valueSource + property real kph: 0 + property bool mphDisplay: true + property real speedScaling: mphDisplay == true ? 0.621 : 1.0 + property real rpm: 1 + property real fuel: 0.85 + property string gear: { + var g; + if (kph < 30) { + return "1"; + } + if (kph < 50) { + return "2"; + } + if (kph < 80) { + return "3"; + } + if (kph < 120) { + return "4"; + } + if (kph < 160) { + return "5"; + } + } + property string prindle: { + var g; + if (kph > 0) { + return "D"; + } + return "P"; + } + + property bool start: true + property int turnSignal: -1 + property bool startUp: false + property real temperature: 0.6 + + function randomDirection() { + return Math.random() > 0.5 ? Qt.LeftArrow : Qt.RightArrow; + } + + SequentialAnimation { + running: true + loops: 1 + + // We want a small pause at the beginning, but we only want it to happen once. + PauseAnimation { + duration: 1000 + } + + PropertyAction { + target: valueSource + property: "start" + value: false + } + + SequentialAnimation { + loops: Animation.Infinite + + // Simulate startup with indicators blink + PropertyAction { + target: valueSource + property: "startUp" + value: true + } + PauseAnimation { + duration: 1000 + } + PropertyAction { + target: valueSource + property: "startUp" + value: false + } + + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + from: 0 + to: 30 + duration: 3000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + from: 1 + to: 6.1 + duration: 3000 + } + } + ParallelAnimation { + // We changed gears so we lost a bit of speed. + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + from: 30 + to: 26 + duration: 600 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + from: 6 + to: 2.4 + duration: 600 + } + } + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 60 + duration: 3000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 5.6 + duration: 3000 + } + } + ParallelAnimation { + // We changed gears so we lost a bit of speed. + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 56 + duration: 600 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 2.3 + duration: 600 + } + } + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 100 + duration: 3000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 5.1 + duration: 3000 + } + } + ParallelAnimation { + // We changed gears so we lost a bit of speed. + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 96 + duration: 600 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 2.2 + duration: 600 + } + } + + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 140 + duration: 3000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 6.2 + duration: 3000 + } + } + + // Slow down a bit + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 115 + duration: 6000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 5.5 + duration: 6000 + } + } + + // Turn signal on + PropertyAction { + target: valueSource + property: "turnSignal" + value: randomDirection() + } + + // Cruise for a while + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 110 + duration: 10000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 5.2 + duration: 10000 + } + } + + // Turn signal off + PropertyAction { + target: valueSource + property: "turnSignal" + value: -1 + } + + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 115 + duration: 10000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 5.5 + duration: 10000 + } + } + + // Start downshifting. + + // Fifth to fourth gear. + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.Linear + to: 100 + duration: 5000 + } + + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 3.1 + duration: 5000 + } + } + + // Fourth to third gear. + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 5.5 + duration: 600 + } + + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 60 + duration: 5000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 2.6 + duration: 5000 + } + } + + // Third to second gear. + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 6.3 + duration: 600 + } + + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 30 + duration: 5000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 2.6 + duration: 5000 + } + } + + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 6.5 + duration: 600 + } + + // Second to first gear. + ParallelAnimation { + NumberAnimation { + target: valueSource + property: "kph" + easing.type: Easing.InOutSine + to: 0 + duration: 5000 + } + NumberAnimation { + target: valueSource + property: "rpm" + easing.type: Easing.InOutSine + to: 1 + duration: 4500 + } + } + + PauseAnimation { + duration: 5000 + } + } + } +} diff --git a/app/cluster-gauges.qml b/app/cluster-gauges.qml new file mode 100644 index 0000000..40e4476 --- /dev/null +++ b/app/cluster-gauges.qml @@ -0,0 +1,478 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2018 Konsulko Group +** Copyright (C) 2019 FUJITSU LIMITED +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $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$ +** +****************************************************************************/ + +/* + * NOTE: Originally written from scratch, but enough code was eventually + * pasted in from the Qt dashboard.qml example that its license text + * has been adopted. + */ + +import QtQuick 2.2 +import QtQuick.Window 2.1 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 +import QtQuick.Extras 1.4 +import QtWayland.Compositor 1.0 + +WaylandCompositor { + WaylandOutput { + sizeFollowsWindow: true + window: Window{ + id: root + width: 1920 + height: 1080 + visible: true + flags: Qt.FramelessWindowHint + color: "black" + + ValueSource { + id: valueSource + } + + Rectangle { + id: statusFrame + x: (parent.width - width) / 2 + y: 80 + width: 1152 + height: 96 + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Row { + width: parent.width + height: parent.height * 0.75 + spacing: (parent.width - (12 * parent.height * 0.75)) / 13 + + anchors.fill: parent + anchors.topMargin: (parent.height - height) /2 + anchors.bottomMargin: (parent.height - height) /2 + anchors.leftMargin: (parent.width - (12 * parent.height * 0.75)) / 13 + anchors.rightMargin: (parent.width - (12 * parent.height * 0.75)) / 13 + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + TurnIndicator { + id: leftIndicator + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + + direction: Qt.LeftArrow + on: valueSource.turnSignal == Qt.LeftArrow + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_Engine_yellow.svg' : './images/AGL_Icons_Engine.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_Oil_red.svg' : './images/AGL_Icons_Oil.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_ABS_red.svg' : './images/AGL_Icons_ABS.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_Battery_red.svg' : './images/AGL_Icons_Battery.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Text { + id: prindle + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + horizontalAlignment: Text.AlignCenter + + text: valueSource.prindle + color: "white" + font.pixelSize: parent.height * 0.85 + } + } + + Rectangle { + id: gearIndicatior + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Text { + id: gear + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + horizontalAlignment: Text.AlignCenter + + text: valueSource.gear + color: "white" + font.pixelSize: parent.height * 0.85 + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_Seatbelt_red.svg' : './images/AGL_Icons_Seatbelt.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_OpenDoor_red.svg' : './images/AGL_Icons_OpenDoor.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_Lights_red.svg' : './images/AGL_Icons_Lights.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + Image { + source: valueSource.startUp ? './images/AGL_Icons_ParkingBrake_red.svg' : './images/AGL_Icons_ParkingBrake.svg' + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + fillMode: Image.PreserveAspectFit + } + } + + Rectangle { + width: height + height: parent.height + radius: height / 5 + + color: "black" + border.width: 2 + border.color: "grey" + + TurnIndicator { + id: rightIndicator + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + width: height + height: parent.height * 0.75 + + direction: Qt.RightArrow + on: valueSource.turnSignal == Qt.RightArrow + } + } + } + } + + Item { + x: 36 + y: 240 + width: 600 + height: width + + CircularGauge { + id: accelerometer + x: (parent.width - width) / 2 + //y: (parent.height - height) / 2 + width: parent.width * 0.9 + height: width + + maximumValue: valueSource.mphDisplay ? 140 : 220 + value: valueSource.kph * valueSource.speedScaling + + style: DashboardGaugeStyle {} + } + } + + Item { + x: 1284 + y: 240 + width: 600 + height: width + + CircularGauge { + id: tachometer + x: (parent.width - width) / 2 + width: parent.width * 0.9 + height: width + + maximumValue: 8 + value: valueSource.rpm + + style: TachometerStyle {} + } + + CircularGauge { + id: fuelGauge + value: valueSource.fuel + maximumValue: 1 + y: parent.width * 0.85 + width: parent.width * 0.45 + height: parent.height * 0.25 + + style: IconGaugeStyle { + id: fuelGaugeStyle + + icon: "./images/fuel-icon.png" + minWarningColor: Qt.rgba(0.5, 0, 0, 1) + + tickmarkLabel: Text { + color: "white" + visible: styleData.value === 0 || styleData.value === 1 + font.pixelSize: fuelGaugeStyle.toPixels(0.225) + text: styleData.value === 0 ? "E" : (styleData.value === 1 ? "F" : "") + } + } + } + + CircularGauge { + id: tempGauge + value: valueSource.temperature + maximumValue: 1 + x: parent.width * 0.55 + y: parent.width * 0.85 + width: parent.width * 0.45 + height: parent.height * 0.25 + + style: IconGaugeStyle { + id: tempGaugeStyle + + icon: "./images/temperature-icon.png" + maxWarningColor: Qt.rgba(0.5, 0, 0, 1) + + tickmarkLabel: Text { + color: "white" + visible: styleData.value === 0 || styleData.value === 1 + font.pixelSize: tempGaugeStyle.toPixels(0.225) + text: styleData.value === 0 ? "C" : (styleData.value === 1 ? "H" : "") + } + } + } + } + + Rectangle { + id: frame + x: 672 + y: 264 + width: 576 + height: 552 + + color: "black" + border.width: 4 + border.color: "grey" + + Image { + source: './images/Utility_Logo_Grey-01.svg' + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + width: parent.width / 2 + height: width + } + } + + Image { + source: './images/agl_title_793x211.png' + //x: 772 + x: (parent.width - width) / 2 + y: 898 + width: 376 + height: 100 + } +} +} + + Component { + id: chromeComponent + ShellSurfaceItem { + anchors.fill: parent + onSurfaceDestroyed: destroy() + onWidthChanged: handleResized() + onHeightChanged: handleResized() + function handleResized() { + shellSurface.sendConfigure(Qt.size(width, height)); + } + } + } + IviApplication { + onIviSurfaceCreated: { + var item = chromeComponent.createObject(frame, { "shellSurface": iviSurface } ); + item.handleResized(); + } + } +} diff --git a/app/cluster-gauges.qrc b/app/cluster-gauges.qrc new file mode 100644 index 0000000..22f7528 --- /dev/null +++ b/app/cluster-gauges.qrc @@ -0,0 +1,10 @@ +<RCC> + <qresource prefix="/"> + <file>cluster-gauges.qml</file> + <file>DashboardGaugeStyle.qml</file> + <file>IconGaugeStyle.qml</file> + <file>TachometerStyle.qml</file> + <file>TurnIndicator.qml</file> + <file>ValueSource.qml</file> + </qresource> +</RCC> diff --git a/app/images/AGL_Icons_ABS.svg b/app/images/AGL_Icons_ABS.svg new file mode 100644 index 0000000..edbedf9 --- /dev/null +++ b/app/images/AGL_Icons_ABS.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 48.4" width="66" height="48.4"><defs><clipPath id="_clipPath_XMuSSqE5ZxD0II1wFOlQX4LHZu6oOhaQ"><rect width="66" height="48.4"/></clipPath></defs><g clip-path="url(#_clipPath_XMuSSqE5ZxD0II1wFOlQX4LHZu6oOhaQ)"><g><path d=" M 24.8 25.8 C 24.8 25.8 24.8 25.8 24.8 25.8 L 22.2 18.1 C 22.1 17.7 21.7 17.4 21.3 17.4 C 20.9 17.4 20.5 17.7 20.4 18.1 L 17.8 25.8 C 17.8 25.8 17.8 25.8 17.8 25.8 L 16.5 29.8 C 16.3 30.3 16.6 30.9 17.1 31 C 17.6 31.2 18.2 30.9 18.3 30.4 L 19.4 27.2 L 23.2 27.2 L 24.3 30.4 C 24.4 30.8 24.8 31.1 25.2 31.1 C 25.3 31.1 25.4 31.1 25.5 31 C 26 30.8 26.3 30.3 26.1 29.8 L 24.8 25.8 L 24.8 25.8 Z M 20.1 25.2 L 21.3 21.5 L 22.5 25.2 L 20.1 25.2 L 20.1 25.2 Z " fill="rgb(185,185,185)"/><path d=" M 43.7 17.4 C 41.6 17.4 39.8 19.1 39.8 21.3 C 39.8 23.4 41.5 25.2 43.7 25.2 L 45.6 25.2 C 46.7 25.2 47.5 26.1 47.5 27.1 C 47.5 28.2 46.6 29 45.6 29 L 40.7 29 C 40.2 29 39.7 29.4 39.7 30 C 39.7 30.5 40.1 31 40.7 31 L 45.6 31 C 47.7 31 49.5 29.3 49.5 27.1 C 49.5 25 47.8 23.2 45.6 23.2 L 43.7 23.2 C 42.6 23.2 41.8 22.3 41.8 21.3 C 41.8 20.2 42.7 19.4 43.7 19.4 L 48.6 19.4 C 49.1 19.4 49.6 19 49.6 18.4 C 49.6 17.9 49.2 17.4 48.6 17.4 L 43.7 17.4 L 43.7 17.4 Z " fill="rgb(185,185,185)"/><path d=" M 37.9 21.3 C 37.9 19.2 36.2 17.4 34 17.4 L 29.1 17.4 C 28.6 17.4 28.1 17.8 28.1 18.4 L 28.1 30.1 C 28.1 30.6 28.5 31.1 29.1 31.1 L 34 31.1 C 36.1 31.1 37.9 29.4 37.9 27.2 C 37.9 26 37.4 25 36.6 24.3 C 37.3 23.5 37.9 22.5 37.9 21.3 L 37.9 21.3 L 37.9 21.3 Z M 34 29.1 L 30.1 29.1 L 30.1 25.2 L 34 25.2 C 35.1 25.2 35.9 26.1 35.9 27.1 C 35.9 28.2 35 29.1 34 29.1 L 34 29.1 L 34 29.1 Z M 34 23.2 L 30.1 23.2 L 30.1 19.3 L 34 19.3 C 35.1 19.3 35.9 20.2 35.9 21.2 C 35.9 22.4 35 23.2 34 23.2 L 34 23.2 L 34 23.2 Z " fill="rgb(185,185,185)"/></g><path d=" M 33 0 C 19.7 0 8.8 10.9 8.8 24.2 C 8.8 37.5 19.7 48.4 33 48.4 C 46.3 48.4 57.2 37.5 57.2 24.2 C 57.2 10.9 46.3 0 33 0 L 33 0 L 33 0 Z M 33 46.2 C 20.9 46.2 11 36.3 11 24.2 C 11 12.1 20.9 2.2 33 2.2 C 45.1 2.2 55 12.1 55 24.2 C 55 36.3 45.1 46.2 33 46.2 L 33 46.2 L 33 46.2 Z " fill="rgb(185,185,185)"/><path d=" M 11.2 2.4 C 11.6 2 11.6 1.3 11.2 0.9 C 10.8 0.5 10.1 0.5 9.7 0.9 C -3.2 13.8 -3.2 34.7 9.7 47.6 C 9.9 47.8 10.1 47.9 10.5 47.9 C 10.8 47.9 11.1 47.8 11.3 47.6 C 11.7 47.2 11.7 46.5 11.3 46.1 C -0.8 34 -0.8 14.4 11.2 2.4 L 11.2 2.4 L 11.2 2.4 Z " fill="rgb(185,185,185)"/><path d=" M 56.3 0.9 C 55.9 0.5 55.2 0.5 54.8 0.9 C 54.4 1.3 54.4 2 54.8 2.4 C 66.8 14.4 66.8 34 54.8 46 C 54.4 46.4 54.4 47.1 54.8 47.5 C 55 47.7 55.2 47.8 55.6 47.8 C 55.9 47.8 56.2 47.7 56.4 47.5 C 69.2 34.7 69.2 13.8 56.3 0.9 L 56.3 0.9 L 56.3 0.9 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_ABS_red.svg b/app/images/AGL_Icons_ABS_red.svg new file mode 100644 index 0000000..eee96ff --- /dev/null +++ b/app/images/AGL_Icons_ABS_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 48.4" width="66" height="48.4"><defs><clipPath id="_clipPath_r5nb1ApdUtIzMmE0rQIGIndHanPlpZyg"><rect width="66" height="48.4"/></clipPath></defs><g clip-path="url(#_clipPath_r5nb1ApdUtIzMmE0rQIGIndHanPlpZyg)"><g><path d=" M 24.8 25.8 C 24.8 25.8 24.8 25.8 24.8 25.8 L 22.2 18.1 C 22.1 17.7 21.7 17.4 21.3 17.4 C 20.9 17.4 20.5 17.7 20.4 18.1 L 17.8 25.8 C 17.8 25.8 17.8 25.8 17.8 25.8 L 16.5 29.8 C 16.3 30.3 16.6 30.9 17.1 31 C 17.6 31.2 18.2 30.9 18.3 30.4 L 19.4 27.2 L 23.2 27.2 L 24.3 30.4 C 24.4 30.8 24.8 31.1 25.2 31.1 C 25.3 31.1 25.4 31.1 25.5 31 C 26 30.8 26.3 30.3 26.1 29.8 L 24.8 25.8 L 24.8 25.8 Z M 20.1 25.2 L 21.3 21.5 L 22.5 25.2 L 20.1 25.2 L 20.1 25.2 Z " fill="rgb(255,0,0)"/><path d=" M 43.7 17.4 C 41.6 17.4 39.8 19.1 39.8 21.3 C 39.8 23.4 41.5 25.2 43.7 25.2 L 45.6 25.2 C 46.7 25.2 47.5 26.1 47.5 27.1 C 47.5 28.2 46.6 29 45.6 29 L 40.7 29 C 40.2 29 39.7 29.4 39.7 30 C 39.7 30.5 40.1 31 40.7 31 L 45.6 31 C 47.7 31 49.5 29.3 49.5 27.1 C 49.5 25 47.8 23.2 45.6 23.2 L 43.7 23.2 C 42.6 23.2 41.8 22.3 41.8 21.3 C 41.8 20.2 42.7 19.4 43.7 19.4 L 48.6 19.4 C 49.1 19.4 49.6 19 49.6 18.4 C 49.6 17.9 49.2 17.4 48.6 17.4 L 43.7 17.4 L 43.7 17.4 Z " fill="rgb(255,0,0)"/><path d=" M 37.9 21.3 C 37.9 19.2 36.2 17.4 34 17.4 L 29.1 17.4 C 28.6 17.4 28.1 17.8 28.1 18.4 L 28.1 30.1 C 28.1 30.6 28.5 31.1 29.1 31.1 L 34 31.1 C 36.1 31.1 37.9 29.4 37.9 27.2 C 37.9 26 37.4 25 36.6 24.3 C 37.3 23.5 37.9 22.5 37.9 21.3 L 37.9 21.3 L 37.9 21.3 Z M 34 29.1 L 30.1 29.1 L 30.1 25.2 L 34 25.2 C 35.1 25.2 35.9 26.1 35.9 27.1 C 35.9 28.2 35 29.1 34 29.1 L 34 29.1 L 34 29.1 Z M 34 23.2 L 30.1 23.2 L 30.1 19.3 L 34 19.3 C 35.1 19.3 35.9 20.2 35.9 21.2 C 35.9 22.4 35 23.2 34 23.2 L 34 23.2 L 34 23.2 Z " fill="rgb(255,0,0)"/></g><path d=" M 33 0 C 19.7 0 8.8 10.9 8.8 24.2 C 8.8 37.5 19.7 48.4 33 48.4 C 46.3 48.4 57.2 37.5 57.2 24.2 C 57.2 10.9 46.3 0 33 0 L 33 0 L 33 0 Z M 33 46.2 C 20.9 46.2 11 36.3 11 24.2 C 11 12.1 20.9 2.2 33 2.2 C 45.1 2.2 55 12.1 55 24.2 C 55 36.3 45.1 46.2 33 46.2 L 33 46.2 L 33 46.2 Z " fill="rgb(255,0,0)"/><path d=" M 11.2 2.4 C 11.6 2 11.6 1.3 11.2 0.9 C 10.8 0.5 10.1 0.5 9.7 0.9 C -3.2 13.8 -3.2 34.7 9.7 47.6 C 9.9 47.8 10.1 47.9 10.5 47.9 C 10.8 47.9 11.1 47.8 11.3 47.6 C 11.7 47.2 11.7 46.5 11.3 46.1 C -0.8 34 -0.8 14.4 11.2 2.4 L 11.2 2.4 L 11.2 2.4 Z " fill="rgb(255,0,0)"/><path d=" M 56.3 0.9 C 55.9 0.5 55.2 0.5 54.8 0.9 C 54.4 1.3 54.4 2 54.8 2.4 C 66.8 14.4 66.8 34 54.8 46 C 54.4 46.4 54.4 47.1 54.8 47.5 C 55 47.7 55.2 47.8 55.6 47.8 C 55.9 47.8 56.2 47.7 56.4 47.5 C 69.2 34.7 69.2 13.8 56.3 0.9 L 56.3 0.9 L 56.3 0.9 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_ABS_yellow.svg b/app/images/AGL_Icons_ABS_yellow.svg new file mode 100644 index 0000000..253d732 --- /dev/null +++ b/app/images/AGL_Icons_ABS_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 48.4" width="66" height="48.4"><defs><clipPath id="_clipPath_nYaN0NoYR03Ac9t02XfDcq9icWyz8L7W"><rect width="66" height="48.4"/></clipPath></defs><g clip-path="url(#_clipPath_nYaN0NoYR03Ac9t02XfDcq9icWyz8L7W)"><g><path d=" M 24.8 25.8 C 24.8 25.8 24.8 25.8 24.8 25.8 L 22.2 18.1 C 22.1 17.7 21.7 17.4 21.3 17.4 C 20.9 17.4 20.5 17.7 20.4 18.1 L 17.8 25.8 C 17.8 25.8 17.8 25.8 17.8 25.8 L 16.5 29.8 C 16.3 30.3 16.6 30.9 17.1 31 C 17.6 31.2 18.2 30.9 18.3 30.4 L 19.4 27.2 L 23.2 27.2 L 24.3 30.4 C 24.4 30.8 24.8 31.1 25.2 31.1 C 25.3 31.1 25.4 31.1 25.5 31 C 26 30.8 26.3 30.3 26.1 29.8 L 24.8 25.8 L 24.8 25.8 Z M 20.1 25.2 L 21.3 21.5 L 22.5 25.2 L 20.1 25.2 L 20.1 25.2 Z " fill="rgb(255,255,0)"/><path d=" M 43.7 17.4 C 41.6 17.4 39.8 19.1 39.8 21.3 C 39.8 23.4 41.5 25.2 43.7 25.2 L 45.6 25.2 C 46.7 25.2 47.5 26.1 47.5 27.1 C 47.5 28.2 46.6 29 45.6 29 L 40.7 29 C 40.2 29 39.7 29.4 39.7 30 C 39.7 30.5 40.1 31 40.7 31 L 45.6 31 C 47.7 31 49.5 29.3 49.5 27.1 C 49.5 25 47.8 23.2 45.6 23.2 L 43.7 23.2 C 42.6 23.2 41.8 22.3 41.8 21.3 C 41.8 20.2 42.7 19.4 43.7 19.4 L 48.6 19.4 C 49.1 19.4 49.6 19 49.6 18.4 C 49.6 17.9 49.2 17.4 48.6 17.4 L 43.7 17.4 L 43.7 17.4 Z " fill="rgb(255,255,0)"/><path d=" M 37.9 21.3 C 37.9 19.2 36.2 17.4 34 17.4 L 29.1 17.4 C 28.6 17.4 28.1 17.8 28.1 18.4 L 28.1 30.1 C 28.1 30.6 28.5 31.1 29.1 31.1 L 34 31.1 C 36.1 31.1 37.9 29.4 37.9 27.2 C 37.9 26 37.4 25 36.6 24.3 C 37.3 23.5 37.9 22.5 37.9 21.3 L 37.9 21.3 L 37.9 21.3 Z M 34 29.1 L 30.1 29.1 L 30.1 25.2 L 34 25.2 C 35.1 25.2 35.9 26.1 35.9 27.1 C 35.9 28.2 35 29.1 34 29.1 L 34 29.1 L 34 29.1 Z M 34 23.2 L 30.1 23.2 L 30.1 19.3 L 34 19.3 C 35.1 19.3 35.9 20.2 35.9 21.2 C 35.9 22.4 35 23.2 34 23.2 L 34 23.2 L 34 23.2 Z " fill="rgb(255,255,0)"/></g><path d=" M 33 0 C 19.7 0 8.8 10.9 8.8 24.2 C 8.8 37.5 19.7 48.4 33 48.4 C 46.3 48.4 57.2 37.5 57.2 24.2 C 57.2 10.9 46.3 0 33 0 L 33 0 L 33 0 Z M 33 46.2 C 20.9 46.2 11 36.3 11 24.2 C 11 12.1 20.9 2.2 33 2.2 C 45.1 2.2 55 12.1 55 24.2 C 55 36.3 45.1 46.2 33 46.2 L 33 46.2 L 33 46.2 Z " fill="rgb(255,255,0)"/><path d=" M 11.2 2.4 C 11.6 2 11.6 1.3 11.2 0.9 C 10.8 0.5 10.1 0.5 9.7 0.9 C -3.2 13.8 -3.2 34.7 9.7 47.6 C 9.9 47.8 10.1 47.9 10.5 47.9 C 10.8 47.9 11.1 47.8 11.3 47.6 C 11.7 47.2 11.7 46.5 11.3 46.1 C -0.8 34 -0.8 14.4 11.2 2.4 L 11.2 2.4 L 11.2 2.4 Z " fill="rgb(255,255,0)"/><path d=" M 56.3 0.9 C 55.9 0.5 55.2 0.5 54.8 0.9 C 54.4 1.3 54.4 2 54.8 2.4 C 66.8 14.4 66.8 34 54.8 46 C 54.4 46.4 54.4 47.1 54.8 47.5 C 55 47.7 55.2 47.8 55.6 47.8 C 55.9 47.8 56.2 47.7 56.4 47.5 C 69.2 34.7 69.2 13.8 56.3 0.9 L 56.3 0.9 L 56.3 0.9 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Battery.svg b/app/images/AGL_Icons_Battery.svg new file mode 100644 index 0000000..a98e6ba --- /dev/null +++ b/app/images/AGL_Icons_Battery.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 56.6 49.5" width="56.6" height="49.5"><defs><clipPath id="_clipPath_0A6bwCPwasdFoITZAQmfuUP1jHCh9Aev"><rect width="56.6" height="49.5"/></clipPath></defs><g clip-path="url(#_clipPath_0A6bwCPwasdFoITZAQmfuUP1jHCh9Aev)"><path d=" M 48.9 5.5 L 48.9 0 L 37.4 0 L 37.4 5.5 L 20.9 5.5 L 20.9 0 L 9.5 0 L 9.5 5.5 L 0 5.5 L 0 48.1 L 56.6 48.1 L 56.6 5.5 L 48.9 5.5 L 48.9 5.5 Z M 39.7 2.3 L 46.5 2.3 L 46.5 4.8 L 39.7 4.8 L 39.7 2.3 L 39.7 2.3 Z M 11.8 2.3 L 18.6 2.3 L 18.6 4.8 L 11.8 4.8 L 11.8 2.3 L 11.8 2.3 Z M 54.3 45.8 L 2.3 45.8 L 2.3 7.8 L 54.2 7.8 L 54.2 45.8 L 54.3 45.8 Z " fill="rgb(185,185,185)"/><rect x="38.6" y="19.1" width="9.2" height="2.3" transform="matrix(1,0,0,1,0,0)" fill="rgb(185,185,185)"/><path d=" M 14 24.8 L 16.3 24.8 L 16.3 21.4 L 19.7 21.4 L 19.7 19.1 L 16.3 19.1 L 16.3 15.7 L 14 15.7 L 14 19.1 L 10.6 19.1 L 10.6 21.4 L 14 21.4 L 14 24.8 L 14 24.8 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Battery_red.svg b/app/images/AGL_Icons_Battery_red.svg new file mode 100644 index 0000000..e2354b5 --- /dev/null +++ b/app/images/AGL_Icons_Battery_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 56.6 49.5" width="56.6" height="49.5"><defs><clipPath id="_clipPath_EuHpWJyozfgdcvWDQQY94dU7PqztUHO7"><rect width="56.6" height="49.5"/></clipPath></defs><g clip-path="url(#_clipPath_EuHpWJyozfgdcvWDQQY94dU7PqztUHO7)"><path d=" M 48.9 5.5 L 48.9 0 L 37.4 0 L 37.4 5.5 L 20.9 5.5 L 20.9 0 L 9.5 0 L 9.5 5.5 L 0 5.5 L 0 48.1 L 56.6 48.1 L 56.6 5.5 L 48.9 5.5 L 48.9 5.5 Z M 39.7 2.3 L 46.5 2.3 L 46.5 4.8 L 39.7 4.8 L 39.7 2.3 L 39.7 2.3 Z M 11.8 2.3 L 18.6 2.3 L 18.6 4.8 L 11.8 4.8 L 11.8 2.3 L 11.8 2.3 Z M 54.3 45.8 L 2.3 45.8 L 2.3 7.8 L 54.2 7.8 L 54.2 45.8 L 54.3 45.8 Z " fill="rgb(255,0,0)"/><rect x="38.6" y="19.1" width="9.2" height="2.3" transform="matrix(1,0,0,1,0,0)" fill="rgb(255,0,0)"/><path d=" M 14 24.8 L 16.3 24.8 L 16.3 21.4 L 19.7 21.4 L 19.7 19.1 L 16.3 19.1 L 16.3 15.7 L 14 15.7 L 14 19.1 L 10.6 19.1 L 10.6 21.4 L 14 21.4 L 14 24.8 L 14 24.8 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Battery_yellow.svg b/app/images/AGL_Icons_Battery_yellow.svg new file mode 100644 index 0000000..5ab1800 --- /dev/null +++ b/app/images/AGL_Icons_Battery_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 56.6 49.5" width="56.6" height="49.5"><defs><clipPath id="_clipPath_oMb5T6UGzHdbh92RLqYXqda697yKO51u"><rect width="56.6" height="49.5"/></clipPath></defs><g clip-path="url(#_clipPath_oMb5T6UGzHdbh92RLqYXqda697yKO51u)"><path d=" M 48.9 5.5 L 48.9 0 L 37.4 0 L 37.4 5.5 L 20.9 5.5 L 20.9 0 L 9.5 0 L 9.5 5.5 L 0 5.5 L 0 48.1 L 56.6 48.1 L 56.6 5.5 L 48.9 5.5 L 48.9 5.5 Z M 39.7 2.3 L 46.5 2.3 L 46.5 4.8 L 39.7 4.8 L 39.7 2.3 L 39.7 2.3 Z M 11.8 2.3 L 18.6 2.3 L 18.6 4.8 L 11.8 4.8 L 11.8 2.3 L 11.8 2.3 Z M 54.3 45.8 L 2.3 45.8 L 2.3 7.8 L 54.2 7.8 L 54.2 45.8 L 54.3 45.8 Z " fill="rgb(255,255,0)"/><rect x="38.6" y="19.1" width="9.2" height="2.3" transform="matrix(1,0,0,1,0,0)" fill="rgb(255,255,0)"/><path d=" M 14 24.8 L 16.3 24.8 L 16.3 21.4 L 19.7 21.4 L 19.7 19.1 L 16.3 19.1 L 16.3 15.7 L 14 15.7 L 14 19.1 L 10.6 19.1 L 10.6 21.4 L 14 21.4 L 14 24.8 L 14 24.8 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Engine.svg b/app/images/AGL_Icons_Engine.svg new file mode 100644 index 0000000..2a878bc --- /dev/null +++ b/app/images/AGL_Icons_Engine.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 44" width="66" height="44"><defs><clipPath id="_clipPath_wHe74FhYEXDRQUGSQQtgdGjGhcXHKPkV"><rect width="66" height="44"/></clipPath></defs><g clip-path="url(#_clipPath_wHe74FhYEXDRQUGSQQtgdGjGhcXHKPkV)"><path d=" M 64.9 13.2 L 60.5 13.2 C 60.1 13.2 59.6 13.5 59.5 14 L 56.4 23.1 L 53.4 23.1 L 50.4 18.1 C 50.2 17.8 49.8 17.5 49.4 17.5 L 45 17.5 L 45 14.2 C 45 13.5 44.6 13.1 43.9 13.1 L 36.2 13.1 L 36.2 8.8 L 39.5 8.8 C 40.2 8.8 40.6 8.4 40.6 7.7 L 40.6 1.1 C 40.6 0.4 40.2 0 39.5 0 L 19.8 0 C 19.1 0 18.7 0.4 18.7 1.1 L 18.7 7.7 C 18.7 8.4 19.1 8.8 19.8 8.8 L 23.1 8.8 L 23.1 13.2 L 14.3 13.2 C 14 13.2 13.7 13.3 13.5 13.5 C 13.3 13.7 13.2 13.9 13.2 14.3 L 13.2 17.6 L 5.5 17.6 C 4.8 17.6 4.4 18 4.4 18.7 L 4.4 25.3 L 2.2 25.3 L 2.2 22 C 2.2 21.3 1.8 20.9 1.1 20.9 C 0.4 20.9 0 21.3 0 22 L 0 30.8 C 0 31.5 0.4 31.9 1.1 31.9 C 1.8 31.9 2.2 31.5 2.2 30.8 L 2.2 27.5 L 4.4 27.5 L 4.4 36.3 C 4.4 37 4.8 37.4 5.5 37.4 L 13.8 37.4 L 17.9 43.6 C 18.1 43.8 18.5 44 18.8 44 L 49.6 44 C 50 44 50.4 43.8 50.6 43.3 L 53.6 37.4 L 56.7 37.4 L 59.7 43.3 C 59.9 43.7 60.2 44 60.7 44 L 65.1 44 C 65.8 44 66.2 43.6 66.2 42.9 L 66.2 14.3 C 66 13.6 65.6 13.2 64.9 13.2 L 64.9 13.2 L 64.9 13.2 Z M 20.9 2.2 L 38.5 2.2 L 38.5 6.6 L 20.9 6.6 L 20.9 2.2 L 20.9 2.2 Z M 25.3 8.8 L 34.1 8.8 L 34.1 13.2 L 25.3 13.2 L 25.3 8.8 L 25.3 8.8 Z M 6.6 35.2 L 6.6 19.8 L 13.2 19.8 L 13.2 35.2 L 6.6 35.2 L 6.6 35.2 Z M 48.7 41.8 L 19.3 41.8 L 15.4 36 L 15.4 15.4 L 42.9 15.4 L 42.9 18.7 C 42.9 19.4 43.3 19.8 44 19.8 L 48.8 19.8 L 51.7 24.6 L 51.7 35.9 L 48.7 41.8 L 48.7 41.8 Z M 53.9 35.2 L 53.9 25.3 L 56.1 25.3 L 56.1 35.2 L 53.9 35.2 L 53.9 35.2 Z M 63.8 41.8 L 61.2 41.8 L 58.3 36.3 L 58.3 24.2 L 61.3 15.4 L 63.8 15.4 L 63.8 41.8 L 63.8 41.8 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Engine_red.svg b/app/images/AGL_Icons_Engine_red.svg new file mode 100644 index 0000000..c78cf80 --- /dev/null +++ b/app/images/AGL_Icons_Engine_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 44" width="66" height="44"><defs><clipPath id="_clipPath_LgXIhoy2HTurPEQ1ccqC0HB9CGJq3sky"><rect width="66" height="44"/></clipPath></defs><g clip-path="url(#_clipPath_LgXIhoy2HTurPEQ1ccqC0HB9CGJq3sky)"><path d=" M 64.9 13.2 L 60.5 13.2 C 60.1 13.2 59.6 13.5 59.5 14 L 56.4 23.1 L 53.4 23.1 L 50.4 18.1 C 50.2 17.8 49.8 17.5 49.4 17.5 L 45 17.5 L 45 14.2 C 45 13.5 44.6 13.1 43.9 13.1 L 36.2 13.1 L 36.2 8.8 L 39.5 8.8 C 40.2 8.8 40.6 8.4 40.6 7.7 L 40.6 1.1 C 40.6 0.4 40.2 0 39.5 0 L 19.8 0 C 19.1 0 18.7 0.4 18.7 1.1 L 18.7 7.7 C 18.7 8.4 19.1 8.8 19.8 8.8 L 23.1 8.8 L 23.1 13.2 L 14.3 13.2 C 14 13.2 13.7 13.3 13.5 13.5 C 13.3 13.7 13.2 13.9 13.2 14.3 L 13.2 17.6 L 5.5 17.6 C 4.8 17.6 4.4 18 4.4 18.7 L 4.4 25.3 L 2.2 25.3 L 2.2 22 C 2.2 21.3 1.8 20.9 1.1 20.9 C 0.4 20.9 0 21.3 0 22 L 0 30.8 C 0 31.5 0.4 31.9 1.1 31.9 C 1.8 31.9 2.2 31.5 2.2 30.8 L 2.2 27.5 L 4.4 27.5 L 4.4 36.3 C 4.4 37 4.8 37.4 5.5 37.4 L 13.8 37.4 L 17.9 43.6 C 18.1 43.8 18.5 44 18.8 44 L 49.6 44 C 50 44 50.4 43.8 50.6 43.3 L 53.6 37.4 L 56.7 37.4 L 59.7 43.3 C 59.9 43.7 60.2 44 60.7 44 L 65.1 44 C 65.8 44 66.2 43.6 66.2 42.9 L 66.2 14.3 C 66 13.6 65.6 13.2 64.9 13.2 L 64.9 13.2 L 64.9 13.2 Z M 20.9 2.2 L 38.5 2.2 L 38.5 6.6 L 20.9 6.6 L 20.9 2.2 L 20.9 2.2 Z M 25.3 8.8 L 34.1 8.8 L 34.1 13.2 L 25.3 13.2 L 25.3 8.8 L 25.3 8.8 Z M 6.6 35.2 L 6.6 19.8 L 13.2 19.8 L 13.2 35.2 L 6.6 35.2 L 6.6 35.2 Z M 48.7 41.8 L 19.3 41.8 L 15.4 36 L 15.4 15.4 L 42.9 15.4 L 42.9 18.7 C 42.9 19.4 43.3 19.8 44 19.8 L 48.8 19.8 L 51.7 24.6 L 51.7 35.9 L 48.7 41.8 L 48.7 41.8 Z M 53.9 35.2 L 53.9 25.3 L 56.1 25.3 L 56.1 35.2 L 53.9 35.2 L 53.9 35.2 Z M 63.8 41.8 L 61.2 41.8 L 58.3 36.3 L 58.3 24.2 L 61.3 15.4 L 63.8 15.4 L 63.8 41.8 L 63.8 41.8 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Engine_yellow.svg b/app/images/AGL_Icons_Engine_yellow.svg new file mode 100644 index 0000000..fb70571 --- /dev/null +++ b/app/images/AGL_Icons_Engine_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 44" width="66" height="44"><defs><clipPath id="_clipPath_ZQbsJDXfwukix6SwL6JaGLdmgIqxGx2e"><rect width="66" height="44"/></clipPath></defs><g clip-path="url(#_clipPath_ZQbsJDXfwukix6SwL6JaGLdmgIqxGx2e)"><path d=" M 64.9 13.2 L 60.5 13.2 C 60.1 13.2 59.6 13.5 59.5 14 L 56.4 23.1 L 53.4 23.1 L 50.4 18.1 C 50.2 17.8 49.8 17.5 49.4 17.5 L 45 17.5 L 45 14.2 C 45 13.5 44.6 13.1 43.9 13.1 L 36.2 13.1 L 36.2 8.8 L 39.5 8.8 C 40.2 8.8 40.6 8.4 40.6 7.7 L 40.6 1.1 C 40.6 0.4 40.2 0 39.5 0 L 19.8 0 C 19.1 0 18.7 0.4 18.7 1.1 L 18.7 7.7 C 18.7 8.4 19.1 8.8 19.8 8.8 L 23.1 8.8 L 23.1 13.2 L 14.3 13.2 C 14 13.2 13.7 13.3 13.5 13.5 C 13.3 13.7 13.2 13.9 13.2 14.3 L 13.2 17.6 L 5.5 17.6 C 4.8 17.6 4.4 18 4.4 18.7 L 4.4 25.3 L 2.2 25.3 L 2.2 22 C 2.2 21.3 1.8 20.9 1.1 20.9 C 0.4 20.9 0 21.3 0 22 L 0 30.8 C 0 31.5 0.4 31.9 1.1 31.9 C 1.8 31.9 2.2 31.5 2.2 30.8 L 2.2 27.5 L 4.4 27.5 L 4.4 36.3 C 4.4 37 4.8 37.4 5.5 37.4 L 13.8 37.4 L 17.9 43.6 C 18.1 43.8 18.5 44 18.8 44 L 49.6 44 C 50 44 50.4 43.8 50.6 43.3 L 53.6 37.4 L 56.7 37.4 L 59.7 43.3 C 59.9 43.7 60.2 44 60.7 44 L 65.1 44 C 65.8 44 66.2 43.6 66.2 42.9 L 66.2 14.3 C 66 13.6 65.6 13.2 64.9 13.2 L 64.9 13.2 L 64.9 13.2 Z M 20.9 2.2 L 38.5 2.2 L 38.5 6.6 L 20.9 6.6 L 20.9 2.2 L 20.9 2.2 Z M 25.3 8.8 L 34.1 8.8 L 34.1 13.2 L 25.3 13.2 L 25.3 8.8 L 25.3 8.8 Z M 6.6 35.2 L 6.6 19.8 L 13.2 19.8 L 13.2 35.2 L 6.6 35.2 L 6.6 35.2 Z M 48.7 41.8 L 19.3 41.8 L 15.4 36 L 15.4 15.4 L 42.9 15.4 L 42.9 18.7 C 42.9 19.4 43.3 19.8 44 19.8 L 48.8 19.8 L 51.7 24.6 L 51.7 35.9 L 48.7 41.8 L 48.7 41.8 Z M 53.9 35.2 L 53.9 25.3 L 56.1 25.3 L 56.1 35.2 L 53.9 35.2 L 53.9 35.2 Z M 63.8 41.8 L 61.2 41.8 L 58.3 36.3 L 58.3 24.2 L 61.3 15.4 L 63.8 15.4 L 63.8 41.8 L 63.8 41.8 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Lights.svg b/app/images/AGL_Icons_Lights.svg new file mode 100644 index 0000000..889582f --- /dev/null +++ b/app/images/AGL_Icons_Lights.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66.3 46.4" width="66.3" height="46.4"><defs><clipPath id="_clipPath_Jxs11Y80GjqqNaOgOFZEpBDkbMVbtcRk"><rect width="66.3" height="46.4"/></clipPath></defs><g clip-path="url(#_clipPath_Jxs11Y80GjqqNaOgOFZEpBDkbMVbtcRk)"><path d=" M 33.1 0 L 33.2 0 C 44 0 54.2 3.8 60.3 9.8 C 64.2 13.8 66.3 18.3 66.3 23.2 C 66.3 35.9 51.4 46.4 33.1 46.4 C 32.7 46.4 32.1 46.1 32 45.6 C 27.6 30.9 27.6 15.5 32 0.8 C 32.2 0.3 32.6 0 33.1 0 Z M 33.8 44.3 C 50.6 44 64 34.7 64 23.3 C 64 19.1 62.1 15 58.6 11.5 C 53 5.8 43.7 2.3 33.8 2.2 C 29.9 16 29.9 30.5 33.8 44.3 Z " fill="rgb(185,185,185)"/><path d=" M 1.2 16.6 L 25.4 16.6 C 26.1 16.6 26.5 17 26.5 17.7 C 26.5 18.4 26.1 18.8 25.4 18.8 L 1.1 18.8 C 0.4 18.8 0 18.4 0 17.7 C 0.1 17 0.5 16.6 1.2 16.6 L 1.2 16.6 Z " fill="rgb(185,185,185)"/><path d=" M 1.2 27.6 L 25.4 27.6 C 26.1 27.6 26.5 28 26.5 28.7 C 26.5 29.4 26.1 29.8 25.4 29.8 L 1.1 29.8 C 0.4 29.8 0 29.4 0 28.7 C 0.1 28 0.5 27.6 1.2 27.6 L 1.2 27.6 Z " fill="rgb(185,185,185)"/><path d=" M 1.213 38.8 L 25.413 38.8 C 26.113 38.8 26.513 39.2 26.513 39.9 C 26.513 40.6 26.113 41 25.413 41 L 1.113 41 C 0.413 41 0.013 40.6 0.013 39.9 C 0.113 39.3 0.513 38.8 1.213 38.8 L 1.213 38.8 Z " fill="rgb(185,185,185)"/><path d=" M 25.4 7.7 L 1.1 7.7 C 0.4 7.7 0 7.3 0 6.6 C 0 5.9 0.4 5.5 1.1 5.5 L 25.4 5.5 C 26.1 5.5 26.5 5.9 26.5 6.6 C 26.6 7.3 26.1 7.7 25.4 7.7 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Lights_red.svg b/app/images/AGL_Icons_Lights_red.svg new file mode 100644 index 0000000..fd3ee5e --- /dev/null +++ b/app/images/AGL_Icons_Lights_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66.3 46.4" width="66.3" height="46.4"><defs><clipPath id="_clipPath_0BT6rWmesBevrO1pNR1gU7iPAvJDB4go"><rect width="66.3" height="46.4"/></clipPath></defs><g clip-path="url(#_clipPath_0BT6rWmesBevrO1pNR1gU7iPAvJDB4go)"><path d=" M 33.2 46.4 L 33.3 46.4 C 44.1 46.4 54.3 42.6 60.4 36.6 C 64.3 32.6 66.4 28.1 66.4 23.2 C 66.4 10.5 51.5 0 33.2 0 C 32.8 0 32.2 0.3 32.1 0.8 C 27.7 15.5 27.7 30.9 32.1 45.6 C 32.3 46.1 32.7 46.4 33.2 46.4 L 33.2 46.4 Z M 33.9 2.1 C 50.7 2.4 64.1 11.7 64.1 23.1 C 64.1 27.3 62.2 31.4 58.7 34.9 C 53.1 40.6 43.8 44.1 33.9 44.2 C 30 30.4 30 15.9 33.9 2.1 L 33.9 2.1 Z " fill="rgb(255,0,0)"/><path d=" M 1.2 29.8 L 25.4 29.8 C 26.1 29.8 26.5 29.4 26.5 28.7 C 26.5 28 26.1 27.6 25.4 27.6 L 1.1 27.6 C 0.4 27.6 0 28 0 28.7 C 0.1 29.4 0.5 29.8 1.2 29.8 L 1.2 29.8 Z " fill="rgb(255,0,0)"/><path d=" M 1.2 18.8 L 25.4 18.8 C 26.1 18.8 26.5 18.4 26.5 17.7 C 26.5 17 26.1 16.6 25.4 16.6 L 1.1 16.6 C 0.4 16.6 0 17 0 17.7 C 0.1 18.4 0.5 18.8 1.2 18.8 L 1.2 18.8 Z " fill="rgb(255,0,0)"/><path d=" M 1.2 7.8 L 25.4 7.8 C 26.1 7.8 26.5 7.4 26.5 6.7 C 26.5 6 26.1 5.6 25.4 5.6 L 1.1 5.6 C 0.4 5.6 0 6 0 6.7 C 0.1 7.3 0.5 7.8 1.2 7.8 L 1.2 7.8 Z " fill="rgb(255,0,0)"/><path d=" M 25.4 38.7 L 1.1 38.7 C 0.4 38.7 0 39.1 0 39.8 C 0 40.5 0.4 40.9 1.1 40.9 L 25.4 40.9 C 26.1 40.9 26.5 40.5 26.5 39.8 C 26.6 39.1 26.1 38.7 25.4 38.7 L 25.4 38.7 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Lights_yellow.svg b/app/images/AGL_Icons_Lights_yellow.svg new file mode 100644 index 0000000..b06dcc8 --- /dev/null +++ b/app/images/AGL_Icons_Lights_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66.3 46.4" width="66.3" height="46.4"><defs><clipPath id="_clipPath_1pn4wxsu0OJ4bcR4a3O6W5Cj3uFO2YtD"><rect width="66.3" height="46.4"/></clipPath></defs><g clip-path="url(#_clipPath_1pn4wxsu0OJ4bcR4a3O6W5Cj3uFO2YtD)"><path d=" M 33.2 46.4 L 33.3 46.4 C 44.1 46.4 54.3 42.6 60.4 36.6 C 64.3 32.6 66.4 28.1 66.4 23.2 C 66.4 10.5 51.5 0 33.2 0 C 32.8 0 32.2 0.3 32.1 0.8 C 27.7 15.5 27.7 30.9 32.1 45.6 C 32.3 46.1 32.7 46.4 33.2 46.4 L 33.2 46.4 Z M 33.9 2.1 C 50.7 2.4 64.1 11.7 64.1 23.1 C 64.1 27.3 62.2 31.4 58.7 34.9 C 53.1 40.6 43.8 44.1 33.9 44.2 C 30 30.4 30 15.9 33.9 2.1 L 33.9 2.1 Z " fill="rgb(255,255,0)"/><path d=" M 1.2 29.8 L 25.4 29.8 C 26.1 29.8 26.5 29.4 26.5 28.7 C 26.5 28 26.1 27.6 25.4 27.6 L 1.1 27.6 C 0.4 27.6 0 28 0 28.7 C 0.1 29.4 0.5 29.8 1.2 29.8 L 1.2 29.8 Z " fill="rgb(255,255,0)"/><path d=" M 1.2 18.8 L 25.4 18.8 C 26.1 18.8 26.5 18.4 26.5 17.7 C 26.5 17 26.1 16.6 25.4 16.6 L 1.1 16.6 C 0.4 16.6 0 17 0 17.7 C 0.1 18.4 0.5 18.8 1.2 18.8 L 1.2 18.8 Z " fill="rgb(255,255,0)"/><path d=" M 1.2 7.8 L 25.4 7.8 C 26.1 7.8 26.5 7.4 26.5 6.7 C 26.5 6 26.1 5.6 25.4 5.6 L 1.1 5.6 C 0.4 5.6 0 6 0 6.7 C 0.1 7.3 0.5 7.8 1.2 7.8 L 1.2 7.8 Z " fill="rgb(255,255,0)"/><path d=" M 25.4 38.7 L 1.1 38.7 C 0.4 38.7 0 39.1 0 39.8 C 0 40.5 0.4 40.9 1.1 40.9 L 25.4 40.9 C 26.1 40.9 26.5 40.5 26.5 39.8 C 26.6 39.1 26.1 38.7 25.4 38.7 L 25.4 38.7 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Oil.svg b/app/images/AGL_Icons_Oil.svg new file mode 100644 index 0000000..4448b89 --- /dev/null +++ b/app/images/AGL_Icons_Oil.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 70.7 28.2" width="70.7" height="28.2"><defs><clipPath id="_clipPath_hTT0u5fNUM4AGeXRjZpPDCv0UhYBJG0G"><rect width="70.7" height="28.2"/></clipPath></defs><g clip-path="url(#_clipPath_hTT0u5fNUM4AGeXRjZpPDCv0UhYBJG0G)"><path d=" M 63.5 5.1 L 65.1 6.7 C 65.6 7.2 66.3 7.2 66.7 6.7 C 67.2 6.2 67.2 5.5 66.7 5.1 L 64.3 2.7 C 63.8 2.3 63.2 2.2 62.8 2.6 L 59.3 5 L 41.3 16.2 L 36.1 10 C 35.9 9.6 35.5 9.5 35.2 9.5 L 23.5 9.5 L 23.5 5.9 L 25.9 5.9 C 26.6 5.9 27.1 5.4 27.1 4.7 C 27.1 4 26.6 3.5 25.9 3.5 L 18.8 3.5 C 18.1 3.5 17.6 4 17.6 4.7 C 17.6 5.4 18.1 5.9 18.8 5.9 L 21.2 5.9 L 21.2 9.4 L 11.8 9.4 L 11.8 5.9 C 11.8 5.5 11.6 5.2 11.3 5 L 4.2 0.2 C 3.9 0 3.5 0 3.2 0 C 2.8 0.1 2.6 0.4 2.4 0.7 L 0.1 6.6 C -0.1 7.1 0.1 7.7 0.6 8 L 9.4 13.5 L 9.4 27 C 9.4 27.7 9.9 28.2 10.6 28.2 L 45.9 28.2 C 46.3 28.2 46.6 28 46.8 27.8 L 60.9 6.8 L 63.5 5.1 L 63.5 5.1 Z M 2.6 6.6 L 4.1 3 L 9.4 6.5 L 9.4 10.9 L 2.6 6.6 L 2.6 6.6 Z M 45.3 25.9 L 11.7 25.9 L 11.7 11.8 L 34.6 11.8 L 40.1 18.4 C 40.5 18.9 41.2 19 41.6 18.6 L 56 9.8 L 45.3 25.9 L 45.3 25.9 Z " fill="rgb(185,185,185)"/><path d=" M 70.1 20.2 L 69.7 19.6 C 69.1 18.8 68.6 18.1 68.3 17.2 L 67 14.8 C 66.5 14 65.2 14 64.9 14.8 L 63.8 16.8 C 63.3 17.9 62.7 18.9 62 19.9 C 61.5 20.5 61.2 21.2 61.2 22 C 61 24.4 62.6 26.5 64.8 26.9 C 65 27 65.4 27 65.7 27 C 66.8 27 67.8 26.6 68.8 25.9 C 70 25 70.6 23.7 70.6 22.3 C 70.7 21.5 70.4 20.8 70.1 20.2 L 70.1 20.2 L 70.1 20.2 Z M 67.4 24.1 C 66.8 24.6 66.1 24.7 65.4 24.6 C 64.2 24.4 63.4 23.3 63.5 22.1 C 63.5 21.7 63.6 21.5 63.9 21.3 C 64.7 20.2 65.3 19.1 65.9 17.9 L 66.1 18.3 C 66.6 19.2 67.2 20.1 67.6 20.9 L 68 21.5 C 68.1 21.7 68.2 22 68.2 22.3 C 68.2 23.1 68 23.6 67.4 24.1 L 67.4 24.1 L 67.4 24.1 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Oil_red.svg b/app/images/AGL_Icons_Oil_red.svg new file mode 100644 index 0000000..6a0681a --- /dev/null +++ b/app/images/AGL_Icons_Oil_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 70.7 28.2" width="70.7" height="28.2"><defs><clipPath id="_clipPath_eC6vY6NCWhdYEayxQAPDeXkIL52fYKrR"><rect width="70.7" height="28.2"/></clipPath></defs><g clip-path="url(#_clipPath_eC6vY6NCWhdYEayxQAPDeXkIL52fYKrR)"><path d=" M 63.5 5.1 L 65.1 6.7 C 65.6 7.2 66.3 7.2 66.7 6.7 C 67.2 6.2 67.2 5.5 66.7 5.1 L 64.3 2.7 C 63.8 2.3 63.2 2.2 62.8 2.6 L 59.3 5 L 41.3 16.2 L 36.1 10 C 35.9 9.6 35.5 9.5 35.2 9.5 L 23.5 9.5 L 23.5 5.9 L 25.9 5.9 C 26.6 5.9 27.1 5.4 27.1 4.7 C 27.1 4 26.6 3.5 25.9 3.5 L 18.8 3.5 C 18.1 3.5 17.6 4 17.6 4.7 C 17.6 5.4 18.1 5.9 18.8 5.9 L 21.2 5.9 L 21.2 9.4 L 11.8 9.4 L 11.8 5.9 C 11.8 5.5 11.6 5.2 11.3 5 L 4.2 0.2 C 3.9 0 3.5 0 3.2 0 C 2.8 0.1 2.6 0.4 2.4 0.7 L 0.1 6.6 C -0.1 7.1 0.1 7.7 0.6 8 L 9.4 13.5 L 9.4 27 C 9.4 27.7 9.9 28.2 10.6 28.2 L 45.9 28.2 C 46.3 28.2 46.6 28 46.8 27.8 L 60.9 6.8 L 63.5 5.1 L 63.5 5.1 Z M 2.6 6.6 L 4.1 3 L 9.4 6.5 L 9.4 10.9 L 2.6 6.6 L 2.6 6.6 Z M 45.3 25.9 L 11.7 25.9 L 11.7 11.8 L 34.6 11.8 L 40.1 18.4 C 40.5 18.9 41.2 19 41.6 18.6 L 56 9.8 L 45.3 25.9 L 45.3 25.9 Z " fill="rgb(255,0,0)"/><path d=" M 70.1 20.2 L 69.7 19.6 C 69.1 18.8 68.6 18.1 68.3 17.2 L 67 14.8 C 66.5 14 65.2 14 64.9 14.8 L 63.8 16.8 C 63.3 17.9 62.7 18.9 62 19.9 C 61.5 20.5 61.2 21.2 61.2 22 C 61 24.4 62.6 26.5 64.8 26.9 C 65 27 65.4 27 65.7 27 C 66.8 27 67.8 26.6 68.8 25.9 C 70 25 70.6 23.7 70.6 22.3 C 70.7 21.5 70.4 20.8 70.1 20.2 L 70.1 20.2 L 70.1 20.2 Z M 67.4 24.1 C 66.8 24.6 66.1 24.7 65.4 24.6 C 64.2 24.4 63.4 23.3 63.5 22.1 C 63.5 21.7 63.6 21.5 63.9 21.3 C 64.7 20.2 65.3 19.1 65.9 17.9 L 66.1 18.3 C 66.6 19.2 67.2 20.1 67.6 20.9 L 68 21.5 C 68.1 21.7 68.2 22 68.2 22.3 C 68.2 23.1 68 23.6 67.4 24.1 L 67.4 24.1 L 67.4 24.1 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Oil_yellow.svg b/app/images/AGL_Icons_Oil_yellow.svg new file mode 100644 index 0000000..8af8c0e --- /dev/null +++ b/app/images/AGL_Icons_Oil_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 70.7 28.2" width="70.7" height="28.2"><defs><clipPath id="_clipPath_KdjXxiTwumgXPejf8BSwJlT40quuxDQA"><rect width="70.7" height="28.2"/></clipPath></defs><g clip-path="url(#_clipPath_KdjXxiTwumgXPejf8BSwJlT40quuxDQA)"><path d=" M 63.5 5.1 L 65.1 6.7 C 65.6 7.2 66.3 7.2 66.7 6.7 C 67.2 6.2 67.2 5.5 66.7 5.1 L 64.3 2.7 C 63.8 2.3 63.2 2.2 62.8 2.6 L 59.3 5 L 41.3 16.2 L 36.1 10 C 35.9 9.6 35.5 9.5 35.2 9.5 L 23.5 9.5 L 23.5 5.9 L 25.9 5.9 C 26.6 5.9 27.1 5.4 27.1 4.7 C 27.1 4 26.6 3.5 25.9 3.5 L 18.8 3.5 C 18.1 3.5 17.6 4 17.6 4.7 C 17.6 5.4 18.1 5.9 18.8 5.9 L 21.2 5.9 L 21.2 9.4 L 11.8 9.4 L 11.8 5.9 C 11.8 5.5 11.6 5.2 11.3 5 L 4.2 0.2 C 3.9 0 3.5 0 3.2 0 C 2.8 0.1 2.6 0.4 2.4 0.7 L 0.1 6.6 C -0.1 7.1 0.1 7.7 0.6 8 L 9.4 13.5 L 9.4 27 C 9.4 27.7 9.9 28.2 10.6 28.2 L 45.9 28.2 C 46.3 28.2 46.6 28 46.8 27.8 L 60.9 6.8 L 63.5 5.1 L 63.5 5.1 Z M 2.6 6.6 L 4.1 3 L 9.4 6.5 L 9.4 10.9 L 2.6 6.6 L 2.6 6.6 Z M 45.3 25.9 L 11.7 25.9 L 11.7 11.8 L 34.6 11.8 L 40.1 18.4 C 40.5 18.9 41.2 19 41.6 18.6 L 56 9.8 L 45.3 25.9 L 45.3 25.9 Z " fill="rgb(255,255,0)"/><path d=" M 70.1 20.2 L 69.7 19.6 C 69.1 18.8 68.6 18.1 68.3 17.2 L 67 14.8 C 66.5 14 65.2 14 64.9 14.8 L 63.8 16.8 C 63.3 17.9 62.7 18.9 62 19.9 C 61.5 20.5 61.2 21.2 61.2 22 C 61 24.4 62.6 26.5 64.8 26.9 C 65 27 65.4 27 65.7 27 C 66.8 27 67.8 26.6 68.8 25.9 C 70 25 70.6 23.7 70.6 22.3 C 70.7 21.5 70.4 20.8 70.1 20.2 L 70.1 20.2 L 70.1 20.2 Z M 67.4 24.1 C 66.8 24.6 66.1 24.7 65.4 24.6 C 64.2 24.4 63.4 23.3 63.5 22.1 C 63.5 21.7 63.6 21.5 63.9 21.3 C 64.7 20.2 65.3 19.1 65.9 17.9 L 66.1 18.3 C 66.6 19.2 67.2 20.1 67.6 20.9 L 68 21.5 C 68.1 21.7 68.2 22 68.2 22.3 C 68.2 23.1 68 23.6 67.4 24.1 L 67.4 24.1 L 67.4 24.1 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_OpenDoor.svg b/app/images/AGL_Icons_OpenDoor.svg new file mode 100644 index 0000000..9f99ab2 --- /dev/null +++ b/app/images/AGL_Icons_OpenDoor.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 51.4 59.1" width="51.4" height="59.1"><defs><clipPath id="_clipPath_75DIDpMMFr6rZYsVffvVqWNH5hlgRJXj"><rect width="51.4" height="59.1"/></clipPath></defs><g clip-path="url(#_clipPath_75DIDpMMFr6rZYsVffvVqWNH5hlgRJXj)"><path d=" M 36 9.8 C 31.4 8.4 19.8 8.4 15.6 9.8 C 15.1 9.9 14.9 10.3 14.9 10.8 L 15.9 21.7 C 15.9 22 16.1 22.2 16.3 22.4 C 16.5 22.6 16.8 22.7 17.1 22.6 C 22.1 21.3 29.3 21.3 34.4 22.6 L 34.6 22.6 C 34.8 22.6 35 22.5 35.3 22.4 C 35.5 22.3 35.7 22 35.7 21.7 L 36.7 10.8 C 36.8 10.4 36.5 9.9 36 9.8 L 36 9.8 L 36 9.8 Z M 33.7 20.4 C 31.2 19.9 28.5 19.6 25.7 19.6 C 22.9 19.6 20.1 19.9 17.6 20.4 L 16.8 11.5 C 21 10.5 30 10.5 34.5 11.5 L 33.7 20.4 L 33.7 20.4 Z " fill="rgb(185,185,185)"/><path d=" M 33.6 42.3 L 17.8 42.3 C 16.1 42.3 14.8 43.6 14.8 45.3 L 14.8 52.2 C 14.8 52.7 15.1 53.1 15.6 53.2 C 19 53.9 22.3 54.2 25.7 54.2 C 29.1 54.2 32.4 53.9 35.8 53.2 C 36.3 53.1 36.6 52.7 36.6 52.2 L 36.6 45.3 C 36.6 43.6 35.3 42.3 33.6 42.3 L 33.6 42.3 L 33.6 42.3 Z M 34.6 51.4 C 28.7 52.5 22.7 52.5 16.8 51.4 L 16.8 45.3 C 16.8 44.7 17.2 44.3 17.8 44.3 L 33.6 44.3 C 34.2 44.3 34.6 44.7 34.6 45.3 L 34.6 51.4 L 34.6 51.4 Z " fill="rgb(185,185,185)"/><path d=" M 49.9 34.2 C 50 34.3 50.2 34.4 50.4 34.4 C 50.6 34.4 50.7 34.4 50.9 34.2 C 51.2 34 51.4 33.7 51.4 33.3 L 51.4 28.4 C 51.4 28.1 51.2 27.8 50.9 27.6 L 40.5 21 L 40.5 10.6 C 40.5 7.9 40.2 5.7 39.5 2.8 C 39.4 2.4 39.1 2.1 38.7 2.1 L 32.5 0.7 C 28 -0.3 23.2 -0.3 18.8 0.7 L 12.6 2.1 C 12.3 2.2 12 2.4 11.9 2.8 C 11.2 5.7 10.9 7.9 10.9 10.6 L 10.9 20.1 L 0.5 26.7 C 0.2 26.8 0 27.2 0 27.5 L 0 32.4 C 0 32.8 0.2 33.1 0.5 33.3 C 0.7 33.4 0.8 33.4 1 33.4 C 1.2 33.4 1.4 33.3 1.5 33.3 L 10.9 27.3 L 10.9 35.9 L 0.5 42.5 C 0.2 42.6 0 43 0 43.3 L 0 48.2 C 0 48.6 0.2 48.9 0.5 49.1 C 0.7 49.2 0.8 49.2 1 49.2 C 1.2 49.2 1.4 49.1 1.5 49.1 L 10.9 43.1 L 10.9 56.1 C 10.9 57.8 12.2 59.1 13.9 59.1 L 37.6 59.1 C 39.3 59.1 40.6 57.8 40.6 56.1 L 40.6 43.1 L 50 49.1 C 50.1 49.2 50.3 49.3 50.5 49.3 C 50.7 49.3 50.8 49.3 51 49.1 C 51.3 48.9 51.5 48.6 51.5 48.2 L 51.5 43.3 C 51.5 43 51.3 42.7 51 42.5 L 40.6 35.9 L 40.6 28.3 L 49.9 34.2 L 49.9 34.2 Z M 49.4 29.1 L 49.4 31.7 L 40.5 26 L 40.5 23.4 L 49.4 29.1 L 49.4 29.1 Z M 2 30.6 L 2 28 L 10.9 22.4 L 10.9 25 L 2 30.6 L 2 30.6 Z M 2 46.4 L 2 43.8 L 10.9 38.2 L 10.9 40.8 L 2 46.4 L 2 46.4 Z M 38.5 56.2 C 38.5 56.8 38.1 57.2 37.5 57.2 L 13.8 57.2 C 13.2 57.2 12.8 56.8 12.8 56.2 L 12.8 10.6 C 12.8 8.2 13 6.3 13.6 3.9 L 19.2 2.6 C 23.4 1.6 27.9 1.6 32 2.6 L 37.6 3.9 C 38.2 6.3 38.4 8.3 38.4 10.6 L 38.4 56.2 L 38.5 56.2 Z M 49.4 43.9 L 49.4 46.5 L 40.5 40.9 L 40.5 38.3 L 49.4 43.9 L 49.4 43.9 Z " fill="rgb(185,185,185)"/><path d=" M 36 25.6 C 35.7 25.4 35.3 25.5 35 25.7 L 31 28.7 C 30.7 28.9 30.6 29.2 30.6 29.5 L 30.6 38.4 C 30.6 39 31 39.4 31.6 39.4 L 35.6 39.4 C 36.2 39.4 36.6 39 36.6 38.4 L 36.6 26.5 C 36.6 26.1 36.3 25.8 36 25.6 L 36 25.6 L 36 25.6 Z M 34.6 37.4 L 32.6 37.4 L 32.6 30 L 34.6 28.5 L 34.6 37.4 L 34.6 37.4 Z " fill="rgb(185,185,185)"/><path d=" M 15.8 39.4 L 19.8 39.4 C 20.4 39.4 20.8 39 20.8 38.4 L 20.8 29.5 C 20.8 29.2 20.7 28.9 20.4 28.7 L 16.4 25.7 C 16.1 25.5 15.7 25.4 15.4 25.6 C 15 25.8 14.8 26.1 14.8 26.5 L 14.8 38.4 C 14.8 39 15.2 39.4 15.8 39.4 L 15.8 39.4 L 15.8 39.4 Z M 16.8 28.5 L 18.8 30 L 18.8 37.4 L 16.8 37.4 L 16.8 28.5 L 16.8 28.5 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_OpenDoor_red.svg b/app/images/AGL_Icons_OpenDoor_red.svg new file mode 100644 index 0000000..f4aca7b --- /dev/null +++ b/app/images/AGL_Icons_OpenDoor_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 51.4 59.1" width="51.4" height="59.1"><defs><clipPath id="_clipPath_wu7F3YMsvJowWbYrHTLRyPlLqMsCW7qc"><rect width="51.4" height="59.1"/></clipPath></defs><g clip-path="url(#_clipPath_wu7F3YMsvJowWbYrHTLRyPlLqMsCW7qc)"><path d=" M 36 9.8 C 31.4 8.4 19.8 8.4 15.6 9.8 C 15.1 9.9 14.9 10.3 14.9 10.8 L 15.9 21.7 C 15.9 22 16.1 22.2 16.3 22.4 C 16.5 22.6 16.8 22.7 17.1 22.6 C 22.1 21.3 29.3 21.3 34.4 22.6 L 34.6 22.6 C 34.8 22.6 35 22.5 35.3 22.4 C 35.5 22.3 35.7 22 35.7 21.7 L 36.7 10.8 C 36.8 10.4 36.5 9.9 36 9.8 L 36 9.8 L 36 9.8 Z M 33.7 20.4 C 31.2 19.9 28.5 19.6 25.7 19.6 C 22.9 19.6 20.1 19.9 17.6 20.4 L 16.8 11.5 C 21 10.5 30 10.5 34.5 11.5 L 33.7 20.4 L 33.7 20.4 Z " fill="rgb(255,0,0)"/><path d=" M 33.6 42.3 L 17.8 42.3 C 16.1 42.3 14.8 43.6 14.8 45.3 L 14.8 52.2 C 14.8 52.7 15.1 53.1 15.6 53.2 C 19 53.9 22.3 54.2 25.7 54.2 C 29.1 54.2 32.4 53.9 35.8 53.2 C 36.3 53.1 36.6 52.7 36.6 52.2 L 36.6 45.3 C 36.6 43.6 35.3 42.3 33.6 42.3 L 33.6 42.3 L 33.6 42.3 Z M 34.6 51.4 C 28.7 52.5 22.7 52.5 16.8 51.4 L 16.8 45.3 C 16.8 44.7 17.2 44.3 17.8 44.3 L 33.6 44.3 C 34.2 44.3 34.6 44.7 34.6 45.3 L 34.6 51.4 L 34.6 51.4 Z " fill="rgb(255,0,0)"/><path d=" M 49.9 34.2 C 50 34.3 50.2 34.4 50.4 34.4 C 50.6 34.4 50.7 34.4 50.9 34.2 C 51.2 34 51.4 33.7 51.4 33.3 L 51.4 28.4 C 51.4 28.1 51.2 27.8 50.9 27.6 L 40.5 21 L 40.5 10.6 C 40.5 7.9 40.2 5.7 39.5 2.8 C 39.4 2.4 39.1 2.1 38.7 2.1 L 32.5 0.7 C 28 -0.3 23.2 -0.3 18.8 0.7 L 12.6 2.1 C 12.3 2.2 12 2.4 11.9 2.8 C 11.2 5.7 10.9 7.9 10.9 10.6 L 10.9 20.1 L 0.5 26.7 C 0.2 26.8 0 27.2 0 27.5 L 0 32.4 C 0 32.8 0.2 33.1 0.5 33.3 C 0.7 33.4 0.8 33.4 1 33.4 C 1.2 33.4 1.4 33.3 1.5 33.3 L 10.9 27.3 L 10.9 35.9 L 0.5 42.5 C 0.2 42.6 0 43 0 43.3 L 0 48.2 C 0 48.6 0.2 48.9 0.5 49.1 C 0.7 49.2 0.8 49.2 1 49.2 C 1.2 49.2 1.4 49.1 1.5 49.1 L 10.9 43.1 L 10.9 56.1 C 10.9 57.8 12.2 59.1 13.9 59.1 L 37.6 59.1 C 39.3 59.1 40.6 57.8 40.6 56.1 L 40.6 43.1 L 50 49.1 C 50.1 49.2 50.3 49.3 50.5 49.3 C 50.7 49.3 50.8 49.3 51 49.1 C 51.3 48.9 51.5 48.6 51.5 48.2 L 51.5 43.3 C 51.5 43 51.3 42.7 51 42.5 L 40.6 35.9 L 40.6 28.3 L 49.9 34.2 L 49.9 34.2 Z M 49.4 29.1 L 49.4 31.7 L 40.5 26 L 40.5 23.4 L 49.4 29.1 L 49.4 29.1 Z M 2 30.6 L 2 28 L 10.9 22.4 L 10.9 25 L 2 30.6 L 2 30.6 Z M 2 46.4 L 2 43.8 L 10.9 38.2 L 10.9 40.8 L 2 46.4 L 2 46.4 Z M 38.5 56.2 C 38.5 56.8 38.1 57.2 37.5 57.2 L 13.8 57.2 C 13.2 57.2 12.8 56.8 12.8 56.2 L 12.8 10.6 C 12.8 8.2 13 6.3 13.6 3.9 L 19.2 2.6 C 23.4 1.6 27.9 1.6 32 2.6 L 37.6 3.9 C 38.2 6.3 38.4 8.3 38.4 10.6 L 38.4 56.2 L 38.5 56.2 Z M 49.4 43.9 L 49.4 46.5 L 40.5 40.9 L 40.5 38.3 L 49.4 43.9 L 49.4 43.9 Z " fill="rgb(255,0,0)"/><path d=" M 36 25.6 C 35.7 25.4 35.3 25.5 35 25.7 L 31 28.7 C 30.7 28.9 30.6 29.2 30.6 29.5 L 30.6 38.4 C 30.6 39 31 39.4 31.6 39.4 L 35.6 39.4 C 36.2 39.4 36.6 39 36.6 38.4 L 36.6 26.5 C 36.6 26.1 36.3 25.8 36 25.6 L 36 25.6 L 36 25.6 Z M 34.6 37.4 L 32.6 37.4 L 32.6 30 L 34.6 28.5 L 34.6 37.4 L 34.6 37.4 Z " fill="rgb(255,0,0)"/><path d=" M 15.8 39.4 L 19.8 39.4 C 20.4 39.4 20.8 39 20.8 38.4 L 20.8 29.5 C 20.8 29.2 20.7 28.9 20.4 28.7 L 16.4 25.7 C 16.1 25.5 15.7 25.4 15.4 25.6 C 15 25.8 14.8 26.1 14.8 26.5 L 14.8 38.4 C 14.8 39 15.2 39.4 15.8 39.4 L 15.8 39.4 L 15.8 39.4 Z M 16.8 28.5 L 18.8 30 L 18.8 37.4 L 16.8 37.4 L 16.8 28.5 L 16.8 28.5 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_OpenDoor_yellow.svg b/app/images/AGL_Icons_OpenDoor_yellow.svg new file mode 100644 index 0000000..18c2777 --- /dev/null +++ b/app/images/AGL_Icons_OpenDoor_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 51.4 59.1" width="51.4" height="59.1"><defs><clipPath id="_clipPath_ixto9piCHyZsnZA3G4zZIiKRd0KPfFYG"><rect width="51.4" height="59.1"/></clipPath></defs><g clip-path="url(#_clipPath_ixto9piCHyZsnZA3G4zZIiKRd0KPfFYG)"><path d=" M 36 9.8 C 31.4 8.4 19.8 8.4 15.6 9.8 C 15.1 9.9 14.9 10.3 14.9 10.8 L 15.9 21.7 C 15.9 22 16.1 22.2 16.3 22.4 C 16.5 22.6 16.8 22.7 17.1 22.6 C 22.1 21.3 29.3 21.3 34.4 22.6 L 34.6 22.6 C 34.8 22.6 35 22.5 35.3 22.4 C 35.5 22.3 35.7 22 35.7 21.7 L 36.7 10.8 C 36.8 10.4 36.5 9.9 36 9.8 L 36 9.8 L 36 9.8 Z M 33.7 20.4 C 31.2 19.9 28.5 19.6 25.7 19.6 C 22.9 19.6 20.1 19.9 17.6 20.4 L 16.8 11.5 C 21 10.5 30 10.5 34.5 11.5 L 33.7 20.4 L 33.7 20.4 Z " fill="rgb(255,255,0)"/><path d=" M 33.6 42.3 L 17.8 42.3 C 16.1 42.3 14.8 43.6 14.8 45.3 L 14.8 52.2 C 14.8 52.7 15.1 53.1 15.6 53.2 C 19 53.9 22.3 54.2 25.7 54.2 C 29.1 54.2 32.4 53.9 35.8 53.2 C 36.3 53.1 36.6 52.7 36.6 52.2 L 36.6 45.3 C 36.6 43.6 35.3 42.3 33.6 42.3 L 33.6 42.3 L 33.6 42.3 Z M 34.6 51.4 C 28.7 52.5 22.7 52.5 16.8 51.4 L 16.8 45.3 C 16.8 44.7 17.2 44.3 17.8 44.3 L 33.6 44.3 C 34.2 44.3 34.6 44.7 34.6 45.3 L 34.6 51.4 L 34.6 51.4 Z " fill="rgb(255,255,0)"/><path d=" M 49.9 34.2 C 50 34.3 50.2 34.4 50.4 34.4 C 50.6 34.4 50.7 34.4 50.9 34.2 C 51.2 34 51.4 33.7 51.4 33.3 L 51.4 28.4 C 51.4 28.1 51.2 27.8 50.9 27.6 L 40.5 21 L 40.5 10.6 C 40.5 7.9 40.2 5.7 39.5 2.8 C 39.4 2.4 39.1 2.1 38.7 2.1 L 32.5 0.7 C 28 -0.3 23.2 -0.3 18.8 0.7 L 12.6 2.1 C 12.3 2.2 12 2.4 11.9 2.8 C 11.2 5.7 10.9 7.9 10.9 10.6 L 10.9 20.1 L 0.5 26.7 C 0.2 26.8 0 27.2 0 27.5 L 0 32.4 C 0 32.8 0.2 33.1 0.5 33.3 C 0.7 33.4 0.8 33.4 1 33.4 C 1.2 33.4 1.4 33.3 1.5 33.3 L 10.9 27.3 L 10.9 35.9 L 0.5 42.5 C 0.2 42.6 0 43 0 43.3 L 0 48.2 C 0 48.6 0.2 48.9 0.5 49.1 C 0.7 49.2 0.8 49.2 1 49.2 C 1.2 49.2 1.4 49.1 1.5 49.1 L 10.9 43.1 L 10.9 56.1 C 10.9 57.8 12.2 59.1 13.9 59.1 L 37.6 59.1 C 39.3 59.1 40.6 57.8 40.6 56.1 L 40.6 43.1 L 50 49.1 C 50.1 49.2 50.3 49.3 50.5 49.3 C 50.7 49.3 50.8 49.3 51 49.1 C 51.3 48.9 51.5 48.6 51.5 48.2 L 51.5 43.3 C 51.5 43 51.3 42.7 51 42.5 L 40.6 35.9 L 40.6 28.3 L 49.9 34.2 L 49.9 34.2 Z M 49.4 29.1 L 49.4 31.7 L 40.5 26 L 40.5 23.4 L 49.4 29.1 L 49.4 29.1 Z M 2 30.6 L 2 28 L 10.9 22.4 L 10.9 25 L 2 30.6 L 2 30.6 Z M 2 46.4 L 2 43.8 L 10.9 38.2 L 10.9 40.8 L 2 46.4 L 2 46.4 Z M 38.5 56.2 C 38.5 56.8 38.1 57.2 37.5 57.2 L 13.8 57.2 C 13.2 57.2 12.8 56.8 12.8 56.2 L 12.8 10.6 C 12.8 8.2 13 6.3 13.6 3.9 L 19.2 2.6 C 23.4 1.6 27.9 1.6 32 2.6 L 37.6 3.9 C 38.2 6.3 38.4 8.3 38.4 10.6 L 38.4 56.2 L 38.5 56.2 Z M 49.4 43.9 L 49.4 46.5 L 40.5 40.9 L 40.5 38.3 L 49.4 43.9 L 49.4 43.9 Z " fill="rgb(255,255,0)"/><path d=" M 36 25.6 C 35.7 25.4 35.3 25.5 35 25.7 L 31 28.7 C 30.7 28.9 30.6 29.2 30.6 29.5 L 30.6 38.4 C 30.6 39 31 39.4 31.6 39.4 L 35.6 39.4 C 36.2 39.4 36.6 39 36.6 38.4 L 36.6 26.5 C 36.6 26.1 36.3 25.8 36 25.6 L 36 25.6 L 36 25.6 Z M 34.6 37.4 L 32.6 37.4 L 32.6 30 L 34.6 28.5 L 34.6 37.4 L 34.6 37.4 Z " fill="rgb(255,255,0)"/><path d=" M 15.8 39.4 L 19.8 39.4 C 20.4 39.4 20.8 39 20.8 38.4 L 20.8 29.5 C 20.8 29.2 20.7 28.9 20.4 28.7 L 16.4 25.7 C 16.1 25.5 15.7 25.4 15.4 25.6 C 15 25.8 14.8 26.1 14.8 26.5 L 14.8 38.4 C 14.8 39 15.2 39.4 15.8 39.4 L 15.8 39.4 L 15.8 39.4 Z M 16.8 28.5 L 18.8 30 L 18.8 37.4 L 16.8 37.4 L 16.8 28.5 L 16.8 28.5 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_ParkingBrake.svg b/app/images/AGL_Icons_ParkingBrake.svg new file mode 100644 index 0000000..01fa7ef --- /dev/null +++ b/app/images/AGL_Icons_ParkingBrake.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 48.4" width="66" height="48.4"><defs><clipPath id="_clipPath_LI1zraPI52dM1mCGF1zhqFxVJBRXTOHz"><rect width="66" height="48.4"/></clipPath></defs><g clip-path="url(#_clipPath_LI1zraPI52dM1mCGF1zhqFxVJBRXTOHz)"><path d=" M 33 0 C 19.7 0 8.8 10.9 8.8 24.2 C 8.8 37.5 19.7 48.4 33 48.4 C 46.3 48.4 57.2 37.5 57.2 24.2 C 57.2 10.9 46.3 0 33 0 L 33 0 L 33 0 Z M 33 46.2 C 20.9 46.2 11 36.3 11 24.2 C 11 12.1 20.9 2.2 33 2.2 C 45.1 2.2 55 12.1 55 24.2 C 55 36.3 45.1 46.2 33 46.2 L 33 46.2 L 33 46.2 Z " fill="rgb(185,185,185)"/><path d=" M 11.2 2.4 C 11.6 2 11.6 1.3 11.2 0.9 C 10.8 0.5 10.1 0.5 9.7 0.9 C -3.2 13.8 -3.2 34.7 9.7 47.6 C 9.9 47.8 10.1 47.9 10.5 47.9 C 10.8 47.9 11.1 47.8 11.3 47.6 C 11.7 47.2 11.7 46.5 11.3 46.1 C -0.8 34 -0.8 14.4 11.2 2.4 L 11.2 2.4 L 11.2 2.4 Z " fill="rgb(185,185,185)"/><path d=" M 56.3 0.9 C 55.9 0.5 55.2 0.5 54.8 0.9 C 54.4 1.3 54.4 2 54.8 2.4 C 66.8 14.4 66.8 34 54.8 46 C 54.4 46.4 54.4 47.1 54.8 47.5 C 55 47.7 55.2 47.8 55.6 47.8 C 55.9 47.8 56.2 47.7 56.4 47.5 C 69.2 34.7 69.2 13.8 56.3 0.9 L 56.3 0.9 L 56.3 0.9 Z " fill="rgb(185,185,185)"/><path d=" M 33 30.8 C 34.9 30.8 36.3 29.4 36.3 27.5 L 36.3 8.8 C 36.3 6.9 34.9 5.5 33 5.5 C 31.1 5.5 29.7 6.9 29.7 8.8 L 29.7 27.5 C 29.7 29.4 31.1 30.8 33 30.8 L 33 30.8 L 33 30.8 Z M 31.9 8.8 C 31.9 8.1 32.3 7.7 33 7.7 C 33.7 7.7 34.1 8.1 34.1 8.8 L 34.1 27.5 C 34.1 28.2 33.7 28.6 33 28.6 C 32.3 28.6 31.9 28.2 31.9 27.5 L 31.9 8.8 L 31.9 8.8 Z " fill="rgb(185,185,185)"/><path d=" M 33 34.1 C 30.6 34.1 28.6 36.1 28.6 38.5 C 28.6 40.9 30.6 42.9 33 42.9 C 35.4 42.9 37.4 40.9 37.4 38.5 C 37.4 36.1 35.4 34.1 33 34.1 L 33 34.1 L 33 34.1 Z M 33 40.7 C 31.8 40.7 30.8 39.7 30.8 38.5 C 30.8 37.3 31.8 36.3 33 36.3 C 34.2 36.3 35.2 37.3 35.2 38.5 C 35.2 39.7 34.2 40.7 33 40.7 L 33 40.7 L 33 40.7 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_ParkingBrake_red.svg b/app/images/AGL_Icons_ParkingBrake_red.svg new file mode 100644 index 0000000..d9dec37 --- /dev/null +++ b/app/images/AGL_Icons_ParkingBrake_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 48.4" width="66" height="48.4"><defs><clipPath id="_clipPath_im8Yas5w3KTUrhTbZUddAkC1gbBC2JWg"><rect width="66" height="48.4"/></clipPath></defs><g clip-path="url(#_clipPath_im8Yas5w3KTUrhTbZUddAkC1gbBC2JWg)"><path d=" M 33 0 C 19.7 0 8.8 10.9 8.8 24.2 C 8.8 37.5 19.7 48.4 33 48.4 C 46.3 48.4 57.2 37.5 57.2 24.2 C 57.2 10.9 46.3 0 33 0 L 33 0 L 33 0 Z M 33 46.2 C 20.9 46.2 11 36.3 11 24.2 C 11 12.1 20.9 2.2 33 2.2 C 45.1 2.2 55 12.1 55 24.2 C 55 36.3 45.1 46.2 33 46.2 L 33 46.2 L 33 46.2 Z " fill="rgb(255,0,0)"/><path d=" M 11.2 2.4 C 11.6 2 11.6 1.3 11.2 0.9 C 10.8 0.5 10.1 0.5 9.7 0.9 C -3.2 13.8 -3.2 34.7 9.7 47.6 C 9.9 47.8 10.1 47.9 10.5 47.9 C 10.8 47.9 11.1 47.8 11.3 47.6 C 11.7 47.2 11.7 46.5 11.3 46.1 C -0.8 34 -0.8 14.4 11.2 2.4 L 11.2 2.4 L 11.2 2.4 Z " fill="rgb(255,0,0)"/><path d=" M 56.3 0.9 C 55.9 0.5 55.2 0.5 54.8 0.9 C 54.4 1.3 54.4 2 54.8 2.4 C 66.8 14.4 66.8 34 54.8 46 C 54.4 46.4 54.4 47.1 54.8 47.5 C 55 47.7 55.2 47.8 55.6 47.8 C 55.9 47.8 56.2 47.7 56.4 47.5 C 69.2 34.7 69.2 13.8 56.3 0.9 L 56.3 0.9 L 56.3 0.9 Z " fill="rgb(255,0,0)"/><path d=" M 33 30.8 C 34.9 30.8 36.3 29.4 36.3 27.5 L 36.3 8.8 C 36.3 6.9 34.9 5.5 33 5.5 C 31.1 5.5 29.7 6.9 29.7 8.8 L 29.7 27.5 C 29.7 29.4 31.1 30.8 33 30.8 L 33 30.8 L 33 30.8 Z M 31.9 8.8 C 31.9 8.1 32.3 7.7 33 7.7 C 33.7 7.7 34.1 8.1 34.1 8.8 L 34.1 27.5 C 34.1 28.2 33.7 28.6 33 28.6 C 32.3 28.6 31.9 28.2 31.9 27.5 L 31.9 8.8 L 31.9 8.8 Z " fill="rgb(255,0,0)"/><path d=" M 33 34.1 C 30.6 34.1 28.6 36.1 28.6 38.5 C 28.6 40.9 30.6 42.9 33 42.9 C 35.4 42.9 37.4 40.9 37.4 38.5 C 37.4 36.1 35.4 34.1 33 34.1 L 33 34.1 L 33 34.1 Z M 33 40.7 C 31.8 40.7 30.8 39.7 30.8 38.5 C 30.8 37.3 31.8 36.3 33 36.3 C 34.2 36.3 35.2 37.3 35.2 38.5 C 35.2 39.7 34.2 40.7 33 40.7 L 33 40.7 L 33 40.7 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_ParkingBrake_yellow.svg b/app/images/AGL_Icons_ParkingBrake_yellow.svg new file mode 100644 index 0000000..8e99d11 --- /dev/null +++ b/app/images/AGL_Icons_ParkingBrake_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 66 48.4" width="66" height="48.4"><defs><clipPath id="_clipPath_TSVlv3nGxTHjYdmmiNPUAXEwajrzHHKb"><rect width="66" height="48.4"/></clipPath></defs><g clip-path="url(#_clipPath_TSVlv3nGxTHjYdmmiNPUAXEwajrzHHKb)"><path d=" M 33 0 C 19.7 0 8.8 10.9 8.8 24.2 C 8.8 37.5 19.7 48.4 33 48.4 C 46.3 48.4 57.2 37.5 57.2 24.2 C 57.2 10.9 46.3 0 33 0 L 33 0 L 33 0 Z M 33 46.2 C 20.9 46.2 11 36.3 11 24.2 C 11 12.1 20.9 2.2 33 2.2 C 45.1 2.2 55 12.1 55 24.2 C 55 36.3 45.1 46.2 33 46.2 L 33 46.2 L 33 46.2 Z " fill="rgb(255,255,0)"/><path d=" M 11.2 2.4 C 11.6 2 11.6 1.3 11.2 0.9 C 10.8 0.5 10.1 0.5 9.7 0.9 C -3.2 13.8 -3.2 34.7 9.7 47.6 C 9.9 47.8 10.1 47.9 10.5 47.9 C 10.8 47.9 11.1 47.8 11.3 47.6 C 11.7 47.2 11.7 46.5 11.3 46.1 C -0.8 34 -0.8 14.4 11.2 2.4 L 11.2 2.4 L 11.2 2.4 Z " fill="rgb(255,255,0)"/><path d=" M 56.3 0.9 C 55.9 0.5 55.2 0.5 54.8 0.9 C 54.4 1.3 54.4 2 54.8 2.4 C 66.8 14.4 66.8 34 54.8 46 C 54.4 46.4 54.4 47.1 54.8 47.5 C 55 47.7 55.2 47.8 55.6 47.8 C 55.9 47.8 56.2 47.7 56.4 47.5 C 69.2 34.7 69.2 13.8 56.3 0.9 L 56.3 0.9 L 56.3 0.9 Z " fill="rgb(255,255,0)"/><path d=" M 33 30.8 C 34.9 30.8 36.3 29.4 36.3 27.5 L 36.3 8.8 C 36.3 6.9 34.9 5.5 33 5.5 C 31.1 5.5 29.7 6.9 29.7 8.8 L 29.7 27.5 C 29.7 29.4 31.1 30.8 33 30.8 L 33 30.8 L 33 30.8 Z M 31.9 8.8 C 31.9 8.1 32.3 7.7 33 7.7 C 33.7 7.7 34.1 8.1 34.1 8.8 L 34.1 27.5 C 34.1 28.2 33.7 28.6 33 28.6 C 32.3 28.6 31.9 28.2 31.9 27.5 L 31.9 8.8 L 31.9 8.8 Z " fill="rgb(255,255,0)"/><path d=" M 33 34.1 C 30.6 34.1 28.6 36.1 28.6 38.5 C 28.6 40.9 30.6 42.9 33 42.9 C 35.4 42.9 37.4 40.9 37.4 38.5 C 37.4 36.1 35.4 34.1 33 34.1 L 33 34.1 L 33 34.1 Z M 33 40.7 C 31.8 40.7 30.8 39.7 30.8 38.5 C 30.8 37.3 31.8 36.3 33 36.3 C 34.2 36.3 35.2 37.3 35.2 38.5 C 35.2 39.7 34.2 40.7 33 40.7 L 33 40.7 L 33 40.7 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Seatbelt.svg b/app/images/AGL_Icons_Seatbelt.svg new file mode 100644 index 0000000..8664864 --- /dev/null +++ b/app/images/AGL_Icons_Seatbelt.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 54.4 58.6" width="54.4" height="58.6"><defs><clipPath id="_clipPath_S4ePm9BKgKOLnczBnVbZEzP3dAkzSx9g"><rect width="54.4" height="58.6"/></clipPath></defs><g clip-path="url(#_clipPath_S4ePm9BKgKOLnczBnVbZEzP3dAkzSx9g)"><path d=" M 53.8 40.7 C 50.5 39.3 47 38.2 43.5 37.4 C 43 30.9 40.3 25.1 36.2 21.6 L 44.5 13.3 C 44.7 13.1 44.8 12.9 44.8 12.6 C 44.8 12.3 44.7 12.1 44.5 11.9 L 41.6 9 C 41.2 8.6 40.6 8.6 40.2 9 L 31.4 17.8 C 31.3 17.5 31.3 17.2 31.3 17 L 31.3 15.3 C 33.7 13.9 35.3 11.3 35.3 8.3 C 35.3 8.3 35.3 8.2 35.3 8.2 C 35.3 8.2 35.3 8.1 35.3 8.1 C 35.3 3.7 31.7 0 27.2 0 C 22.8 0 19.1 3.6 19.1 8.1 C 19.1 8.1 19.1 8.2 19.1 8.2 C 19.1 8.2 19.1 8.3 19.1 8.3 C 19.1 11.1 20.7 13.9 23.1 15.3 L 23.1 17 C 23.1 18.1 22.4 19.2 21.3 19.7 C 15.6 22.5 11.7 29.4 11 37.2 C 7.3 38.1 3.7 39.3 0.5 40.8 C 0.3 40.9 0 41.2 0 41.6 C 0 42 0.1 42.3 0.4 42.5 L 4.4 45.2 C 4.7 45.4 5 45.4 5.3 45.3 C 7.3 44.6 9.2 44.1 11.1 43.6 C 11.2 49.3 12.3 54.4 14.2 58.1 C 14.4 58.4 14.7 58.6 15.1 58.6 L 20.1 58.6 C 20.4 58.6 20.9 58.4 21 58.1 C 21.1 57.8 21.2 57.4 21 57.1 C 19.8 54.8 19.2 51.4 19.1 47.3 C 24.3 46.3 30.1 46.3 35.3 47.3 C 35.2 51.4 34.6 54.8 33.4 57.1 C 33.2 57.4 33.2 57.8 33.4 58.1 C 33.6 58.4 34 58.6 34.3 58.6 L 39.3 58.6 C 39.7 58.6 40 58.4 40.1 58.1 C 42 54.4 43.1 49.3 43.2 43.6 C 45.1 44.1 47.1 44.7 49.1 45.4 C 49.2 45.5 49.3 45.5 49.4 45.5 C 49.6 45.5 49.8 45.4 49.9 45.2 L 53.9 42.5 C 54.2 42.3 54.3 42 54.3 41.6 C 54.4 41.2 54.1 40.8 53.8 40.7 L 53.8 40.7 L 53.8 40.7 Z M 41.3 36.8 C 37.2 35.9 32.9 35.4 28.8 35.3 C 26.7 35.2 24.5 35.2 22.4 35.4 L 34.7 23.1 C 38.4 26.1 40.8 31.2 41.3 36.8 L 41.3 36.8 L 41.3 36.8 Z M 24.6 13.5 C 24.6 13.5 24.6 13.5 24.6 13.5 C 24.5 13.4 24.4 13.4 24.3 13.3 C 22.6 12.4 21.4 10.6 21.2 8.6 C 21.2 8.6 21.2 8.6 21.2 8.6 C 21.2 8.5 21.2 8.4 21.2 8.3 C 21.2 8.3 21.2 8.3 21.2 8.2 C 21.2 8.1 21.2 8 21.2 7.9 C 21.2 4.6 23.9 1.8 27.3 1.8 C 30.6 1.8 33.4 4.5 33.3 7.9 C 33.3 10.2 32 12.3 29.9 13.4 C 29.8 13.4 29.7 13.5 29.7 13.6 C 29 13.9 28.2 14 27.4 14 C 26.3 14.1 25.4 13.9 24.6 13.5 L 24.6 13.5 L 24.6 13.5 Z M 22.3 21.3 C 24.1 20.4 25.2 18.7 25.2 16.8 L 25.2 15.9 C 25.8 16.1 26.5 16.2 27.2 16.2 C 27.9 16.2 28.5 16.1 29.1 16 L 29.1 16.8 C 29.1 17.6 29.4 18.5 29.8 19.2 L 13.3 35.7 C 14.2 29.2 17.7 23.6 22.3 21.3 L 22.3 21.3 L 22.3 21.3 Z M 38.8 56.5 L 35.9 56.5 C 36.9 53.9 37.4 50.4 37.4 46.4 C 37.4 45.9 37.1 45.5 36.6 45.4 C 30.7 44.1 24 44.1 18 45.4 C 17.5 45.5 17.2 45.9 17.2 46.4 C 17.2 50.4 17.7 53.9 18.7 56.5 L 15.8 56.5 C 14.2 53.1 13.3 48.4 13.2 43.2 C 13.6 43.1 13.9 43 14.3 42.9 C 23 41 30.9 41 39.6 42.8 C 40.2 42.9 40.8 43.1 41.4 43.2 C 41.3 48.5 40.4 53.1 38.8 56.5 L 38.8 56.5 L 38.8 56.5 Z M 49.4 43.3 C 42.2 41 35.9 39.7 29.6 39.4 C 24.4 39.2 19.2 39.6 13.7 40.9 C 13.1 41.1 12.4 41.2 11.8 41.4 C 11.8 41.4 11.8 41.4 11.8 41.4 C 9.7 41.9 7.5 42.6 5.3 43.3 L 3.2 41.9 C 6 40.7 9.2 39.7 12.4 39 C 12.4 39 12.4 39 12.5 39.1 C 12.6 39 12.7 39 12.8 39 C 12.8 39 12.8 39 12.9 38.9 C 13 38.9 13.1 38.9 13.1 38.8 C 13.3 38.7 13.5 38.6 13.6 38.5 L 32 20.2 C 32.1 20.1 32.2 20 32.2 19.9 L 41 11.1 L 42.4 12.5 L 18.9 36 C 18.6 36.3 18.5 36.7 18.7 37.1 C 18.9 37.5 19.3 37.7 19.7 37.7 C 19.7 37.7 19.7 37.7 19.7 37.7 C 19.7 37.7 19.7 37.7 19.8 37.7 C 24.2 37.3 28.7 37.3 33.2 37.7 C 35.8 37.9 38.4 38.3 41 38.9 C 41.4 39 41.8 39.1 42.2 39.2 L 42.2 39.2 C 45.3 39.9 48.4 40.8 51.3 41.9 L 49.4 43.3 L 49.4 43.3 Z " fill="rgb(185,185,185)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Seatbelt_red.svg b/app/images/AGL_Icons_Seatbelt_red.svg new file mode 100644 index 0000000..901da9c --- /dev/null +++ b/app/images/AGL_Icons_Seatbelt_red.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 54.4 58.6" width="54.4" height="58.6"><defs><clipPath id="_clipPath_7XAaufV7M35shE1viFfj2em07l3Oxonq"><rect width="54.4" height="58.6"/></clipPath></defs><g clip-path="url(#_clipPath_7XAaufV7M35shE1viFfj2em07l3Oxonq)"><path d=" M 53.8 40.7 C 50.5 39.3 47 38.2 43.5 37.4 C 43 30.9 40.3 25.1 36.2 21.6 L 44.5 13.3 C 44.7 13.1 44.8 12.9 44.8 12.6 C 44.8 12.3 44.7 12.1 44.5 11.9 L 41.6 9 C 41.2 8.6 40.6 8.6 40.2 9 L 31.4 17.8 C 31.3 17.5 31.3 17.2 31.3 17 L 31.3 15.3 C 33.7 13.9 35.3 11.3 35.3 8.3 C 35.3 8.3 35.3 8.2 35.3 8.2 C 35.3 8.2 35.3 8.1 35.3 8.1 C 35.3 3.7 31.7 0 27.2 0 C 22.8 0 19.1 3.6 19.1 8.1 C 19.1 8.1 19.1 8.2 19.1 8.2 C 19.1 8.2 19.1 8.3 19.1 8.3 C 19.1 11.1 20.7 13.9 23.1 15.3 L 23.1 17 C 23.1 18.1 22.4 19.2 21.3 19.7 C 15.6 22.5 11.7 29.4 11 37.2 C 7.3 38.1 3.7 39.3 0.5 40.8 C 0.3 40.9 0 41.2 0 41.6 C 0 42 0.1 42.3 0.4 42.5 L 4.4 45.2 C 4.7 45.4 5 45.4 5.3 45.3 C 7.3 44.6 9.2 44.1 11.1 43.6 C 11.2 49.3 12.3 54.4 14.2 58.1 C 14.4 58.4 14.7 58.6 15.1 58.6 L 20.1 58.6 C 20.4 58.6 20.9 58.4 21 58.1 C 21.1 57.8 21.2 57.4 21 57.1 C 19.8 54.8 19.2 51.4 19.1 47.3 C 24.3 46.3 30.1 46.3 35.3 47.3 C 35.2 51.4 34.6 54.8 33.4 57.1 C 33.2 57.4 33.2 57.8 33.4 58.1 C 33.6 58.4 34 58.6 34.3 58.6 L 39.3 58.6 C 39.7 58.6 40 58.4 40.1 58.1 C 42 54.4 43.1 49.3 43.2 43.6 C 45.1 44.1 47.1 44.7 49.1 45.4 C 49.2 45.5 49.3 45.5 49.4 45.5 C 49.6 45.5 49.8 45.4 49.9 45.2 L 53.9 42.5 C 54.2 42.3 54.3 42 54.3 41.6 C 54.4 41.2 54.1 40.8 53.8 40.7 L 53.8 40.7 L 53.8 40.7 Z M 41.3 36.8 C 37.2 35.9 32.9 35.4 28.8 35.3 C 26.7 35.2 24.5 35.2 22.4 35.4 L 34.7 23.1 C 38.4 26.1 40.8 31.2 41.3 36.8 L 41.3 36.8 L 41.3 36.8 Z M 24.6 13.5 C 24.6 13.5 24.6 13.5 24.6 13.5 C 24.5 13.4 24.4 13.4 24.3 13.3 C 22.6 12.4 21.4 10.6 21.2 8.6 C 21.2 8.6 21.2 8.6 21.2 8.6 C 21.2 8.5 21.2 8.4 21.2 8.3 C 21.2 8.3 21.2 8.3 21.2 8.2 C 21.2 8.1 21.2 8 21.2 7.9 C 21.2 4.6 23.9 1.8 27.3 1.8 C 30.6 1.8 33.4 4.5 33.3 7.9 C 33.3 10.2 32 12.3 29.9 13.4 C 29.8 13.4 29.7 13.5 29.7 13.6 C 29 13.9 28.2 14 27.4 14 C 26.3 14.1 25.4 13.9 24.6 13.5 L 24.6 13.5 L 24.6 13.5 Z M 22.3 21.3 C 24.1 20.4 25.2 18.7 25.2 16.8 L 25.2 15.9 C 25.8 16.1 26.5 16.2 27.2 16.2 C 27.9 16.2 28.5 16.1 29.1 16 L 29.1 16.8 C 29.1 17.6 29.4 18.5 29.8 19.2 L 13.3 35.7 C 14.2 29.2 17.7 23.6 22.3 21.3 L 22.3 21.3 L 22.3 21.3 Z M 38.8 56.5 L 35.9 56.5 C 36.9 53.9 37.4 50.4 37.4 46.4 C 37.4 45.9 37.1 45.5 36.6 45.4 C 30.7 44.1 24 44.1 18 45.4 C 17.5 45.5 17.2 45.9 17.2 46.4 C 17.2 50.4 17.7 53.9 18.7 56.5 L 15.8 56.5 C 14.2 53.1 13.3 48.4 13.2 43.2 C 13.6 43.1 13.9 43 14.3 42.9 C 23 41 30.9 41 39.6 42.8 C 40.2 42.9 40.8 43.1 41.4 43.2 C 41.3 48.5 40.4 53.1 38.8 56.5 L 38.8 56.5 L 38.8 56.5 Z M 49.4 43.3 C 42.2 41 35.9 39.7 29.6 39.4 C 24.4 39.2 19.2 39.6 13.7 40.9 C 13.1 41.1 12.4 41.2 11.8 41.4 C 11.8 41.4 11.8 41.4 11.8 41.4 C 9.7 41.9 7.5 42.6 5.3 43.3 L 3.2 41.9 C 6 40.7 9.2 39.7 12.4 39 C 12.4 39 12.4 39 12.5 39.1 C 12.6 39 12.7 39 12.8 39 C 12.8 39 12.8 39 12.9 38.9 C 13 38.9 13.1 38.9 13.1 38.8 C 13.3 38.7 13.5 38.6 13.6 38.5 L 32 20.2 C 32.1 20.1 32.2 20 32.2 19.9 L 41 11.1 L 42.4 12.5 L 18.9 36 C 18.6 36.3 18.5 36.7 18.7 37.1 C 18.9 37.5 19.3 37.7 19.7 37.7 C 19.7 37.7 19.7 37.7 19.7 37.7 C 19.7 37.7 19.7 37.7 19.8 37.7 C 24.2 37.3 28.7 37.3 33.2 37.7 C 35.8 37.9 38.4 38.3 41 38.9 C 41.4 39 41.8 39.1 42.2 39.2 L 42.2 39.2 C 45.3 39.9 48.4 40.8 51.3 41.9 L 49.4 43.3 L 49.4 43.3 Z " fill="rgb(255,0,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/AGL_Icons_Seatbelt_yellow.svg b/app/images/AGL_Icons_Seatbelt_yellow.svg new file mode 100644 index 0000000..4871125 --- /dev/null +++ b/app/images/AGL_Icons_Seatbelt_yellow.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 54.4 58.6" width="54.4" height="58.6"><defs><clipPath id="_clipPath_zrIfjKGEJdpObXLNizPL9llHaVO5ldbF"><rect width="54.4" height="58.6"/></clipPath></defs><g clip-path="url(#_clipPath_zrIfjKGEJdpObXLNizPL9llHaVO5ldbF)"><path d=" M 53.8 40.7 C 50.5 39.3 47 38.2 43.5 37.4 C 43 30.9 40.3 25.1 36.2 21.6 L 44.5 13.3 C 44.7 13.1 44.8 12.9 44.8 12.6 C 44.8 12.3 44.7 12.1 44.5 11.9 L 41.6 9 C 41.2 8.6 40.6 8.6 40.2 9 L 31.4 17.8 C 31.3 17.5 31.3 17.2 31.3 17 L 31.3 15.3 C 33.7 13.9 35.3 11.3 35.3 8.3 C 35.3 8.3 35.3 8.2 35.3 8.2 C 35.3 8.2 35.3 8.1 35.3 8.1 C 35.3 3.7 31.7 0 27.2 0 C 22.8 0 19.1 3.6 19.1 8.1 C 19.1 8.1 19.1 8.2 19.1 8.2 C 19.1 8.2 19.1 8.3 19.1 8.3 C 19.1 11.1 20.7 13.9 23.1 15.3 L 23.1 17 C 23.1 18.1 22.4 19.2 21.3 19.7 C 15.6 22.5 11.7 29.4 11 37.2 C 7.3 38.1 3.7 39.3 0.5 40.8 C 0.3 40.9 0 41.2 0 41.6 C 0 42 0.1 42.3 0.4 42.5 L 4.4 45.2 C 4.7 45.4 5 45.4 5.3 45.3 C 7.3 44.6 9.2 44.1 11.1 43.6 C 11.2 49.3 12.3 54.4 14.2 58.1 C 14.4 58.4 14.7 58.6 15.1 58.6 L 20.1 58.6 C 20.4 58.6 20.9 58.4 21 58.1 C 21.1 57.8 21.2 57.4 21 57.1 C 19.8 54.8 19.2 51.4 19.1 47.3 C 24.3 46.3 30.1 46.3 35.3 47.3 C 35.2 51.4 34.6 54.8 33.4 57.1 C 33.2 57.4 33.2 57.8 33.4 58.1 C 33.6 58.4 34 58.6 34.3 58.6 L 39.3 58.6 C 39.7 58.6 40 58.4 40.1 58.1 C 42 54.4 43.1 49.3 43.2 43.6 C 45.1 44.1 47.1 44.7 49.1 45.4 C 49.2 45.5 49.3 45.5 49.4 45.5 C 49.6 45.5 49.8 45.4 49.9 45.2 L 53.9 42.5 C 54.2 42.3 54.3 42 54.3 41.6 C 54.4 41.2 54.1 40.8 53.8 40.7 L 53.8 40.7 L 53.8 40.7 Z M 41.3 36.8 C 37.2 35.9 32.9 35.4 28.8 35.3 C 26.7 35.2 24.5 35.2 22.4 35.4 L 34.7 23.1 C 38.4 26.1 40.8 31.2 41.3 36.8 L 41.3 36.8 L 41.3 36.8 Z M 24.6 13.5 C 24.6 13.5 24.6 13.5 24.6 13.5 C 24.5 13.4 24.4 13.4 24.3 13.3 C 22.6 12.4 21.4 10.6 21.2 8.6 C 21.2 8.6 21.2 8.6 21.2 8.6 C 21.2 8.5 21.2 8.4 21.2 8.3 C 21.2 8.3 21.2 8.3 21.2 8.2 C 21.2 8.1 21.2 8 21.2 7.9 C 21.2 4.6 23.9 1.8 27.3 1.8 C 30.6 1.8 33.4 4.5 33.3 7.9 C 33.3 10.2 32 12.3 29.9 13.4 C 29.8 13.4 29.7 13.5 29.7 13.6 C 29 13.9 28.2 14 27.4 14 C 26.3 14.1 25.4 13.9 24.6 13.5 L 24.6 13.5 L 24.6 13.5 Z M 22.3 21.3 C 24.1 20.4 25.2 18.7 25.2 16.8 L 25.2 15.9 C 25.8 16.1 26.5 16.2 27.2 16.2 C 27.9 16.2 28.5 16.1 29.1 16 L 29.1 16.8 C 29.1 17.6 29.4 18.5 29.8 19.2 L 13.3 35.7 C 14.2 29.2 17.7 23.6 22.3 21.3 L 22.3 21.3 L 22.3 21.3 Z M 38.8 56.5 L 35.9 56.5 C 36.9 53.9 37.4 50.4 37.4 46.4 C 37.4 45.9 37.1 45.5 36.6 45.4 C 30.7 44.1 24 44.1 18 45.4 C 17.5 45.5 17.2 45.9 17.2 46.4 C 17.2 50.4 17.7 53.9 18.7 56.5 L 15.8 56.5 C 14.2 53.1 13.3 48.4 13.2 43.2 C 13.6 43.1 13.9 43 14.3 42.9 C 23 41 30.9 41 39.6 42.8 C 40.2 42.9 40.8 43.1 41.4 43.2 C 41.3 48.5 40.4 53.1 38.8 56.5 L 38.8 56.5 L 38.8 56.5 Z M 49.4 43.3 C 42.2 41 35.9 39.7 29.6 39.4 C 24.4 39.2 19.2 39.6 13.7 40.9 C 13.1 41.1 12.4 41.2 11.8 41.4 C 11.8 41.4 11.8 41.4 11.8 41.4 C 9.7 41.9 7.5 42.6 5.3 43.3 L 3.2 41.9 C 6 40.7 9.2 39.7 12.4 39 C 12.4 39 12.4 39 12.5 39.1 C 12.6 39 12.7 39 12.8 39 C 12.8 39 12.8 39 12.9 38.9 C 13 38.9 13.1 38.9 13.1 38.8 C 13.3 38.7 13.5 38.6 13.6 38.5 L 32 20.2 C 32.1 20.1 32.2 20 32.2 19.9 L 41 11.1 L 42.4 12.5 L 18.9 36 C 18.6 36.3 18.5 36.7 18.7 37.1 C 18.9 37.5 19.3 37.7 19.7 37.7 C 19.7 37.7 19.7 37.7 19.7 37.7 C 19.7 37.7 19.7 37.7 19.8 37.7 C 24.2 37.3 28.7 37.3 33.2 37.7 C 35.8 37.9 38.4 38.3 41 38.9 C 41.4 39 41.8 39.1 42.2 39.2 L 42.2 39.2 C 45.3 39.9 48.4 40.8 51.3 41.9 L 49.4 43.3 L 49.4 43.3 Z " fill="rgb(255,255,0)"/></g></svg>
\ No newline at end of file diff --git a/app/images/Utility_Logo_Grey-01.svg b/app/images/Utility_Logo_Grey-01.svg new file mode 100644 index 0000000..16ac88c --- /dev/null +++ b/app/images/Utility_Logo_Grey-01.svg @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ + <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/"> + <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/"> + <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/"> + <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/"> + <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> + <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/"> + <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/"> + <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/"> +]> +<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 215 215" + style="enable-background:new 0 0 215 215;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#525252;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <path class="st0" d="M113.8,150.3h4.2v15.3h9.5v3.8h-13.7V150.3z"/> + <path class="st0" d="M130.9,150.3h4.2v19.1h-4.2V150.3z"/> + <path class="st0" d="M139.9,150.3h3.9l9,11.8v-11.8h4.2v19.1h-3.6l-9.3-12.2v12.2h-4.2V150.3z"/> + <path class="st0" d="M169.4,169.7c-2.6,0-4.6-0.7-6.1-2.1c-1.5-1.4-2.2-3.5-2.2-6.4v-10.9h4.2v10.8c0,1.6,0.4,2.7,1.1,3.5 + c0.7,0.8,1.7,1.2,3,1.2c1.3,0,2.3-0.4,3-1.1c0.7-0.8,1.1-1.9,1.1-3.4v-11h4.2v10.8c0,1.5-0.2,2.7-0.6,3.8c-0.4,1.1-1,2-1.7,2.7 + c-0.7,0.7-1.6,1.3-2.7,1.6C171.9,169.5,170.7,169.7,169.4,169.7z"/> + <path class="st0" d="M187.3,159.7l-6.4-9.4h4.9l4,6.2l4-6.2h4.8l-6.4,9.3l6.7,9.8H194l-4.3-6.6l-4.3,6.6h-4.8L187.3,159.7z"/> + <path class="st0" d="M24.6,126.9h2l8.4,18.6h-2.2l-2.2-4.9H20.5l-2.2,4.9h-2.1L24.6,126.9z M29.7,138.7l-4.2-9.4l-4.2,9.4H29.7z" + /> + <path class="st0" d="M37.7,137.7V127h2.1v10.6c0,4,2.1,6.2,5.6,6.2c3.4,0,5.6-2.1,5.6-6.1V127H53v10.6c0,5.4-3.1,8.2-7.7,8.2 + C40.8,145.7,37.7,142.9,37.7,137.7z"/> + <path class="st0" d="M62.9,128.9h-6.2V127h14.5v1.9H65v16.5h-2.1V128.9z"/> + <path class="st0" d="M73,136.3L73,136.3c0-5.1,3.8-9.6,9.4-9.6c5.6,0,9.4,4.4,9.4,9.5c0,0,0,0,0,0.1c0,5.1-3.8,9.5-9.4,9.5 + C76.8,145.8,73,141.4,73,136.3z M89.7,136.3L89.7,136.3c0-4.2-3.1-7.7-7.3-7.7c-4.2,0-7.2,3.4-7.2,7.6v0.1c0,4.2,3.1,7.6,7.3,7.6 + C86.6,143.8,89.7,140.5,89.7,136.3z"/> + <path class="st0" d="M96.2,127h2.1l6.7,10.1l6.7-10.1h2.1v18.5h-2.1v-15l-6.7,9.9H105l-6.7-9.9v14.9h-2V127z"/> + <path class="st0" d="M145.2,128.9H139V127h14.5v1.9h-6.2v16.5h-2.1V128.9z"/> + <path class="st0" d="M157.6,127h2.1v18.5h-2.1V127z"/> + <path class="st0" d="M163.5,127h2.3l6.6,15.9L179,127h2.2l-7.9,18.6h-1.8L163.5,127z"/> + <path class="st0" d="M184.8,127h13.3v1.9h-11.3v6.3H197v1.9h-10.1v6.5h11.4v1.9h-13.5V127z"/> + <rect x="105.6" y="55.1" class="st0" width="3.8" height="16.8"/> + + <rect x="69.3" y="69.6" transform="matrix(0.707 -0.7072 0.7072 0.707 -34.2747 73.1702)" class="st0" width="3.8" height="16.8"/> + <rect x="155.1" y="104.5" class="st0" width="16.8" height="3.8"/> + <rect x="47.4" y="104.5" class="st0" width="16.8" height="3.8"/> + <path class="st0" d="M43.7,113.9c2.1-34.7,31-62.4,66.2-62.4c35.2,0,64.2,27.6,66.2,62.4h6.4c-2.1-38.3-33.8-68.8-72.6-68.8 + s-70.5,30.5-72.6,68.8H43.7z"/> + <circle class="st0" cx="107.5" cy="114.9" r="6.7"/> + + <rect x="107.1" y="88.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -24.9453 120.6025)" class="st0" width="52" height="3.8"/> + <rect x="86.9" y="78" class="st0" width="9.2" height="9.2"/> + <rect x="97.6" y="78" class="st0" width="9.2" height="9.2"/> + <rect x="108.3" y="78" class="st0" width="9.2" height="9.2"/> + <rect x="118.9" y="78" class="st0" width="9.2" height="9.2"/> + <g> + <g> + <path class="st0" d="M35.1,153.7l-1.5,1.4c-1.1-1-2.2-1.8-3.5-2.4c-1.3-0.5-2.5-0.8-3.7-0.8c-1.5,0-2.9,0.4-4.2,1.1 + c-1.3,0.7-2.4,1.7-3.1,3c-0.7,1.2-1.1,2.6-1.1,4c0,1.4,0.4,2.8,1.1,4.1c0.8,1.3,1.8,2.3,3.2,3c1.3,0.7,2.8,1.1,4.4,1.1 + c1.9,0,3.6-0.5,4.9-1.6c1.3-1.1,2.1-2.5,2.4-4.3h-6v-1.8h8.2c0,2.9-0.9,5.2-2.6,7c-1.7,1.7-4,2.6-6.9,2.6 + c-3.5,0-6.3-1.2-8.3-3.6c-1.6-1.8-2.4-4-2.4-6.4c0-1.8,0.5-3.5,1.4-5c0.9-1.5,2.1-2.8,3.7-3.6c1.6-0.9,3.3-1.3,5.3-1.3 + c1.6,0,3.1,0.3,4.5,0.9C32.4,151.5,33.8,152.4,35.1,153.7z"/> + <path class="st0" d="M39.9,150.5h3.8c2.1,0,3.5,0.1,4.3,0.3c1.1,0.3,2,0.8,2.7,1.7c0.7,0.8,1.1,1.9,1.1,3.1 + c0,1-0.2,1.9-0.7,2.7c-0.5,0.8-1.2,1.4-2.1,1.8c-0.9,0.4-2.1,0.6-3.7,0.6l6.8,8.8h-2.3l-6.8-8.8h-1.1v8.8h-1.9V150.5z + M41.8,152.3v6.4l3.3,0c1.3,0,2.2-0.1,2.8-0.4c0.6-0.2,1.1-0.6,1.4-1.2c0.3-0.5,0.5-1.1,0.5-1.8c0-0.6-0.2-1.2-0.5-1.7 + s-0.8-0.9-1.4-1.1c-0.6-0.2-1.5-0.3-2.8-0.3H41.8z"/> + <path class="st0" d="M63.6,150.5l8.8,18.9h-2l-3-6.2h-8.2l-2.9,6.2h-2.1l8.9-18.9H63.6z M63.3,154.5l-3.2,6.9h6.5L63.3,154.5z" + /> + <path class="st0" d="M75.3,169.4v-18.9h3.9c2.8,0,4.9,0.2,6.2,0.7c1.8,0.6,3.3,1.8,4.3,3.3c1,1.6,1.6,3.5,1.6,5.7 + c0,1.9-0.4,3.6-1.2,5c-0.8,1.4-1.9,2.5-3.2,3.2c-1.3,0.7-3.1,1-5.5,1H75.3z M77.1,167.6h2.2c2.6,0,4.4-0.2,5.4-0.5 + c1.4-0.5,2.5-1.3,3.4-2.5c0.8-1.2,1.2-2.7,1.2-4.4c0-1.8-0.4-3.4-1.3-4.7c-0.9-1.3-2.1-2.2-3.7-2.7c-1.2-0.4-3.1-0.5-5.9-0.5 + h-1.3V167.6z"/> + <path class="st0" d="M95,150.5h10.9v1.9h-9v5.9h8.9v1.9h-8.9v7.4h8.9v1.9H95V150.5z"/> + </g> + </g> + <g> + <polygon class="st0" points="121.4,141.8 121.4,134.4 117.7,134.4 117.7,145.4 128.7,145.4 128.7,141.8 "/> + <polygon class="st0" points="136.1,127 117.7,127 117.7,132.6 121.4,132.6 121.4,130.7 132.4,130.7 132.4,141.8 130.6,141.8 + 130.6,145.4 136.1,145.4 "/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/agl_title_793x211.png b/app/images/agl_title_793x211.png Binary files differnew file mode 100644 index 0000000..5a183d2 --- /dev/null +++ b/app/images/agl_title_793x211.png diff --git a/app/images/fuel-icon.png b/app/images/fuel-icon.png Binary files differnew file mode 100644 index 0000000..70da758 --- /dev/null +++ b/app/images/fuel-icon.png diff --git a/app/images/images.qrc b/app/images/images.qrc new file mode 100644 index 0000000..9a8e2de --- /dev/null +++ b/app/images/images.qrc @@ -0,0 +1,32 @@ +<RCC> + <qresource prefix="/images"> + <file>agl_title_793x211.png</file> + <file>Utility_Logo_Grey-01.svg</file> + <file>fuel-icon.png</file> + <file>temperature-icon.png</file> + <file>AGL_Icons_ABS.svg</file> + <file>AGL_Icons_ABS_red.svg</file> + <file>AGL_Icons_ABS_yellow.svg</file> + <file>AGL_Icons_Battery.svg</file> + <file>AGL_Icons_Battery_red.svg</file> + <file>AGL_Icons_Battery_yellow.svg</file> + <file>AGL_Icons_Engine.svg</file> + <file>AGL_Icons_Engine_red.svg</file> + <file>AGL_Icons_Engine_yellow.svg</file> + <file>AGL_Icons_Lights.svg</file> + <file>AGL_Icons_Lights_red.svg</file> + <file>AGL_Icons_Lights_yellow.svg</file> + <file>AGL_Icons_Oil.svg</file> + <file>AGL_Icons_Oil_red.svg</file> + <file>AGL_Icons_Oil_yellow.svg</file> + <file>AGL_Icons_OpenDoor.svg</file> + <file>AGL_Icons_OpenDoor_red.svg</file> + <file>AGL_Icons_OpenDoor_yellow.svg</file> + <file>AGL_Icons_ParkingBrake.svg</file> + <file>AGL_Icons_ParkingBrake_red.svg</file> + <file>AGL_Icons_ParkingBrake_yellow.svg</file> + <file>AGL_Icons_Seatbelt.svg</file> + <file>AGL_Icons_Seatbelt_red.svg</file> + <file>AGL_Icons_Seatbelt_yellow.svg</file> + </qresource> +</RCC> diff --git a/app/images/temperature-icon.png b/app/images/temperature-icon.png Binary files differnew file mode 100644 index 0000000..5a4334e --- /dev/null +++ b/app/images/temperature-icon.png diff --git a/app/main.cpp b/app/main.cpp new file mode 100644 index 0000000..a7c832c --- /dev/null +++ b/app/main.cpp @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * Copyright (C) 2018 Konsulko Group + * Copyright (C) 2019 FUJITSU LIMITED + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <QtCore/QDebug> +#include <QtGui/QGuiApplication> +#include <QtCore/QUrl> + +#include <QtQml/QQmlApplicationEngine> + +#define DEFAULT_QT_QPA_PLATFORM "eglfs" +#define DEFAULT_EGLFS_CONFIG_FILE "/etc/kms.conf" + +int main(int argc, char *argv[]) +{ + int i; + for (i = 1; i < argc; i++) { + if (!argv[i] || *argv[i] != '-') + continue; + const char *arg = argv[i]; + if (arg[1] == '-') // startsWith("--") + ++arg; + if (strcmp(arg, "-platform") == 0) + break; + } + + /* Using "eglfs" as default if QT_QPA_PLATFORM is not set. */ + QByteArray platformNameEnv = qgetenv("QT_QPA_PLATFORM"); + if (platformNameEnv.isEmpty() && i == argc) { + qputenv("QT_QPA_PLATFORM", DEFAULT_QT_QPA_PLATFORM); + } + + /* Using "/etc/kms.conf" as default if QT_QPA_EGLFS_KMS_CONFIG/QT_QPA_KMS_CONFIG are not set. */ + if (qgetenv("QT_QPA_KMS_CONFIG").isEmpty() && + qgetenv("QT_QPA_EGLFS_KMS_CONFIG").isEmpty()) { + qputenv("QT_QPA_EGLFS_KMS_CONFIG", DEFAULT_EGLFS_CONFIG_FILE); + } + + /* FIXTHIS: socket cannot be created successfully in '/run/user/0'. */ + qputenv("XDG_RUNTIME_DIR", "/run/platform/display"); + + QGuiApplication app(argc, argv); + QQmlApplicationEngine appEngine(QUrl("qrc:///cluster-gauges.qml")); + + return app.exec(); +} |