/*
 *  EVNT_MOUSE                                  (C) Digital Design 1990
 *
 *  AES wartet, bis der Mauszeiger ein bestimmtes rechteckig umgrenztes
 *  Feld betritt oder verlt.
 */
#include <gemdefs.h>

int evnt_mouse( int ev_moflags, int ev_mox, int ev_moy,
                int ev_mowidth, int ev_moheight, int *ev_momx,
                int *ev_momy, int *ev_mobutton,
                int *ev_mokstate )
{
  intin[0] = ev_moflags; /* Gibt an, welche der beiden Teilfunktionen   *
                          * aktiviert werden soll:                      *
                          *     0 = Funktion bei Eintritt in das        *
                          *         Rechteck beenden                    *
                          *     1 = Funktion bei Austritt aus dem       *
                          *         Rechteck beenden                    */
  intin[1] = ev_mox;      /* X-Koordinate des Rechtecks                 */
  intin[2] = ev_moy;      /* Y-Koordinate des Rechtecks                 */
  intin[3] = ev_mowidth;  /* Breite des Rechtecks                       */
  intin[4] = ev_moheight; /* Hhe des Rechtecks                         */

  AES( 22, 5, 5, 0, 0 );

  *ev_momx = intout[0]; /* X-Position des Mauszeigers beim Auslsen des *
                         * Ereignisses                                  */
  *ev_momy = intout[2]; /* Y-Position des Mauszeigers beim Auslsen des *
                         * Ereignisses                                  */
  *ev_mobutton = intout[3]; /* Status der Maustasten beim Auslsen des  *
                             * Ereignisses. Es gilt folgende Tastenbe-  *
                             * legung:                                  *
                             *          1 = linker Knopf                *
                             *          2 = rechter Knopf               *
                             * Bit = 0: Taste nicht bettigt            *
                             * Bit = 1: Taste bettigt                  */
  *ev_mokstate = intout[4]; /* Status der Tastatur beim Auslsen des    *
                             * Ereignisses:                             *
                             *          1 = rechte Shift-Taste          *
                             *          2 = linke Shift-Taste           *
                             *          4 = Contrl-Taste                *
                             *          8 = Alternate-Taste             *
                             * Bit = 0: Taste nicht bettigt            *
                             * Bit = 1: Taste bettigt                  */
  return intout[0]; /* = ev_moresvd: reserviert fr zuknftige Anwen-   *
                     * dungen; wird immer auf 1 gesetzt.                */
}
/* siehe auch: ÝEVNT_MULTIÝEVNT_MUL.CÝ */
