Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_engine_xrender.c 


Log Message:


make xrender transforms use 16.16 matrix values (xrender seems infintely mroe
happy with this - event hough it is really no different)

===================================================================
RCS file: 
/cvs/e/e17/libs/evas/src/modules/engines/xrender_x11/evas_engine_xrender.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- evas_engine_xrender.c       5 May 2006 22:55:04 -0000       1.6
+++ evas_engine_xrender.c       11 May 2006 00:24:48 -0000      1.7
@@ -349,17 +349,17 @@
               }
             else
               {
-                 xf.matrix[0][0] = 1;
+                 xf.matrix[0][0] = 1 << 16;
                  xf.matrix[0][1] = 0;
                  xf.matrix[0][2] = 0;
                  
                  xf.matrix[1][0] = 0;
-                 xf.matrix[1][1] = 1;
+                 xf.matrix[1][1] = 1 << 16;
                  xf.matrix[1][2] = 0;
                  
                  xf.matrix[2][0] = 0;
                  xf.matrix[2][1] = 0;
-                 xf.matrix[2][2] = 1;
+                 xf.matrix[2][2] = 1 << 16;
                  if ((srs->alpha) || (a != 0xff))
                    trs = _xr_render_surface_new(srs->xinf, sw + 1, sh + 1,
                                                 srs->xinf->fmt32, 1);
@@ -380,7 +380,7 @@
               }
          }
      }
-   
+/*   
    sf = MAX(sw, sh);
 #define BMAX 26
    if      (sf <= 8    ) sf = 1 << (BMAX - 3);
@@ -396,18 +396,22 @@
    else if (sf <= 8192 ) sf = 1 << (BMAX - 13);
    else if (sf <= 16384) sf = 1 << (BMAX - 14);
    else                  sf = 1 << (BMAX - 15);
+*/
    
-   xf.matrix[0][0] = (sf * sw) / w;
+//   xf.matrix[0][0] = (sf * sw) / w;
+   xf.matrix[0][0] = (sw << 16) / w;
    xf.matrix[0][1] = 0;
    xf.matrix[0][2] = 0;
 
    xf.matrix[1][0] = 0;
-   xf.matrix[1][1] = (sf * sh) / h;
+//   xf.matrix[1][1] = (sf * sh) / h;
+   xf.matrix[1][1] = (sh << 16) / h;
    xf.matrix[1][2] = 0;
 
    xf.matrix[2][0] = 0;
    xf.matrix[2][1] = 0;
-   xf.matrix[2][2] = sf;
+   xf.matrix[2][2] = 1 << 16;
+//   xf.matrix[2][2] = sf;
 
    _xr_render_surface_clips_set(drs, dc, x, y, w, h);
    if (trs)
@@ -431,6 +435,8 @@
        XRenderSetPictureTransform(srs->xinf->disp, srs->pic, &xf);
        
        XRenderComposite(srs->xinf->disp, op, srs->pic, mask, drs->pic,
+//                      (sx * w) / sw,
+//                      (sy * h) / sh,
                         ((sx * w) + (sw / 2)) / sw, 
                         ((sy * h) + (sh / 2)) / sh,
                         0, 0, x, y, w, h);




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to