e-comp-wl: Implement subsurface parent commit function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2014-11-03 14:46:20 -05:00
parent 4de0a40d0c
commit 8a08e17603
1 changed files with 26 additions and 0 deletions

View File

@ -1534,7 +1534,33 @@ unmap:
static void
_e_comp_wl_subsurface_parent_commit(E_Client *ec, Eina_Bool parent_synchronized)
{
E_Client *parent;
E_Comp_Wl_Subsurf_Data *sdata;
if (!(sdata = ec->comp_data->sub.data)) return;
if (!(parent = sdata->parent)) return;
if (sdata->position.set)
{
evas_object_move(ec->frame, parent->x + sdata->position.x,
parent->y + sdata->position.y);
sdata->position.set = EINA_FALSE;
}
if ((parent_synchronized) || (sdata->synchronized))
{
E_Client *subc;
Eina_List *l;
if (sdata->cached.has_data)
_e_comp_wl_subsurface_commit_from_cache(ec);
EINA_LIST_FOREACH(ec->comp_data->sub.list, l, subc)
{
if (ec != subc)
_e_comp_wl_subsurface_parent_commit(subc, EINA_TRUE);
}
}
}
static void