diff options
Diffstat (limited to 'app')
43 files changed, 2336 insertions, 0 deletions
diff --git a/app/HVAC.qml b/app/HVAC.qml new file mode 100644 index 0000000..55251c7 --- /dev/null +++ b/app/HVAC.qml @@ -0,0 +1,176 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * Copyright (c) 2019 TOYOTA MOTOR CORPORATION + * + * 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. + */ + +import QtQuick 2.6 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 +import AGL.Demo.Controls 1.0 +import Translator 1.0 +import 'api' as API + +ApplicationWindow { + id: root + + width: container.width * container.scale + height: container.height * container.scale + + Translator { + id: translator + language: binding.language + } + + API.Binding { + id: binding + url: bindingAddress + onFanSpeedChanged: fanSpeedSlider.value = fanSpeed + onLanguageChanged: translator.language = language + } + + Item { + id: container +// anchors.centerIn: parent + x: 555 + y: -465 + width: 720 + height: 1920 + rotation: -90 + scale: screenInfo.scale_factor() + + ColumnLayout { + anchors.fill: parent + anchors.topMargin: width / 10 + anchors.bottomMargin: width / 10 + + RowLayout { + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter + Image { + source: './images/HMI_HVAC_Fan_Icon.svg' + } + Item { + width: container.width * 0.8 + Slider { + id: fanSpeedSlider + anchors.left: parent.left + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + from: 0.0 + to: 255.0 + stepSize: 1.0 + onValueChanged: { + binding.fanSpeed = value + } + } + Label { + anchors.left: fanSpeedSlider.left + anchors.top: fanSpeedSlider.bottom + font.pixelSize: 32 + text: translator.translate(qsTr('FAN SPEED'), translator.language) + } + } + } + RowLayout { + Layout.fillHeight: true + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + rotation: 90 + spacing: 20 + ColumnLayout { + Layout.fillWidth: true + spacing: 20 + SeatHeatButton { + id: leftSeat + side: 'Left' + } + HeatDegree { + onCurrentItemChanged: { + console.log("Left Temp changed",degree) + binding.leftTemperature = degree + } + } + } + ColumnLayout { + Layout.fillWidth: true + spacing: 20 + ToggleButton { + onImage: './images/HMI_HVAC_Active.svg' + offImage: './images/HMI_HVAC_Inactive.svg' + Label { + anchors.centerIn: parent + color: parent.checked ? '#00ADDC' : '#848286' + text: translator.translate(qsTr('A/C'), translator.language) + font.pixelSize: parent.height / 3 + } + onCheckedChanged: { + console.debug('A/C', checked) + } + } + ToggleButton { + onImage: './images/HMI_HVAC_Active.svg' + offImage: './images/HMI_HVAC_Inactive.svg' + Label { + anchors.centerIn: parent + color: parent.checked ? '#00ADDC' : '#848286' + text: translator.translate(qsTr('AUTO'), translator.language) + font.pixelSize: parent.height / 3 + } + onCheckedChanged: { + console.debug('AUTO', checked) + } + } + ToggleButton { + onImage: './images/HMI_HVAC_Circulation_Active.svg' + offImage: './images/HMI_HVAC_Circulation_Inactive.svg' + onCheckedChanged: { + console.debug('Circulation', checked) + } + } + } + + ColumnLayout { + Layout.fillWidth: true + spacing: 20 + SeatHeatButton { + id: rightSeat + side: 'Right' + } + HeatDegree { + onCurrentItemChanged: { + console.log("Right Temp changed",degree) + binding.rightTemperature = degree + } + } + } + } + RowLayout { + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter + Repeater { + model: ['AirDown', 'AirUp', 'AirRight', 'Rear', 'Front'] + ToggleButton { + onImage: './images/HMI_HVAC_%1_Active.svg'.arg(model.modelData) + offImage: './images/HMI_HVAC_%1_Inactive.svg'.arg(model.modelData) + rotation: 90 + onCheckedChanged: { + console.debug(model.modelData, checked) + } + } + } + } + } +} +} diff --git a/app/HeatDegree.qml b/app/HeatDegree.qml new file mode 100644 index 0000000..a9bc83c --- /dev/null +++ b/app/HeatDegree.qml @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * 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. + */ + +import QtQuick 2.6 +import QtQuick.Controls 2.0 + +ListView { + id: root + clip: true + width: 318 + height: 219 * 2 + 20 + spacing: 20 + opacity: enabled ? 1 : 0.5 + + property int degree: currentIndex > -1 ? model.get(currentIndex).value : -1 + model: ListModel { + Component.onCompleted: { + append({value: 15, modelData: translator.translate(qsTr('LO'), translator.language)}) + for (var d = 16; d < 30; d++) { + append({value: d, modelData: translator.translate(qsTr('%1\u00b0'), translator.language).arg(d.toFixed(0))}) + } + append({value: 30, modelData: translator.translate(qsTr('HI'), translator.language)}) + } + } + delegate: Label { + width: ListView.view.width + height: 219 + horizontalAlignment: Label.AlignHCenter + verticalAlignment: Label.AlignVCenter + text: model.modelData + font.pixelSize: height * 0.7 + color: (ListView.view.enabled && ListView.isCurrentItem) ? '#00ADDC' : 'white' + } + + preferredHighlightBegin: 0.5 + preferredHighlightEnd: 0.5 + highlightRangeMode: ListView.StrictlyEnforceRange + highlight: Rectangle { + color: 'white' + opacity: 0.2 + } +} diff --git a/app/SeatHeatButton.qml b/app/SeatHeatButton.qml new file mode 100644 index 0000000..3495cf6 --- /dev/null +++ b/app/SeatHeatButton.qml @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * 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. + */ + +import QtQuick 2.6 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 +import AGL.Demo.Controls 1.0 + + +Item { + id: root + implicitWidth: 318 + implicitHeight: 219 + + property string side: 'Left' + property int headLevel: 0 + + Column { + id: background + anchors.centerIn: parent + Image { + id: chair + source: './images/HMI_HVAC_%1_Chair_OFF.svg'.arg(root.side) + states: [ + State { + when: root.headLevel > 0 + PropertyChanges { + target: chair + source: './images/HMI_HVAC_%1_Chair_ON.svg'.arg(root.side) + } + } + ] + } + Image { + id: indicator + width: 178 + height: 18 + source: './images/HMI_HVAC_ChairIndicator_OFF.svg' + states: [ + State { + when: root.headLevel === 1 + PropertyChanges { + target: indicator + source: './images/HMI_HVAC_ChairIndicator_One.svg' + } + }, + State { + when: root.headLevel === 2 + PropertyChanges { + target: indicator + source: './images/HMI_HVAC_ChairIndicator_Two.svg' + } + } + ] + } + + } + + MouseArea { + anchors.fill: parent + onClicked: { + root.headLevel = (root.headLevel + 1) % 3 + } + } +} diff --git a/app/api/Binding.qml b/app/api/Binding.qml new file mode 100644 index 0000000..2d88087 --- /dev/null +++ b/app/api/Binding.qml @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * 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. + */ + +import QtQuick 2.6 +import QtWebSockets 1.0 +import 'MessageId.js' as MessageId + +WebSocket { + id: root + active: true + + property string statusString: "waiting..." + + property real fanSpeed: 0.0 + property real leftTemperature: 21.0 + property real rightTemperature: 21.0 + property string language: "en_US" + + property Connections c : Connections { + target: root + onFanSpeedChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'FanSpeed': fanSpeed}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) + } + onLeftTemperatureChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'LeftTemperature': leftTemperature}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) + + var json1 = [MessageId.call, '9999', 'hvac/temp_left_zone_led', {'LeftLed': leftTemperature}] + console.debug(JSON.stringify(json1)) + sendTextMessage(JSON.stringify(json1)) + } + onRightTemperatureChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'RightTemperature': rightTemperature}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) + + var json1 = [MessageId.call, '9999', 'hvac/temp_right_zone_led', {'RightLed': rightTemperature}] + console.debug(JSON.stringify(json1)) + sendTextMessage(JSON.stringify(json1)) + } + onLanguageChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'Language': language}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) + } + } + + onTextMessageReceived: { + var json = JSON.parse(message) + var request = json[2].request + var response = json[2].response + console.log("HVAC Binding Message: ",message) + switch (json[0]) { + case MessageId.call: + break + case MessageId.retok: + root.statusString = request.status + break + case MessageId.reterr: + root.statusString = "Bad return value, binding probably not installed" + break + case MessageId.event: + if (json[1] == "hvac/language") + console.log("HVAC event received: ",json[2]) + root.language = json[2].data + root.statusString = "Language changed to "+language + break + } + } + onStatusChanged: { + switch (status) { + case WebSocket.Error: + root.statusString = "WebSocket error: " + root.errorString + break + } + } +} diff --git a/app/api/MessageId.js b/app/api/MessageId.js new file mode 100644 index 0000000..001ea93 --- /dev/null +++ b/app/api/MessageId.js @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * 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. + */ + +.pragma library + +var call = 2 +var retok = 3 +var reterr = 4 +var event = 5 diff --git a/app/app.pri b/app/app.pri new file mode 100644 index 0000000..590c154 --- /dev/null +++ b/app/app.pri @@ -0,0 +1,20 @@ +TEMPLATE = app + +load(configure) + +qtCompileTest(libhomescreen) +qtCompileTest(qlibwindowmanager) + +config_libhomescreen { + CONFIG += link_pkgconfig + PKGCONFIG += libhomescreen + DEFINES += HAVE_LIBHOMESCREEN +} + +config_qlibwindowmanager { + CONFIG += link_pkgconfig + PKGCONFIG += qlibwindowmanager + DEFINES += HAVE_QLIBWINDOWMANAGER +} + +DESTDIR = $${OUT_PWD}/../package/root/bin diff --git a/app/app.pro b/app/app.pro new file mode 100644 index 0000000..edd08aa --- /dev/null +++ b/app/app.pro @@ -0,0 +1,17 @@ +TARGET = hvac +QT = quick qml + +HEADERS += \ + translator.h + +SOURCES = main.cpp \ + translator.cpp + +RESOURCES += \ + hvac.qrc \ + images/images.qrc + +include(app.pri) + +LANGUAGES = ja_JP fr_FR +include(translations.pri) diff --git a/app/config.tests/libhomescreen/libhomescreen.cpp b/app/config.tests/libhomescreen/libhomescreen.cpp new file mode 100644 index 0000000..d698b05 --- /dev/null +++ b/app/config.tests/libhomescreen/libhomescreen.cpp @@ -0,0 +1,8 @@ +#include <libhomescreen.hpp> + +int main(int argc,char **argv) +{ + LibHomeScreen libHomeScreen; + return 0; +} + diff --git a/app/config.tests/libhomescreen/libhomescreen.pro b/app/config.tests/libhomescreen/libhomescreen.pro new file mode 100644 index 0000000..7d43112 --- /dev/null +++ b/app/config.tests/libhomescreen/libhomescreen.pro @@ -0,0 +1,5 @@ +SOURCES = libhomescreen.cpp + +CONFIG -= qt +CONFIG += link_pkgconfig +PKGCONFIG += libhomescreen diff --git a/app/config.tests/libhomescreen/pkg-config_wrapper.sh b/app/config.tests/libhomescreen/pkg-config_wrapper.sh new file mode 100755 index 0000000..756b922 --- /dev/null +++ b/app/config.tests/libhomescreen/pkg-config_wrapper.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PKG_CONFIG_SYSROOT_DIR=/home/tte/work/sdk/sysroots/aarch64-agl-linux +export PKG_CONFIG_SYSROOT_DIR +PKG_CONFIG_LIBDIR=/home/tte/work/sdk/sysroots/aarch64-agl-linux/usr/lib/pkgconfig:/home/tte/work/sdk/sysroots/aarch64-agl-linux/usr/share/pkgconfig:/home/tte/work/sdk/sysroots/aarch64-agl-linux/usr/lib/aarch64-agl-linux/pkgconfig +export PKG_CONFIG_LIBDIR +exec pkg-config "$@" diff --git a/app/config.tests/qlibwindowmanager/pkg-config_wrapper.sh b/app/config.tests/qlibwindowmanager/pkg-config_wrapper.sh new file mode 100755 index 0000000..756b922 --- /dev/null +++ b/app/config.tests/qlibwindowmanager/pkg-config_wrapper.sh @@ -0,0 +1,6 @@ +#!/bin/sh +PKG_CONFIG_SYSROOT_DIR=/home/tte/work/sdk/sysroots/aarch64-agl-linux +export PKG_CONFIG_SYSROOT_DIR +PKG_CONFIG_LIBDIR=/home/tte/work/sdk/sysroots/aarch64-agl-linux/usr/lib/pkgconfig:/home/tte/work/sdk/sysroots/aarch64-agl-linux/usr/share/pkgconfig:/home/tte/work/sdk/sysroots/aarch64-agl-linux/usr/lib/aarch64-agl-linux/pkgconfig +export PKG_CONFIG_LIBDIR +exec pkg-config "$@" diff --git a/app/config.tests/qlibwindowmanager/qlibwindowmanager.cpp b/app/config.tests/qlibwindowmanager/qlibwindowmanager.cpp new file mode 100644 index 0000000..bb95c93 --- /dev/null +++ b/app/config.tests/qlibwindowmanager/qlibwindowmanager.cpp @@ -0,0 +1,8 @@ +#include <qlibwindowmanager.h> + +int main(int argc,char **argv) +{ + QLibWindowmanager qwm; + return 0; +} + diff --git a/app/config.tests/qlibwindowmanager/qlibwindowmanager.pro b/app/config.tests/qlibwindowmanager/qlibwindowmanager.pro new file mode 100644 index 0000000..cb51d98 --- /dev/null +++ b/app/config.tests/qlibwindowmanager/qlibwindowmanager.pro @@ -0,0 +1,5 @@ +SOURCES = qlibwindowmanager.cpp + +CONFIG += qt +CONFIG += link_pkgconfig +PKGCONFIG += qlibwindowmanager diff --git a/app/hvac.qrc b/app/hvac.qrc new file mode 100644 index 0000000..6327049 --- /dev/null +++ b/app/hvac.qrc @@ -0,0 +1,9 @@ +<RCC> + <qresource prefix="/"> + <file>HVAC.qml</file> + <file>SeatHeatButton.qml</file> + <file>HeatDegree.qml</file> + <file>api/Binding.qml</file> + <file>api/MessageId.js</file> + </qresource> +</RCC> diff --git a/app/images/HMI_HVAC_Active.svg b/app/images/HMI_HVAC_Active.svg new file mode 100644 index 0000000..71e6aa0 --- /dev/null +++ b/app/images/HMI_HVAC_Active.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 318 219" + style="enable-background:new 0 0 318 219;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{font-family:'Roboto-Light';} + .st2{font-size:88.6888px;} + .st3{letter-spacing:3;} + .st4{letter-spacing:-3;} + .st5{fill:none;stroke:url(#SVGID_1_);stroke-miterlimit:10;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="20.6039" y1="240.7292" x2="297.3961" y2="-21.7292"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <rect x="0.5" y="0.5" class="st5" width="317" height="218"/> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_AirDown_Active.svg b/app/images/HMI_HVAC_AirDown_Active.svg new file mode 100644 index 0000000..85dd533 --- /dev/null +++ b/app/images/HMI_HVAC_AirDown_Active.svg @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 140 140" + style="enable-background:new 0 0 140 140;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#SVGID_1_);} + .st1{fill:url(#SVGID_2_);} + .st2{fill:url(#SVGID_3_);} + .st3{fill:url(#SVGID_4_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-30.516" y1="171.1865" x2="175.7655" y2="-26.5646" gradientTransform="matrix(1 5.464556e-03 -5.464556e-03 1 -2.5085 -2.852)"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#0DF9FF"/> + </linearGradient> + <path class="st0" d="M70.1,138.1c-0.1,0-0.3,0-0.4,0C31.9,137.9,1.3,107,1.5,69.2C1.7,31.5,32.4,1,70,1c0.1,0,0.3,0,0.4,0 + c37.8,0.2,68.4,31.1,68.2,68.9l0,0C138.4,107.6,107.7,138.1,70.1,138.1z M70,3.4C33.7,3.4,4.1,32.8,3.9,69.2 + c-0.2,36.5,29.3,66.3,65.8,66.5c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.8c0.2-36.5-29.3-66.3-65.8-66.5 + C70.3,3.4,70.2,3.4,70,3.4z"/> + </g> + <g> + <g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-101.4773" y1="281.1379" x2="140.6279" y2="12.7169"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st1" d="M96.9,64.7c-3.4-1.7-7.5-0.3-9.2,3.1l-10,19.9l-20.2-5.2c-2-0.5-4,0.2-5.2,1.9l-15.4,20.9 + c-1.6,2.2-1.2,5.3,1.1,6.9c0.9,0.7,1.9,1,2.9,1c1.5,0,3-0.7,4-2L58.3,93l21.3,5.5c0.1,0.1,0.2,0.1,0.4,0.2 + c1,0.5,2,0.7,3.1,0.7c2.5,0,5-1.4,6.2-3.8L100,74C101.7,70.6,100.4,66.4,96.9,64.7z"/> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-105.1744" y1="277.8033" x2="136.9309" y2="9.3823"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <circle class="st2" cx="97.3" cy="53.4" r="8.3"/> + </g> + </g> + </g> + <g> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-131.1376" y1="254.3855" x2="110.9676" y2="-14.0356"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st3" d="M52.2,72.4c-0.4,0-0.7-0.1-0.9-0.4L37.9,57.8c-0.4-0.4-0.7-1.3-0.1-1.9l0.3-0.3h8.9V34.9 + c0-0.8,0.6-1.4,1.4-1.4h8c0.8,0,1.4,0.6,1.4,1.4v21.6h-0.5v1h-1.5v-22h-6.9v22h-8.5l11.8,12.5l11.9-12.6v-1.9h2l0.3,0.3 + c0.4,0.4,0.7,1.4,0.1,2L53.2,72C52.9,72.2,52.6,72.4,52.2,72.4z M65.1,56.4C65.1,56.4,65.1,56.4,65.1,56.4L65.1,56.4z + M39.4,56.4L39.4,56.4C39.4,56.4,39.4,56.4,39.4,56.4z"/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_AirDown_Inactive.svg b/app/images/HMI_HVAC_AirDown_Inactive.svg new file mode 100644 index 0000000..a013f4b --- /dev/null +++ b/app/images/HMI_HVAC_AirDown_Inactive.svg @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 140 140" + style="enable-background:new 0 0 140 140;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_AirDown_Inactive.svg"><metadata + id="metadata27"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs25" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview23" + showgrid="false" + inkscape:zoom="1.6857143" + inkscape:cx="-188.94068" + inkscape:cy="70" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:#848286;} + .st1{fill:none;stroke:#848286;stroke-width:2;stroke-miterlimit:10;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><path + class="st0" + d="M70,138c-0.1,0-0.3,0-0.4,0c-37.8-0.2-68.3-31.1-68.1-68.9C1.7,31.5,32.4,1,70,1c0.1,0,0.3,0,0.4,0 c37.8,0.2,68.3,31.1,68.1,68.9l0,0C138.3,107.5,107.6,138,70,138z M70,3.4C33.7,3.4,4.1,32.8,3.9,69.1 c-0.2,36.4,29.3,66.3,65.7,66.5c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.7c0.2-36.4-29.3-66.3-65.7-66.5 C70.2,3.4,70.1,3.4,70,3.4z" + id="path11" /></g><g + id="g13"><g + id="g15"><path + class="st0" + d="M96.9,64.7c-3.4-1.7-7.5-0.3-9.2,3.1l-10,19.9l-20.2-5.2c-2-0.5-4,0.2-5.2,1.9l-15.4,20.9 c-1.6,2.2-1.2,5.3,1.1,6.9c0.9,0.7,1.9,1,2.9,1c1.5,0,3-0.7,4-2l13.4-18.2l21.3,5.5c0.1,0.1,0.2,0.1,0.4,0.2 c1,0.5,2,0.7,3.1,0.7c2.5,0,5-1.4,6.2-3.8L100,73.9C101.7,70.5,100.3,66.4,96.9,64.7z" + id="path17" /><circle + class="st0" + cx="97.2" + cy="53.3" + r="8.3" + id="circle19" /></g></g><path + class="st1" + d="M57.3,56.5h-0.5V34.9c0-0.2-0.2-0.4-0.4-0.4h-8c-0.2,0-0.4,0.2-0.4,0.4v21.6h-9.4c-0.1,0.1,0,0.4,0.1,0.6 L52,71.3c0.1,0.1,0.3,0.1,0.4,0l13.4-14.2c0.1-0.1,0-0.4-0.1-0.6h-1.6" + id="path21" /></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_AirRight_Active.svg b/app/images/HMI_HVAC_AirRight_Active.svg new file mode 100644 index 0000000..cfb9452 --- /dev/null +++ b/app/images/HMI_HVAC_AirRight_Active.svg @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 140 140" + style="enable-background:new 0 0 140 140;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#SVGID_1_);} + .st1{fill:url(#SVGID_2_);} + .st2{fill:url(#SVGID_3_);} + .st3{fill:url(#SVGID_4_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-12.9122" y1="161.8499" x2="136.9379" y2="-4.2002"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st0" d="M70,138.5c-0.1,0-0.3,0-0.4,0c-18.3-0.1-35.5-7.3-48.3-20.3C8.4,105.2,1.4,87.9,1.5,69.6 + c0.1-18.3,7.3-35.5,20.3-48.3C34.7,8.5,51.8,1.5,70,1.5c0.1,0,0.3,0,0.4,0c18.3,0.1,35.5,7.3,48.3,20.3 + c12.9,13,19.9,30.2,19.8,48.5l0,0C138.3,108,107.6,138.5,70,138.5z M70,3.9c-17.5,0-34,6.8-46.5,19.1C11,35.4,4,52,3.9,69.6 + c-0.1,17.7,6.7,34.3,19.1,46.8s29,19.5,46.6,19.6c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.7c0.1-17.7-6.7-34.3-19.1-46.8 + C104.6,11,88,4,70.4,3.9C70.2,3.9,70.1,3.9,70,3.9z"/> + </g> + <g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-2.2981" y1="171.5389" x2="147.6513" y2="5.3788"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st1" d="M96.9,65.2c-3.4-1.7-7.5-0.3-9.2,3.1l-10,19.9L57.5,83c-2-0.5-4,0.2-5.2,1.9l-15.4,20.9 + c-1.6,2.2-1.2,5.3,1.1,6.9c0.9,0.7,1.9,1,2.9,1c1.5,0,3-0.7,4-2l13.4-18.2l21.3,5.5c0.1,0.1,0.2,0.1,0.4,0.2 + c1,0.5,2,0.7,3.1,0.7c2.5,0,5-1.4,6.2-3.8L100,74.4C101.7,71,100.3,66.9,96.9,65.2z"/> + </g> + </g> + <g> + <g> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-6.0031" y1="168.1953" x2="143.9462" y2="2.0352"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <circle class="st2" cx="97.2" cy="53.8" r="8.3"/> + </g> + </g> + <g> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-32.1525" y1="144.5971" x2="117.7968" y2="-21.563"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st3" d="M55.9,68.3c-0.4,0-0.7-0.1-1-0.4l-0.4-0.4v-8.7H34.1c-0.9,0-1.6-0.7-1.6-1.6v-8c0-0.9,0.7-1.6,1.6-1.6h21.6 + v0.7h1.2v1.7h-22v6.5h22v8.3l12-11.3L56.3,41.4h-1.8v-2.1l0.4-0.4c0.6-0.5,1.6-0.7,2.2-0.1l14.2,13.4c0.3,0.3,0.5,0.7,0.5,1.1 + s-0.2,0.8-0.5,1.1L57.1,67.8C56.8,68.1,56.3,68.3,55.9,68.3z M55.5,66.1C55.5,66.1,55.5,66.1,55.5,66.1L55.5,66.1z M55.5,40.6 + C55.5,40.6,55.5,40.6,55.5,40.6L55.5,40.6z"/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_AirRight_Inactive.svg b/app/images/HMI_HVAC_AirRight_Inactive.svg new file mode 100644 index 0000000..991a773 --- /dev/null +++ b/app/images/HMI_HVAC_AirRight_Inactive.svg @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 140 140" + style="enable-background:new 0 0 140 140;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_AirRight_Inactive.svg"><metadata + id="metadata35"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs33" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview31" + showgrid="false" + inkscape:zoom="1.6857143" + inkscape:cx="-212.9661" + inkscape:cy="70" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:#848286;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><g + id="g11"><path + class="st0" + d="M70,138.5c-0.1,0-0.3,0-0.4,0c-18.3-0.1-35.5-7.3-48.3-20.3C8.4,105.2,1.4,87.9,1.5,69.6 c0.1-18.3,7.3-35.5,20.3-48.3C34.7,8.5,51.8,1.5,70,1.5c0.1,0,0.3,0,0.4,0c18.3,0.1,35.5,7.3,48.3,20.3 c12.9,13,19.9,30.2,19.8,48.5l0,0C138.3,108,107.6,138.5,70,138.5z M70,3.9c-17.5,0-34,6.8-46.5,19.1C11,35.4,4,52,3.9,69.6 c-0.1,17.7,6.7,34.3,19.1,46.8s29,19.5,46.6,19.6c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.7c0.1-17.7-6.7-34.3-19.1-46.8 C104.6,11,88,4,70.4,3.9C70.2,3.9,70.1,3.9,70,3.9z" + id="path13" /></g><g + id="g15"><g + id="g17"><path + class="st0" + d="M96.9,65.2c-3.4-1.7-7.5-0.3-9.2,3.1l-10,19.9L57.5,83c-2-0.5-4,0.2-5.2,1.9l-15.4,20.9 c-1.6,2.2-1.2,5.3,1.1,6.9c0.9,0.7,1.9,1,2.9,1c1.5,0,3-0.7,4-2l13.4-18.2l21.3,5.5c0.1,0.1,0.2,0.1,0.4,0.2 c1,0.5,2,0.7,3.1,0.7c2.5,0,5-1.4,6.2-3.8L100,74.4C101.7,71,100.3,66.9,96.9,65.2z" + id="path19" /></g></g><g + id="g21"><g + id="g23"><circle + class="st0" + cx="97.2" + cy="53.8" + r="8.3" + id="circle25" /></g></g><g + id="g27"><path + class="st0" + d="M55.9,68.3c-0.4,0-0.7-0.1-1-0.4l-0.4-0.4v-8.7H34.1c-0.9,0-1.6-0.7-1.6-1.6v-8c0-0.9,0.7-1.6,1.6-1.6h21.6 v0.7h1.2v1.7h-22v6.5h22v8.3l12-11.3L56.3,41.4h-1.8v-2.1l0.4-0.4c0.6-0.5,1.6-0.7,2.2-0.1l14.2,13.4c0.3,0.3,0.5,0.7,0.5,1.1 s-0.2,0.8-0.5,1.1L57.1,67.8C56.8,68.1,56.3,68.3,55.9,68.3z M55.5,66.1C55.5,66.1,55.5,66.1,55.5,66.1L55.5,66.1z M55.5,40.6 C55.5,40.6,55.5,40.6,55.5,40.6L55.5,40.6z" + id="path29" /></g></g></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_AirUp_Active.svg b/app/images/HMI_HVAC_AirUp_Active.svg new file mode 100644 index 0000000..f168a39 --- /dev/null +++ b/app/images/HMI_HVAC_AirUp_Active.svg @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 140 140" + style="enable-background:new 0 0 140 140;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#SVGID_1_);} + .st1{fill:url(#SVGID_2_);} + .st2{fill:url(#SVGID_3_);} + .st3{fill:url(#SVGID_4_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="13.3039" y1="158.6924" x2="149.6532" y2="-54.6065"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st0" d="M70,138.5c-0.1,0-0.3,0-0.4,0c-37.8-0.2-68.3-31.1-68.1-68.9C1.7,32,32.4,1.5,70,1.5c0.1,0,0.3,0,0.4,0 + c37.8,0.2,68.3,31.1,68.1,68.9l0,0C138.3,108,107.6,138.5,70,138.5z M70,3.9C33.7,3.9,4.1,33.3,3.9,69.6 + c-0.2,36.4,29.3,66.3,65.7,66.5c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.7c0.2-36.4-29.3-66.3-65.7-66.5 + C70.2,3.9,70.1,3.9,70,3.9z"/> + </g> + </g> + <g> + <g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="22.352" y1="164.5598" x2="158.7924" y2="-48.8816"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st1" d="M96.9,65.2c-3.4-1.7-7.5-0.3-9.2,3.1l-10,19.9L57.5,83c-2-0.5-4,0.2-5.2,1.9l-15.4,20.9 + c-1.6,2.2-1.2,5.3,1.1,6.9c0.9,0.7,1.9,1,2.9,1c1.5,0,3-0.7,4-2l13.4-18.2l21.3,5.5c0.1,0.1,0.2,0.1,0.4,0.2 + c1,0.5,2,0.7,3.1,0.7c2.5,0,5-1.4,6.2-3.8L100,74.4C101.7,71,100.3,66.9,96.9,65.2z"/> + </g> + </g> + <g> + <g> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="25.2431" y1="166.4079" x2="161.6835" y2="-47.0335"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <circle class="st2" cx="97.2" cy="53.8" r="8.3"/> + </g> + </g> + </g> + <g> + <g> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-7.1392" y1="145.7078" x2="129.3011" y2="-67.7336"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st3" d="M55.9,73h-8c-0.9,0-1.6-0.7-1.6-1.6V49.8h0.7v-1.2h1.7v22h6.5v-22h8.3l-11.3-12L40.2,49.2V51h-2.1 + l-0.4-0.4c-0.5-0.6-0.7-1.6-0.1-2.2L51,34.2c0.3-0.3,0.7-0.5,1.1-0.5c0,0,0,0,0,0c0.4,0,0.8,0.2,1.1,0.5l13.4,14.2 + c0.5,0.6,0.7,1.6,0.1,2.2L66.3,51h-8.7v20.4C57.5,72.3,56.8,73,55.9,73z M64.8,50.1C64.8,50.1,64.8,50.1,64.8,50.1L64.8,50.1z + M39.4,50L39.4,50C39.4,50.1,39.4,50.1,39.4,50z"/> + </g> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_AirUp_Inactive.svg b/app/images/HMI_HVAC_AirUp_Inactive.svg new file mode 100644 index 0000000..39e1fa1 --- /dev/null +++ b/app/images/HMI_HVAC_AirUp_Inactive.svg @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 140 140" + style="enable-background:new 0 0 140 140;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_AirUp_Inactive.svg"><metadata + id="metadata41"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs39" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview37" + showgrid="false" + inkscape:zoom="1.6857143" + inkscape:cx="-186.5678" + inkscape:cy="70" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:#848286;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><g + id="g11"><g + id="g13"><path + class="st0" + d="M70,138.5c-0.1,0-0.3,0-0.4,0c-37.8-0.2-68.3-31.1-68.1-68.9C1.7,32,32.4,1.5,70,1.5c0.1,0,0.3,0,0.4,0 c37.8,0.2,68.3,31.1,68.1,68.9l0,0C138.3,108,107.6,138.5,70,138.5z M70,3.9C33.7,3.9,4.1,33.3,3.9,69.6 c-0.2,36.4,29.3,66.3,65.7,66.5c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.7c0.2-36.4-29.3-66.3-65.7-66.5 C70.2,3.9,70.1,3.9,70,3.9z" + id="path15" /></g></g><g + id="g17"><g + id="g19"><g + id="g21"><path + class="st0" + d="M96.9,65.2c-3.4-1.7-7.5-0.3-9.2,3.1l-10,19.9L57.5,83c-2-0.5-4,0.2-5.2,1.9l-15.4,20.9 c-1.6,2.2-1.2,5.3,1.1,6.9c0.9,0.7,1.9,1,2.9,1c1.5,0,3-0.7,4-2l13.4-18.2l21.3,5.5c0.1,0.1,0.2,0.1,0.4,0.2 c1,0.5,2,0.7,3.1,0.7c2.5,0,5-1.4,6.2-3.8L100,74.4C101.7,71,100.3,66.9,96.9,65.2z" + id="path23" /></g></g><g + id="g25"><g + id="g27"><circle + class="st0" + cx="97.2" + cy="53.8" + r="8.3" + id="circle29" /></g></g></g><g + id="g31"><g + id="g33"><path + class="st0" + d="M55.9,73h-8c-0.9,0-1.6-0.7-1.6-1.6V49.8h0.7v-1.2h1.7v22h6.5v-22h8.3l-11.3-12L40.2,49.2V51h-2.1 l-0.4-0.4c-0.5-0.6-0.7-1.6-0.1-2.2L51,34.2c0.3-0.3,0.7-0.5,1.1-0.5c0,0,0,0,0,0c0.4,0,0.8,0.2,1.1,0.5l13.4,14.2 c0.5,0.6,0.7,1.6,0.1,2.2L66.3,51h-8.7v20.4C57.5,72.3,56.8,73,55.9,73z M64.8,50.1C64.8,50.1,64.8,50.1,64.8,50.1L64.8,50.1z M39.4,50L39.4,50C39.4,50.1,39.4,50.1,39.4,50z" + id="path35" /></g></g></g></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_ChairIndicator_OFF.svg b/app/images/HMI_HVAC_ChairIndicator_OFF.svg new file mode 100644 index 0000000..1fcd17f --- /dev/null +++ b/app/images/HMI_HVAC_ChairIndicator_OFF.svg @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 178 18" + style="enable-background:new 0 0 178 18;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_ChairIndicator_OFF.svg"><metadata + id="metadata21"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs19" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview17" + showgrid="false" + inkscape:zoom="3.7752809" + inkscape:cx="-7.4166667" + inkscape:cy="9" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{opacity:0.8;fill:#1B1A1D;} + .st1{fill:none;stroke:#848286;stroke-miterlimit:10;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><rect + x="7.2" + y="4.2" + class="st0" + width="78.6" + height="9.6" + id="rect9" /><rect + x="7.2" + y="4.2" + class="st1" + width="78.6" + height="9.6" + id="rect11" /><rect + x="92.2" + y="4.2" + class="st0" + width="78.6" + height="9.6" + id="rect13" /><rect + x="92.2" + y="4.2" + class="st1" + width="78.6" + height="9.6" + id="rect15" /></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_ChairIndicator_One.svg b/app/images/HMI_HVAC_ChairIndicator_One.svg new file mode 100644 index 0000000..d560c84 --- /dev/null +++ b/app/images/HMI_HVAC_ChairIndicator_One.svg @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 178 18" + style="enable-background:new 0 0 178 18;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{opacity:0.8;fill:#1B1A1D;} + .st2{fill:none;stroke:#0DF9FF;stroke-miterlimit:10;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <rect x="7.2" y="4.2" class="st0" width="78.6" height="9.6"/> + <rect x="92.2" y="4.2" class="st1" width="78.6" height="9.6"/> + <rect x="92.2" y="4.2" class="st2" width="78.6" height="9.6"/> + </g> + <rect x="7.2" y="4.2" class="st2" width="78.6" height="9.6"/> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_ChairIndicator_Two.svg b/app/images/HMI_HVAC_ChairIndicator_Two.svg new file mode 100644 index 0000000..b31cc90 --- /dev/null +++ b/app/images/HMI_HVAC_ChairIndicator_Two.svg @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 178 18" + style="enable-background:new 0 0 178 18;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{fill:none;stroke:#0DF9FF;stroke-miterlimit:10;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <rect x="7.2" y="4.2" class="st0" width="78.6" height="9.6"/> + <rect x="92.2" y="4.2" class="st0" width="78.6" height="9.6"/> + <rect x="92.2" y="4.2" class="st1" width="78.6" height="9.6"/> + </g> + <rect x="7.2" y="4.2" class="st1" width="78.6" height="9.6"/> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_Circulation_Active.svg b/app/images/HMI_HVAC_Circulation_Active.svg new file mode 100644 index 0000000..def92bb --- /dev/null +++ b/app/images/HMI_HVAC_Circulation_Active.svg @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 318 219" + style="enable-background:new 0 0 318 219;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#SVGID_1_);} + .st1{fill:url(#SVGID_2_);} + .st2{fill:url(#SVGID_3_);} + .st3{fill:url(#SVGID_4_);} + .st4{fill:url(#SVGID_5_);} + .st5{fill:url(#SVGID_6_);} + .st6{fill:url(#SVGID_7_);} + .st7{fill:url(#SVGID_8_);} + .st8{fill:none;stroke:url(#SVGID_9_);stroke-miterlimit:10;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="124.8906" y1="222.9002" x2="297.9268" y2="83.4753"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st0" d="M218.2,164.1c-5.7,0-11.1-2.2-15.2-6.3c-4.1-4.1-6.3-9.5-6.3-15.2l2,0c0,5.2,2,10.1,5.7,13.8 + c3.7,3.7,8.6,5.7,13.8,5.7c0,0,0,0,0,0c10.8,0,19.5-8.8,19.5-19.6l2,0C239.7,154.4,230.1,164.1,218.2,164.1 + C218.2,164.1,218.2,164.1,218.2,164.1z"/> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="77.6338" y1="164.2511" x2="250.67" y2="24.8262"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st1" d="M97.9,164.3c-5.7,0-11.1-2.2-15.2-6.3c-4.1-4.1-6.3-9.5-6.3-15.2l2,0c0,5.2,2,10.1,5.7,13.8 + c3.7,3.7,8.6,5.7,13.8,5.7c0,0,0,0,0,0c5.2,0,10.1-2,13.8-5.7c3.7-3.7,5.7-8.6,5.7-13.8l2,0c0,5.7-2.2,11.2-6.3,15.2 + C109.1,162,103.7,164.3,97.9,164.3C97.9,164.3,97.9,164.3,97.9,164.3z"/> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="93.334" y1="183.7362" x2="266.3703" y2="44.3113"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st2" points="118.1,140.2 118.1,138.2 179.3,138.1 179.3,140.1 "/> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="49.8941" y1="129.8242" x2="222.9303" y2="-9.6007"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st3" d="M63.5,140.2c-8.5,0-14.7-14.3-14.7-21.7l0-0.2l6.2-25.2l1.9,0.5l-6.2,25.1c0,3.7,1.6,8.6,3.9,12.6 + c2.6,4.5,5.8,7,8.8,7c0,0,0,0,0,0l13.8,0l0,2L63.5,140.2C63.5,140.2,63.5,140.2,63.5,140.2z"/> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="93.1771" y1="183.5415" x2="266.2133" y2="44.1166"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st4" d="M238.7,140l0-2l15.8,0c2.7,0,5.9-5.8,8.7-15.4c2.2-7.7,3.8-16.7,3.9-20.8l-49-18.5L189.3,49l-35.5,0.1l0-2 + l36.4-0.1l29.1,34.5l49.8,18.9l0,0.7c0,3.9-1.5,13.5-4,22.1c-3.2,11.2-6.8,16.9-10.6,16.9L238.7,140z"/> + <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="40.6173" y1="118.311" x2="213.6535" y2="-21.1139"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st5" d="M56.7,94.1l-1.2-1.6l21.1-15.9l14.2-18.9c0.6-1,6.2-10.6,18.3-10.6l44.7-0.1l0,2l-44.7,0.1 + c-11.2,0-16.3,9.3-16.5,9.6l-0.1,0.1L77.9,78.1L56.7,94.1z"/> + <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="70.8807" y1="155.8701" x2="243.917" y2="16.4452"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M126.1,111.9c-5.5,0-10.7-2.1-14.5-6c-3.9-3.9-6-9.1-6.1-14.6c0-5.5,2.1-10.7,6-14.6c3.9-3.9,9.1-6,14.6-6.1 + l57.1-0.1l0,2l-57.1,0.1c-5,0-9.6,1.9-13.1,5.5c-3.5,3.5-5.4,8.2-5.4,13.2c0,5,1.9,9.6,5.5,13.1c3.5,3.5,8.2,5.4,13.1,5.4 + c0,0,0,0,0,0l57.1-0.1l0,2L126.1,111.9C126.2,111.9,126.1,111.9,126.1,111.9z"/> + <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="85.2865" y1="173.7487" x2="258.3227" y2="34.3238"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st7" points="153.9,121.7 153.2,119.8 180.1,110.8 153.2,101.9 153.8,100 186.4,110.8 "/> + <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="20.6643" y1="240.7757" x2="297.3357" y2="-21.7757"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <rect x="0.5" y="0.5" class="st8" width="317" height="218"/> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_Circulation_Inactive.svg b/app/images/HMI_HVAC_Circulation_Inactive.svg new file mode 100644 index 0000000..9c7d43f --- /dev/null +++ b/app/images/HMI_HVAC_Circulation_Inactive.svg @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 318 219" + style="enable-background:new 0 0 318 219;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_Circulation_Inactive.svg"><metadata + id="metadata33"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs31" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview29" + showgrid="false" + inkscape:zoom="1.0776256" + inkscape:cx="-290.59958" + inkscape:cy="109.5" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:#848286;} + .st1{fill:none;stroke:#848286;stroke-miterlimit:10;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><path + class="st0" + d="M218.2,164.1c-5.7,0-11.1-2.2-15.2-6.3c-4.1-4.1-6.3-9.5-6.3-15.2l2,0c0,5.2,2,10.1,5.7,13.8 c3.7,3.7,8.6,5.7,13.8,5.7c0,0,0,0,0,0c10.8,0,19.5-8.8,19.5-19.6l2,0C239.7,154.4,230.1,164.1,218.2,164.1 C218.2,164.1,218.2,164.1,218.2,164.1z" + id="path11" /><path + class="st0" + d="M97.9,164.3c-5.7,0-11.1-2.2-15.2-6.3c-4.1-4.1-6.3-9.5-6.3-15.2l2,0c0,5.2,2,10.1,5.7,13.8 c3.7,3.7,8.6,5.7,13.8,5.7c0,0,0,0,0,0c5.2,0,10.1-2,13.8-5.7c3.7-3.7,5.7-8.6,5.7-13.8l2,0c0,5.7-2.2,11.2-6.3,15.2 C109.1,162,103.7,164.3,97.9,164.3C97.9,164.3,97.9,164.3,97.9,164.3z" + id="path13" /><rect + x="118.1" + y="138.1" + transform="matrix(1 -1.464842e-03 1.464842e-03 1 -0.2036 0.218)" + class="st0" + width="61.2" + height="2" + id="rect15" /><path + class="st0" + d="M63.5,140.2c-8.5,0-14.7-14.3-14.7-21.7l0-0.2l6.2-25.2l1.9,0.5l-6.2,25.1c0,3.7,1.6,8.6,3.9,12.6 c2.6,4.5,5.8,7,8.8,7c0,0,0,0,0,0l13.8,0l0,2L63.5,140.2C63.5,140.2,63.5,140.2,63.5,140.2z" + id="path17" /><path + class="st0" + d="M238.7,140l0-2l15.8,0c2.7,0,5.9-5.8,8.7-15.4c2.2-7.7,3.8-16.7,3.9-20.8l-49-18.5L189.3,49l-35.5,0.1l0-2 l36.4-0.1l29.1,34.5l49.8,18.9l0,0.7c0,3.9-1.5,13.5-4,22.1c-3.2,11.2-6.8,16.9-10.6,16.9L238.7,140z" + id="path19" /><path + class="st0" + d="M56.7,94.1l-1.2-1.6l21.1-15.9l14.2-18.9c0.6-1,6.2-10.6,18.3-10.6l44.7-0.1l0,2l-44.7,0.1 c-11.2,0-16.3,9.3-16.5,9.6l-0.1,0.1L77.9,78.1L56.7,94.1z" + id="path21" /><path + class="st0" + d="M126.1,111.9c-5.5,0-10.7-2.1-14.5-6c-3.9-3.9-6-9.1-6.1-14.6c0-5.5,2.1-10.7,6-14.6c3.9-3.9,9.1-6,14.6-6.1 l57.1-0.1l0,2l-57.1,0.1c-5,0-9.6,1.9-13.1,5.5c-3.5,3.5-5.4,8.2-5.4,13.2c0,5,1.9,9.6,5.5,13.1c3.5,3.5,8.2,5.4,13.1,5.4 c0,0,0,0,0,0l57.1-0.1l0,2L126.1,111.9C126.2,111.9,126.1,111.9,126.1,111.9z" + id="path23" /><polygon + class="st0" + points="153.9,121.7 153.2,119.8 180.1,110.8 153.2,101.9 153.8,100 186.4,110.8 " + id="polygon25" /><rect + x="0.5" + y="0.5" + class="st1" + width="317" + height="218" + id="rect27" /></g></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_Fan_Icon.svg b/app/images/HMI_HVAC_Fan_Icon.svg new file mode 100644 index 0000000..ee583a0 --- /dev/null +++ b/app/images/HMI_HVAC_Fan_Icon.svg @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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 114 114" + style="enable-background:new 0 0 114 114;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;} + .st1{fill:url(#SVGID_1_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g> + <ellipse transform="matrix(0.8685 -0.4958 0.4958 0.8685 -21.9603 36.0747)" class="st0" cx="57" cy="59.4" rx="3.7" ry="3.7"/> + <path class="st0" d="M58.1,50.7c-1.8-0.2-3.8,0.1-5.5,1.1c-0.6,0.3-1.1,0.7-1.6,1.2c-0.2-0.5-0.3-1-0.5-1.6 + c-1.4-5.9,4.5-8.1,5.1-14.1c0.9-8.6-10.6-8.8-15.3-3.7c-6.2,6.7-3.6,14-0.4,18.3c2.5,3.2,5.5,5.2,8.3,6.3 + c-0.2,1.8,0.1,3.8,1.1,5.5c0.3,0.6,0.7,1.1,1.2,1.6c-0.5,0.2-1,0.3-1.6,0.5c-5.9,1.4-8.1-4.5-14.1-5.1 + c-8.6-0.9-8.8,10.6-3.7,15.3c6.7,6.2,14,3.6,18.3,0.3c3.2-2.5,5.2-5.5,6.3-8.3c1.8,0.2,3.8-0.1,5.5-1.1c0.6-0.3,1.1-0.7,1.6-1.2 + c0.2,0.5,0.3,1,0.5,1.6c1.4,5.9-4.5,8.1-5.1,14.1c-0.9,8.6,10.6,8.8,15.3,3.7c6.2-6.7,3.6-14,0.3-18.3c-2.5-3.2-5.5-5.2-8.3-6.3 + c0.2-1.8-0.1-3.8-1.1-5.5c-0.3-0.6-0.7-1.1-1.2-1.6c0.5-0.2,1-0.3,1.6-0.5c5.9-1.4,8.1,4.5,14.1,5.1c8.6,0.9,8.8-10.6,3.7-15.3 + c-6.7-6.2-14-3.6-18.3-0.4c-1.2,0.9-2.2,1.8-3,2.8"/> + </g> + <g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-26.1323" y1="141.6157" x2="145.4036" y2="-22.8267" gradientTransform="matrix(1 5.464556e-03 -5.464556e-03 1 -2.5808 -2.4627)"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st1" d="M57,114c-0.1,0-0.2,0-0.3,0C25.3,113.8-0.2,88.1,0,56.7C0.2,25.4,25.7,0,57,0c0.1,0,0.2,0,0.3,0 + c31.4,0.2,56.9,25.9,56.7,57.3l0,0C113.8,88.6,88.3,114,57,114z M57,2C26.8,2,2.2,26.5,2,56.7C1.8,87,26.4,111.8,56.7,112 + c0.1,0,0.2,0,0.3,0c30.2,0,54.8-24.5,55-54.7C112.2,27,87.6,2.2,57.3,2C57.2,2,57.1,2,57,2z"/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_Front_Active.svg b/app/images/HMI_HVAC_Front_Active.svg new file mode 100644 index 0000000..146e509 --- /dev/null +++ b/app/images/HMI_HVAC_Front_Active.svg @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 140 140" + style="enable-background:new 0 0 140 140;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:19.2px;} + .st3{letter-spacing:3;} + .st4{fill:url(#SVGID_1_);} + .st5{fill:url(#SVGID_2_);} + .st6{fill:url(#SVGID_3_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <g> + <text transform="matrix(1 0 0 1 30.8062 42.6951)" class="st0 st1 st2 st3">FRONT</text> + </g> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="11.6389" y1="158.3479" x2="114.2385" y2="3.0985"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st4" d="M70,138.5c-0.1,0-0.3,0-0.4,0c-37.8-0.2-68.3-31.1-68.1-68.9C1.7,32,32.4,1.5,70,1.5c0.1,0,0.3,0,0.4,0 + c18.3,0.1,35.5,7.3,48.3,20.3s19.9,30.2,19.8,48.5c-0.1,18.3-7.3,35.5-20.3,48.3C105.3,131.5,88.2,138.5,70,138.5z M70,3.9 + c-17.5,0-34,6.8-46.5,19.1C11,35.4,4,52,3.9,69.6c-0.2,36.4,29.3,66.3,65.7,66.5c0.1,0,0.2,0,0.4,0c17.5,0,34-6.8,46.5-19.1 + c12.6-12.4,19.5-29,19.6-46.6l0,0c0.1-17.7-6.7-34.3-19.1-46.8S88,4,70.4,3.9C70.2,3.9,70.1,3.9,70,3.9z"/> + </g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="13.3004" y1="159.5306" x2="115.9684" y2="4.1777"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st5" d="M50.3,107.7L17.4,73.8l0.8-0.8C32,59,50.4,51.4,70,51.3c0,0,0.1,0,0.1,0c19.5,0,37.9,7.6,51.7,21.5l0.8,0.8 + L97,100.2l-1.7-1.7l24-24.8c-13.2-12.9-30.6-20-49.1-20c0,0-0.1,0-0.1,0c-18.5,0-36,7.2-49.2,20.1l29.6,30.5 + c5.4-4.9,12.4-7.5,19.7-7.5c0,0,0,0,0,0c7.7,0,15,2.9,20.5,8.3l-1.7,1.7c-5.1-4.9-11.8-7.6-18.9-7.6c0,0,0,0,0,0 + c-7.1,0-13.8,2.7-18.9,7.7L50.3,107.7z"/> + </g> + <g> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="16.1835" y1="161.4359" x2="118.8515" y2="6.083"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M70.7,89.5c-2,0-3.4-1.4-3.5-1.6l-6.8-5.5c-0.9-1.3-2.2-1.9-3.4-1.8c-1.4,0.1-2.7,1.1-3.6,2.7 + c-1.5,2.6-3.5,4.2-5.8,4.3c-2.1,0.1-4.1-1.1-5.6-3.3l-1.2-1.7c-0.9-1.3-2.1-2-3.4-2c-1.4,0.1-2.7,1-3.6,2.6l-0.6,1l-2-3.9 + l0.2-0.3c1.5-2.6,3.6-4.1,5.9-4.2c2.1-0.1,4.1,1.1,5.7,3.3l1.2,1.7c0.9,1.3,2.1,2.1,3.3,2c1.3-0.1,2.6-1,3.5-2.6 + c1.5-2.6,3.6-4.2,5.9-4.4c2.1-0.2,4.1,0.9,5.6,2.9l6.5,5.2c0.2,0.2,0.8,0.7,1.6,0.7c0,0,0,0,0,0c0.6,0,1.3-0.4,1.9-1l4.2-3.7 + c1.5-2.6,3.6-4,5.8-4.1c2.2-0.1,4.1,1.1,5.7,3.3l1.2,1.7c0.9,1.3,2.1,2,3.3,2c1.3-0.1,2.6-1,3.5-2.6c1.5-2.6,3.6-4.2,5.9-4.4 + c2.1-0.1,4.1,0.9,5.6,3l0.2,0.3l-1.7,4.2l-0.6-0.9c-0.9-1.3-2.1-1.9-3.4-1.8c-1.4,0.1-2.7,1.1-3.6,2.7c-1.5,2.6-3.5,4.2-5.8,4.3 + c-2.1,0.1-4.1-1.1-5.7-3.3l-1.2-1.7c-0.9-1.3-2.1-2-3.4-2c-1.4,0.1-2.7,1-3.6,2.6L79,83.4l-5.1,4.7l0,0 + C72.9,89,71.8,89.5,70.7,89.5z M61.3,81.7L68,87c0.1,0.1,1.2,1.3,2.7,1.3c1,0,2-0.5,3-1.6l0.6-0.6l0.1,0.1l3.9-3.6 + c1.1-1.9,2.8-3.1,4.5-3.1c1.6-0.1,3.2,0.8,4.4,2.5l1.2,1.7c1.3,1.9,2.9,2.8,4.6,2.8c1.8-0.1,3.5-1.4,4.8-3.7 + c1.1-2,2.8-3.2,4.6-3.3c1.4-0.1,2.7,0.4,3.7,1.5l0.7-1.7c-1.3-1.6-2.8-2.4-4.4-2.3c-1.9,0.1-3.7,1.5-4.9,3.8 + c-1.1,2-2.7,3.2-4.5,3.2c-1.7,0.1-3.2-0.8-4.4-2.5l-1.2-1.7C86,77.9,84.4,77,82.7,77c-1.9,0.1-3.6,1.4-4.9,3.6l-0.1,0.2 + l-4.3,3.7c-0.8,0.9-1.7,1.3-2.7,1.3c-1.3,0.1-2.2-0.8-2.5-1l-6.7-5.3c-1.3-1.7-2.9-2.6-4.6-2.5c-1.9,0.1-3.7,1.5-4.9,3.8 + c-1.1,2-2.7,3.2-4.5,3.2c-1.7,0-3.2-0.8-4.4-2.5L42,79.8c-1.3-1.9-2.9-2.8-4.6-2.8c-1.8,0.1-3.4,1.2-4.7,3.3l0.7,1.4 + c1.1-1.4,2.5-2.3,4-2.3c1.7,0,3.2,0.8,4.4,2.5l1.2,1.7c1.3,1.9,2.9,2.8,4.6,2.8c1.8-0.1,3.5-1.4,4.8-3.7c1.1-2,2.8-3.2,4.6-3.3 + C58.6,79.3,60.2,80.1,61.3,81.7z"/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_Front_Inactive.svg b/app/images/HMI_HVAC_Front_Inactive.svg new file mode 100644 index 0000000..c5d9166 --- /dev/null +++ b/app/images/HMI_HVAC_Front_Inactive.svg @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 140 140" + style="enable-background:new 0 0 140 140;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_Front_Inactive.svg"><metadata + id="metadata31"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs29" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview27" + showgrid="false" + inkscape:zoom="1.6857143" + inkscape:cx="-161.94915" + inkscape:cy="70" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:#848286;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:19.2px;} + .st3{letter-spacing:3;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><g + id="g11"><text + transform="matrix(1 0 0 1 30.8062 42.6951)" + class="st0 st1 st2 st3" + id="text13">FRONT</text> +</g><g + id="g15"><path + class="st0" + d="M70,138.5c-0.1,0-0.3,0-0.4,0c-37.8-0.2-68.3-31.1-68.1-68.9C1.7,32,32.4,1.5,70,1.5c0.1,0,0.3,0,0.4,0 c18.3,0.1,35.5,7.3,48.3,20.3s19.9,30.2,19.8,48.5c-0.1,18.3-7.3,35.5-20.3,48.3C105.3,131.5,88.2,138.5,70,138.5z M70,3.9 c-17.5,0-34,6.8-46.5,19.1C11,35.4,4,52,3.9,69.6c-0.2,36.4,29.3,66.3,65.7,66.5c0.1,0,0.2,0,0.4,0c17.5,0,34-6.8,46.5-19.1 c12.6-12.4,19.5-29,19.6-46.6l0,0c0.1-17.7-6.7-34.3-19.1-46.8S88,4,70.4,3.9C70.2,3.9,70.1,3.9,70,3.9z" + id="path17" /></g><g + id="g19"><path + class="st0" + d="M50.3,107.7L17.4,73.8l0.8-0.8C32,59,50.4,51.4,70,51.3c0,0,0.1,0,0.1,0c19.5,0,37.9,7.6,51.7,21.5l0.8,0.8 L97,100.2l-1.7-1.7l24-24.8c-13.2-12.9-30.6-20-49.1-20c0,0-0.1,0-0.1,0c-18.5,0-36,7.2-49.2,20.1l29.6,30.5 c5.4-4.9,12.4-7.5,19.7-7.5c0,0,0,0,0,0c7.7,0,15,2.9,20.5,8.3l-1.7,1.7c-5.1-4.9-11.8-7.6-18.9-7.6c0,0,0,0,0,0 c-7.1,0-13.8,2.7-18.9,7.7L50.3,107.7z" + id="path21" /></g><g + id="g23"><path + class="st0" + d="M70.7,89.5c-2,0-3.4-1.4-3.5-1.6l-6.8-5.5c-0.9-1.3-2.2-1.9-3.4-1.8c-1.4,0.1-2.7,1.1-3.6,2.7 c-1.5,2.6-3.5,4.2-5.8,4.3c-2.1,0.1-4.1-1.1-5.6-3.3l-1.2-1.7c-0.9-1.3-2.1-2-3.4-2c-1.4,0.1-2.7,1-3.6,2.6l-0.6,1l-2-3.9 l0.2-0.3c1.5-2.6,3.6-4.1,5.9-4.2c2.1-0.1,4.1,1.1,5.7,3.3l1.2,1.7c0.9,1.3,2.1,2.1,3.3,2c1.3-0.1,2.6-1,3.5-2.6 c1.5-2.6,3.6-4.2,5.9-4.4c2.1-0.2,4.1,0.9,5.6,2.9l6.5,5.2c0.2,0.2,0.8,0.7,1.6,0.7c0,0,0,0,0,0c0.6,0,1.3-0.4,1.9-1l4.2-3.7 c1.5-2.6,3.6-4,5.8-4.1c2.2-0.1,4.1,1.1,5.7,3.3l1.2,1.7c0.9,1.3,2.1,2,3.3,2c1.3-0.1,2.6-1,3.5-2.6c1.5-2.6,3.6-4.2,5.9-4.4 c2.1-0.1,4.1,0.9,5.6,3l0.2,0.3l-1.7,4.2l-0.6-0.9c-0.9-1.3-2.1-1.9-3.4-1.8c-1.4,0.1-2.7,1.1-3.6,2.7c-1.5,2.6-3.5,4.2-5.8,4.3 c-2.1,0.1-4.1-1.1-5.7-3.3l-1.2-1.7c-0.9-1.3-2.1-2-3.4-2c-1.4,0.1-2.7,1-3.6,2.6L79,83.4l-5.1,4.7l0,0 C72.9,89,71.8,89.5,70.7,89.5z M61.3,81.7L68,87c0.1,0.1,1.2,1.3,2.7,1.3c1,0,2-0.5,3-1.6l0.6-0.6l0.1,0.1l3.9-3.6 c1.1-1.9,2.8-3.1,4.5-3.1c1.6-0.1,3.2,0.8,4.4,2.5l1.2,1.7c1.3,1.9,2.9,2.8,4.6,2.8c1.8-0.1,3.5-1.4,4.8-3.7 c1.1-2,2.8-3.2,4.6-3.3c1.4-0.1,2.7,0.4,3.7,1.5l0.7-1.7c-1.3-1.6-2.8-2.4-4.4-2.3c-1.9,0.1-3.7,1.5-4.9,3.8 c-1.1,2-2.7,3.2-4.5,3.2c-1.7,0.1-3.2-0.8-4.4-2.5l-1.2-1.7C86,77.9,84.4,77,82.7,77c-1.9,0.1-3.6,1.4-4.9,3.6l-0.1,0.2 l-4.3,3.7c-0.8,0.9-1.7,1.3-2.7,1.3c-1.3,0.1-2.2-0.8-2.5-1l-6.7-5.3c-1.3-1.7-2.9-2.6-4.6-2.5c-1.9,0.1-3.7,1.5-4.9,3.8 c-1.1,2-2.7,3.2-4.5,3.2c-1.7,0-3.2-0.8-4.4-2.5L42,79.8c-1.3-1.9-2.9-2.8-4.6-2.8c-1.8,0.1-3.4,1.2-4.7,3.3l0.7,1.4 c1.1-1.4,2.5-2.3,4-2.3c1.7,0,3.2,0.8,4.4,2.5l1.2,1.7c1.3,1.9,2.9,2.8,4.6,2.8c1.8-0.1,3.5-1.4,4.8-3.7c1.1-2,2.8-3.2,4.6-3.3 C58.6,79.3,60.2,80.1,61.3,81.7z" + id="path25" /></g></g></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_Inactive.svg b/app/images/HMI_HVAC_Inactive.svg new file mode 100644 index 0000000..2956a26 --- /dev/null +++ b/app/images/HMI_HVAC_Inactive.svg @@ -0,0 +1,31 @@ +<?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_2" 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 318 219" + style="enable-background:new 0 0 318 219;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#848286;} + .st1{font-family:'Roboto-Light';} + .st2{font-size:88.6888px;} + .st3{letter-spacing:3;} + .st4{letter-spacing:-3;} + .st5{fill:none;stroke:#848286;stroke-miterlimit:10;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <rect x="0.5" y="0.5" class="st5" width="317" height="218"/> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_Left_Chair_OFF.svg b/app/images/HMI_HVAC_Left_Chair_OFF.svg new file mode 100644 index 0000000..1412266 --- /dev/null +++ b/app/images/HMI_HVAC_Left_Chair_OFF.svg @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 172 172" + style="enable-background:new 0 0 172 172;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_Left_Chair_OFF.svg"><metadata + id="metadata49"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs47" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview45" + showgrid="false" + inkscape:zoom="1.372093" + inkscape:cx="-267.83898" + inkscape:cy="86" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:none;stroke:#69676C;stroke-width:4;stroke-miterlimit:10;} + .st1{opacity:0.43;fill:#69676C;} + .st2{fill:#69676C;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><path + class="st0" + d="M32.3,135.3h92.4l39.2-114.9c0,0,2.5-10.9-9.1-11.4c-11.6-0.5-19,16.2-19,16.2S123.6,66,111.8,95.6 c0,0-76.7-4.6-89.8-4.6S5.4,96.1,9.5,105.1S32.3,135.3,32.3,135.3z" + id="path11" /><path + class="st1" + d="M32.3,134.7h92.4l39.2-114.9c0,0,2.5-10.9-9.1-11.4s-19,16.2-19,16.2S123.6,65.3,111.8,95 c0,0-76.7-4.6-89.8-4.6S5.4,95.4,9.5,104.5S32.3,134.7,32.3,134.7z" + id="path13" /><g + id="g15"><g + id="g17"><path + class="st0" + d="M42.4,163.6c0,0,35.8-24,12.9-58.3C37.8,79,29.8,63.5,30.9,48.6" + id="path19" /><g + id="g21"><polygon + class="st2" + points="40.4,53.7 34.4,34.7 21,49.4 " + id="polygon23" /></g></g></g><g + id="g25"><g + id="g27"><path + class="st0" + d="M66.1,163.6c0,0,35.8-24,12.9-58.3C61.4,79,53.5,63.5,54.6,48.6" + id="path29" /><g + id="g31"><polygon + class="st2" + points="64.1,53.7 58.1,34.7 44.6,49.4 " + id="polygon33" /></g></g></g><g + id="g35"><g + id="g37"><path + class="st0" + d="M90.4,163.6c0,0,35.8-24,12.9-58.3C85.7,79,77.8,63.5,78.8,48.6" + id="path39" /><g + id="g41"><polygon + class="st2" + points="88.3,53.7 82.4,34.7 68.9,49.4 " + id="polygon43" /></g></g></g></g></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_Left_Chair_ON.svg b/app/images/HMI_HVAC_Left_Chair_ON.svg new file mode 100644 index 0000000..b27b126 --- /dev/null +++ b/app/images/HMI_HVAC_Left_Chair_ON.svg @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 172 172" + style="enable-background:new 0 0 172 172;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#0DF9FF;stroke-width:4;stroke-miterlimit:10;} + .st1{opacity:0.43;fill:url(#SVGID_1_);} + .st2{fill:#0DF9FF;} +</style> +<switch> + <g i:extraneous="self"> + <g> + <path class="st0" d="M32.3,135h92.4l39.2-114.9c0,0,2.5-10.9-9.1-11.4s-19,16.2-19,16.2s-12.3,40.7-24.1,70.4 + c0,0-76.7-4.6-89.8-4.6S5.4,95.8,9.5,104.8S32.3,135,32.3,135z"/> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="19.4613" y1="198.7467" x2="133.8248" y2="-3.84"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st1" d="M32.3,135h92.4l39.2-114.9c0,0,2.5-10.9-9.1-11.4s-19,16.2-19,16.2s-12.3,40.7-24.1,70.4 + c0,0-76.7-4.6-89.8-4.6S5.4,95.8,9.5,104.8S32.3,135,32.3,135z"/> + <g> + <g> + <path class="st0" d="M42.4,163.3c0,0,35.8-24,12.9-58.3C37.8,78.7,29.8,63.2,30.9,48.3"/> + <g> + <polygon class="st2" points="40.4,53.4 34.4,34.4 21,49.1 "/> + </g> + </g> + </g> + <g> + <g> + <path class="st0" d="M66.1,163.3c0,0,35.8-24,12.9-58.3C61.4,78.7,53.5,63.2,54.6,48.3"/> + <g> + <polygon class="st2" points="64.1,53.4 58.1,34.4 44.6,49.1 "/> + </g> + </g> + </g> + <g> + <g> + <path class="st0" d="M90.4,163.3c0,0,35.8-24,12.9-58.3C85.7,78.7,77.8,63.2,78.8,48.3"/> + <g> + <polygon class="st2" points="88.3,53.4 82.4,34.4 68.9,49.1 "/> + </g> + </g> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_Rear_Active.svg b/app/images/HMI_HVAC_Rear_Active.svg new file mode 100644 index 0000000..182ccbd --- /dev/null +++ b/app/images/HMI_HVAC_Rear_Active.svg @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 140 140" + style="enable-background:new 0 0 140 140;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#0DF9FF;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:19.2px;} + .st3{letter-spacing:3;} + .st4{fill:url(#SVGID_1_);} + .st5{fill:url(#SVGID_2_);} + .st6{fill:url(#SVGID_3_);} + .st7{fill:url(#SVGID_4_);} + .st8{fill:url(#SVGID_5_);} + .st9{fill:url(#SVGID_6_);} + .st10{fill:url(#SVGID_7_);} + .st11{fill:url(#SVGID_8_);} +</style> +<switch> + <g i:extraneous="self"> + <g> + <text transform="matrix(1 0 0 1 39.3138 38.5051)" class="st0 st1 st2 st3">REAR</text> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="10.4889" y1="155.8405" x2="117.1391" y2="1.9402"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st4" d="M70,138.5c-0.1,0-0.3,0-0.4,0c-37.8-0.2-68.3-31.1-68.1-68.9c0.1-18.3,7.3-35.5,20.3-48.3 + C34.7,8.5,51.8,1.5,70,1.5c0.1,0,0.3,0,0.4,0c18.3,0.1,35.5,7.3,48.3,20.3c12.9,13,19.9,30.2,19.8,48.5 + C138.3,108,107.6,138.5,70,138.5z M70,3.9c-17.5,0-34,6.8-46.5,19.1C11,35.4,4,52,3.9,69.6c-0.2,36.4,29.3,66.3,65.7,66.5 + c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.7l0,0c0.1-17.7-6.7-34.3-19.1-46.8C104.6,11,88,4,70.4,3.9 + C70.2,3.9,70.1,3.9,70,3.9z"/> + </g> + <g> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="11.5789" y1="156.6799" x2="118.2996" y2="2.6779"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st5" points="30.5,97.5 30.5,47.4 109.5,47.3 109.5,97.4 60.7,97.4 60.7,95 107.1,95 107.1,49.7 32.9,49.8 + 32.9,95.1 51.9,95 51.9,97.4 "/> + </g> + <g> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="9.0573" y1="154.9325" x2="115.778" y2="0.9304"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st6" d="M57.1,111.6l-2.1-1.2c1.6-2.8,5.4-11.2,4.2-15.7c-0.8-2.8-1.8-4.4-3-6.1c-2.4-3.6-4.9-7.3-4.4-21.7l2.4,0.1 + c-0.6,13.6,1.6,16.8,3.9,20.2c1.2,1.8,2.5,3.6,3.3,6.9C63.3,100.5,57.4,111.2,57.1,111.6z"/> + </g> + <g> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="0.4632" y1="148.9769" x2="107.1839" y2="-5.0251"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st7" points="50,75.1 47.9,74 53.1,64.4 58.4,74 56.3,75.1 53.1,69.4 "/> + </g> + <g> + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="19.6431" y1="162.2683" x2="126.3638" y2="8.2663"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st8" d="M72.8,111.6l-2.1-1.2c1.6-2.8,5.4-11.2,4.2-15.7c-0.8-2.8-1.8-4.4-3-6.1c-2.4-3.6-4.9-7.3-4.4-21.7l2.4,0.1 + c-0.6,13.6,1.6,16.8,3.9,20.2c1.2,1.8,2.5,3.6,3.3,6.9C78.9,100.5,73,111.2,72.8,111.6z"/> + </g> + <g> + <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="11.0493" y1="156.3129" x2="117.77" y2="2.3109"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st9" points="72,75.1 68.8,69.4 65.6,75.1 63.5,74 68.8,64.4 74.1,74 "/> + </g> + <g> + <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="30.229" y1="169.6041" x2="136.9497" y2="15.6021"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st10" d="M88.5,111.6l-2.1-1.2c1.6-2.8,5.4-11.2,4.3-15.7c-0.8-2.8-1.8-4.4-3-6.1c-2.4-3.6-4.9-7.3-4.4-21.7 + l2.4,0.1c-0.6,13.6,1.6,16.8,3.9,20.2c1.2,1.8,2.5,3.6,3.3,6.9C94.6,100.5,88.7,111.2,88.5,111.6z"/> + </g> + <g> + <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="21.6348" y1="163.6485" x2="128.3555" y2="9.6464"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <polygon class="st11" points="81.3,75.1 79.2,74 84.5,64.4 89.7,74 87.6,75.1 84.5,69.4 "/> + </g> + </g> + </g> +</switch> +</svg> diff --git a/app/images/HMI_HVAC_Rear_Inactive.svg b/app/images/HMI_HVAC_Rear_Inactive.svg new file mode 100644 index 0000000..574c541 --- /dev/null +++ b/app/images/HMI_HVAC_Rear_Inactive.svg @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 140 140" + style="enable-background:new 0 0 140 140;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_Rear_Inactive.svg"><metadata + id="metadata49"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs47" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview45" + showgrid="false" + inkscape:zoom="1.6857143" + inkscape:cx="-285.9322" + inkscape:cy="70" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:#848286;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:19.2px;} + .st3{letter-spacing:3;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><text + transform="matrix(1 0 0 1 39.3138 38.5051)" + class="st0 st1 st2 st3" + id="text11">REAR</text> +<g + id="g13"><path + class="st0" + d="M70,138.5c-0.1,0-0.3,0-0.4,0c-37.8-0.2-68.3-31.1-68.1-68.9c0.1-18.3,7.3-35.5,20.3-48.3 C34.7,8.5,51.8,1.5,70,1.5c0.1,0,0.3,0,0.4,0c18.3,0.1,35.5,7.3,48.3,20.3c12.9,13,19.9,30.2,19.8,48.5 C138.3,108,107.6,138.5,70,138.5z M70,3.9c-17.5,0-34,6.8-46.5,19.1C11,35.4,4,52,3.9,69.6c-0.2,36.4,29.3,66.3,65.7,66.5 c0.1,0,0.2,0,0.4,0c36.3,0,65.9-29.4,66.1-65.7l0,0c0.1-17.7-6.7-34.3-19.1-46.8C104.6,11,88,4,70.4,3.9 C70.2,3.9,70.1,3.9,70,3.9z" + id="path15" /></g><g + id="g17"><polygon + class="st0" + points="30.5,97.5 30.5,47.4 109.5,47.3 109.5,97.4 60.7,97.4 60.7,95 107.1,95 107.1,49.7 32.9,49.8 32.9,95.1 51.9,95 51.9,97.4 " + id="polygon19" /></g><g + id="g21"><path + class="st0" + d="M57.1,111.6l-2.1-1.2c1.6-2.8,5.4-11.2,4.2-15.7c-0.8-2.8-1.8-4.4-3-6.1c-2.4-3.6-4.9-7.3-4.4-21.7l2.4,0.1 c-0.6,13.6,1.6,16.8,3.9,20.2c1.2,1.8,2.5,3.6,3.3,6.9C63.3,100.5,57.4,111.2,57.1,111.6z" + id="path23" /></g><g + id="g25"><polygon + class="st0" + points="50,75.1 47.9,74 53.1,64.4 58.4,74 56.3,75.1 53.1,69.4 " + id="polygon27" /></g><g + id="g29"><path + class="st0" + d="M72.8,111.6l-2.1-1.2c1.6-2.8,5.4-11.2,4.2-15.7c-0.8-2.8-1.8-4.4-3-6.1c-2.4-3.6-4.9-7.3-4.4-21.7l2.4,0.1 c-0.6,13.6,1.6,16.8,3.9,20.2c1.2,1.8,2.5,3.6,3.3,6.9C78.9,100.5,73,111.2,72.8,111.6z" + id="path31" /></g><g + id="g33"><polygon + class="st0" + points="72,75.1 68.8,69.4 65.6,75.1 63.5,74 68.8,64.4 74.1,74 " + id="polygon35" /></g><g + id="g37"><path + class="st0" + d="M88.5,111.6l-2.1-1.2c1.6-2.8,5.4-11.2,4.3-15.7c-0.8-2.8-1.8-4.4-3-6.1c-2.4-3.6-4.9-7.3-4.4-21.7l2.4,0.1 c-0.6,13.6,1.6,16.8,3.9,20.2c1.2,1.8,2.5,3.6,3.3,6.9C94.6,100.5,88.7,111.2,88.5,111.6z" + id="path39" /></g><g + id="g41"><polygon + class="st0" + points="81.3,75.1 79.2,74 84.5,64.4 89.7,74 87.6,75.1 84.5,69.4 " + id="polygon43" /></g></g></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_Right_Chair_OFF.svg b/app/images/HMI_HVAC_Right_Chair_OFF.svg new file mode 100644 index 0000000..711a942 --- /dev/null +++ b/app/images/HMI_HVAC_Right_Chair_OFF.svg @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + xmlns:i="&ns_ai;" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_2" + x="0px" + y="0px" + viewBox="0 0 172 172" + style="enable-background:new 0 0 172 172;" + xml:space="preserve" + inkscape:version="0.91 r13725" + sodipodi:docname="HMI_HVAC_Right_Chair_OFF.svg"><metadata + id="metadata49"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs47" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2560" + inkscape:window-height="1464" + id="namedview45" + showgrid="false" + inkscape:zoom="1.372093" + inkscape:cx="-273.66949" + inkscape:cy="86" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_2" /><style + type="text/css" + id="style3"> + .st0{fill:none;stroke:#69676C;stroke-width:4;stroke-miterlimit:10;} + .st1{opacity:0.43;fill:#69676C;} + .st2{fill:#69676C;} +</style><switch + id="switch5"><g + i:extraneous="self" + id="g7"><g + id="g9"><path + class="st0" + d="M139.7,135H47.3L8.1,20.1c0,0-2.5-10.9,9.1-11.4c11.6-0.5,19,16.2,19,16.2s12.3,40.7,24.1,70.4 c0,0,76.7-4.6,89.8-4.6c13.1,0,16.6,5.1,12.5,14.1S139.7,135,139.7,135z" + id="path11" /><path + class="st1" + d="M139.7,135H47.3L8.1,20.1c0,0-2.5-10.9,9.1-11.4c11.6-0.5,19,16.2,19,16.2s12.3,40.7,24.1,70.4 c0,0,76.7-4.6,89.8-4.6c13.1,0,16.6,5.1,12.5,14.1S139.7,135,139.7,135z" + id="path13" /><g + id="g15"><g + id="g17"><path + class="st0" + d="M129.6,163.3c0,0-35.8-24-12.9-58.3c17.5-26.3,25.5-41.8,24.4-56.7" + id="path19" /><g + id="g21"><polygon + class="st2" + points="151,49.1 137.6,34.4 131.6,53.4 " + id="polygon23" /></g></g></g><g + id="g25"><g + id="g27"><path + class="st0" + d="M105.9,163.3c0,0-35.8-24-12.9-58.3c17.5-26.3,25.5-41.8,24.4-56.7" + id="path29" /><g + id="g31"><polygon + class="st2" + points="127.4,49.1 113.9,34.4 107.9,53.4 " + id="polygon33" /></g></g></g><g + id="g35"><g + id="g37"><path + class="st0" + d="M81.6,163.3c0,0-35.8-24-12.9-58.3c17.5-26.3,25.5-41.8,24.4-56.7" + id="path39" /><g + id="g41"><polygon + class="st2" + points="103.1,49.1 89.6,34.4 83.7,53.4 " + id="polygon43" /></g></g></g></g></g></switch></svg>
\ No newline at end of file diff --git a/app/images/HMI_HVAC_Right_Chair_ON.svg b/app/images/HMI_HVAC_Right_Chair_ON.svg new file mode 100644 index 0000000..74b4861 --- /dev/null +++ b/app/images/HMI_HVAC_Right_Chair_ON.svg @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.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_2" 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 172 172" + style="enable-background:new 0 0 172 172;" xml:space="preserve"> +<style type="text/css"> + .st0{opacity:0.43;fill:url(#SVGID_1_);} + .st1{fill:none;stroke:#0DF9FF;stroke-width:4;stroke-miterlimit:10;} + .st2{fill:#0DF9FF;} +</style> +<switch> + <g i:extraneous="self"> + <g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-670.8471" y1="198.7467" x2="-556.4836" y2="-3.84" gradientTransform="matrix(-1 0 0 1 -518.3083 0)"> + <stop offset="0" style="stop-color:#00ADDC"/> + <stop offset="1" style="stop-color:#6BFBFF"/> + </linearGradient> + <path class="st0" d="M139.7,135H47.3L8.1,20.1c0,0-2.5-10.9,9.1-11.4c11.6-0.5,19,16.2,19,16.2s12.3,40.7,24.1,70.4 + c0,0,76.7-4.6,89.8-4.6c13.1,0,16.6,5.1,12.5,14.1S139.7,135,139.7,135z"/> + <g> + <g> + <path class="st1" d="M129.6,163.3c0,0-35.8-24-12.9-58.3c17.5-26.3,25.5-41.8,24.4-56.7"/> + <g> + <polygon class="st2" points="151,49.1 137.6,34.4 131.6,53.4 "/> + </g> + </g> + </g> + <g> + <g> + <path class="st1" d="M105.9,163.3c0,0-35.8-24-12.9-58.3c17.5-26.3,25.5-41.8,24.4-56.7"/> + <g> + <polygon class="st2" points="127.4,49.1 113.9,34.4 107.9,53.4 "/> + </g> + </g> + </g> + <g> + <g> + <path class="st1" d="M81.6,163.3c0,0-35.8-24-12.9-58.3c17.5-26.3,25.5-41.8,24.4-56.7"/> + <g> + <polygon class="st2" points="103.1,49.1 89.6,34.4 83.7,53.4 "/> + </g> + </g> + </g> + <path class="st1" d="M139.7,135H47.3L8.1,20.1c0,0-2.5-10.9,9.1-11.4c11.6-0.5,19,16.2,19,16.2s12.3,40.7,24.1,70.4 + c0,0,76.7-4.6,89.8-4.6c13.1,0,16.6,5.1,12.5,14.1S139.7,135,139.7,135z"/> + </g> + </g> +</switch> +</svg> diff --git a/app/images/images.qrc b/app/images/images.qrc new file mode 100644 index 0000000..036c1f5 --- /dev/null +++ b/app/images/images.qrc @@ -0,0 +1,26 @@ +<RCC> + <qresource prefix="/images"> + <file>HMI_HVAC_AirDown_Active.svg</file> + <file>HMI_HVAC_AirDown_Inactive.svg</file> + <file>HMI_HVAC_AirRight_Active.svg</file> + <file>HMI_HVAC_AirRight_Inactive.svg</file> + <file>HMI_HVAC_AirUp_Active.svg</file> + <file>HMI_HVAC_AirUp_Inactive.svg</file> + <file>HMI_HVAC_ChairIndicator_OFF.svg</file> + <file>HMI_HVAC_ChairIndicator_One.svg</file> + <file>HMI_HVAC_ChairIndicator_Two.svg</file> + <file>HMI_HVAC_Circulation_Active.svg</file> + <file>HMI_HVAC_Circulation_Inactive.svg</file> + <file>HMI_HVAC_Fan_Icon.svg</file> + <file>HMI_HVAC_Front_Active.svg</file> + <file>HMI_HVAC_Front_Inactive.svg</file> + <file>HMI_HVAC_Left_Chair_OFF.svg</file> + <file>HMI_HVAC_Left_Chair_ON.svg</file> + <file>HMI_HVAC_Rear_Active.svg</file> + <file>HMI_HVAC_Rear_Inactive.svg</file> + <file>HMI_HVAC_Right_Chair_OFF.svg</file> + <file>HMI_HVAC_Right_Chair_ON.svg</file> + <file>HMI_HVAC_Active.svg</file> + <file>HMI_HVAC_Inactive.svg</file> + </qresource> +</RCC> diff --git a/app/main.cpp b/app/main.cpp new file mode 100644 index 0000000..d7c45e0 --- /dev/null +++ b/app/main.cpp @@ -0,0 +1,116 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * Copyright (c) 2019 TOYOTA MOTOR CORPORATION + * + * 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 <QtCore/QCommandLineParser> +#include <QtCore/QUrlQuery> +#include <QtGui/QGuiApplication> +#include <QtQml/QQmlApplicationEngine> +#include <QtQml/QQmlContext> +#include <QtQuick/QQuickWindow> + +#include "translator.h" + +#ifdef HAVE_LIBHOMESCREEN +#include <libhomescreen.hpp> +#endif +#ifdef HAVE_QLIBWINDOWMANAGER +#include <qlibwindowmanager.h> +#endif + +int main(int argc, char *argv[]) +{ + QString myname = QString("HVAC"); + + QGuiApplication app(argc, argv); + app.setApplicationVersion(QStringLiteral("0.1.0")); + app.setOrganizationDomain(QStringLiteral("automotivelinux.org")); + app.setOrganizationName(QStringLiteral("AutomotiveGradeLinux")); + + QCommandLineParser parser; + parser.addPositionalArgument("port", app.translate("main", "port for binding")); + parser.addPositionalArgument("secret", app.translate("main", "secret for binding")); + parser.addHelpOption(); + parser.addVersionOption(); + parser.process(app); + QStringList positionalArguments = parser.positionalArguments(); + + qmlRegisterType<Translator>("Translator", 1, 0, "Translator"); + + QQmlApplicationEngine engine; + QQmlContext *context = engine.rootContext(); + QUrl bindingAddress; + + int port; + QString secret; + if (positionalArguments.length() == 2) { + port = positionalArguments.takeFirst().toInt(); + secret = positionalArguments.takeFirst(); + bindingAddress.setScheme(QStringLiteral("ws")); + bindingAddress.setHost(QStringLiteral("localhost")); + bindingAddress.setPort(port); + bindingAddress.setPath(QStringLiteral("/api")); + QUrlQuery query; + query.addQueryItem(QStringLiteral("token"), secret); + bindingAddress.setQuery(query); + } + context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress); +#ifdef HAVE_QLIBWINDOWMANAGER + QLibWindowmanager* qwm = new QLibWindowmanager(); + + // WindowManager + if(qwm->init(port,secret) != 0){ + exit(EXIT_FAILURE); + } + AGLScreenInfo screenInfo(qwm->get_scale_factor()); + engine.rootContext()->setContextProperty(QStringLiteral("screenInfo"), &screenInfo); + // Request a surface as described in layers.json windowmanager’s file + if (qwm->requestSurface(myname) != 0) { + exit(EXIT_FAILURE); + } + // Create an event callbnewack against an event type. Here a lambda is called when SyncDraw event occurs + qwm->set_event_handler(QLibWindowmanager::Event_SyncDraw, [qwm, myname](json_object *object) { + fprintf(stderr, "Surface got syncDraw!\n"); + qwm->endDraw(myname); + }); +#endif + +#ifdef HAVE_LIBHOMESCREEN + LibHomeScreen* hs = new LibHomeScreen(); + + // HomeScreen + std::string token = secret.toStdString(); + hs->init(port, token.c_str()); + // Set the event handler for Event_TapShortcut which will activate the surface for windowmanager + hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [qwm, myname](json_object *object){ + qwm->activateSurface(myname); + }); +#endif + + engine.load(QUrl(QStringLiteral("qrc:/HVAC.qml"))); + QObject *root = engine.rootObjects().first(); + QQuickWindow *window = qobject_cast<QQuickWindow *>(root); +#ifdef HAVE_QLIBWINDOWMANAGER + QObject::connect(window, SIGNAL(frameSwapped()), qwm, SLOT(slotActivateSurface())); +#else + window->resize(1920, 720); + window->setVisible(true); +#endif + + return app.exec(); +} + diff --git a/app/translations.pri b/app/translations.pri new file mode 100644 index 0000000..81bd94b --- /dev/null +++ b/app/translations.pri @@ -0,0 +1,16 @@ +defineReplace(prependAll) { + for(a,$$1):result += $$2$${a}$$3 + return($$result) +} + +qtPrepareTool(QMAKE_LRELEASE, lrelease) +TRANSLATIONS = $$prependAll(LANGUAGES, $$PWD/translations/$${TARGET}_,.ts) + +qm.depends = $${TRANSLATIONS} +qm.input = TRANSLATIONS +qm.output = $$OUT_PWD/../package/root/translations/${QMAKE_FILE_BASE}.qm +qm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT} +qm.name = LRELEASE ${QMAKE_FILE_IN} +qm.CONFIG += no_link +QMAKE_EXTRA_COMPILERS += qm +PRE_TARGETDEPS += compiler_qm_make_all diff --git a/app/translations/hvac_fr_FR.ts b/app/translations/hvac_fr_FR.ts new file mode 100644 index 0000000..241a6f9 --- /dev/null +++ b/app/translations/hvac_fr_FR.ts @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.1" language="fr_FR"> +<context> + <name>HVAC</name> + <message> + <location filename="../HVAC.qml" line="66"/> + <source>FAN SPEED</source> + <translation>Vitesse de ventilation</translation> + </message> + <message> + <location filename="../HVAC.qml" line="98"/> + <source>A/C</source> + <translation></translation> + </message> + <message> + <location filename="../HVAC.qml" line="111"/> + <source>AUTO</source> + <translation></translation> + </message> +</context> +<context> + <name>HeatDegree</name> + <message> + <location filename="../HeatDegree.qml" line="31"/> + <source>LO</source> + <translation>BAS</translation> + </message> + <message> + <location filename="../HeatDegree.qml" line="33"/> + <source>%1°</source> + <translation></translation> + </message> + <message> + <location filename="../HeatDegree.qml" line="35"/> + <source>HI</source> + <translation>HAU</translation> + </message> +</context> +<context> + <name>main</name> + <message> + <location filename="../main.cpp" line="44"/> + <source>port for binding</source> + <translation>Port du binding</translation> + </message> + <message> + <location filename="../main.cpp" line="45"/> + <source>secret for binding</source> + <translation>Token de sécurité du binding</translation> + </message> +</context> +</TS> diff --git a/app/translations/hvac_ja_JP.ts b/app/translations/hvac_ja_JP.ts new file mode 100644 index 0000000..a3a78a8 --- /dev/null +++ b/app/translations/hvac_ja_JP.ts @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.1" language="ja_JP"> +<context> + <name>HVAC</name> + <message> + <location filename="../HVAC.qml" line="66"/> + <source>FAN SPEED</source> + <translation>ファンの回転数</translation> + </message> + <message> + <location filename="../HVAC.qml" line="98"/> + <source>A/C</source> + <translation></translation> + </message> + <message> + <location filename="../HVAC.qml" line="111"/> + <source>AUTO</source> + <translation></translation> + </message> +</context> +<context> + <name>HeatDegree</name> + <message> + <location filename="../HeatDegree.qml" line="31"/> + <source>LO</source> + <translation>寒</translation> + </message> + <message> + <location filename="../HeatDegree.qml" line="33"/> + <source>%1°</source> + <translation></translation> + </message> + <message> + <location filename="../HeatDegree.qml" line="35"/> + <source>HI</source> + <translation>暖</translation> + </message> +</context> +<context> + <name>main</name> + <message> + <location filename="../main.cpp" line="44"/> + <source>port for binding</source> + <translation>binding 用のポート</translation> + </message> + <message> + <location filename="../main.cpp" line="45"/> + <source>secret for binding</source> + <translation>binding 用の secret</translation> + </message> +</context> +</TS> diff --git a/app/translator.cpp b/app/translator.cpp new file mode 100644 index 0000000..9b67f13 --- /dev/null +++ b/app/translator.cpp @@ -0,0 +1,52 @@ +#include "translator.h" + +#include <QtCore/QCoreApplication> +#include <QtCore/QLocale> +#include <QtCore/QTranslator> +#include <QtCore/QDir> +#include <QtCore/QDebug> + +Translator::Translator(QObject *parent) + : QObject(parent) + , m_language(QStringLiteral("C")) + , m_translator(nullptr) +{ +} + +QString Translator::translate(const QString &string, const QString &language) const +{ + Q_UNUSED(language) + return string; +} + +QString Translator::language() const +{ + return m_language; +} + +void Translator::setLanguage(const QString &language) +{ + if (m_language == language) return; + m_language = language; + setTranslator(language); + emit languageChanged(language); +} + +void Translator::setTranslator(const QString &language) +{ + if (m_translator) { + QCoreApplication::removeTranslator(m_translator); + } else { + m_translator = new QTranslator(this); + } + QLocale locale(language); + QString fileName = QCoreApplication::instance()->applicationName().toLower(); + qDebug() << "####" << QDir::currentPath() << QCoreApplication::applicationDirPath(); + if (m_translator->load(locale, fileName, QStringLiteral("_"), QStringLiteral("%1/../translations").arg(QCoreApplication::applicationDirPath()))) { + QCoreApplication::installTranslator(m_translator); + } else { + delete m_translator; + m_translator = nullptr; + } +} + diff --git a/app/translator.h b/app/translator.h new file mode 100644 index 0000000..82c5872 --- /dev/null +++ b/app/translator.h @@ -0,0 +1,32 @@ +#ifndef TRANSLATOR_H +#define TRANSLATOR_H + +#include <QtCore/QObject> + +class QTranslator; + +class Translator : public QObject +{ + Q_OBJECT + Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged) +public: + explicit Translator(QObject *parent = nullptr); + + QString language() const; + + Q_INVOKABLE QString translate(const QString &string, const QString &language) const; +public slots: + void setLanguage(const QString &language); + +signals: + void languageChanged(const QString &language); + +private slots: + void setTranslator(const QString &language); + +private: + QString m_language; + QTranslator *m_translator; +}; + +#endif // TRANSLATOR_H |