Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_engine.c 


Log Message:


fix target mask support

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/xrender_x11/evas_engine.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- evas_engine.c       3 Oct 2005 05:56:31 -0000       1.3
+++ evas_engine.c       3 Oct 2005 06:45:43 -0000       1.4
@@ -243,7 +243,9 @@
    if (re->mask)
      {
        if (re->mask_output) _xr_render_surface_free(re->mask_output);
-       re->mask_output = _xr_render_surface_format_adopt(re->xinf, re->win, 
e->output.w, e->output.h, re->xinf->fmt1, 1);
+       re->mask_output = _xr_render_surface_format_adopt(re->xinf, re->mask, 
+                                                         e->output.w, 
e->output.h,
+                                                         re->xinf->fmt1, 1);
      }
 }
 
@@ -278,7 +280,9 @@
    if (re->mask_output)
      {
        if (re->mask_output) _xr_render_surface_free(re->mask_output);
-       re->mask_output = _xr_render_surface_format_adopt(re->xinf, re->win, w, 
h, re->xinf->fmt1, 1);
+       re->mask_output = _xr_render_surface_format_adopt(re->xinf, re->mask, 
+                                                         w, h, 
+                                                         re->xinf->fmt1, 1);
      }
    evas_common_tilebuf_free(re->tb);
    re->tb = evas_common_tilebuf_new(w, h);
@@ -352,8 +356,14 @@
 
    *x = ux; *y = uy; *w = uw; *h = uh;
    *cx = 0; *cy = 0; *cw = uw; *ch = uh;
-   if ((re->destination_alpha)|| (re->mask))
-     return _xr_render_surface_new(re->xinf, uw, uh, re->xinf->fmt32, 1);
+   if ((re->destination_alpha) || (re->mask))
+     {
+       Xrender_Surface *surface;
+       
+       surface = _xr_render_surface_new(re->xinf, uw, uh, re->xinf->fmt32, 1);
+       _xr_render_surface_solid_rectangle_set(surface, 0, 0, 0, 0, 0, 0, uw, 
uh);
+       return surface;
+     }
    return _xr_render_surface_new(re->xinf, uw, uh, re->xinf->fmt24, 0);
 }
 




-------------------------------------------------------
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