_evas_render_has_map(Evas_Object *obj)
{
return ((!((obj->func->can_map) && (obj->func->can_map(obj)))) &&
- ((obj->cur.map) && (obj->cur.map->count == 4) &&
- (obj->cur.usemap)));
+ ((obj->cur.map) && (obj->cur.usemap)));
}
static Eina_Bool
RD(" [--- PROCESS [%p] '%s' active = %i, del = %i | %i %i %ix%i\n", obj, obj->type, is_active, obj->delete_me, obj->cur.geometry.x, obj->cur.geometry.y, obj->cur.geometry.w, obj->cur.geometry.h);
if ((is_active) || (obj->delete_me != 0))
eina_array_push(active_objects, obj);
+
+#ifdef REND_DGB
+ if (!is_active)
+ {
+ RDI(level);
+ RD(" [%p] vis: %i, cache.clip.vis: %i cache.clip.a: %i [%p]\n", obj, obj->cur.visible, obj->cur.cache.clip.visible, obj->cur.cache.clip.a, obj->func->is_visible);
+ }
+#endif
if (_evas_render_has_map(obj)) map = 1;
evas_object_is_visible(Evas_Object *obj)
{
if ((obj->cur.visible) &&
- (obj->cur.cache.clip.visible) &&
+ ((obj->cur.cache.clip.visible) || (obj->smart.smart)) &&
(obj->cur.cache.clip.a > 0))
{
if (obj->func->is_visible)
static inline int
evas_object_is_active(Evas_Object *obj)
{
- if ((evas_object_is_visible(obj) || evas_object_was_visible(obj)) &&
- (evas_object_is_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
- obj->layer->evas->output.h) ||
- evas_object_was_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
- obj->layer->evas->output.h)))
- return 1;
+ if (evas_object_is_visible(obj) || evas_object_was_visible(obj))
+ {
+ if (obj->smart.smart)
+ {
+ int mapsmt = 0;
+ if (obj->smart.smart && (obj->cur.map && obj->cur.usemap)) mapsmt = 1;
+ if (!mapsmt) return 1;
+ if (evas_object_is_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
+ obj->layer->evas->output.h) ||
+ evas_object_was_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
+ obj->layer->evas->output.h))
+ return 1;
+ }
+ else
+ {
+ if (evas_object_is_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
+ obj->layer->evas->output.h) ||
+ evas_object_was_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
+ obj->layer->evas->output.h))
+ return 1;
+ }
+ }
return 0;
}