aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/lib/canvas/evas_render.c
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-23 23:30:42 +1000
committerDavid Walter Seikel2012-01-23 23:30:42 +1000
commit825a3d837a33f226c879cd02ad15c3fba57e8b2c (patch)
tree75f57bd9c4253508d338dc79ba8e57a7abc42255 /libraries/evas/src/lib/canvas/evas_render.c
parentAdd ability to disable the test harness, or the Lua compile test. (diff)
downloadSledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.zip
SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.gz
SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.bz2
SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.xz
Update the EFL to what I'm actually using, coz I'm using some stuff not yet released.
Diffstat (limited to 'libraries/evas/src/lib/canvas/evas_render.c')
-rw-r--r--libraries/evas/src/lib/canvas/evas_render.c31
1 files changed, 22 insertions, 9 deletions
diff --git a/libraries/evas/src/lib/canvas/evas_render.c b/libraries/evas/src/lib/canvas/evas_render.c
index 0abee97..cdedaec 100644
--- a/libraries/evas/src/lib/canvas/evas_render.c
+++ b/libraries/evas/src/lib/canvas/evas_render.c
@@ -1139,7 +1139,7 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
1139 } 1139 }
1140 } 1140 }
1141 } 1141 }
1142 if (surface == e->engine.data.output) 1142// if (surface == e->engine.data.output)
1143 e->engine.func->context_clip_clip(e->engine.data.output, 1143 e->engine.func->context_clip_clip(e->engine.data.output,
1144 e->engine.data.context, 1144 e->engine.data.context,
1145 ecx, ecy, ecw, ech); 1145 ecx, ecy, ecw, ech);
@@ -1360,6 +1360,8 @@ evas_render_updates_internal(Evas *e,
1360 1360
1361 RD("[--- RENDER EVAS (size: %ix%i)\n", e->viewport.w, e->viewport.h); 1361 RD("[--- RENDER EVAS (size: %ix%i)\n", e->viewport.w, e->viewport.h);
1362 1362
1363 evas_event_callback_call(e, EVAS_CALLBACK_RENDER_PRE, NULL);
1364
1363 /* Check if the modified object mean recalculating every thing */ 1365 /* Check if the modified object mean recalculating every thing */
1364 if (!e->invalidate) 1366 if (!e->invalidate)
1365 _evas_render_check_pending_objects(&e->pending_objects, e); 1367 _evas_render_check_pending_objects(&e->pending_objects, e);
@@ -1399,6 +1401,7 @@ evas_render_updates_internal(Evas *e,
1399 _evas_render_prev_cur_clip_cache_add(e, obj); 1401 _evas_render_prev_cur_clip_cache_add(e, obj);
1400 } 1402 }
1401 eina_array_clean(&e->restack_objects); 1403 eina_array_clean(&e->restack_objects);
1404
1402 /* phase 3. add exposes */ 1405 /* phase 3. add exposes */
1403 EINA_LIST_FREE(e->damages, r) 1406 EINA_LIST_FREE(e->damages, r)
1404 { 1407 {
@@ -1406,7 +1409,20 @@ evas_render_updates_internal(Evas *e,
1406 r->x, r->y, r->w, r->h); 1409 r->x, r->y, r->w, r->h);
1407 eina_rectangle_free(r); 1410 eina_rectangle_free(r);
1408 } 1411 }
1409 /* phase 4. output & viewport changes */ 1412
1413 /* phase 4. framespace, output & viewport changes */
1414 if (e->framespace.changed)
1415 {
1416 int fx, fy, fw, fh;
1417
1418 fx = e->viewport.x - e->framespace.x;
1419 fy = e->viewport.y - e->framespace.y;
1420 fw = e->viewport.w + e->framespace.w;
1421 fh = e->viewport.h + e->framespace.h;
1422 e->engine.func->output_redraws_rect_add(e->engine.data.output,
1423 fx, fy, fw, fh);
1424 }
1425
1410 if (e->viewport.changed) 1426 if (e->viewport.changed)
1411 { 1427 {
1412 e->engine.func->output_redraws_rect_add(e->engine.data.output, 1428 e->engine.func->output_redraws_rect_add(e->engine.data.output,
@@ -1431,6 +1447,7 @@ evas_render_updates_internal(Evas *e,
1431 0, 0, 1447 0, 0,
1432 e->output.w, e->output.h); 1448 e->output.w, e->output.h);
1433 } 1449 }
1450
1434 /* phase 5. add obscures */ 1451 /* phase 5. add obscures */
1435 EINA_LIST_FOREACH(e->obscures, ll, r) 1452 EINA_LIST_FOREACH(e->obscures, ll, r)
1436 { 1453 {
@@ -1562,13 +1579,6 @@ evas_render_updates_internal(Evas *e,
1562 else 1579 else
1563 e->engine.func->context_mask_unset(e->engine.data.output, 1580 e->engine.func->context_mask_unset(e->engine.data.output,
1564 e->engine.data.context); 1581 e->engine.data.context);
1565 if (obj->cur.clipper)
1566 e->engine.func->context_clip_set(e->engine.data.output,
1567 e->engine.data.context,
1568 x, y, w, h);
1569 else
1570 e->engine.func->context_clip_unset(e->engine.data.output,
1571 e->engine.data.context);
1572#if 1 /* FIXME: this can slow things down... figure out optimum... coverage */ 1582#if 1 /* FIXME: this can slow things down... figure out optimum... coverage */
1573 for (j = offset; j < e->temporary_objects.count; ++j) 1583 for (j = offset; j < e->temporary_objects.count; ++j)
1574 { 1584 {
@@ -1671,6 +1681,7 @@ evas_render_updates_internal(Evas *e,
1671 e->changed = 0; 1681 e->changed = 0;
1672 e->viewport.changed = 0; 1682 e->viewport.changed = 0;
1673 e->output.changed = 0; 1683 e->output.changed = 0;
1684 e->framespace.changed = 0;
1674 e->invalidate = 0; 1685 e->invalidate = 0;
1675 1686
1676 /* If their are some object to restack or some object to delete, 1687 /* If their are some object to restack or some object to delete,
@@ -1686,6 +1697,8 @@ evas_render_updates_internal(Evas *e,
1686 } 1697 }
1687 1698
1688 evas_module_clean(); 1699 evas_module_clean();
1700
1701 evas_event_callback_call(e, EVAS_CALLBACK_RENDER_POST, NULL);
1689 1702
1690 RD("---]\n"); 1703 RD("---]\n");
1691 1704