From 8a791cb2ab7c159aac440cd97fbf2ae75d79b31f Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Wed, 1 Aug 2018 06:43:02 +0000 Subject: Improve output of multiple screen resolution To improve output on various monitor with various resolution, the following items are introduced. * Abandon scaling by Weston/IVI-SHELL This is cause of huge memory consumption on AGL CES2018 Demo because all contents are designed and rendered with FullHD resolution. * Add parameter of 'scale' to WM API (getDisplayInfo) WM calculate scale factor from screen resolution from wayland compositor and parameter of layout from WM's configuration, area.db. Bug-AGL: SPEC-1568, SPEC-1569, SPEC-1611 Change-Id: I5eac2da0106228c296550135c5200b2653864fdf Signed-off-by: Tadao Tanikawa --- src/layers.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/layers.cpp') diff --git a/src/layers.cpp b/src/layers.cpp index f73daf2..bbe7c09 100644 --- a/src/layers.cpp +++ b/src/layers.cpp @@ -181,7 +181,7 @@ json layer_map::to_json() const return j; } -void layer_map::setupArea(int output_w, int output_h) +void layer_map::setupArea(double scaling) { compositor::rect rct; @@ -191,6 +191,11 @@ void layer_map::setupArea(int output_w, int output_h) for (auto &i : this->area2size) { + i.second.x = static_cast(scaling * i.second.x + 0.5); + i.second.y = static_cast(scaling * i.second.y + 0.5); + i.second.w = static_cast(scaling * i.second.w + 0.5); + i.second.h = static_cast(scaling * i.second.h + 0.5); + HMI_DEBUG("wm:lm", "area:%s size(after) : x:%d y:%d w:%d h:%d", i.first.c_str(), i.second.x, i.second.y, i.second.w, i.second.h); } -- cgit 1.2.3-korg