This function is the heart of WinDom. It replaces the AES
evnt_multi() function (the EvntMulti() is already used by the
Pure C AES bindings).
EvntWindom() is a little bit complex:
- it calls the evnt_multi() function,
- it handles the color palette depending of the topped
window or the desktop palette if no topped window,
- it calls the good event function depending the event
occured (MU_MESAG, MU_BUTTON, ...),
- window menu window, toolbar, keyboard shortcuts,
specific WinDom features are handled. If needed, the AES
special features (iconfications, bottom windows, untoppable
and modal windows) are emulated,
- some new messages are eventually sent.
EvntWindom() can be parametrized (as evnt_multi()). The
parametrization is performed in the gobal variable evnt. Some
events return some additional informations. These informations
are stored in the evnt variable too. This variable is a C-struct
which have the following compostion:
typedef struct {
/* parametrization variables
*****************************/
/* MU_TIMER parameters - see evnt_timer() */
int lo_timer, hi_timer;
/* MU_BUTTON parameters - see evnt_button() */
int bclick, bmask, bstate;
/* MU_M1 parameters */
int m1_flag, m1_x, m1_y, m1_w, m1_h;
/* MU_M2 parameters */
int m2_flag, m2_x, m2_y, m2_w, m2_h;
/* result variables
********************/
/* MU_MESAG result */
int buff[8];
/* MU_BUTTON result - see evnt_button()*/
int mx, my, mbut, mkstate;
/* MU_KEYBD result - see evnt_keybd() */
int keybd, nb_click;
} EVNTvar;