SDL AddTimer
Aus DGL Wiki
Inhaltsverzeichnis
SDL_AddTimer
Name
SDL_AddTimer - Erstellt und aktiviert einen Timer
Delphi-Spezifikation
function SDL_AddTimer(interval: UInt32; callback: TSDL_NewTimerCallback; param : Pointer): PSDL_TimerID;
Parameter
interval | Intervall des Aufrufes in Millisekunden |
---|---|
callback | Funktion folgenden Types: function( interval: UInt32; param: Pointer ): UInt32 |
param | Zeiger auf Daten auf die in der Callback-Funktion zugegriffen werden kann |
Beschreibung
Fügt einen Timer hinzu, der alle interval Millisekunden die callback-Funktion aufruft.
Der Rückgabewert der Funktion ist das neue Interval. Wenn dieser 0 ist, wird der Timer entfernt.
Die Timerfunktion kann in einem anderen Thread als das Hauptprogramm laufen. Deshalb sollte man nie auf interne Funktionen zugreifen.
Denoch darf man SDL_PushEvent aufrufen.
Hinweise
Um diese Funktion zu benutzen muss man es mit SDL_INIT_TIMER und SDL_Init erst initialisieren.
Die Genauigkeit des Timers ist Plattform abhängig. Man sollte aber 10 Millisekunden als kleinste Einheit ansehen.
Rückgabewert
Gibt den ID-Wert des aktuellen Timers zurück oder nil wenn ein Fehler aufgetreten ist.
Beispiel
function timer_func(interval: Uint32; param: Pointer ): Integer; begin inc(times); Write('... '); Write(interval div 1000); Writeln(' seconds later'); // result value 0 will cancel timer, SDL_RemoveTimer will do the same result := interval-1000; end; begin // Init SDL and timer SDL_Init(SDL_INIT_TIMER); SDL_AddTimer(3000,@timer_func,nil); Writeln('Started'); // just wait SDL_Delay(8000); // Release SDL_Quit; WriteLn('ByeBye ;)'); end.