Enlightenment CVS committal

Author  : doursse
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_engine.h evas_engine_ximage.c evas_engine_xrender.c 


Log Message:
fix a bug and some cleaning

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/modules/engines/xrender_xcb/evas_engine.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evas_engine.h       2 May 2006 07:28:49 -0000       1.2
+++ evas_engine.h       6 May 2006 06:22:57 -0000       1.3
@@ -4,8 +4,9 @@
 #include <sys/ipc.h>
 #include <sys/shm.h>
 
+#define X_H   /* make sure we aren't using symbols from X.h */
+
 #include <X11/XCB/xcb.h>
-#include <X11/XCB/shm.h>
 #include <X11/XCB/render.h>
 #include <X11/XCB/xcb_image.h>
 
@@ -64,27 +65,27 @@
 
 /* ximage support calls (ximage vs xshmimage, cache etc.) */
 XCBimage_Info  *_xr_image_info_get(XCBConnection *conn, XCBDRAWABLE draw, 
XCBVISUALID vis);
-void          _xr_image_info_free(XCBimage_Info *xcbinf);
-void          _xr_image_info_pool_flush(XCBimage_Info *xcbinf, int max_num, 
int max_mem);
+void            _xr_image_info_free(XCBimage_Info *xcbinf);
+void            _xr_image_info_pool_flush(XCBimage_Info *xcbinf, int max_num, 
int max_mem);
 XCBimage_Image *_xr_image_new(XCBimage_Info *xcbinf, int w, int h, int depth);
-void          _xr_image_free(XCBimage_Image *xim);
-void          _xr_image_put(XCBimage_Image *xim, XCBDRAWABLE draw, int x, int 
y, int w, int h);
+void            _xr_image_free(XCBimage_Image *xim);
+void            _xr_image_put(XCBimage_Image *xim, XCBDRAWABLE draw, int x, 
int y, int w, int h);
 
 /* xrender support calls */
 XCBrender_Surface *_xr_render_surface_new(XCBimage_Info *xcbinf, int w, int h, 
XCBRenderPICTFORMINFO *fmt, int alpha);
 XCBrender_Surface *_xr_render_surface_adopt(XCBimage_Info *xcbinf, XCBDRAWABLE 
draw, int w, int h, int alpha);
 XCBrender_Surface *_xr_render_surface_format_adopt(XCBimage_Info *xcbinf, 
XCBDRAWABLE draw, int w, int h, XCBRenderPICTFORMINFO *fmt, int alpha);
-void             _xr_render_surface_free(XCBrender_Surface *rs);
-void             _xr_render_surface_repeat_set(XCBrender_Surface *rs, int 
repeat);
-void             _xr_render_surface_solid_rectangle_set(XCBrender_Surface *rs, 
int r, int g, int b, int a, int x, int y, int w, int h);
-void             _xr_render_surface_argb_pixels_fill(XCBrender_Surface *rs, 
int sw, int sh, void *pixels, int x, int y, int w, int h);
-void             _xr_render_surface_rgb_pixels_fill(XCBrender_Surface *rs, int 
sw, int sh, void *pixels, int x, int y, int w, int h);
-void             _xr_render_surface_clips_set(XCBrender_Surface *rs, 
RGBA_Draw_Context *dc, int rx, int ry, int rw, int rh);
-void             _xr_render_surface_composite(XCBrender_Surface *srs, 
XCBrender_Surface *drs, RGBA_Draw_Context *dc, int sx, int sy, int sw, int sh, 
int x, int y, int w, int h, int smooth);
-void             _xr_render_surface_copy(XCBrender_Surface *srs, 
XCBrender_Surface *drs, int sx, int sy, int x, int y, int w, int h);
-void             _xr_render_surface_rectangle_draw(XCBrender_Surface *rs, 
RGBA_Draw_Context *dc, int x, int y, int w, int h);
-void             _xr_render_surface_line_draw(XCBrender_Surface *rs, 
RGBA_Draw_Context *dc, int x1, int y1, int x2, int y2);
-void             _xre_poly_draw(XCBrender_Surface *rs, RGBA_Draw_Context *dc, 
RGBA_Polygon_Point *points);
+void               _xr_render_surface_free(XCBrender_Surface *rs);
+void               _xr_render_surface_repeat_set(XCBrender_Surface *rs, int 
repeat);
+void               _xr_render_surface_solid_rectangle_set(XCBrender_Surface 
*rs, int r, int g, int b, int a, int x, int y, int w, int h);
+void               _xr_render_surface_argb_pixels_fill(XCBrender_Surface *rs, 
int sw, int sh, void *pixels, int x, int y, int w, int h);
+void               _xr_render_surface_rgb_pixels_fill(XCBrender_Surface *rs, 
int sw, int sh, void *pixels, int x, int y, int w, int h);
+void               _xr_render_surface_clips_set(XCBrender_Surface *rs, 
RGBA_Draw_Context *dc, int rx, int ry, int rw, int rh);
+void               _xr_render_surface_composite(XCBrender_Surface *srs, 
XCBrender_Surface *drs, RGBA_Draw_Context *dc, int sx, int sy, int sw, int sh, 
int x, int y, int w, int h, int smooth);
+void               _xr_render_surface_copy(XCBrender_Surface *srs, 
XCBrender_Surface *drs, int sx, int sy, int x, int y, int w, int h);
+void               _xr_render_surface_rectangle_draw(XCBrender_Surface *rs, 
RGBA_Draw_Context *dc, int x, int y, int w, int h);
+void               _xr_render_surface_line_draw(XCBrender_Surface *rs, 
RGBA_Draw_Context *dc, int x1, int y1, int x2, int y2);
+void               _xre_poly_draw(XCBrender_Surface *rs, RGBA_Draw_Context 
*dc, RGBA_Polygon_Point *points);
   
     
 typedef struct _XR_Image XR_Image;
