Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        ecompmgr.c 


Log Message:
Wrap region functions.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -3 -r1.68 -r1.69
--- ecompmgr.c  30 Sep 2005 18:56:44 -0000      1.68
+++ ecompmgr.c  4 Oct 2005 16:42:01 -0000       1.69
@@ -221,7 +221,13 @@
  */
 
 static              XserverRegion
-ERegionCreate(int x, int y, int w, int h)
+ERegionCreate(void)
+{
+   return XFixesCreateRegion(disp, NULL, 0);
+}
+
+static              XserverRegion
+ERegionCreateRect(int x, int y, int w, int h)
 {
    XserverRegion       rgn;
    XRectangle          rct;
@@ -236,29 +242,66 @@
 }
 
 static              XserverRegion
+ERegionCreateFromRects(XRectangle * rectangles, int nrectangles)
+{
+   return XFixesCreateRegion(disp, rectangles, nrectangles);
+}
+
+static              XserverRegion
+ERegionCreateFromWindow(Window win)
+{
+   return XFixesCreateRegionFromWindow(disp, win, WindowRegionBounding);
+}
+
+static void
+ERegionCopy(XserverRegion rgn, XserverRegion src)
+{
+   XFixesCopyRegion(disp, rgn, src);
+}
+
+static              XserverRegion
 ERegionClone(XserverRegion src)
 {
    XserverRegion       rgn;
 
-   rgn = XFixesCreateRegion(disp, NULL, 0);
-   XFixesCopyRegion(disp, rgn, src);
+   rgn = ERegionCreate();
+   ERegionCopy(rgn, src);
 
    return rgn;
 }
 
 static void
+ERegionDestroy(XserverRegion rgn)
+{
+   XFixesDestroyRegion(disp, rgn);
+}
+
+static void
+ERegionTranslate(XserverRegion rgn, int dx, int dy)
+{
+   XFixesTranslateRegion(disp, rgn, dx, dy);
+}
+
+static void
 ERegionLimit(XserverRegion rgn)
 {
    XserverRegion       screen;
 
    screen = Mode_compmgr.rgn_screen;
    if (screen == None)
-      Mode_compmgr.rgn_screen = screen = ERegionCreate(0, 0, VRoot.w, VRoot.h);
+      Mode_compmgr.rgn_screen = screen =
+        ERegionCreateRect(0, 0, VRoot.w, VRoot.h);
 
    XFixesIntersectRegion(disp, rgn, rgn, screen);
 }
 
 static void
+ERegionUnion(XserverRegion dst, XserverRegion src)
+{
+   XFixesUnionRegion(disp, dst, dst, src);
+}
+
+static void
 ERegionSubtractOffset(XserverRegion dst, int dx, int dy, XserverRegion src)
 {
    Display            *dpy = disp;
@@ -272,7 +315,7 @@
      }
    XFixesSubtractRegion(dpy, dst, dst, rgn);
    if (rgn != src)
-      XFixesDestroyRegion(dpy, rgn);
+      ERegionDestroy(rgn);
 }
 
 #if 0                          /* Unused (for debug) */
@@ -514,9 +557,9 @@
        if (EventDebug(EDBUG_TYPE_COMPMGR3))
           ERegionShow("ECompMgrDamageMerge add:", damage);
 
-       XFixesUnionRegion(disp, allDamage, allDamage, damage);
+       ERegionUnion(allDamage, damage);
        if (destroy)
-          XFixesDestroyRegion(disp, damage);
+          ERegionDestroy(damage);
      }
    else if (!destroy)
      {
@@ -542,7 +585,7 @@
    if (dsk->num > 0 && !dsk->viewable && eo->ilayer < 512)
      {
        if (destroy)
-          XFixesDestroyRegion(disp, damage);
+          ERegionDestroy(damage);
        return;
      }
 
@@ -552,7 +595,7 @@
          {
             if (!destroy)
                damage = ERegionClone(damage);
-            XFixesTranslateRegion(disp, damage, EoGetX(dsk), EoGetY(dsk));
+            ERegionTranslate(damage, EoGetX(dsk), EoGetY(dsk));
          }
      }
 
@@ -562,7 +605,7 @@
 static void
 ECompMgrDamageAll(void)
 {
-   ECompMgrDamageMerge(ERegionCreate(0, 0, VRoot.w, VRoot.h), 1);
+   ECompMgrDamageMerge(ERegionCreateRect(0, 0, VRoot.w, VRoot.h), 1);
 }
 
 #if ENABLE_SHADOWS
@@ -901,7 +944,7 @@
 
    D2printf("extents %#lx %d %d %d %d\n", eo->win, r.x, r.y, r.width, 
r.height);
 
-   rgn = XFixesCreateRegion(disp, &r, 1);
+   rgn = ERegionCreateRect(r.x, r.y, r.width, r.height);
 
    if (EventDebug(EDBUG_TYPE_COMPMGR3))
       ERegionShow("extents", rgn);
@@ -917,12 +960,12 @@
    XserverRegion       border;
    int                 x, y;
 
-   border = XFixesCreateRegionFromWindow(disp, eo->win, WindowRegionBounding);
+   border = ERegionCreateFromWindow(eo->win);
 
    /* translate this */
    x = eo->x + cw->a.border_width;
    y = eo->y + cw->a.border_width;
