From 46d1ad85e8a4531dcb7dc9599f6c09554e2cdfbb Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Fri, 8 Jun 2018 00:08:11 +0900 Subject: [PATCH] Insert hack code to compatible split mode Change-Id: Iaf1769493979637f62e26c4db63b5cd205b13f7b Signed-off-by: Kazumasa Mitsunari --- src/app.cpp | 8 ++++++++ src/applist.cpp | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) 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); -- 2.16.6