Add support for 32-bit framebuffers (eg: set-top box OSD). Transparent 
surfaces are really transparent now.
diff -ru evas.orig/src/lib/engines/fb/evas_outbuf.c evas/src/lib/engines/fb/evas_outbuf.c
--- evas.orig/src/lib/engines/fb/evas_outbuf.c	2005-05-21 18:37:54.000000000 +0200
+++ evas/src/lib/engines/fb/evas_outbuf.c	2005-05-21 19:15:46.000000000 +0200
@@ -230,7 +230,13 @@
 
 	*cx = 0; *cy = 0; *cw = w; *ch = h;
 	im = evas_common_image_create(w, h);
-	return im;
+
+        /* 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));
+        }
+        return im;
      }
    return NULL;
 }

Reply via email to