Mausevent

Top  Previous  Next

Der Event tritt ein, wenn der Digitizer bewegt wurde oder die Maus im Grafikfenster von Moskito bewegt wurde. Die Prozedur erhält eine komplette Zeichenumgebung, kann also Objekte in das Fenster zeichnen. Alle registrierten Prozeduren werden nacheinander ausgeführt.

#define EVENT_ART_MOUSEMOVE   0

int DLLENTRY IOregisterEvent(int art, void *proc, void *userdata, int doRegister);

Parameter

pipes (PIOPIPES)                                      [IN]

Das Handle pipes gibt den Ausgabekanal an.

art (int)                                                          [IN]

Muss in diesem Fall den Wert EVENT_ART_MOUSEMOVE (0) haben.

proc (void *)                                                 [IN]

Diese Prozedur wird bei Eintritt des Events aufgerufen. Der Typ void* ist nur ein Stellvertreter. Die Prozedur muss als

void DLLENTRY event_moveProc(int art, PZEICHENDATEN data, short int x, short int y, void *userdata)

deklariert sein.

userdata (void *)                                          [IN]

Dieser Wert wird uninterpretiert an die ActionProcedure übergeben.

doRegister (int)                                           [IN]

Wird hier FALSE (0) übergeben, so wird die vorher registrierte Routine entfernt. Die betroffene Routine wird anhand von Procedureadresse und Parameter userdata identifiziert.

Wird hier TRUE (!=0) übergeben, so wird die Routine mit in die Liste der Events aufgenommen.

Parameter der ActionProcedure

art (int)                                                          [IN]

Immer EVENT_ART_MOUSEMOVE.

data (PZEICHENDATEN)                          [IN]

Einstellungen zum Ausgeben von Grafik. Der Datenblock darf verändert werden. Die Ausgabeprozeduren sind so vorgegeben, dass eine Ausgabe temporär in das Grafikfenster erfolgt.

x (short int)                                                   [IN]

y (short int)                                                   [IN]

Reale Bildschirmkoordinaten. Diese sind auch in data eingetragen.

userdata (void *)                                          [IN]

Der Wert wurde beim Registrieren als userdata übergeben.