Handling of user events

There are two kinds of events:

System generated events are those like load, data recive, unload, enter frame, etc. User generated events are mouse movements and clicks, keyboard activity.

Events can trigger actions execution, if "handlers" are specified for a specific event with ActionScript code. The actions triggered by user events are executed *immediately*, not at the next frame iteration. Nonetheless, since rendering of the stage usually happens at fixed rate (frame rate) you won't see the effects of actions execution until next iteration... unless...

Well, *some* events actions always trigger immediate redisplay, while some others require a call to a special function to do so.

The events actions that trigger immediate redisplay are Button actions. Colin Mook, in his "ActionScript - The Definitive Guide" sais: << Buttons naturally update between frames >>

Other events, in particular MovieClip events such as mouseDown, mouseUp, mouseMove, keyDown and keyUp don't by default trigger redisplay, unless the attached action code makes a call to the special function named 'updateAfterEvent()'.

For this purpose, user events notification functions in gnash core library return a boolean value, which tells wheter any action triggered by the event requires immediate redisplay.

At the time of writing (2006-10-19) this is not implemented yet and the return code is always TRUE. We shall work on it :)

The events notification functions that currently support this interface are: