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