return EINA_TRUE;
}
+/* change the base_output_resolution of the bind_ec by checking the base_output_resolution of provider_ec's appinfo */
+EINTERN Eina_Bool
+e_client_base_output_resolution_rsm_update(E_Client *bind_ec, E_Client *provider_ec)
+{
+ E_Appinfo *epai = NULL;
+ int configured_width, configured_height;
+ int width, height;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(bind_ec, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(provider_ec, EINA_FALSE);
+
+ if (!e_config->configured_output_resolution.use) return EINA_TRUE;
+
+ configured_width = e_config->configured_output_resolution.w;
+ configured_height = e_config->configured_output_resolution.h;
+
+ if (bind_ec->base_output_resolution.use)
+ {
+ ELOGF("POL_APPINFO", "DELETE EXISTED BINDER BASE SCREEN RESOLUTION... base_output_resolution is same with desk size:(%d,%d), bind_pid:%d", bind_ec,
+ bind_ec->base_output_resolution.w, bind_ec->base_output_resolution.h, bind_ec->netwm.pid);
+
+ bind_ec->base_output_resolution.use = 0;
+ bind_ec->base_output_resolution.w = 0;
+ bind_ec->base_output_resolution.h = 0;
+ e_client_transform_core_remove(bind_ec, bind_ec->base_output_resolution.transform);
+ E_FREE_FUNC(bind_ec->base_output_resolution.transform, e_util_transform_del);
+ }
+
+ if (!provider_ec->netwm.pid)
+ {
+ ELOGF("POL_APPINFO", "NO PROVIDER PID... USE configured_output_resolution(%d,%d) provider_pid:%d", provider_ec,
+ configured_width, configured_height, provider_ec->netwm.pid);
+ goto use_configured;
+ }
+
+ epai = e_appinfo_find_with_pid(provider_ec->netwm.pid);
+ if (!epai)
+ {
+ ELOGF("POL_APPINFO", "NO PROVIDER APPINFO... USE configured_output_resolution(%d,%d) provider_pid:%d", provider_ec,
+ configured_width, configured_height, provider_ec->netwm.pid);
+ goto use_configured;
+ }
+
+ if (!e_appinfo_base_output_resolution_get(epai, &width, &height))
+ {
+ ELOGF("POL_APPINFO", "NO PROVIDER APPINFO BASE SCREEN RESOLUTION... USE configured_output_resolution(%d,%d) provider_pid:%d", provider_ec,
+ configured_width, configured_height, provider_ec->netwm.pid);
+ goto use_configured;
+ }
+
+ if ((width == 0) && (height == 0))
+ {
+ ELOGF("POL_APPINFO", "NO PROVIDER WIDTH and HEIGHT... SKIP base_output_resolution due to size:(%d,%d) provider_pid:%d", provider_ec,
+ width, height, provider_ec->netwm.pid);
+ return EINA_TRUE;
+ }
+
+ if ((bind_ec->desk->geom.w == width) && (bind_ec->desk->geom.h == height))
+ {
+ ELOGF("POL_APPINFO", "SKIP SET BINDER BASE SCREEN RESOLUTION... base_output_resolution is same with desk size:(%d,%d), bind_pid:%d", bind_ec,
+ width, height, bind_ec->netwm.pid);
+ return EINA_TRUE;
+ }
+
+ /* set the base_output_resolution of the e_client */
+ _e_client_base_output_resolution_set(bind_ec, width, height);
+ e_client_base_output_resolution_transform_adjust(bind_ec);
+
+ ELOGF("POL_APPINFO", "USE BINDER base_output_resolution(%d,%d) bind_pid:%d", bind_ec, width, height, bind_ec->netwm.pid);
+
+ return EINA_TRUE;
+
+use_configured:
+
+ if ((bind_ec->desk->geom.w == configured_width) && (bind_ec->desk->geom.h == configured_height))
+ {
+ ELOGF("POL_APPINFO", "SKIP BINDER use configured_output_resolution (same with desk size:(%d,%d), bind_pid:%d)", bind_ec,
+ configured_width, configured_height, bind_ec->netwm.pid);
+ }
+ else
+ {
+ /* set the base_output_resolution of the e_client as a default */
+ _e_client_base_output_resolution_set(bind_ec, configured_width, configured_height);
+ }
+
+ return EINA_TRUE;
+}
+
/* tizen_move_resize */
EINTERN Eina_Bool
e_client_pending_geometry_has(E_Client *ec)