aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/render2
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-06-18 20:48:37 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-06-24 19:27:42 +0900
commit7bb28711023254a023bc7578da5f52fd8f7479c4 (patch)
treece325765ad4b3621759179acee09aa1289558a30 /src/lib/evas/canvas/render2
parentecore-drm: Quiet down output from libinput (diff)
downloadefl-7bb28711023254a023bc7578da5f52fd8f7479c4.tar.gz
more evas render 2 work - should not affect normal behavior or code
paths unless turned on at runtime
Diffstat (limited to 'src/lib/evas/canvas/render2')
-rw-r--r--src/lib/evas/canvas/render2/evas_render2_th_main.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/evas/canvas/render2/evas_render2_th_main.c b/src/lib/evas/canvas/render2/evas_render2_th_main.c
index 54b3428c12..6f66929cf1 100644
--- a/src/lib/evas/canvas/render2/evas_render2_th_main.c
+++ b/src/lib/evas/canvas/render2/evas_render2_th_main.c
@@ -142,7 +142,6 @@ _evas_render2_th_main_obj_process(Evas_Public_Data *e,
Evas_Object *eo_obj = obj->object;
const Eina_Inlist *il;
- if (!obj->changed) return;
il = evas_object_smart_members_get_direct(eo_obj);
if (il)
{
@@ -177,7 +176,7 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
double t;
Tilebuf *updates = NULL;
Tilebuf_Rect *rects, *r;
- Eina_List *updates_list = NULL;
+ Eina_List *updates_list = NULL, *l;
Eina_Rectangle *rect;
updates = evas_common_tilebuf_new(e->output.w, e->output.h);
@@ -195,6 +194,19 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
0);
}
}
+ // add explicitly exposed/damaged regions of the canvas
+ EINA_LIST_FREE(e->damages, rect)
+ {
+ evas_common_tilebuf_add_redraw(updates, rect->x, rect->y,
+ rect->w, rect->h);
+ eina_rectangle_free(rect);
+ }
+ // build obscure objects list of active objects that obscure
+ EINA_LIST_FOREACH(e->obscures, l, rect)
+ {
+ evas_common_tilebuf_del_redraw(updates, rect->x, rect->y,
+ rect->w, rect->h);
+ }
t = get_time() - t;
printf("T: update generation: "); out_time(t);
@@ -204,7 +216,7 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
rect = malloc(sizeof(Eina_Rectangle));
if (rect)
{
- printf(" %i %i %ix%i\n", r->x, r->y, r->w, r->h);
+ printf(" Render Region [ %4i %4i %4ix%4i ]\n", r->x, r->y, r->w, r->h);
rect->x = r->x; rect->y = r->y;
rect->w = r->w; rect->h = r->h;
updates_list = eina_list_append(updates_list, rect);