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

Reply via email to