kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=5e9f51458d564c9d6a02856f135518251e3889a0

commit 5e9f51458d564c9d6a02856f135518251e3889a0
Author: Kim Woelders <[email protected]>
Date:   Sun Aug 17 14:24:20 2014 +0200

    Use wrapper functions in ECreatePixmapCursor().
---
 src/cursors.c | 34 ++++++++++++----------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

diff --git a/src/cursors.c b/src/cursors.c
index 11cbd55..85bc206 100644
--- a/src/cursors.c
+++ b/src/cursors.c
@@ -54,40 +54,30 @@ ECreatePixmapCursor(EX_Pixmap cpmap, EX_Pixmap cmask, 
unsigned int w,
                    unsigned int bg)
 {
    EX_Cursor           curs;
-   EX_Pixmap           pmap;
    EX_Picture          pict;
    EX_SrvRegion        rgn1, rgn2;
-   XRenderPictFormat  *pictfmt;
-   XRenderColor        c;
 
-   pictfmt = XRenderFindStandardFormat(disp, PictStandardARGB32);
-
-   pmap = XCreatePixmap(disp, WinGetXwin(VROOT), w, h, 32);
-   pict = XRenderCreatePicture(disp, pmap, pictfmt, 0, NULL);
-   XFreePixmap(disp, pmap);
+   pict = EPictureCreateBuffer(VROOT, w, h, 1, NULL);
 
    /* Clear entirely (alpha = 0) */
-   COLOR32_TO_ARGB16(0, c.alpha, c.red, c.green, c.blue);
-   XRenderFillRectangle(disp, PictOpSrc, pict, &c, 0, 0, w, h);
+   EPictureFillRect(pict, 0, 0, w, h, 0);
 
    /* Set bg color (cursor shape) */
-   rgn1 = XFixesCreateRegionFromBitmap(disp, cmask);
-   XFixesSetPictureClipRegion(disp, pict, 0, 0, rgn1);
-   COLOR32_TO_ARGB16(bg, c.alpha, c.red, c.green, c.blue);
-   XRenderFillRectangle(disp, PictOpSrc, pict, &c, 0, 0, w, h);
+   rgn1 = ERegionCreateFromBitmap(cmask);
+   EPictureSetClip(pict, rgn1);
+   EPictureFillRect(pict, 0, 0, w, h, bg);
 
    /* Set fg color */
-   rgn2 = XFixesCreateRegionFromBitmap(disp, cpmap);
-   XFixesIntersectRegion(disp, rgn1, rgn1, rgn2);
-   XFixesSetPictureClipRegion(disp, pict, 0, 0, rgn1);
-   COLOR32_TO_ARGB16(fg, c.alpha, c.red, c.green, c.blue);
-   XRenderFillRectangle(disp, PictOpSrc, pict, &c, 0, 0, w, h);
+   rgn2 = ERegionCreateFromBitmap(cpmap);
+   ERegionIntersect(rgn1, rgn2);
+   EPictureSetClip(pict, rgn1);
+   EPictureFillRect(pict, 0, 0, w, h, fg);
 
    curs = XRenderCreateCursor(disp, pict, xh, yh);
 
-   XFixesDestroyRegion(disp, rgn1);
-   XFixesDestroyRegion(disp, rgn2);
-   XRenderFreePicture(disp, pict);
+   ERegionDestroy(rgn1);
+   ERegionDestroy(rgn2);
+   EPictureDestroy(pict);
 
    return curs;
 }

-- 


Reply via email to