Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/modules/engines/buffer Modified Files: evas_outbuf.c Log Message: ok- actually handle dest buf if there is no back buf =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/buffer/evas_outbuf.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- evas_outbuf.c 2 Apr 2006 23:52:26 -0000 1.6 +++ evas_outbuf.c 3 Apr 2006 03:29:10 -0000 1.7 @@ -261,7 +261,39 @@ } break; case OUTBUF_DEPTH_RGB_32BPP_888_8888: - /* no need src == dest */ + case OUTBUF_DEPTH_ARGB_32BPP_8888_8888: + { + DATA32 *dest, *src, *dst; + int xx, yy, row_bytes; + + row_bytes = buf->dest_row_bytes; + dest = (DATA8 *)(buf->dest) + (y * row_bytes) + (x * 4); + if (buf->func.new_update_region) + { + dest = buf->func.new_update_region(x, y, w, h, &row_bytes); + } + /* no need src == dest */ + if (!buf->priv.back_buf) + { + Gfx_Func_Blend_Src_Dst func; + + func = evas_common_draw_func_copy_get(w, 0); + if (func) + { + for (yy = 0; yy < h; yy++) + { + src = update->image->data + (yy * update->image->w); + dst = (DATA8 *)(buf->dest) + ((y + yy) * row_bytes); + func(src, dst, w); + } + + } + } + if (buf->func.free_update_region) + { + buf->func.free_update_region(x, y, w, h, dest); + } + } break; case OUTBUF_DEPTH_BGR_32BPP_888_8888: { ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs