SDL PollEvent: Unterschied zwischen den Versionen
Aus DGL Wiki
DGLBot (Diskussion | Beiträge) K (Der Ausdruck ''<pascal>(.*?)</pascal>'' wurde ersetzt mit ''<source lang="pascal">$1</source>''.) |
|||
Zeile 43: | Zeile 43: | ||
== Beispiel == | == Beispiel == | ||
(aus dem ersten SDL Tutorial) | (aus dem ersten SDL Tutorial) | ||
− | <pascal>var | + | <source lang="pascal">var |
event:SDL_Event; (* Event structure *) | event:SDL_Event; (* Event structure *) | ||
Zeile 76: | Zeile 76: | ||
glResizeWindow( event.resize.w, event.resize.h ); | glResizeWindow( event.resize.w, event.resize.h ); | ||
− | end;</ | + | end;</source> |
== Siehe auch == | == Siehe auch == |
Aktuelle Version vom 10. März 2009, 19:09 Uhr
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;