Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h ecompmgr.c ecompmgr.h eobj.c ewins.c iconify.c 
        moveresize.c 


Log Message:
Handle transparent iconbox shape change with composite enabled.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.418
retrieving revision 1.419
diff -u -3 -r1.418 -r1.419
--- E.h 1 May 2005 22:26:00 -0000       1.418
+++ E.h 2 May 2005 22:10:39 -0000       1.419
@@ -561,6 +561,7 @@
 #define EoResize(eo, w, h)              EobjResize(&((eo)->o), w, h)
 #define EoMoveResize(eo, x, y, w, h)    EobjMoveResize(&((eo)->o), x, y, w, h)
 #define EoReparent(eo, d, x, y)         EobjReparent(&((eo)->o), d, x, y)
+#define EoChangeShape(eo)               EobjChangeShape(&((eo)->o))
 
 typedef struct
 {
@@ -1541,6 +1542,7 @@
 void                EobjResize(EObj * eo, int w, int h);
 void                EobjMoveResize(EObj * eo, int x, int y, int w, int h);
 void                EobjReparent(EObj * eo, int desk, int x, int y);
+void                EobjChangeShape(EObj * eo);
 
 #if USE_COMPOSITE
 Pixmap              EobjGetPixmap(const EObj * eo);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- ecompmgr.c  1 May 2005 22:26:03 -0000       1.25
+++ ecompmgr.c  2 May 2005 22:10:58 -0000       1.26
@@ -1228,6 +1228,20 @@
    /* FIXME - Check if stacking was changed */
 }
 
+void
+ECompMgrWinChangeShape(EObj * eo)
+{
+   ECmWinInfo         *cw = eo->cmhook;
+
+   if (cw->extents != None)
+     {
+       ECompMgrDamageMerge(eo->desk, cw->extents, 1);
+       cw->extents = None;
+     }
+
+   ECompMgrWinInvalidate(eo, INV_SIZE);
+}
+
 static void
 finish_destroy_win(EObj * eo, Bool gone)
 {
@@ -1683,7 +1697,7 @@
    return;
 }
 
-#if 0                          /* FIXME - Need this? */
+#if 1                          /* FIXME - Need this? */
 static void
 ECompMgrRootExpose(void *prm __UNUSED__, XEvent * ev)
 {
@@ -2060,8 +2074,9 @@
        break;
 
      case Expose:
-#if 0                          /* FIXME - Need this? */
-       ECompMgrRootExpose(prm, ev);
+#if 1                          /* FIXME - Need this? */
+       if (Conf_compmgr.shadow != ECM_SHADOWS_OFF)
+          ECompMgrRootExpose(prm, ev);
 #endif
        break;
      }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ecompmgr.h  1 May 2005 22:26:03 -0000       1.9
+++ ecompmgr.h  2 May 2005 22:10:58 -0000       1.10
@@ -40,6 +40,7 @@
 void                ECompMgrWinMoveResize(EObj * eo, int change_xy,
                                          int change_wh, int change_bw);
 void                ECompMgrWinReparent(EObj * eo, int desk, int change_xy);
+void                ECompMgrWinChangeShape(EObj * eo);
 
 void                ECompMgrWinChangeOpacity(EObj * eo, unsigned int opacity);
 Pixmap              ECompMgrWinGetPixmap(const EObj * eo);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/eobj.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- eobj.c      1 May 2005 22:26:03 -0000       1.24
+++ eobj.c      2 May 2005 22:10:59 -0000       1.25
@@ -369,6 +369,17 @@
    EobjSetDesk(eo, desk);
 }
 
+void
+EobjChangeShape(EObj * eo)
+{
+#if USE_COMPOSITE
+   if (eo->shown && eo->cmhook)
+      ECompMgrWinChangeShape(eo);
+#else
+   eo = NULL;
+#endif
+}
+
 #if USE_COMPOSITE
 Pixmap
 EobjGetPixmap(const EObj * eo)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -3 -r1.53 -r1.54
--- ewins.c     1 May 2005 13:29:53 -0000       1.53
+++ ewins.c     2 May 2005 22:10:59 -0000       1.54
@@ -1259,6 +1259,9 @@
    SyncBorderToEwin(ewin);
    if (ewin->border == b)
       EwinPropagateShapes(ewin);
+#if 0                          /* FIXME - Here? */
+   EoChangeShape(ewin);
+#endif
 }
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/iconify.c,v
retrieving revision 1.140
retrieving revision 1.141
diff -u -3 -r1.140 -r1.141
--- iconify.c   3 Apr 2005 15:46:42 -0000       1.140
+++ iconify.c   2 May 2005 22:10:59 -0000       1.141
@@ -715,7 +715,10 @@
 
    ib = SelectIconboxForEwin(ewin);
    if (ib && ib->animate && !ewin->st.showingdesk)
-      IB_Animate(0, ewin, ib->ewin);
+     {
+       CheckEvent();
+       IB_Animate(0, ewin, ib->ewin);
+     }
 }
 
 static void
@@ -1963,6 +1966,8 @@
    PropagateShapes(ib->win);
    ICCCM_GetShapeInfo(ib->ewin);
    EwinPropagateShapes(ib->ewin);
+   if (ib->nobg)
+      EoChangeShape(ib->ewin);
 
    Mode.queue_up = pq;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/moveresize.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- moveresize.c        1 May 2005 22:26:03 -0000       1.37
+++ moveresize.c        2 May 2005 22:11:01 -0000       1.38
@@ -126,7 +126,9 @@
    d = DesktopAt(Mode.x, Mode.y);
 
    if (Conf.movres.mode_move == 0)
-      EoChangeOpacity(ewin, ewin->ewmh.opacity);
+     {
+       EoChangeOpacity(ewin, ewin->ewmh.opacity);
+     }
    for (i = 0; i < num; i++)
      {
        if ((EoIsFloating(gwins[i])) || (Conf.movres.mode_move > 0))
@@ -417,7 +419,9 @@
          }
        Mode.mode = MODE_MOVE;
        if (Conf.movres.mode_move == 0)
-          EoChangeOpacity(ewin, OpacityExt(Conf.movres.opacity));
+         {
+            EoChangeOpacity(ewin, OpacityExt(Conf.movres.opacity));
+         }
      }
 
    dx = Mode.x - Mode.px;




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to