forked from enlightenment/efl
ok. i'm hunting the bug. yes! printf debuggin gets in! i want others to be
able to find it too. SVN revision: 43600
This commit is contained in:
parent
c88c587e66
commit
e58124942d
|
@ -1541,6 +1541,9 @@ evas_object_text_render(Evas_Object *obj, void *output, void *context, void *sur
|
||||||
}
|
}
|
||||||
else if (o->cur.style == EVAS_TEXT_STYLE_SOFT_SHADOW)
|
else if (o->cur.style == EVAS_TEXT_STYLE_SOFT_SHADOW)
|
||||||
{
|
{
|
||||||
|
printf("text [%p] %3i %3i '%s'\n", obj,
|
||||||
|
obj->cur.geometry.x,
|
||||||
|
obj->cur.geometry.y, o->cur.text);
|
||||||
for (j = 0; j < 5; j++)
|
for (j = 0; j < 5; j++)
|
||||||
{
|
{
|
||||||
for (i = 0; i < 5; i++)
|
for (i = 0; i < 5; i++)
|
||||||
|
|
|
@ -85,8 +85,64 @@ evas_obscured_clear(Evas *e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_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)));
|
||||||
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_evas_render_had_map(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
return ((!obj->cur.map) && (obj->prev.usemap));
|
||||||
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_evas_render_is_relevant(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
return ((evas_object_is_visible(obj) && (!obj->cur.have_clipees)) ||
|
||||||
|
(evas_object_was_visible(obj) && (!obj->prev.have_clipees)));
|
||||||
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_evas_render_can_render(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
return (evas_object_is_visible(obj) && (!obj->cur.have_clipees));
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_evas_render_phase1_direct(Evas *e, Eina_Array *active_objects, Eina_Array *restack_objects, Eina_Array *delete_objects, Eina_Array *render_objects)
|
_evas_render_prev_cur_clip_cache_add(Evas *e, Evas_Object *obj)
|
||||||
|
{
|
||||||
|
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
||||||
|
obj->prev.cache.clip.x,
|
||||||
|
obj->prev.cache.clip.y,
|
||||||
|
obj->prev.cache.clip.w,
|
||||||
|
obj->prev.cache.clip.h);
|
||||||
|
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
||||||
|
obj->cur.cache.clip.x,
|
||||||
|
obj->cur.cache.clip.y,
|
||||||
|
obj->cur.cache.clip.w,
|
||||||
|
obj->cur.cache.clip.h);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_evas_render_cur_clip_cache_del(Evas *e, Evas_Object *obj)
|
||||||
|
{
|
||||||
|
e->engine.func->output_redraws_rect_del(e->engine.data.output,
|
||||||
|
obj->cur.cache.clip.x,
|
||||||
|
obj->cur.cache.clip.y,
|
||||||
|
obj->cur.cache.clip.w,
|
||||||
|
obj->cur.cache.clip.h);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_evas_render_phase1_direct(Evas *e,
|
||||||
|
Eina_Array *active_objects,
|
||||||
|
Eina_Array *restack_objects,
|
||||||
|
Eina_Array *delete_objects,
|
||||||
|
Eina_Array *render_objects)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
@ -101,35 +157,11 @@ _evas_render_phase1_direct(Evas *e, Eina_Array *active_objects, Eina_Array *rest
|
||||||
obj->func->render_pre(obj);
|
obj->func->render_pre(obj);
|
||||||
if (obj->pre_render_done)
|
if (obj->pre_render_done)
|
||||||
{
|
{
|
||||||
if ((obj->smart.smart) &&
|
if ((obj->smart.smart) && _evas_render_has_map(obj))
|
||||||
(!((obj->func->can_map) && (obj->func->can_map(obj)))) &&
|
_evas_render_prev_cur_clip_cache_add(e, obj);
|
||||||
((obj->cur.map) && (obj->cur.map->count == 4) && (obj->cur.usemap)))
|
|
||||||
{
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->prev.cache.clip.x,
|
|
||||||
obj->prev.cache.clip.y,
|
|
||||||
obj->prev.cache.clip.w,
|
|
||||||
obj->prev.cache.clip.h);
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->cur.cache.clip.x,
|
|
||||||
obj->cur.cache.clip.y,
|
|
||||||
obj->cur.cache.clip.w,
|
|
||||||
obj->cur.cache.clip.h);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ((!obj->cur.map) && (obj->prev.usemap))
|
|
||||||
{
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->prev.cache.clip.x,
|
|
||||||
obj->prev.cache.clip.y,
|
|
||||||
obj->prev.cache.clip.w,
|
|
||||||
obj->prev.cache.clip.h);
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->cur.cache.clip.x,
|
|
||||||
obj->cur.cache.clip.y,
|
|
||||||
obj->cur.cache.clip.w,
|
|
||||||
obj->cur.cache.clip.h);
|
|
||||||
}
|
}
|
||||||
|
else if (_evas_render_had_map(obj))
|
||||||
|
_evas_render_prev_cur_clip_cache_add(e, obj);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -138,33 +170,31 @@ _evas_render_phase1_direct(Evas *e, Eina_Array *active_objects, Eina_Array *rest
|
||||||
// obj->func->render_pre(obj);
|
// obj->func->render_pre(obj);
|
||||||
}
|
}
|
||||||
else if (obj->rect_del)
|
else if (obj->rect_del)
|
||||||
{
|
_evas_render_cur_clip_cache_del(e, obj);
|
||||||
e->engine.func->output_redraws_rect_del(e->engine.data.output,
|
|
||||||
obj->cur.cache.clip.x,
|
|
||||||
obj->cur.cache.clip.y,
|
|
||||||
obj->cur.cache.clip.w,
|
|
||||||
obj->cur.cache.clip.h);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active_objects, Eina_Array *restack_objects, Eina_Array *delete_objects, Eina_Array *render_objects, int restack)
|
_evas_render_phase1_object_process(Evas *e, Evas_Object *obj,
|
||||||
|
Eina_Array *active_objects,
|
||||||
|
Eina_Array *restack_objects,
|
||||||
|
Eina_Array *delete_objects,
|
||||||
|
Eina_Array *render_objects,
|
||||||
|
int restack, int map)
|
||||||
{
|
{
|
||||||
Eina_Bool clean_them = EINA_FALSE;
|
Eina_Bool clean_them = EINA_FALSE;
|
||||||
|
Evas_Object *obj2;
|
||||||
int is_active;
|
int is_active;
|
||||||
|
|
||||||
obj->rect_del = 0;
|
obj->rect_del = 0;
|
||||||
obj->render_pre = 0;
|
obj->render_pre = 0;
|
||||||
|
|
||||||
/* because of clip objects - delete 2 cycles later */
|
/* because of clip objects - delete 2 cycles later */
|
||||||
if (obj->delete_me == 2)
|
if (obj->delete_me == 2) eina_array_push(delete_objects, obj);
|
||||||
eina_array_push(delete_objects, obj);
|
|
||||||
else if (obj->delete_me != 0) obj->delete_me++;
|
else if (obj->delete_me != 0) obj->delete_me++;
|
||||||
/* If the object will be removed, we should not cache anything during this run. */
|
/* If the object will be removed, we should not cache anything during this run. */
|
||||||
if (obj->delete_me != 0)
|
if (obj->delete_me != 0) clean_them = EINA_TRUE;
|
||||||
clean_them = EINA_TRUE;
|
|
||||||
|
|
||||||
/* build active object list */
|
/* build active object list */
|
||||||
is_active = evas_object_is_active(obj);
|
is_active = evas_object_is_active(obj);
|
||||||
|
@ -172,9 +202,14 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
||||||
obj->is_active = is_active;
|
obj->is_active = is_active;
|
||||||
if ((is_active) || (obj->delete_me != 0))
|
if ((is_active) || (obj->delete_me != 0))
|
||||||
{
|
{
|
||||||
|
printf("act1 [%p]\n", obj);
|
||||||
eina_array_push(active_objects, obj);
|
eina_array_push(active_objects, obj);
|
||||||
}
|
}
|
||||||
if (restack)
|
else
|
||||||
|
printf("nact [%p]\n", obj);
|
||||||
|
if (_evas_render_has_map(obj)) map = 1;
|
||||||
|
|
||||||
|
if ((restack) && (!map))
|
||||||
{
|
{
|
||||||
if (!obj->changed)
|
if (!obj->changed)
|
||||||
{
|
{
|
||||||
|
@ -185,27 +220,18 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
||||||
clean_them = EINA_TRUE;
|
clean_them = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!((obj->func->can_map) && (obj->func->can_map(obj))) &&
|
if (map)
|
||||||
((obj->cur.map) && (obj->cur.map->count == 4) && (obj->cur.usemap)))
|
|
||||||
{
|
{
|
||||||
if (obj->changed)
|
if (obj->changed)
|
||||||
{
|
{
|
||||||
evas_object_clip_recalc(obj);
|
evas_object_clip_recalc(obj);
|
||||||
if ((is_active) && (obj->restack) && (!obj->clip.clipees) &&
|
if ((obj->restack) &&
|
||||||
|
(is_active) && (!obj->clip.clipees) &&
|
||||||
((evas_object_is_visible(obj) && (!obj->cur.have_clipees)) ||
|
((evas_object_is_visible(obj) && (!obj->cur.have_clipees)) ||
|
||||||
(evas_object_was_visible(obj) && (!obj->prev.have_clipees))))
|
(evas_object_was_visible(obj) && (!obj->prev.have_clipees))))
|
||||||
{
|
{
|
||||||
eina_array_push(render_objects, obj);
|
eina_array_push(render_objects, obj);
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
_evas_render_prev_cur_clip_cache_add(e, obj);
|
||||||
obj->prev.cache.clip.x,
|
|
||||||
obj->prev.cache.clip.y,
|
|
||||||
obj->prev.cache.clip.w,
|
|
||||||
obj->prev.cache.clip.h);
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->cur.cache.clip.x,
|
|
||||||
obj->cur.cache.clip.y,
|
|
||||||
obj->cur.cache.clip.w,
|
|
||||||
obj->cur.cache.clip.h);
|
|
||||||
obj->render_pre = 1;
|
obj->render_pre = 1;
|
||||||
}
|
}
|
||||||
else if ((is_active) && (!obj->clip.clipees) &&
|
else if ((is_active) && (!obj->clip.clipees) &&
|
||||||
|
@ -213,35 +239,17 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
||||||
(evas_object_was_visible(obj) && (!obj->prev.have_clipees))))
|
(evas_object_was_visible(obj) && (!obj->prev.have_clipees))))
|
||||||
{
|
{
|
||||||
eina_array_push(render_objects, obj);
|
eina_array_push(render_objects, obj);
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
_evas_render_prev_cur_clip_cache_add(e, obj);
|
||||||
obj->prev.cache.clip.x,
|
|
||||||
obj->prev.cache.clip.y,
|
|
||||||
obj->prev.cache.clip.w,
|
|
||||||
obj->prev.cache.clip.h);
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->cur.cache.clip.x,
|
|
||||||
obj->cur.cache.clip.y,
|
|
||||||
obj->cur.cache.clip.w,
|
|
||||||
obj->cur.cache.clip.h);
|
|
||||||
obj->render_pre = 1;
|
obj->render_pre = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return clean_them;
|
return clean_them;
|
||||||
}
|
}
|
||||||
else if ((!obj->cur.usemap) && (obj->prev.usemap))
|
else if (_evas_render_had_map(obj))
|
||||||
{
|
{
|
||||||
evas_object_clip_recalc(obj);
|
evas_object_clip_recalc(obj);
|
||||||
eina_array_push(restack_objects, obj);
|
eina_array_push(restack_objects, obj);
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
_evas_render_prev_cur_clip_cache_add(e, obj);
|
||||||
obj->prev.cache.clip.x,
|
|
||||||
obj->prev.cache.clip.y,
|
|
||||||
obj->prev.cache.clip.w,
|
|
||||||
obj->prev.cache.clip.h);
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->cur.cache.clip.x,
|
|
||||||
obj->cur.cache.clip.y,
|
|
||||||
obj->cur.cache.clip.w,
|
|
||||||
obj->cur.cache.clip.h);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* handle normal rendering. this object knows how to handle maps */
|
/* handle normal rendering. this object knows how to handle maps */
|
||||||
|
@ -251,8 +259,6 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
||||||
evas_object_clip_recalc(obj);
|
evas_object_clip_recalc(obj);
|
||||||
if (obj->smart.smart)
|
if (obj->smart.smart)
|
||||||
{
|
{
|
||||||
Evas_Object *obj2;
|
|
||||||
|
|
||||||
eina_array_push(render_objects, obj);
|
eina_array_push(render_objects, obj);
|
||||||
obj->render_pre = 1;
|
obj->render_pre = 1;
|
||||||
EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(obj), obj2)
|
EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(obj), obj2)
|
||||||
|
@ -262,22 +268,23 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
||||||
restack_objects,
|
restack_objects,
|
||||||
delete_objects,
|
delete_objects,
|
||||||
render_objects,
|
render_objects,
|
||||||
obj->restack);
|
obj->restack,
|
||||||
|
map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((is_active) && (obj->restack) && (!obj->clip.clipees) &&
|
if ((is_active) && (!obj->clip.clipees) &&
|
||||||
((evas_object_is_visible(obj) && (!obj->cur.have_clipees)) ||
|
_evas_render_is_relevant(obj))
|
||||||
(evas_object_was_visible(obj) && (!obj->prev.have_clipees))))
|
{
|
||||||
eina_array_push(restack_objects, obj);
|
if (obj->restack)
|
||||||
else if ((is_active) && (!obj->clip.clipees) &&
|
eina_array_push(restack_objects, obj);
|
||||||
((evas_object_is_visible(obj) && (!obj->cur.have_clipees)) ||
|
else
|
||||||
(evas_object_was_visible(obj) && (!obj->prev.have_clipees))))
|
{
|
||||||
{
|
eina_array_push(render_objects, obj);
|
||||||
eina_array_push(render_objects, obj);
|
obj->render_pre = 1;
|
||||||
obj->render_pre = 1;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -288,24 +295,23 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
||||||
{
|
{
|
||||||
if (obj->smart.smart)
|
if (obj->smart.smart)
|
||||||
{
|
{
|
||||||
Evas_Object *obj2;
|
|
||||||
|
|
||||||
eina_array_push(render_objects, obj);
|
eina_array_push(render_objects, obj);
|
||||||
obj->render_pre = 1;
|
obj->render_pre = 1;
|
||||||
EINA_INLIST_FOREACH(evas_object_smart_members_get_direct(obj), obj2)
|
EINA_INLIST_FOREACH
|
||||||
|
(evas_object_smart_members_get_direct(obj), obj2)
|
||||||
{
|
{
|
||||||
_evas_render_phase1_object_process(e, obj2,
|
_evas_render_phase1_object_process(e, obj2,
|
||||||
active_objects,
|
active_objects,
|
||||||
restack_objects,
|
restack_objects,
|
||||||
delete_objects,
|
delete_objects,
|
||||||
render_objects,
|
render_objects,
|
||||||
restack);
|
restack, map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (evas_object_is_opaque(obj) &&
|
if (evas_object_is_opaque(obj) &&
|
||||||
evas_object_is_visible(obj))
|
evas_object_is_visible(obj))
|
||||||
{
|
{
|
||||||
eina_array_push(render_objects, obj);
|
eina_array_push(render_objects, obj);
|
||||||
obj->rect_del = 1;
|
obj->rect_del = 1;
|
||||||
|
@ -318,7 +324,11 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_evas_render_phase1_process(Evas *e, Eina_Array *active_objects, Eina_Array *restack_objects, Eina_Array *delete_objects, Eina_Array *render_objects)
|
_evas_render_phase1_process(Evas *e,
|
||||||
|
Eina_Array *active_objects,
|
||||||
|
Eina_Array *restack_objects,
|
||||||
|
Eina_Array *delete_objects,
|
||||||
|
Eina_Array *render_objects)
|
||||||
{
|
{
|
||||||
Evas_Layer *lay;
|
Evas_Layer *lay;
|
||||||
Eina_Bool clean_them = EINA_FALSE;
|
Eina_Bool clean_them = EINA_FALSE;
|
||||||
|
@ -331,7 +341,7 @@ _evas_render_phase1_process(Evas *e, Eina_Array *active_objects, Eina_Array *res
|
||||||
{
|
{
|
||||||
clean_them |= _evas_render_phase1_object_process
|
clean_them |= _evas_render_phase1_object_process
|
||||||
(e, obj, active_objects, restack_objects, delete_objects,
|
(e, obj, active_objects, restack_objects, delete_objects,
|
||||||
render_objects, 0);
|
render_objects, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -427,6 +437,7 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
||||||
int off_x, int off_y, int mapped)
|
int off_x, int off_y, int mapped)
|
||||||
{
|
{
|
||||||
void *ctx;
|
void *ctx;
|
||||||
|
Evas_Object *obj2;
|
||||||
|
|
||||||
evas_object_clip_recalc(obj);
|
evas_object_clip_recalc(obj);
|
||||||
if (mapped)
|
if (mapped)
|
||||||
|
@ -439,9 +450,9 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
||||||
((evas_object_is_visible(obj) && (!obj->cur.have_clipees)))))
|
((evas_object_is_visible(obj) && (!obj->cur.have_clipees)))))
|
||||||
))
|
))
|
||||||
return;
|
return;
|
||||||
|
printf("rndr [%p]\n", obj);
|
||||||
|
|
||||||
if (!((obj->func->can_map) && (obj->func->can_map(obj))) &&
|
if (_evas_render_has_map(obj))
|
||||||
((obj->cur.map) && (obj->cur.map->count == 4) && (obj->cur.usemap)))
|
|
||||||
{
|
{
|
||||||
const Evas_Map_Point *p, *p_end;
|
const Evas_Map_Point *p, *p_end;
|
||||||
RGBA_Map_Point pts[4], *pt;
|
RGBA_Map_Point pts[4], *pt;
|
||||||
|
@ -529,12 +540,10 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
||||||
e->engine.func->context_free(e->engine.data.output, ctx);
|
e->engine.func->context_free(e->engine.data.output, ctx);
|
||||||
}
|
}
|
||||||
ctx = e->engine.func->context_new(e->engine.data.output);
|
ctx = e->engine.func->context_new(e->engine.data.output);
|
||||||
|
off_x = -obj->cur.geometry.x;
|
||||||
|
off_y = -obj->cur.geometry.y;
|
||||||
if (obj->smart.smart)
|
if (obj->smart.smart)
|
||||||
{
|
{
|
||||||
Evas_Object *obj2;
|
|
||||||
|
|
||||||
off_x = -obj->cur.geometry.x;
|
|
||||||
off_y = -obj->cur.geometry.y;
|
|
||||||
EINA_INLIST_FOREACH
|
EINA_INLIST_FOREACH
|
||||||
(evas_object_smart_members_get_direct(obj), obj2)
|
(evas_object_smart_members_get_direct(obj), obj2)
|
||||||
{
|
{
|
||||||
|
@ -544,12 +553,8 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
obj->func->render(obj, e->engine.data.output, ctx,
|
||||||
off_x = -obj->cur.geometry.x;
|
obj->cur.map->surface, off_x, off_y);
|
||||||
off_y = -obj->cur.geometry.y;
|
|
||||||
obj->func->render(obj, e->engine.data.output, ctx,
|
|
||||||
obj->cur.map->surface, off_x, off_y);
|
|
||||||
}
|
|
||||||
e->engine.func->context_free(e->engine.data.output, ctx);
|
e->engine.func->context_free(e->engine.data.output, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -570,8 +575,6 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
||||||
ctx = e->engine.func->context_new(e->engine.data.output);
|
ctx = e->engine.func->context_new(e->engine.data.output);
|
||||||
if (obj->smart.smart)
|
if (obj->smart.smart)
|
||||||
{
|
{
|
||||||
Evas_Object *obj2;
|
|
||||||
|
|
||||||
EINA_INLIST_FOREACH
|
EINA_INLIST_FOREACH
|
||||||
(evas_object_smart_members_get_direct(obj), obj2)
|
(evas_object_smart_members_get_direct(obj), obj2)
|
||||||
{
|
{
|
||||||
|
@ -614,6 +617,7 @@ evas_render_updates_internal(Evas *e,
|
||||||
if (!e->changed) return NULL;
|
if (!e->changed) return NULL;
|
||||||
|
|
||||||
evas_call_smarts_calculate(e);
|
evas_call_smarts_calculate(e);
|
||||||
|
printf("--- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n");
|
||||||
|
|
||||||
/* Check if the modified object mean recalculating every thing */
|
/* Check if the modified object mean recalculating every thing */
|
||||||
if (!e->invalidate)
|
if (!e->invalidate)
|
||||||
|
@ -632,16 +636,7 @@ evas_render_updates_internal(Evas *e,
|
||||||
|
|
||||||
obj = eina_array_data_get(&e->restack_objects, i);
|
obj = eina_array_data_get(&e->restack_objects, i);
|
||||||
obj->func->render_pre(obj);
|
obj->func->render_pre(obj);
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
_evas_render_prev_cur_clip_cache_add(e, obj);
|
||||||
obj->prev.cache.clip.x,
|
|
||||||
obj->prev.cache.clip.y,
|
|
||||||
obj->prev.cache.clip.w,
|
|
||||||
obj->prev.cache.clip.h);
|
|
||||||
e->engine.func->output_redraws_rect_add(e->engine.data.output,
|
|
||||||
obj->cur.cache.clip.x,
|
|
||||||
obj->cur.cache.clip.y,
|
|
||||||
obj->cur.cache.clip.w,
|
|
||||||
obj->cur.cache.clip.h);
|
|
||||||
}
|
}
|
||||||
eina_array_clean(&e->restack_objects);
|
eina_array_clean(&e->restack_objects);
|
||||||
/* phase 3. add exposes */
|
/* phase 3. add exposes */
|
||||||
|
@ -711,6 +706,7 @@ evas_render_updates_internal(Evas *e,
|
||||||
{
|
{
|
||||||
int off_x, off_y;
|
int off_x, off_y;
|
||||||
|
|
||||||
|
printf("============ [ %3i %3i | %3ix%3i ]\n", ux, uy, uw, uh);
|
||||||
if (make_updates)
|
if (make_updates)
|
||||||
{
|
{
|
||||||
Eina_Rectangle *rect;
|
Eina_Rectangle *rect;
|
||||||
|
|
Loading…
Reference in New Issue