summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/evas/canvas/evas_object_rectangle.c6
-rw-r--r--src/lib/evas/canvas/render2/evas_render2_th_main.c18
2 files changed, 18 insertions, 6 deletions
diff --git a/src/lib/evas/canvas/evas_object_rectangle.c b/src/lib/evas/canvas/evas_object_rectangle.c
index 0de959c962..7b0c00f604 100644
--- a/src/lib/evas/canvas/evas_object_rectangle.c
+++ b/src/lib/evas/canvas/evas_object_rectangle.c
@@ -137,7 +137,7 @@ evas_object_rectangle_render2_walk(Evas_Object *eo_obj,
137 // just became visible or invisible 137 // just became visible or invisible
138 if (visible_is != visible_was) 138 if (visible_is != visible_was)
139 { 139 {
140 printf(" UP1 %p - %i %i %ix%i\n", eo_obj, 140 printf(" UP1 %p - %4i %4i %4ix%4i\n", eo_obj,
141 obj->cur->cache.clip.x, obj->cur->cache.clip.y, 141 obj->cur->cache.clip.x, obj->cur->cache.clip.y,
142 obj->cur->cache.clip.w, obj->cur->cache.clip.h); 142 obj->cur->cache.clip.w, obj->cur->cache.clip.h);
143 evas_common_tilebuf_add_redraw 143 evas_common_tilebuf_add_redraw
@@ -160,7 +160,7 @@ evas_object_rectangle_render2_walk(Evas_Object *eo_obj,
160 (obj->restack) 160 (obj->restack)
161 ) 161 )
162 { 162 {
163 printf(" UP2 %p - %i %i %ix%i\n", eo_obj, 163 printf(" UP2 %p - %4i %4i %4ix%4i\n", eo_obj,
164 obj->prev->cache.clip.x, obj->prev->cache.clip.y, 164 obj->prev->cache.clip.x, obj->prev->cache.clip.y,
165 obj->prev->cache.clip.w, obj->prev->cache.clip.h); 165 obj->prev->cache.clip.w, obj->prev->cache.clip.h);
166 evas_common_tilebuf_add_redraw 166 evas_common_tilebuf_add_redraw
@@ -177,7 +177,7 @@ nochange:
177 // object hasn't really changed 177 // object hasn't really changed
178 if ((visible_is) && (evas_object_is_opaque(eo_obj, obj))) 178 if ((visible_is) && (evas_object_is_opaque(eo_obj, obj)))
179 { 179 {
180 printf(" NO- %p - %i %i %ix%i\n", eo_obj, 180 printf(" NO- %p - %4i %4i %4ix%4i\n", eo_obj,
181 obj->cur->cache.clip.x, obj->cur->cache.clip.y, 181 obj->cur->cache.clip.x, obj->cur->cache.clip.y,
182 obj->cur->cache.clip.w, obj->cur->cache.clip.h); 182 obj->cur->cache.clip.w, obj->cur->cache.clip.h);
183 evas_common_tilebuf_del_redraw 183 evas_common_tilebuf_del_redraw
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,
142 Evas_Object *eo_obj = obj->object; 142 Evas_Object *eo_obj = obj->object;
143 const Eina_Inlist *il; 143 const Eina_Inlist *il;
144 144
145 if (!obj->changed) return;
146 il = evas_object_smart_members_get_direct(eo_obj); 145 il = evas_object_smart_members_get_direct(eo_obj);
147 if (il) 146 if (il)
148 { 147 {
@@ -177,7 +176,7 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
177 double t; 176 double t;
178 Tilebuf *updates = NULL; 177 Tilebuf *updates = NULL;
179 Tilebuf_Rect *rects, *r; 178 Tilebuf_Rect *rects, *r;
180 Eina_List *updates_list = NULL; 179 Eina_List *updates_list = NULL, *l;
181 Eina_Rectangle *rect; 180 Eina_Rectangle *rect;
182 181
183 updates = evas_common_tilebuf_new(e->output.w, e->output.h); 182 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)
195 0); 194 0);
196 } 195 }
197 } 196 }
197 // add explicitly exposed/damaged regions of the canvas
198 EINA_LIST_FREE(e->damages, rect)
199 {
200 evas_common_tilebuf_add_redraw(updates, rect->x, rect->y,
201 rect->w, rect->h);
202 eina_rectangle_free(rect);
203 }
204 // build obscure objects list of active objects that obscure
205 EINA_LIST_FOREACH(e->obscures, l, rect)
206 {
207 evas_common_tilebuf_del_redraw(updates, rect->x, rect->y,
208 rect->w, rect->h);
209 }
198 t = get_time() - t; 210 t = get_time() - t;
199 printf("T: update generation: "); out_time(t); 211 printf("T: update generation: "); out_time(t);
200 212
@@ -204,7 +216,7 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
204 rect = malloc(sizeof(Eina_Rectangle)); 216 rect = malloc(sizeof(Eina_Rectangle));
205 if (rect) 217 if (rect)
206 { 218 {
207 printf(" %i %i %ix%i\n", r->x, r->y, r->w, r->h); 219 printf(" Render Region [ %4i %4i %4ix%4i ]\n", r->x, r->y, r->w, r->h);
208 rect->x = r->x; rect->y = r->y; 220 rect->x = r->x; rect->y = r->y;
209 rect->w = r->w; rect->h = r->h; 221 rect->w = r->w; rect->h = r->h;
210 updates_list = eina_list_append(updates_list, rect); 222 updates_list = eina_list_append(updates_list, rect);