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;
}
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 */
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 */
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 */
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 */
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 */
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 */
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;
}
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 */
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 */
#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.
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)
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)
{
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 */
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)
{
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);
}
/**
MAGIC_CHECK_END();
if (!e->changed) return;
- evas_render_updates_internal(e, NULL, 0, 1);
+ evas_render_updates_internal(e, 0, 1);
}
/**
MAGIC_CHECK_END();
// if (!e->changed) return;
- evas_render_updates_internal(e, NULL, 0, 0);
+ evas_render_updates_internal(e, 0, 0);
}
/**