evas: enable setting any object as a clipper

Summary:
now that various other bugs related to clipping/masking/drawing have
been fixed, this "just works"

@feature

Reviewers: Hermet, cedric

Reviewed By: Hermet, cedric

Subscribers: Hermet, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8852
This commit is contained in:
Mike Blumenkrantz 2019-05-30 13:15:30 -04:00
parent d1bc3ea258
commit 1b4ce987a7
1 changed files with 2 additions and 7 deletions

View File

@ -232,7 +232,6 @@ _efl_canvas_object_clipper_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj
if (obj->delete_me) goto err_obj_deleted;
if (!obj->layer || !clip->layer) goto err_no_layer;
if (obj->layer->evas != clip->layer->evas) goto err_diff_evas;
if ((clip->type != o_rect_type) && (clip->type != o_image_type)) goto err_type;
return EINA_FALSE;
@ -252,10 +251,6 @@ err_diff_evas:
CRI("Setting object %p from Evas (%p) to another Evas (%p)",
obj, obj->layer->evas, clip->layer->evas);
return EINA_TRUE;
err_type:
CRI("A clipper can only be an evas rectangle or image (got %s)",
efl_class_name_get(eo_clip));
return EINA_TRUE;
}
static inline void
@ -344,8 +339,8 @@ _efl_canvas_object_clipper_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas
/* unset cur clipper */
_efl_canvas_object_clipper_unset_common(obj, EINA_TRUE);
/* image object clipper */
if (clip->type == o_image_type)
/* non-rect object clipper */
if (clip->type != o_rect_type)
{
EINA_COW_WRITE_BEGIN(evas_object_mask_cow, clip->mask, Evas_Object_Mask_Data, mask)
mask->is_mask = EINA_TRUE;