evas canvas: fix broken proxy clipping.

Origin of clipper's clipper won't be transformed to derivative space.
So it needs to transform the coordinate additionally.
This commit is contained in:
Hermet Park 2016-06-24 00:48:34 +09:00
parent 48a64d827f
commit ed444b698b
1 changed files with 5 additions and 2 deletions

View File

@ -1242,8 +1242,11 @@ _proxy_context_clip(Evas_Public_Data *evas, void *ctx, Evas_Proxy_Render_Data *p
/* stop if we found the source object's clipper */
if (clipper == proxy_render_data->src_obj->cur->clipper) return EINA_TRUE;
/* recurse to the clipper itself */
return _proxy_context_clip(evas, ctx, proxy_render_data, clipper, off_x, off_y);
/* recurse to the clipper itself.
* origin of clipper's clipper won't be transformed to derivative space. */
return _proxy_context_clip(evas, ctx, proxy_render_data, clipper,
(off_x - proxy_render_data->src_obj->cur->geometry.x),
(off_y - proxy_render_data->src_obj->cur->geometry.y));
}
static void