-   XFixesTranslateRegion(disp, border, x, y);
+   ERegionTranslate(border, x, y);
 
    D2printf("shape %#lx: %d %d\n", eo->win, x, y);
    if (EventDebug(EDBUG_TYPE_COMPMGR3))
@@ -968,7 +1011,7 @@
 
    if ((what & INV_GEOM) && cw->shape != None)
      {
-       XFixesDestroyRegion(dpy, cw->shape);
+       ERegionDestroy(cw->shape);
        cw->shape = None;
      }
 
@@ -986,7 +1029,7 @@
 
    if ((what & (INV_CLIP | INV_GEOM)) && cw->clip != None)
      {
-       XFixesDestroyRegion(dpy, cw->clip);
+       ERegionDestroy(cw->clip);
        cw->clip = None;
      }
 
@@ -1006,11 +1049,7 @@
 
    if ((what & (INV_GEOM | INV_SHADOW)) && cw->extents != None)
      {
-#if 0                          /* FIXME - Not necessary? */
-       ECompMgrDamageMergeObject(eo, cw->extents, 1);
-#else
-       XFixesDestroyRegion(dpy, cw->extents);
-#endif
+       ERegionDestroy(cw->extents);
        cw->extents = None;
      }
 }
@@ -1361,9 +1400,9 @@
      }
 
    /* Invalidate old window region */
-   damage = XFixesCreateRegion(disp, 0, 0);
+   damage = ERegionCreate();
    if (cw->extents != None)
-      XFixesCopyRegion(disp, damage, cw->extents);
+      ERegionCopy(damage, cw->extents);
    if (EventDebug(EDBUG_TYPE_COMPMGR3))
       ERegionShow("old-extents:", damage);
 
@@ -1375,7 +1414,7 @@
 #if 1
    /* Hmmm. Why if not changed? - To get shadows painted. */
    /* Invalidate new window region */
-   XFixesUnionRegion(disp, damage, damage, cw->extents);
+   ERegionUnion(damage, cw->extents);
 #endif
 
    ECompMgrDamageMergeObject(eo, damage, 1);
@@ -1530,20 +1569,20 @@
      }
    else
      {
-       parts = XFixesCreateRegion(dpy, 0, 0);
+       parts = ERegionCreate();
        XDamageSubtract(dpy, cw->damage, None, parts);
-       XFixesTranslateRegion(dpy, parts,
-                             eo->x + cw->a.border_width,
-                             eo->y + cw->a.border_width);
+       ERegionTranslate(parts,
+                        eo->x + cw->a.border_width,
+                        eo->y + cw->a.border_width);
 #if ENABLE_SHADOWS
        if (Conf_compmgr.shadows.mode == ECM_SHADOWS_SHARP)
          {
             XserverRegion       o;
 
             o = ERegionClone(parts);
-            XFixesTranslateRegion(dpy, o, cw->shadow_dx, cw->shadow_dy);
-            XFixesUnionRegion(dpy, parts, parts, o);
-            XFixesDestroyRegion(dpy, o);
+            ERegionTranslate(o, cw->shadow_dx, cw->shadow_dy);
+            ERegionUnion(parts, o);
+            ERegionDestroy(o);
          }
 #endif
      }
@@ -1752,7 +1791,7 @@
          }
 #endif
 
-       XFixesDestroyRegion(dpy, cw->clip);
+       ERegionDestroy(cw->clip);
        cw->clip = None;
      }
 }
@@ -1822,8 +1861,8 @@
                         0, 0, 0, 0, 0, 0, VRoot.w, VRoot.h);
      }
 
-   XFixesDestroyRegion(dpy, region);
-   XFixesDestroyRegion(dpy, allDamage);
+   ERegionDestroy(region);
+   ERegionDestroy(allDamage);
    allDamage = None;
 }
 
@@ -1842,7 +1881,7 @@
          }
 
        if (Mode_compmgr.rgn_screen != None)
-          XFixesDestroyRegion(disp, Mode_compmgr.rgn_screen);
+          ERegionDestroy(Mode_compmgr.rgn_screen);
        Mode_compmgr.rgn_screen = None;
      }
    return;
@@ -1852,7 +1891,6 @@
 static void
 ECompMgrRootExpose(void *prm __UNUSED__, XEvent * ev)
 {
-   Display            *dpy = disp;
    static XRectangle  *expose_rects = 0;
    static int          size_expose = 0;
    static int          n_expose = 0;
@@ -1887,7 +1925,7 @@
      {
        XserverRegion       region;
 
-       region = XFixesCreateRegion(dpy, expose_rects, n_expose);
+       region = ERegionCreateFromRects(expose_rects, n_expose);
 
        ECompMgrDamageMerge(region, 1);
        n_expose = 0;
@@ -2043,11 +2081,11 @@
      }
 
    if (allDamage != None)
-      XFixesDestroyRegion(disp, allDamage);
+      ERegionDestroy(allDamage);
    allDamage = None;
 
    if (Mode_compmgr.rgn_screen != None)
-      XFixesDestroyRegion(disp, Mode_compmgr.rgn_screen);
+      ERegionDestroy(Mode_compmgr.rgn_screen);
    Mode_compmgr.rgn_screen = None;
 
    if (Conf_compmgr.mode == ECM_MODE_ROOT)




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