aboutsummaryrefslogtreecommitdiffstats
path: root/src/wm_layer_control.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-09-08 19:12:23 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-09-08 19:12:23 +0900
commitb7a4072188f9370c456d65832634c1f136e18f32 (patch)
treed8355d9b41a8bc59cfaa1cf553881d1899d560e3 /src/wm_layer_control.cpp
parent10ffb4cc3ac196e110a67e82b6b4d63499443e69 (diff)
Fix layer can't go to center
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/wm_layer_control.cpp')
-rw-r--r--src/wm_layer_control.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/wm_layer_control.cpp b/src/wm_layer_control.cpp
index 0632085..5319b2e 100644
--- a/src/wm_layer_control.cpp
+++ b/src/wm_layer_control.cpp
@@ -160,7 +160,7 @@ struct rect LayerControl::getAreaSize(const std::string& area)
return area2size[area];
}
-void LayerControl::setupArea(double scaling)
+void LayerControl::setupArea(const rectangle& base_rct, double scaling)
{
struct rect rct;
this->scaling = scaling;
@@ -171,8 +171,8 @@ void LayerControl::setupArea(double scaling)
for (auto &i : this->area2size)
{
- i.second.x = static_cast<int>(scaling * i.second.x + 0.5);
- i.second.y = static_cast<int>(scaling * i.second.y + 0.5);
+ i.second.x = base_rct.left() + static_cast<int>(scaling * i.second.x + 0.5);
+ i.second.y = base_rct.top() + static_cast<int>(scaling * i.second.y + 0.5);
i.second.w = static_cast<int>(scaling * i.second.w + 0.5);
i.second.h = static_cast<int>(scaling * i.second.h + 0.5);
@@ -357,6 +357,7 @@ WMError LayerControl::layoutChange(const WMAction& action)
// Layout Manager
// WMError ret = this->setLayerSize(layer, action.area);
auto rect = this->getAreaSize(action.area);
+ HMI_DEBUG("Set layout %d, %d, %d, %d",rect.x, rect.y, rect.w, rect.h);
ilmErrorTypes err = ilm_layerSetDestinationRectangle(layer, rect.x, rect.y, rect.w, rect.h);
for(auto &wm_layer: this->wm_layers)
{