you could use embryo to only set the state if its not moving On Fri, 2008-10-24 at 10:56 -0700, Matt Barclay wrote: > Hello, > > I'm working on a simple, multi-page application. There are four menu > buttons across the top of the screen, and 1-4 command buttons at the > bottom depending on which menu is active. When transitioning between > menus, I have the command buttons accelerate offscreen to the left. > The problem I'm having is if the user presses a button as it is > transitioning off screen. The press is handled as a button press, and > the button goes back to its original place on screen, instead of > accelerating offscreen and becoming invisible. Is it possible to > disable mouse events during a transition in my EDC? What's the best > approach here? Here are some snippets of what I'm doing right now: > > ADJUST is a menu button at the top of the page. When selected, the > TTOL, LOUNGE, BED, and LOAD buttons transition offscreen to the left. > However, the user can still press these buttons while the > adjust_active3 program is running. For example, that press causes the > BED_active program to run, setting BED state to "active", thus moving > the button to its original position. The mouse,up,* event causes > BED_visible to run, leaving the button in its original position in the > "unpressed" state. The XXX_active programs cause a highlighted image > to replace the default image. > > #define PROGRAM_BUTTON_ACTIVE_VISIBLE(targ) \ > program { \ > name: targ"_active"; \ > signal: "mouse,down,1"; \ > source: targ; \ > action: STATE_SET "active" 0.00; \ > transition: LINEAR 0.00000; \ > target: targ; \ > } \ > program { \ > name: targ"_visible"; \ > signal: "mouse,up,*"; \ > source: targ; \ > action: STATE_SET "visible" 0.00; \ > transition: LINEAR 0.00000; \ > target: targ; \ > } \ > > PROGRAM_BUTTON_ACTIVE_VISIBLE("TTOL") > PROGRAM_BUTTON_ACTIVE_VISIBLE("LOUNGE") > PROGRAM_BUTTON_ACTIVE_VISIBLE("BED") > PROGRAM_BUTTON_ACTIVE_VISIBLE("LOAD") > > program { > name: "adjust_active3"; > signal: "mouse,down,*"; > source: "ADJUST"; > action: STATE_SET "offscreen_left" 0.00; > transition: ACCELERATE 0.5; > target: "TTOL"; > target: "LOUNGE"; > target: "BED"; > target: "LOAD"; > } > program { > name: "adjust_active4"; > signal: "mouse,down,*"; > source: "ADJUST"; > action: STATE_SET "onscreen" 0.00; > transition: DECELERATE 0.5; > target: "SAVE"; > target: "FORE_AFT"; > after: "viewing_area_ttol_fadein"; > after: "viewing_area_ttol_fadeout"; > } > > > Thanks in advance! > > Matt > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel