summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-08-01 01:47:46 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-08-05 15:12:33 +0200
commit941d75d24db49b71de34c7f86c282c840c42dfbe (patch)
treeb11a4b654e8f0ab1be9319e37ab91efd23dcc076
parent46082eb13d66576f4cbdda427b224c9102bde678 (diff)
evas: move make update to be outside of the reused code for rendering sub objects.
-rw-r--r--src/lib/evas/canvas/evas_render.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 55ce63e2ac..0ad7df7603 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2138,36 +2138,17 @@ evas_render_updates_internal_loop(Evas *eo_e, Evas_Public_Data *e,
2138 int cx, int cy, int cw, int ch, 2138 int cx, int cy, int cw, int ch,
2139 int fx, int fy, 2139 int fx, int fy,
2140 Eina_Bool alpha, 2140 Eina_Bool alpha,
2141 Eina_Bool make_updates,
2142 Eina_Bool do_async, 2141 Eina_Bool do_async,
2143 unsigned int *offset) 2142 unsigned int *offset)
2144{ 2143{
2145 Evas_Object *eo_obj; 2144 Evas_Object *eo_obj;
2146 Evas_Object_Protected_Data *obj; 2145 Evas_Object_Protected_Data *obj;
2147 Render_Updates *ru;
2148 int off_x, off_y; 2146 int off_x, off_y;
2149 unsigned int i, j; 2147 unsigned int i, j;
2150 Eina_Bool clean_them = EINA_FALSE; 2148 Eina_Bool clean_them = EINA_FALSE;
2151 2149
2152 eina_evlog("+render_setup", eo_e, 0.0, NULL); 2150 eina_evlog("+render_setup", eo_e, 0.0, NULL);
2153 RD(0, " [--- UPDATE %i %i %ix%i\n", ux, uy, uw, uh); 2151 RD(0, " [--- UPDATE %i %i %ix%i\n", ux, uy, uw, uh);
2154 if (do_async)
2155 {
2156 ru = malloc(sizeof(*ru));
2157 ru->surface = surface;
2158 NEW_RECT(ru->area, ux, uy, uw, uh);
2159 e->render.updates = eina_list_append(e->render.updates, ru);
2160 evas_cache_image_ref(surface);
2161 }
2162 else if (make_updates)
2163 {
2164 Eina_Rectangle *rect;
2165
2166 NEW_RECT(rect, ux, uy, uw, uh);
2167 if (rect)
2168 e->render.updates = eina_list_append(e->render.updates,
2169 rect);
2170 }
2171 2152
2172 off_x = cx - ux; 2153 off_x = cx - ux;
2173 off_y = cy - uy; 2154 off_y = cy - uy;
@@ -2569,6 +2550,7 @@ evas_render_updates_internal(Evas *eo_e,
2569 eina_evlog("+render_phase6", eo_e, 0.0, NULL); 2550 eina_evlog("+render_phase6", eo_e, 0.0, NULL);
2570 if (do_draw) 2551 if (do_draw)
2571 { 2552 {
2553 Render_Updates *ru;
2572 void *surface; 2554 void *surface;
2573 int ux, uy, uw, uh; 2555 int ux, uy, uw, uh;
2574 int cx, cy, cw, ch; 2556 int cx, cy, cw, ch;
@@ -2621,7 +2603,7 @@ evas_render_updates_internal(Evas *eo_e,
2621 ur.x, ur.y, ur.w, ur.h, 2603 ur.x, ur.y, ur.w, ur.h,
2622 cr.x, cr.y, cr.w, cr.h, 2604 cr.x, cr.y, cr.w, cr.h,
2623 fx, fy, alpha, 2605 fx, fy, alpha,
2624 make_updates, do_async, 2606 do_async,
2625 &offset); 2607 &offset);
2626 e->engine.func->context_free(e->engine.data.output, ctx); 2608 e->engine.func->context_free(e->engine.data.output, ctx);
2627 2609
@@ -2634,12 +2616,30 @@ evas_render_updates_internal(Evas *eo_e,
2634 } 2616 }
2635 2617
2636 /* phase 6.2 render all the object on the target surface */ 2618 /* phase 6.2 render all the object on the target surface */
2619 if (do_async)
2620 {
2621 ru = malloc(sizeof(*ru));
2622 ru->surface = surface;
2623 NEW_RECT(ru->area, ux, uy, uw, uh);
2624 e->render.updates = eina_list_append(e->render.updates, ru);
2625 evas_cache_image_ref(surface);
2626 }
2627 else if (make_updates)
2628 {
2629 Eina_Rectangle *rect;
2630
2631 NEW_RECT(rect, ux, uy, uw, uh);
2632 if (rect)
2633 e->render.updates = eina_list_append(e->render.updates,
2634 rect);
2635 }
2636
2637 clean_them |= evas_render_updates_internal_loop(eo_e, e, surface, e->engine.data.context, 2637 clean_them |= evas_render_updates_internal_loop(eo_e, e, surface, e->engine.data.context,
2638 NULL, 2638 NULL,
2639 ux, uy, uw, uh, 2639 ux, uy, uw, uh,
2640 cx, cy, cw, ch, 2640 cx, cy, cw, ch,
2641 fx, fy, alpha, 2641 fx, fy, alpha,
2642 make_updates, do_async, 2642 do_async,
2643 &offset); 2643 &offset);
2644 2644
2645 eina_evlog("+render_push", eo_e, 0.0, NULL); 2645 eina_evlog("+render_push", eo_e, 0.0, NULL);