Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        ewins.c ipc.c 


Log Message:
Add a number of window flags to the remembered flag list.

===================================================================
RCS file: /cvs/e/e16/e/src/ewins.c,v
retrieving revision 1.215
retrieving revision 1.216
diff -u -3 -r1.215 -r1.216
--- ewins.c     3 Feb 2008 17:03:23 -0000       1.215
+++ ewins.c     3 Feb 2008 17:08:38 -0000       1.216
@@ -1831,29 +1831,53 @@
    } f;
 } EWinMiscFlags;
 
+typedef union
+{
+   unsigned int        all;
+   struct
+   {
+      unsigned            nua:1;
+      unsigned            ctf:1;
+      unsigned            nbg:1;
+      unsigned:           29;
+   } f;
+} EWinMiscFlags2;
+
 void
 EwinFlagsEncode(const EWin * ewin, unsigned int *flags)
 {
    EWinMiscFlags       fm;
+   EWinMiscFlags2      fm2;
 
    fm.all = 0;
    fm.f.inh_app = ewin->inh_app.all;
    fm.f.inh_user = ewin->inh_user.all;
    fm.f.inh_wm = ewin->inh_wm.all;
 
+   fm2.all = 0;
+   fm2.f.nua = ewin->props.never_use_area;
+   fm2.f.ctf = ewin->props.focusclick;
+   fm2.f.nbg = ewin->props.no_button_grabs;
+
    flags[0] = fm.all;
-   flags[1] = 0;
+   flags[1] = fm2.all;
 }
 
 void
 EwinFlagsDecode(EWin * ewin, const unsigned int *flags)
 {
    EWinMiscFlags       fm;
+   EWinMiscFlags2      fm2;
 
    fm.all = flags[0];
    ewin->inh_app.all = fm.f.inh_app;
    ewin->inh_user.all = fm.f.inh_user;
    ewin->inh_wm.all = fm.f.inh_wm;
+
+   fm2.all = flags[1];
+   ewin->props.never_use_area = fm2.f.nua;
+   ewin->props.focusclick = fm2.f.ctf;
+   ewin->props.no_button_grabs = fm2.f.nbg;
 }
 
 void
===================================================================
RCS file: /cvs/e/e16/e/src/ipc.c,v
retrieving revision 1.306
retrieving revision 1.307
diff -u -3 -r1.306 -r1.307
--- ipc.c       28 Jan 2008 21:20:09 -0000      1.306
+++ ipc.c       3 Feb 2008 17:08:38 -0000       1.307
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2004-2007 Kim Woelders
+ * Copyright (C) 2004-2008 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -721,13 +721,13 @@
        on = ewin->props.never_use_area;
        SetEwinBoolean(wop->name, &on, param1, 1);
        ewin->props.never_use_area = on;
-       break;
+       goto ewin_update_snap_flags;
 
      case EWIN_OP_FOCUS_CLICK:
        on = ewin->props.focusclick;
        SetEwinBoolean(wop->name, &on, param1, 1);
        ewin->props.focusclick = on;
-       break;
+       goto ewin_update_snap_flags;
 
      case EWIN_OP_NO_BUTTON_GRABS:
        on = ewin->props.no_button_grabs;
@@ -739,56 +739,49 @@
             else
                GrabButtonGrabs(ewin);
          }
-       break;
+       goto ewin_update_snap_flags;
 
      case EWIN_OP_INH_APP_FOCUS:
        on = EwinInhGetApp(ewin, focus);
        SetEwinBoolean(wop->name, &on, param1, 1);
        EwinInhSetApp(ewin, focus, on);
-       break;
+       goto ewin_update_snap_flags;
 
      case EWIN_OP_INH_APP_MOVE:
        on = EwinInhGetApp(ewin, move);
        SetEwinBoolean(wop->name, &on, param1, 1);
        EwinInhSetApp(ewin, move, on);
-       break;
+       goto ewin_update_snap_flags;
 
      case EWIN_OP_INH_APP_SIZE:
        on = EwinInhGetApp(ewin, size);
        SetEwinBoolean(wop->name, &on, param1, 1);
        EwinInhSetApp(ewin, size, on);
-       break;
+       goto ewin_update_snap_flags;
 
      case EWIN_OP_INH_USER_CLOSE:
        on = EwinInhGetUser(ewin, close);
        SetEwinBoolean(wop->name, &on, param1, 1);
        EwinInhSetUser(ewin, close, on);
-       EwinStateUpdate(ewin);
-       HintsSetWindowState(ewin);
-       break;
+       goto ewin_update_state_hints;
 
      case EWIN_OP_INH_USER_MOVE:
        on = EwinInhGetUser(ewin, move);
        SetEwinBoolean(wop->name, &on, param1, 1);
        EwinInhSetUser(ewin, move, on);
-       EwinStateUpdate(ewin);
-       HintsSetWindowState(ewin);
-       break;
+       goto ewin_update_state_hints;
 
      case EWIN_OP_INH_USER_SIZE:
        on = EwinInhGetUser(ewin, size);
        SetEwinBoolean(wop->name, &on, param1, 1);
        EwinInhSetUser(ewin, size, on);
-       EwinStateUpdate(ewin);
-       HintsSetWindowState(ewin);
-       break;
+       goto ewin_update_state_hints;
 
      case EWIN_OP_INH_WM_FOCUS:
        on = EwinInhGetWM(ewin, focus);
        SetEwinBoolean(wop->name, &on, param1, 1);
        EwinInhSetWM(ewin, focus, on);
-       EwinStateUpdate(ewin);
-       break;
+       goto ewin_update_state;
 
 #if USE_COMPOSITE
      case EWIN_OP_FADE:
@@ -810,6 +803,18 @@
           EoSetNoRedirect(ewin, on);
        break;
 #endif
+      ewin_update_snap_flags:
+       SnapshotEwinUpdate(ewin, SNAP_USE_FLAGS);
+       break;
+
+      ewin_update_state:
+       EwinStateUpdate(ewin);
+       break;
+
+      ewin_update_state_hints:
+       EwinStateUpdate(ewin);
+       HintsSetWindowState(ewin);
+       break;
      }
 
  done:



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to