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

Reply via email to