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