if (vi_effect && !strcmp(vi_effect, "on"))
{
Evas_Object *clip = evas_object_clip_get(VIEW(it));
- const Eina_List *clipees = evas_object_clipees_get(clip);
- // FIXME: This clipee rect is prevent white rect generation by all clip unset.
- if ((eina_list_count(clipees) <= 2) && !sd->clipee)
- {
- sd->clipee = evas_object_rectangle_add(evas_object_evas_get(WIDGET(it)));
- evas_object_color_set(sd->clipee, 0, 0, 0, 0);
- evas_object_clip_set(sd->clipee, clip);
- }
+ if (clip) evas_object_data_set(VIEW(it), "view,clip", clip);
+ else clip = evas_object_data_get(VIEW(it), "view,clip");
+
if (!it->item->proxy)
{
it->item->proxy = evas_object_image_filled_add(evas_object_evas_get(wd->obj));
evas_object_smart_member_add(it->item->proxy, sd->pan_obj);
}
- evas_object_clip_set(it->item->proxy, evas_object_clip_get(sd->pan_obj));
- evas_object_clip_unset(VIEW(it));
+ evas_object_clip_set(it->item->proxy, clip);
+ if (evas_object_clip_get(VIEW(it))) evas_object_clip_unset(VIEW(it));
evas_object_image_source_set(it->item->proxy, VIEW(it));
evas_object_image_source_visible_set(it->item->proxy, EINA_FALSE);
evas_object_image_source_events_set(it->item->proxy, EINA_TRUE);
_evas_viewport_resize_cb, sd);
if (sd->size_caches) eina_hash_free(sd->size_caches);
if (sd->decorate_it_type) eina_stringshare_del(sd->decorate_it_type);
- if (sd->clipee) evas_object_del(sd->clipee);
evas_object_del(sd->pan_obj);
eo_do_super(obj, MY_CLASS, evas_obj_smart_del());