Improve output of multiple screen resolution 41/15941/2
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Thu, 2 Aug 2018 10:33:25 +0000 (10:33 +0000)
committerTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Thu, 2 Aug 2018 12:09:11 +0000 (12:09 +0000)
To improve output on various monitor with various resolution,
use scale_factor from WM to fit various screen resolution.

Bug-AGL: SPEC-1568, SPEC-1569, SPEC-1611

Change-Id: I26b274d1342471d63acc09433323385afd9f36f3
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
app/HVAC.qml
app/main.cpp

index 2610164..8867168 100644 (file)
@@ -24,6 +24,9 @@ import 'api' as API
 ApplicationWindow {
     id: root
 
+    width: container.width * container.scale
+    height: container.height * container.scale
+
        Translator {
                id: translator
                language: binding.language
@@ -36,6 +39,13 @@ ApplicationWindow {
                onLanguageChanged: translator.language = language
        }
 
+    Item {
+        id: container
+        anchors.centerIn: parent
+        width: 1080
+        height: 1487
+        scale: screenInfo.scale_factor()
+
        ColumnLayout {
                anchors.fill: parent
                anchors.topMargin: width / 10
@@ -47,7 +57,7 @@ ApplicationWindow {
                                source: './images/HMI_HVAC_Fan_Icon.svg'
                        }
                        Item {
-                               width: root.width * 0.8
+                               width: container.width * 0.8
                                Slider {
                                        id: fanSpeedSlider
                                        anchors.left: parent.left
@@ -158,3 +168,4 @@ ApplicationWindow {
                }
        }
 }
+}
index 211f52b..55a7688 100644 (file)
@@ -75,6 +75,8 @@ int main(int argc, char *argv[])
     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);