===================================================================
RCS file: 
/cvs/e/e17/libs/evas/src/modules/engines/xrender_xcb/evas_engine_ximage.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evas_engine_ximage.c        15 Mar 2006 21:14:34 -0000      1.2
+++ evas_engine_ximage.c        6 May 2006 06:22:57 -0000       1.3
@@ -304,16 +304,16 @@
      }
    else
      {
-        const XCBQueryExtensionRep *rep_shm;
-        const XCBQueryExtensionRep *rep_xrender;
+       XCBShmSegmentInfo shm_info;
+       XCBImage *xcbim;
 
         xcbinf->depth = 32;
         {
-          XCBConnSetupSuccessRep *rep;
+          XCBSetup *rep;
           XCBSCREENIter iter_screen;
 
-          rep = (XCBConnSetupSuccessRep *)XCBGetSetup(xcbinf->conn);
-          iter_screen = XCBConnSetupSuccessRepRootsIter(rep);
+          rep = (XCBSetup *)XCBGetSetup(xcbinf->conn);
+          iter_screen = XCBSetupRootsIter(rep);
           for (; iter_screen.rem ; XCBSCREENNext (&iter_screen)) {
             XCBDEPTHIter iter_depth;
 
@@ -332,40 +332,31 @@
 
        xcbinf->can_do_shm = 0;
 
-        XCBPrefetchExtensionData (xcbinf->conn, &XCBShmId);
-        XCBPrefetchExtensionData (xcbinf->conn, &XCBRenderId);
-        rep_shm = XCBGetExtensionData(xcbinf->conn, &XCBShmId);
-        rep_xrender = XCBGetExtensionData(xcbinf->conn, &XCBRenderId);
-
-        if (rep_shm && rep_xrender && rep_shm->present && 
rep_xrender->present) {
-           XCBShmSegmentInfo shm_info;
-           XCBImage *xcbim;
-
-           shm_info.shmseg = XCBShmSEGNew(xcbinf->conn);
-           xcbim = XCBImageSHMCreate(xcbinf->conn, xcbinf->depth, ZPixmap, 
NULL, 1, 1);
-           if (xcbim) {
-              shm_info.shmid = shmget(IPC_PRIVATE, xcbim->bytes_per_line * 
xcbim->height, IPC_CREAT | 0777);
-              if (shm_info.shmid >= 0) {
-                 shm_info.shmaddr = xcbim->data = shmat(shm_info.shmid, 0, 0);
-                 if ((shm_info.shmaddr != NULL) && (shm_info.shmaddr != (void 
*) -1)) {
-                    /*
-                     * FIXME: no error mechanism
-                     */
-                    /*                XErrorHandler ph; */
-
-                    XCBSync(xcbinf->conn, 0);
-                    _xcb_err = 0;
-                    /*                ph = 
XSetErrorHandler((XErrorHandler)_tmp_xcb_err); */
-                    XCBShmAttach(xcbinf->conn, shm_info.shmseg, 
shm_info.shmid, 0);
-                    XCBSync(xcbinf->conn, 0);
-                    /*                XSetErrorHandler((XErrorHandler)ph); */
-                    if (!_xcb_err) xcbinf->can_do_shm = 1;
-                    shmdt(shm_info.shmaddr);
-                 }
-                 shmctl(shm_info.shmid, IPC_RMID, 0);
+
+        shm_info.shmseg = XCBShmSEGNew(xcbinf->conn);
+        xcbim = XCBImageSHMCreate(xcbinf->conn, xcbinf->depth, 
XCBImageFormatZPixmap, NULL, 1, 1);
+        if (xcbim) {
+           shm_info.shmid = shmget(IPC_PRIVATE, xcbim->bytes_per_line * 
xcbim->height, IPC_CREAT | 0777);
+           if (shm_info.shmid >= 0) {
+              shm_info.shmaddr = xcbim->data = shmat(shm_info.shmid, 0, 0);
+              if ((shm_info.shmaddr != NULL) && (shm_info.shmaddr != (void *) 
-1)) {
+                /*
+                 * FIXME: no error mechanism
+                 */
+                /* XErrorHandler ph; */
+
+                XCBSync(xcbinf->conn, 0);
+                _xcb_err = 0;
+                /* ph = XSetErrorHandler((XErrorHandler)_tmp_xcb_err); */
+                XCBShmAttach(xcbinf->conn, shm_info.shmseg, shm_info.shmid, 0);
+                XCBSync(xcbinf->conn, 0);
+                /* XSetErrorHandler((XErrorHandler)ph); */
+                if (!_xcb_err) xcbinf->can_do_shm = 1;
+                shmdt(shm_info.shmaddr);
               }
-              XCBImageSHMDestroy(xcbim);
-            }
+              shmctl(shm_info.shmid, IPC_RMID, 0);
+           }
+           XCBImageSHMDestroy(xcbim);
         }
      }
    _image_info_list = evas_list_prepend(_image_info_list, xcbinf);
@@ -433,7 +424,7 @@
             if (xcbim->shm_info)
               {
                   xcbim->shm_info->shmseg = XCBShmSEGNew(xcbinf->conn);
-                 xcbim->xcbim = XCBImageSHMCreate(xcbim->xcbinf->conn, 
xcbim->depth, ZPixmap, NULL, xcbim->w, xcbim->h);
+                 xcbim->xcbim = XCBImageSHMCreate(xcbim->xcbinf->conn, 
xcbim->depth, XCBImageFormatZPixmap, NULL, xcbim->w, xcbim->h);
                  if (xcbim->xcbim)
                    {
                       xcbim->shm_info->shmid = shmget(IPC_PRIVATE, 
xcbim->xcbim->bytes_per_line * xcbim->xcbim->height, IPC_CREAT | 0777);
@@ -464,7 +455,7 @@
                  xcbim->shm_info = NULL;
               }
          }
-       xcbim->xcbim = XCBImageCreate(xcbim->xcbinf->conn, xcbim->depth, 
ZPixmap, 0, NULL, xcbim->w, xcbim->h, 32, 0);
+       xcbim->xcbim = XCBImageCreate(xcbim->xcbinf->conn, xcbim->depth, 
XCBImageFormatZPixmap, 0, NULL, xcbim->w, xcbim->h, 32, 0);
        if (!xcbim->xcbim)
          {
             free(xcbim);
@@ -521,21 +512,15 @@
    XCBCreateGC(xcbim->xcbinf->conn, gc, draw, 0, NULL);
    if (xcbim->shm_info)
      {
-       XCBImageSHMPut (xcbim->xcbinf->conn, draw, gc,
-                       xcbim->xcbim, *xcbim->shm_info,
+       XCBShmPutImage(xcbim->xcbinf->conn, draw, gc,
+                       xcbim->xcbim->width, xcbim->xcbim->height,
                        0, 0,
+                       w, h,
                        x, y,
-                       xcbim->xcbim->width, xcbim->xcbim->height,
-                       0);
-/*     XCBShmPutImage(xcbim->xcbinf->conn, draw, gc, */
-/*                        xcbim->xcbim->width, xcbim->xcbim->height, */
-/*                        0, 0, */
-/*                        w, h, */
-/*                        x, y, */
-/*                        xcbim->xcbim->depth, xcbim->xcbim->format, */
-/*                        0, */
-/*                        xcbim->shm_info->shmseg, */
-/*                        xcbim->xcbim->data - xcbim->shm_info->shmaddr); */
+                       xcbim->xcbim->depth, xcbim->xcbim->format,
+                       0,
+                       xcbim->shm_info->shmseg,
+                       xcbim->xcbim->data - xcbim->shm_info->shmaddr);
        XCBSync(xcbim->xcbinf->conn, 0);
      }
    else
===================================================================
RCS file: 
/cvs/e/e17/libs/evas/src/modules/engines/xrender_xcb/evas_engine_xrender.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evas_engine_xrender.c       23 Apr 2006 15:38:23 -0000      1.2
+++ evas_engine_xrender.c       6 May 2006 06:22:57 -0000       1.3
@@ -62,7 +62,7 @@
    XCBrender_Surface *rs;
    CARD32             mask;
    CARD32             values[3];
-   
+
    rs = calloc(1, sizeof(XCBrender_Surface));
    if (!rs) return NULL;
    rs->xcbinf = xcbinf;
@@ -92,7 +92,7 @@
    XCBRenderPICTFORMINFO *fmt;
    CARD32                 mask;
    CARD32                 values[3];
-   
+
    fmt = XCBRenderFindVisualFormat(xcbinf->conn, xcbinf->vis);
    if (!fmt) return NULL;
    rs = calloc(1, sizeof(XCBrender_Surface));
@@ -135,7 +135,7 @@
    XCBrender_Surface *rs;
    CARD32 mask;
    CARD32 values[3];
-   
+
    rs = calloc(1, sizeof(XCBrender_Surface));
    rs->xcbinf = xcbinf;
    rs->w = w;
@@ -172,7 +172,7 @@
 {
    CARD32 mask;
    CARD32 value[1];
-   
+
    mask = XCBRenderCPRepeat;
    value[0] = repeat;
    XCBRenderChangePicture(rs->xcbinf->conn, rs->pic, mask, value);
@@ -184,7 +184,7 @@
    XCBRenderCOLOR col;
    XCBRECTANGLE   rect;
    int            aa;
-   
+
    aa = a +1;
    r = (r * aa) >> 8;
    g = (g * aa) >> 8;
@@ -207,7 +207,7 @@
    unsigned int  *p, *sp, *sple, *spe;
    unsigned int   jump, sjump;
    unsigned int   a, r, g, b, aa;
-   
+
    xcbim = _xr_image_new(rs->xcbinf, w, h, rs->depth);
    if (!xcbim) return;
    p = (unsigned int *)xcbim->data;
@@ -217,9 +217,9 @@
    spe = sp + ((h - 1) * sw) + w;
    if
 #ifdef WORDS_BIGENDIAN
-     (xcbim->xcbim->image_byte_order == LSBFirst)
+     (xcbim->xcbim->image_byte_order == XCBImageOrderLSBFirst)
 #else
-     (xcbim->xcbim->image_byte_order == MSBFirst)
+     (xcbim->xcbim->image_byte_order == XCBImageOrderMSBFirst)
 #endif
      {
        while (sp < spe)
@@ -289,7 +289,7 @@
    XCBimage_Image  *xcbim;
    unsigned int  *p, *sp, *sple, *spe;
    unsigned int   jump, sjump;
-   
+
    xcbim = _xr_image_new(rs->xcbinf, w, h, rs->depth);
    if (!xcbim) return;
    p = (unsigned int *)xcbim->data;
@@ -299,9 +299,9 @@
    spe = sp + ((h - 1) * sw) + w;
    if
 #ifdef WORDS_BIGENDIAN
-     (xcbim->xcbim->image_byte_order == LSBFirst)
+     (xcbim->xcbim->image_byte_order == XCBImageOrderLSBFirst)
 #else
-     (xcbim->xcbim->image_byte_order == MSBFirst)
+     (xcbim->xcbim->image_byte_order == XCBImageOrderMSBFirst)
 #endif
      {
        while (sp < spe)
@@ -340,7 +340,7 @@
 {
    int num = 0;
    XCBRECTANGLE *rect = NULL;
-   
+
    if ((dc) && (dc->clip.use))
      {
        RECTS_CLIP_TO_RECT(rx, ry, rw, rh,
@@ -361,7 +361,7 @@
        int i;
        Cutout_Rect *rects, *r;
        Evas_Object_List *l;
-       
+
        rects = evas_common_draw_context_apply_cutouts(dc);
        for (num = 0, l = (Evas_Object_List *)rects; l; l = l->next) num++;
        rect = malloc(num * sizeof(XCBRECTANGLE));
@@ -429,6 +429,7 @@
             op = XCBRenderPictOpOver;
             value_mask = XCBRenderCPComponentAlpha;
             value_list[0] = 1;
+            mask = srs->xcbinf->mul->pic;
             XCBRenderChangePicture(srs->xcbinf->conn, mask, value_mask, 
value_list);
             if ((r == 0xff) && (g == 0xff) && (b == 0xff) && (a != 0xff))
               {
@@ -446,16 +447,28 @@
                  xf.matrix31 = 0;
                  xf.matrix32 = 0;
                  xf.matrix33 = 1;
-                 trs = _xr_render_surface_new(srs->xcbinf, sw, sh, srs->fmt, 
srs->alpha);
+                 if ((srs->alpha) || (a != 0xff))
+                   trs = _xr_render_surface_new(srs->xcbinf, sw + 1, sh + 1,
+                                                srs->xcbinf->fmt32, 1);
+                 else
+                   trs = _xr_render_surface_new(srs->xcbinf, sw + 1, sh + 1,
+                                                srs->fmt, srs->alpha);
                  XCBRenderSetPictureTransform(srs->xcbinf->conn, srs->pic, xf);
                  XCBRenderComposite(srs->xcbinf->conn, XCBRenderPictOpSrc, 
srs->pic, mask, trs->pic,
                                     sx, sy, 0, 0, 0, 0, sw, sh);
+                 /* fill right and bottom pixel so interpolation works right */
+                 XCBRenderComposite(srs->xcbinf->conn, XCBRenderPictOpSrc, 
srs->pic, mask, trs->pic,
+                                    sx + sw, sy, 0, 0, sw, 0, 1, sh);
+                 XCBRenderComposite(srs->xcbinf->conn, XCBRenderPictOpSrc, 
srs->pic, mask, trs->pic,
+                                    sx, sy + sh, 0, 0, 0, sh, sw + 1, 1);
+                 XCBRenderComposite(srs->xcbinf->conn, XCBRenderPictOpSrc, 
srs->pic, mask, trs->pic,
+                                    sx + sw, sy, 0, 0, sw, 0, 1, sh);
                  mask.xid = 0;
               }
          }
      }
 
-   
+
    sf = MAX(sw, sh);
 #define BMAX 26
    if      (sf <= 8    ) sf = 1 << (BMAX - 3);
@@ -471,7 +484,7 @@
    else if (sf <= 8192 ) sf = 1 << (BMAX - 13);
    else if (sf <= 16384) sf = 1 << (BMAX - 14);
    else                  sf = 1 << (BMAX - 15);
-   
+
    xf.matrix11 = (sf * sw) / w;
    xf.matrix12 = 0;
    xf.matrix13 = 0;
@@ -524,23 +537,23 @@
    xf.matrix11 = 1;
    xf.matrix12 = 0;
    xf.matrix13 = 0;
-   
+
    xf.matrix21 = 0;
    xf.matrix22 = 1;
    xf.matrix23 = 0;
-   
+
    xf.matrix31 = 0;
    xf.matrix32 = 0;
    xf.matrix33 = 1;
-   
+
    XCBRenderSetPictureTransform(srs->xcbinf->conn, srs->pic, xf);
    value_mask = XCBRenderCPClipMask;
    value_list[0] = 0;
    XCBRenderChangePicture(srs->xcbinf->conn, srs->pic, value_mask, value_list);
    XCBRenderChangePicture(srs->xcbinf->conn, drs->pic, value_mask, value_list);
    XCBRenderSetPictureFilter(srs->xcbinf->conn, srs->pic, strlen("nearest"), 
"nearest", 0, NULL);
-   
-   XCBRenderComposite(srs->xcbinf->conn, XCBRenderPictOpSrc, srs->pic, mask, 
drs->pic, 
+
+   XCBRenderComposite(srs->xcbinf->conn, XCBRenderPictOpSrc, srs->pic, mask, 
drs->pic,
                       sx, sy, 0, 0, x, y, w, h);
 }
 
@@ -587,52 +600,52 @@
 /*    CARD32         value_mask; */
 /*    CARD32         value_list[1]; */
 /*    int            op; */
-   
+
 /*    op = XCBRenderPictOpSrc; */
 /*    value_mask = XCBRenderCPClipMask; */
 /*    value_list[0] = 0; */
 /*    XCBRenderChangePicture(rs->xcbinf->conn, rs->pic, value_mask, 
value_list); */
 /*    _xr_render_surface_clips_set(rs, dc, 0, 0, rs->w, rs->h); */
-   
+
 /*      { */
-/*     int r, g, b, a; */
-/*     XPointDouble poly[4]; */
-/*     int dx, dy; */
-/*     double len, ddx, ddy; */
-       
-/*     dx = x2 - x1; */
-/*     dy = y2 - y1; */
-/*     len = sqrt((double)(dx * dx) + (double)(dy * dy)); */
-/*     ddx = (0.5 * dx) / len; */
-/*     ddy = (0.5 * dy) / len; */
-/*     poly[0].x =  (x1 + ddx); */
-/*     poly[0].y =  (y1 - ddy); */
-/*     poly[1].x =  (x2 + ddx); */
-/*     poly[1].y =  (y2 - ddy); */
-/*     poly[2].x =  (x2 - ddx); */
-/*     poly[2].y =  (y2 + ddy); */
-/*     poly[3].x =  (x1 - ddx); */
-/*     poly[3].y =  (y1 + ddy); */
-       
-/*     a = (dc->col.col >> 24) & 0xff; */
-/*     if (a == 0) return; */
-/*     if (a < 0xff) op = XCBRenderPictOpOver; */
-/*     r = (dc->col.col >> 16) & 0xff; */
-/*     g = (dc->col.col >> 8 ) & 0xff; */
-/*     b = (dc->col.col      ) & 0xff; */
-/*     if ((rs->xcbinf->mul_r != r) || (rs->xcbinf->mul_g != g) || */
-/*         (rs->xcbinf->mul_b != b) || (rs->xcbinf->mul_a != a)) */
-/*       { */
-/*          rs->xcbinf->mul_r = r; */
-/*          rs->xcbinf->mul_g = g; */
-/*          rs->xcbinf->mul_b = b; */
-/*          rs->xcbinf->mul_a = a; */
-/*          _xr_render_surface_solid_rectangle_set(rs->xcbinf->mul, r, g, b, 
a, 0, 0, 1, 1); */
-/*       } */
-/*     XRenderCompositeDoublePoly(rs->xcbinf->conn, op, */
-/*                                rs->xcbinf->mul->pic, rs->pic,  */
-/*                                rs->xcbinf->fmt8, 0, 0, 0, 0, */
-/*                                poly, 4, EvenOddRule); */
+/*     int r, g, b, a; */
+/*     XPointDouble poly[4]; */
+/*     int dx, dy; */
+/*     double len, ddx, ddy; */
+
+/*     dx = x2 - x1; */
+/*     dy = y2 - y1; */
+/*     len = sqrt((double)(dx * dx) + (double)(dy * dy)); */
+/*     ddx = (0.5 * dx) / len; */
+/*     ddy = (0.5 * dy) / len; */
+/*     poly[0].x =  (x1 + ddx); */
+/*     poly[0].y =  (y1 - ddy); */
+/*     poly[1].x =  (x2 + ddx); */
+/*     poly[1].y =  (y2 - ddy); */
+/*     poly[2].x =  (x2 - ddx); */
+/*     poly[2].y =  (y2 + ddy); */
+/*     poly[3].x =  (x1 - ddx); */
+/*     poly[3].y =  (y1 + ddy); */
+
+/*     a = (dc->col.col >> 24) & 0xff; */
+/*     if (a == 0) return; */
+/*     if (a < 0xff) op = XCBRenderPictOpOver; */
+/*     r = (dc->col.col >> 16) & 0xff; */
+/*     g = (dc->col.col >> 8 ) & 0xff; */
+/*     b = (dc->col.col      ) & 0xff; */
+/*     if ((rs->xcbinf->mul_r != r) || (rs->xcbinf->mul_g != g) || */
+/*         (rs->xcbinf->mul_b != b) || (rs->xcbinf->mul_a != a)) */
+/*       { */
+/*          rs->xcbinf->mul_r = r; */
+/*          rs->xcbinf->mul_g = g; */
+/*          rs->xcbinf->mul_b = b; */
+/*          rs->xcbinf->mul_a = a; */
+/*          _xr_render_surface_solid_rectangle_set(rs->xcbinf->mul, r, g, b, 
a, 0, 0, 1, 1); */
+/*       } */
+/*     XRenderCompositeDoublePoly(rs->xcbinf->conn, op, */
+/*                                rs->xcbinf->mul->pic, rs->pic,  */
+/*                                rs->xcbinf->fmt8, 0, 0, 0, 0, */
+/*                                poly, 4, EvenOddRule); */
 /*      } */
 }
 
@@ -646,7 +659,7 @@
 /*    CARD32         value_mask; */
 /*    CARD32         value_list[1]; */
 /*    int op; */
-   
+
 /*    op = XCBRenderPictOpSrc; */
 /*    num = 0; */
 /*    for (pt = points; pt; pt = (RGBA_Polygon_Point *)(((Evas_Object_List 
*)pt)->next)) num++; */
@@ -660,23 +673,23 @@
 /*    if ((rs->xcbinf->mul_r != r) || (rs->xcbinf->mul_g != g) || */
 /*        (rs->xcbinf->mul_b != b) || (rs->xcbinf->mul_a != a)) */
 /*      { */
-/*     rs->xcbinf->mul_r = r; */
-/*     rs->xcbinf->mul_g = g; */
-/*     rs->xcbinf->mul_b = b; */
-/*     rs->xcbinf->mul_a = a; */
-/*     _xr_render_surface_solid_rectangle_set(rs->xcbinf->mul, r, g, b, a, 0, 
0, 1, 1); */
+/*     rs->xcbinf->mul_r = r; */
+/*     rs->xcbinf->mul_g = g; */
+/*     rs->xcbinf->mul_b = b; */
+/*     rs->xcbinf->mul_a = a; */
+/*     _xr_render_surface_solid_rectangle_set(rs->xcbinf->mul, r, g, b, a, 0, 
0, 1, 1); */
 /*      } */
 /*    pts = malloc(num * sizeof(XPointDouble)); */
 /*    if (!pts) return; */
 /*    i = 0; */
 /*    for (pt = points; pt; pt = (RGBA_Polygon_Point *)(((Evas_Object_List 
*)pt)->next)) */
 /*      { */
-/*     if (i < num) */
-/*       { */
-/*          pts[i].x = pt->x; */
-/*          pts[i].y = pt->y; */
-/*          i++; */
-/*       } */
+/*     if (i < num) */
+/*       { */
+/*          pts[i].x = pt->x; */
+/*          pts[i].y = pt->y; */
+/*          i++; */
+/*       } */
 /*      } */
 /*    value_mask = XCBRenderCPClipMask; */
 /*    value_list[0] = 0; */
@@ -684,9 +697,8 @@
 
 /*    _xr_render_surface_clips_set(rs, dc, 0, 0, rs->w, rs->h); */
 /*    XRenderCompositeDoublePoly(rs->xcbinf->conn, op, */
-/*                           rs->xcbinf->mul->pic, rs->pic,  */
-/*                           rs->xcbinf->fmt8, 0, 0, 0, 0, */
-/*                           pts, num, Complex); */
+/*                           rs->xcbinf->mul->pic, rs->pic,  */
+/*                           rs->xcbinf->fmt8, 0, 0, 0, 0, */
+/*                           pts, num, Complex); */
 /*    free(pts); */
 }
-   




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