From 5d821d3183cea7525e7ca03f8be1cf0aded42ffd Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Thu, 2 Aug 2018 08:56:10 +0000 Subject: Improve output of multiple screen resolution 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: I89f56fc37a5022fec23cf313f878a77c7a6eb111 Signed-off-by: Tadao Tanikawa --- app/Phone.qml | 11 +++++++++++ app/main.cpp | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/app/Phone.qml b/app/Phone.qml index 15af5b4..6ce503c 100644 --- a/app/Phone.qml +++ b/app/Phone.qml @@ -22,6 +22,16 @@ import QtQuick.Controls 2.0 ApplicationWindow { id: root + width: container.width * container.scale + height: container.height * container.scale + + Item { + id: container + anchors.centerIn: parent + width: 1080 + height: 1487 + scale: screenInfo.scale_factor() + TabBar { id: bar width: parent.width @@ -71,3 +81,4 @@ ApplicationWindow { } } } +} diff --git a/app/main.cpp b/app/main.cpp index 56b6622..71868d8 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -75,6 +75,9 @@ int main(int argc, char *argv[]) if(qwm->init(port,secret) != 0){ exit(EXIT_FAILURE); } + + AGLScreenInfo screenInfo(qwm->get_scale_factor()); + // Request a surface as described in layers.json windowmanager’s file if (qwm->requestSurface(myname) != 0) { exit(EXIT_FAILURE); @@ -103,6 +106,7 @@ int main(int argc, char *argv[]) qmlRegisterUncreatableType("NumberType", 1, 0, "NumberType", "Not creatable as it is an enum type"); + engine.rootContext()->setContextProperty("screenInfo", &screenInfo); engine.load(QUrl(QStringLiteral("qrc:/Phone.qml"))); QObject *root = engine.rootObjects().first(); QQuickWindow *window = qobject_cast(root); -- cgit 1.2.3-korg