Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File8.7.6 evnt_multi TOS Name: »Event Multi« - wartet auf ein beliebiges Ereignis. AES-Nummer: 25 Deklaration: int16_t evnt_multi ( int16_t ev_mflags, int16_t ev_mbclicks, int16_t ev_mbmask, int16_t ev_mbstate, int16_t ev_mm1flags, int16_t ev_mm1x, int16_t ev_mm1y, int16_t ev_mm1width, int16_t ev_mm1height, int16_t ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, int16_t ev_mtlocount, int16_t ev_mthicount, int16_t *ev_mmox, int16_t *ev_mmoy, int16_t *ev_mmbutton, int16_t *ev_mmokstate, int16_t *ev_mkreturn, int16_t *ev_mbreturn ); Beschreibung: Die evnt_multi Funktion wartet auf eine Reihe verschiedener Events. Parameter Bedeutung ev_mflags gewünschtes Ereignis: MU_KEYBD (0x0001) Tastaturereignis MU_BUTTON (0x0002) Buttonereignis MU_M1 (0x0004) Mausereignis 1 MU_M2 (0x0008) Mausereignis 2 MU_MESAG (0x0010) Nachrichten MU_TIMER (0x0020) Zeitereignisse MU_WHEEL (0x0040) Mausrad, XaAES MU_MX (0x0080) Mausbewegung, XaAES MU_KEYBD4 (0x0100) GEM/4 MU_NORM_KEYBD (0x0100) normierte Tastenkodes, XaAES MU_DYNAMIC_KEYBD (0x0200) XaAES, noch nicht vorhanden X_MU_DIALOG (0x4000) (Geneva) ev_mbclicks Anzahl der Klicks, siehe ev_bclicks in evnt_button ev_mbmask welche Mausknöpfe sollen betrachtet werden (Format siehe ev_bmask in evnt_button) ev_mbstate welchen Zustand müssen die Mausknöpfe einnehmen (Format, siehe ev_bstate in evnt_button) ev_mm1flags soll der Event beim Betreten (0) oder Verlassen (1) des ersten Rechtecks ausgelöst werden, siehe ev_moflags in evnt_mouse ev_mm1x, ev_mm1y x und y Koordinate des ersten Rechtecks, siehe ev_mox, ev_moy in evnt_mouse ev_mm1width die Breite des ersten Rechtecks, siehe ev_mowidth in evnt_mouse ev_mm1height die Höhe des ersten Rechtecks, siehe ev_moheight in evnt_mouse ev_mm2flags, ev_mm2x, ev_mm2y, ev_mm2width, ev_mm2height sind die Parameter für das zweite Maus- Event Rechteck ev_mmgpbuff ein 16 Byte Messagebuffer, siehe evnt_mesag und ev_mgpbuff ev_mtlocount low-Word für den Timercounter, siehe evnt_timer ev_mthicount high-Word für den Timercounter, siehe evnt_timer Achtung: Unter TOS 1.0 darf in einem Accessorie der Timer nicht auf 0 gesetzt werden, sonst hängt sich das System auf. ev_mmox, ev_mmoy die x und y Koordinate des Mauszeigers beim Auftreten des Events, siehe evnt_mouse, (MU_WHEEL) ev_mmobutton Zustand der Mausknöpfe beim Auftreten des Events (Format siehe evnt_button) ev_mmokstate den Zustand der Sondertasten der Tastatur beim Auftreten des Events (Format, siehe evnt_button) Bei MU_WHEEL: Radnummer ev_mkreturn der Scancode der gedrückten Taste ev_mbreturn Anzahl der Klicks mit der Maustaste Bei MU_WHEEL: Anzahl der Radumdrehungen Hinweis: Durch die große Anzahl der zu übergebenden Parameter verbraucht diese Funktion relativ viel CPU- Zeit; denn die Parameter müssen zunächst auf dem Stack abgelegt, und dann noch auf die Eingabefelder des GEM verteilt werden. MU_WHEEL: Wird nur versendet wenn es keine obenliegendes Fenster gibt oder das Fenster keine Pfeile besitzt. MU_MX: Es wird jede Bewegung der Maus gemeldet (ev_mmox, ev_mmoy), zusätzlich noch erfolgt noch die Rückgabe des Status der Tastaur. MU_KEYBD4: Used internally in GEM/4 to check for a context- sensitive help request. MU_NORM_KEYBD: Wenn das Ereignis MU_NORM_KEYBD mit in die Ergenismaske aufgenommen wird, bekommt die Applikation anstatt den standard AES Scancode einen normaliesierten Tastencode (NKCC) und Staus der Maus geliefert. Wird in der Maske MU_KEYBD und MU_NORM_KEYBD angeben, wird immer MU_NORM_KEYBD geliefert. Die Rückgabe erfolgt in ev_mmokstate und ev_mkreturn, wobei bei der gleichen Wert besitzen. X_MU_DIALOG: If the ev_mflags parameter has bit 14 set (ev_mflags|=X_MU_DIALOG), any mouse clicks and keyboard actions within windows containing dialogs will cause the ev_mwhich return value from evnt_multi to have bit 14 set. When this happens, ev_mmgpbuff word 2 contains the index of the object within the dialog which was selected. If the object was a TOUCHEXIT button and the user double-clicked on it, then bit 15 will be set, similar to the way form_do works. Word 3 of the message buffer ev_mmgpbuff contains the window handle of the window in which the event occurred. This feature is used in conjunction with the wind_set option X_WF_DIALOG. Ergebnis: Als Ergebnis liefert die Funktion die Nummer des oder der aufgetretenen Events im oben angegebenen Format. Verfügbar: In allen AES Versionen. Gruppe: Ereignisverwaltung Querverweis: Binding evnt_keybd evnt_button evnt_mouse evnt_mesag evnt_timer evnt_dclick Nachrichten