Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/engines/xrender_x11


Modified Files:
        evas_engine.c evas_engine_image.c 


Log Message:


fix xrender engnie to accept user-provided pixel data

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/xrender_x11/evas_engine.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- evas_engine.c       3 Oct 2005 06:45:43 -0000       1.4
+++ evas_engine.c       3 Oct 2005 10:20:12 -0000       1.5
@@ -635,18 +635,22 @@
 evas_engine_xrender_x11_image_new_from_data(void *data, int w, int h, DATA32 
*image_data)
 {
    Render_Engine *re;
+   XR_Image *im;
    
    re = (Render_Engine *)data;
-   return _xre_image_new_from_data(re->xinf, w, h, image_data);
+   im = _xre_image_new_from_data(re->xinf, w, h, image_data);
+   return im;
 }
 
 static void *
 evas_engine_xrender_x11_image_new_from_copied_data(void *data, int w, int h, 
DATA32 *image_data)
 {
    Render_Engine *re;
+   XR_Image *im;
    
    re = (Render_Engine *)data;
-   return _xre_image_new_from_copied_data(re->xinf, w, h, image_data);
+   im = _xre_image_new_from_copied_data(re->xinf, w, h, image_data);
+   return im;
 }
 
 static void
@@ -673,6 +677,9 @@
 static void *
 evas_engine_xrender_x11_image_size_set(void *data, void *image, int w, int h)
 {
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
    if (!image) return image;
    if (((XR_Image *)image)->references > 1)
      {
@@ -696,6 +703,9 @@
 static void *
 evas_engine_xrender_x11_image_dirty_region(void *data, void *image, int x, int 
y, int w, int h)
 {
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
    if (!image) return image;
    if (((XR_Image *)image)->references > 1)
      {
@@ -714,6 +724,9 @@
 static void *
 evas_engine_xrender_x11_image_data_get(void *data, void *image, int to_write, 
DATA32 **image_data)
 {
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
    if (!image) return image;
    if (to_write)
      {
@@ -738,13 +751,16 @@
 static void *
 evas_engine_xrender_x11_image_data_put(void *data, void *image, DATA32 
*image_data)
 {
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
    if (!image) return image;
    if (_xre_image_data_get((XR_Image *)image) != image_data)
      {
        XR_Image *old_image;
 
        old_image = (XR_Image *)image;
-       image = _xre_image_new_from_data(old_image->xinf, old_image->w, 
old_image->h, data);
+       image = _xre_image_new_from_data(old_image->xinf, old_image->w, 
old_image->h, image_data);
        if (image)
          {
             ((XR_Image *)image)->alpha = old_image->alpha;
@@ -759,6 +775,9 @@
 static void *
 evas_engine_xrender_x11_image_alpha_set(void *data, void *image, int has_alpha)
 {
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
    if (!image) return image;
    if ((int)((XR_Image *)image)->alpha == has_alpha) return image;
    if (((XR_Image *)image)->references > 1)
@@ -805,6 +824,9 @@
 static char *
 evas_engine_xrender_x11_image_comment_get(void *data, void *image, char *key)
 {
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
    if (!image) return NULL;
    return ((XR_Image *)image)->comment;
 }
@@ -812,6 +834,9 @@
 static char *
 evas_engine_xrender_x11_image_format_get(void *data, void *image)
 {
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
    if (!image) return NULL;
    return ((XR_Image *)image)->format;
 }
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/xrender_x11/evas_engine_image.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evas_engine_image.c 3 Oct 2005 07:52:23 -0000       1.2
+++ evas_engine_image.c 3 Oct 2005 10:20:12 -0000       1.3
@@ -410,6 +410,7 @@
 {
    void *data = NULL;
 
+   if ((im->surface) && (!im->updates)) return;
    if (im->data) data = im->data;
    else
      {




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to