forked from enlightenment/efl
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:
parent
d1bc3ea258
commit
1b4ce987a7
|
@ -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->delete_me) goto err_obj_deleted;
|
||||||
if (!obj->layer || !clip->layer) goto err_no_layer;
|
if (!obj->layer || !clip->layer) goto err_no_layer;
|
||||||
if (obj->layer->evas != clip->layer->evas) goto err_diff_evas;
|
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;
|
return EINA_FALSE;
|
||||||
|
|
||||||
|
@ -252,10 +251,6 @@ err_diff_evas:
|
||||||
CRI("Setting object %p from Evas (%p) to another Evas (%p)",
|
CRI("Setting object %p from Evas (%p) to another Evas (%p)",
|
||||||
obj, obj->layer->evas, clip->layer->evas);
|
obj, obj->layer->evas, clip->layer->evas);
|
||||||
return EINA_TRUE;
|
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
|
static inline void
|
||||||
|
@ -344,8 +339,8 @@ _efl_canvas_object_clipper_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas
|
||||||
/* unset cur clipper */
|
/* unset cur clipper */
|
||||||
_efl_canvas_object_clipper_unset_common(obj, EINA_TRUE);
|
_efl_canvas_object_clipper_unset_common(obj, EINA_TRUE);
|
||||||
|
|
||||||
/* image object clipper */
|
/* non-rect object clipper */
|
||||||
if (clip->type == o_image_type)
|
if (clip->type != o_rect_type)
|
||||||
{
|
{
|
||||||
EINA_COW_WRITE_BEGIN(evas_object_mask_cow, clip->mask, Evas_Object_Mask_Data, mask)
|
EINA_COW_WRITE_BEGIN(evas_object_mask_cow, clip->mask, Evas_Object_Mask_Data, mask)
|
||||||
mask->is_mask = EINA_TRUE;
|
mask->is_mask = EINA_TRUE;
|
||||||
|
|
Loading…
Reference in New Issue