aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-08 00:08:11 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-08 00:14:25 +0900
commit46d1ad85e8a4531dcb7dc9599f6c09554e2cdfbb (patch)
treedaf9ae040a3afaa7e2ae002a504d2f7b82e47b43
parentd78ae3cd8f316d1830cde4d611b8e42f90dbcc11 (diff)
Insert hack code to compatible split mode
Change-Id: Iaf1769493979637f62e26c4db63b5cd205b13f7b Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r--src/app.cpp8
-rw-r--r--src/applist.cpp9
2 files changed, 16 insertions, 1 deletions
diff --git a/src/app.cpp b/src/app.cpp
index 1645bfe..e9f6d92 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -758,6 +758,14 @@ void App::lm_layout_change(const char *drawing_name)
std::string str_area_sub = std::string(kNameLayoutSplit) + "." + std::string(kNameAreaSub);
compositor::rect area_rect_main = this->area_info[state.main];
compositor::rect area_rect_sub = this->area_info[*surface_id];
+ // >>> HACK
+ HMI_WARNING("wm", "HACK!!!");
+ std::string hack_appid = "hack";
+ std::string hack_role = main;
+ std::string hack_area = str_area_main;
+ g_app_list.setAction(g_app_list.currentSequenceNumber(), hack_appid, hack_role, hack_area, true);
+ g_app_list.setEndDrawFinished(g_app_list.currentSequenceNumber(), hack_appid, hack_role); // This process is illegal
+ // >>> HACK
this->emit_syncdraw(main.c_str(), str_area_main.c_str(),
area_rect_main.x, area_rect_main.y,
area_rect_main.w, area_rect_main.h);
diff --git a/src/applist.cpp b/src/applist.cpp
index bdb64a9..66289ea 100644
--- a/src/applist.cpp
+++ b/src/applist.cpp
@@ -166,6 +166,13 @@ bool AppList::setAction(unsigned req_num, const struct WMAction &action)
return result;
}
+/**
+ * Note:
+ * This function set action with parameters.
+ * if visible is true, it means app should be visible, so enddraw_finished parameter should be false.
+ * otherwise (visible is false) app should be invisible. Then enddraw_finished param is set to true.
+ * This function doesn't support actions for focus yet.
+ */
bool AppList::setAction(unsigned req_num, const string &appid, const string &role, const string &area, bool visible)
{
bool result = false;
@@ -175,7 +182,7 @@ bool AppList::setAction(unsigned req_num, const string &appid, const string &rol
{
continue;
}
- bool edraw_f = false;
+ bool edraw_f = (visible) ? false : true;
WMAction action{appid, role, area, visible, edraw_f};
x.sync_draw_req.push_back(action);