SDL PollEvent
Aus DGL Wiki
Version vom 10. März 2009, 19:09 Uhr von DGLBot (Diskussion | Beiträge) (Der Ausdruck ''<pascal>(.*?)</pascal>'' wurde ersetzt mit ''<source lang="pascal">$1</source>''.)
Inhaltsverzeichnis
SDL_PollEvent
Name
SDL_PollEvent - Ruft ein aktuell anstehendes Ereignis ab.
Delphi-Spezifikation
function SDL_PollEvent(event : PSDL_Event) :Integer;
Parameter
event | Legt fest wo die Ereingisdaten gespeichert werden |
---|
Beschreibung
Ruft ein aktuell anstehendes Ereignis ab.
Wenn event nicht nil ist, wird das nächste Ereignis von der Warteschlange entfernt, und in der angebenen SDL_Event Struktur gespeichert.
Rückgabewert
Gibt 1 zurück wenn noch weitere Ereignisse in der Warteschlange sind, oder 0 falls keine weiteren verfügbar sind.
Beispiel
(aus dem ersten SDL Tutorial)
var
event:SDL_Event; (* Event structure *)
{...}
(* Check for events *)
while ( SDL_PollEvent( @event ) = 1 ) do
begin
case event.type_ of
// Beenden der Applikation
SDL_QUITEV :
begin
Done := -1;
end;
// Taste wurde gedrückt
SDL_KEYDOWN :
begin
glHandleKeyPress( @event.key.keysym );
// Fenster-Größe hat sich verändert
SDL_VIDEORESIZE :
begin
surface := SDL_SetVideoMode( event.resize.w, event.resize.h, SCREEN_BPP, videoflags );
if ( surface = nil ) then
begin
Log.LogError('Surface bei Größenänderung verloren: '+SDL_GetError,'EVENT_RESIZE' );
Quit_App;
end;
glResizeWindow( event.resize.w, event.resize.h );
end;