parent
ee3dfadb3b
commit
948bb4a63e
|
@ -126,15 +126,15 @@ evas_new(void)
|
|||
e->hinting = EVAS_FONT_HINTING_BYTECODE;
|
||||
e->name_hash = eina_hash_string_superfast_new(NULL);
|
||||
|
||||
eina_array_step_set(&e->delete_objects, 16);
|
||||
eina_array_step_set(&e->active_objects, 16);
|
||||
eina_array_step_set(&e->restack_objects, 16);
|
||||
eina_array_step_set(&e->render_objects, 16);
|
||||
eina_array_step_set(&e->pending_objects, 16);
|
||||
eina_array_step_set(&e->obscuring_objects, 16);
|
||||
eina_array_step_set(&e->temporary_objects, 16);
|
||||
eina_array_step_set(&e->calculate_objects, 16);
|
||||
eina_array_step_set(&e->clip_changes, 16);
|
||||
eina_array_step_set(&e->delete_objects, 256);
|
||||
eina_array_step_set(&e->active_objects, 256);
|
||||
eina_array_step_set(&e->restack_objects, 256);
|
||||
eina_array_step_set(&e->render_objects, 256);
|
||||
eina_array_step_set(&e->pending_objects, 256);
|
||||
eina_array_step_set(&e->obscuring_objects, 256);
|
||||
eina_array_step_set(&e->temporary_objects, 256);
|
||||
eina_array_step_set(&e->calculate_objects, 256);
|
||||
eina_array_step_set(&e->clip_changes, 256);
|
||||
|
||||
return e;
|
||||
}
|
||||
|
|
|
@ -1051,6 +1051,11 @@ evas_object_gradient_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* its not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -352,6 +352,11 @@ evas_object_gradient2_linear_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* its not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -349,6 +349,11 @@ evas_object_gradient2_radial_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* its not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -343,6 +343,11 @@ evas_object_line_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* it's not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -358,6 +358,11 @@ evas_object_polygon_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* it's not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -207,6 +207,11 @@ evas_object_rectangle_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* it's not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -819,6 +819,12 @@ static void
|
|||
evas_object_smart_render_pre(Evas_Object *obj)
|
||||
{
|
||||
if (obj->pre_render_done) return;
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
done:
|
||||
obj->pre_render_done = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -1637,6 +1637,11 @@ evas_object_text_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* its not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -5630,6 +5630,11 @@ evas_object_textblock_render_pre(Evas_Object *obj)
|
|||
evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, obj, is_v, was_v);
|
||||
goto done;
|
||||
}
|
||||
if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
|
||||
goto done;
|
||||
}
|
||||
/* it's not visible - we accounted for it appearing or not so just abort */
|
||||
if (!is_v) goto done;
|
||||
/* clipper changed this is in addition to anything else for obj */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include "evas_private.h"
|
||||
|
||||
static Eina_List *
|
||||
evas_render_updates_internal(Evas *e, Evas_Object *smart, unsigned char make_updates, unsigned char do_draw);
|
||||
evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char do_draw);
|
||||
|
||||
/**
|
||||
* Add a damage rectangle.
|
||||
|
@ -169,7 +169,9 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
|
|||
|
||||
obj->is_active = is_active;
|
||||
if ((is_active) || (obj->delete_me != 0))
|
||||
eina_array_push(active_objects, obj);
|
||||
{
|
||||
eina_array_push(active_objects, obj);
|
||||
}
|
||||
if (restack)
|
||||
{
|
||||
if (!obj->changed)
|
||||
|
@ -511,7 +513,6 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface, int
|
|||
|
||||
static Eina_List *
|
||||
evas_render_updates_internal(Evas *e,
|
||||
Evas_Object *smart, // is this a good idea?
|
||||
unsigned char make_updates,
|
||||
unsigned char do_draw)
|
||||
{
|
||||
|
@ -530,11 +531,6 @@ evas_render_updates_internal(Evas *e,
|
|||
MAGIC_CHECK_END();
|
||||
if (!e->changed) return NULL;
|
||||
|
||||
if (smart)
|
||||
{
|
||||
// FIXME: if smart, only consider child objects
|
||||
}
|
||||
|
||||
evas_call_smarts_calculate(e);
|
||||
|
||||
/* Check if the modified object mean recalculating every thing */
|
||||
|
@ -806,6 +802,12 @@ evas_render_updates_internal(Evas *e,
|
|||
obj->restack = 0;
|
||||
obj->changed = 0;
|
||||
}
|
||||
else if (obj->cur.map != obj->prev.map)
|
||||
{
|
||||
obj->func->render_post(obj);
|
||||
obj->restack = 0;
|
||||
obj->changed = 0;
|
||||
}
|
||||
/* moved to other pre-process phase 1
|
||||
if (obj->delete_me == 2)
|
||||
{
|
||||
|
@ -886,7 +888,7 @@ evas_render_updates(Evas *e)
|
|||
MAGIC_CHECK_END();
|
||||
|
||||
if (!e->changed) return NULL;
|
||||
return evas_render_updates_internal(e, NULL, 1, 1);
|
||||
return evas_render_updates_internal(e, 1, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -905,7 +907,7 @@ evas_render(Evas *e)
|
|||
MAGIC_CHECK_END();
|
||||
|
||||
if (!e->changed) return;
|
||||
evas_render_updates_internal(e, NULL, 0, 1);
|
||||
evas_render_updates_internal(e, 0, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -929,7 +931,7 @@ evas_norender(Evas *e)
|
|||
MAGIC_CHECK_END();
|
||||
|
||||
// if (!e->changed) return;
|
||||
evas_render_updates_internal(e, NULL, 0, 0);
|
||||
evas_render_updates_internal(e, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue