Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/modules/engines/fb Modified Files: evas_outbuf.c Log Message: cedric's cache changes patch =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/fb/evas_outbuf.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- evas_outbuf.c 16 Jul 2007 07:25:34 -0000 1.3 +++ evas_outbuf.c 12 Apr 2008 00:32:26 -0000 1.4 @@ -14,7 +14,7 @@ /* FIXME: impliment */ printf("destroying fb info.. not implemented!!!! WARNING. LEAK!\n"); if (buf->priv.back_buf) - evas_common_image_delete(buf->priv.back_buf); + evas_cache_image_drop(&buf->priv.back_buf->cache_entry); free(buf); } @@ -182,7 +182,7 @@ { DATA32 *src_data; - src_data = buf->priv.back_buf->image->data + (y * buf->w) + x; + src_data = buf->priv.back_buf->image.data + (y * buf->w) + x; if (buf->rot == 0 || buf->rot == 180) { conv_func(src_data, data, @@ -216,12 +216,13 @@ RGBA_Image *im; *cx = 0; *cy = 0; *cw = w; *ch = h; - im = evas_common_image_create(w, h); + im = (RGBA_Image *) evas_cache_image_empty(evas_common_image_cache_get()); + im->flags |= RGBA_IMAGE_HAS_ALPHA; + im = (RGBA_Image *) evas_cache_image_size_set(&im->cache_entry, w, h); /* handle framebuffers with alpha channel */ if (buf->priv.fb.fb->fb_var.transp.length > 0) { - im->flags |= RGBA_IMAGE_HAS_ALPHA; - memset(im->image->data, 0, w * h * sizeof(DATA32)); + memset(im->image.data, 0, w * h * sizeof(DATA32)); } return im; } @@ -231,7 +232,7 @@ void evas_fb_outbuf_fb_free_region_for_update(Outbuf *buf, RGBA_Image *update) { - if (update != buf->priv.back_buf) evas_common_image_delete(update); + if (update != buf->priv.back_buf) evas_cache_image_drop(&update->cache_entry); } void @@ -304,7 +305,7 @@ { DATA32 *src_data; - src_data = update->image->data; + src_data = update->image.data; if (buf->rot == 0 || buf->rot == 180) { conv_func(src_data, data, @@ -333,7 +334,7 @@ return; if (buf->priv.back_buf) { - evas_common_image_delete(buf->priv.back_buf); + evas_cache_image_drop(&buf->priv.back_buf->cache_entry); buf->priv.back_buf = NULL; } if (buf->priv.fb.fb) @@ -382,7 +383,7 @@ if (buf->priv.back_buf) { if (have_backbuf) return; - evas_common_image_delete(buf->priv.back_buf); + evas_cache_image_drop(&buf->priv.back_buf->cache_entry); buf->priv.back_buf = NULL; } else @@ -392,7 +393,8 @@ { if (buf->priv.fb.fb->fb_var.bits_per_pixel < 24) { - buf->priv.back_buf = evas_common_image_create(buf->w, buf->h); + buf->priv.back_buf = (RGBA_Image *) evas_cache_image_empty(evas_common_image_cache_get()); + buf->priv.back_buf = (RGBA_Image *) evas_cache_image_size_set(&buf->priv.back_buf->cache_entry, buf->w, buf->h); } } } ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs