diff --git a/ChangeLog b/ChangeLog index 8db5513e6b..9c4c2b40f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-07-25 ChunEon Park (Hermet) + + * Evas: Skip the map rendering if all points are transparent. + 2013-07-24 Mike Blumenkrantz * Ecore-Evas: fix usage of underlying X window after it has received a destroy event diff --git a/NEWS b/NEWS index caf8ee5afe..8df3505ecf 100644 --- a/NEWS +++ b/NEWS @@ -318,6 +318,7 @@ Fixes: - Fix issue when parsing formats with quotes. - Fix infinite loop if app use ecore evas image - Fix a long-standing off-by-1 in the C "simd" multiplier. + - Skip the map rendering if all points are transparent. * Ecore: - Don't leak fd on exec. - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly. diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 24016b8838..9fb0051900 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -1458,6 +1458,16 @@ _draw_thread_map_draw(void *data) do { + //Fully Transparency. Skip this. + if (!(m->pts[0 + offset].col & 0xff000000) && + !(m->pts[1 + offset].col & 0xff000000) && + !(m->pts[2 + offset].col & 0xff000000) && + !(m->pts[3 + offset].col & 0xff000000)) + { + offset += 2; + continue; + } + if ((m->pts[0 + offset].x == m->pts[3 + offset].x) && (m->pts[1 + offset].x == m->pts[2 + offset].x) && (m->pts[0 + offset].y == m->pts[1 + offset].y) &&