SDL PollEvent: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
()
K (Bot: konvertiere/korrigiere <BR>)
Zeile 1: Zeile 1:
 
= SDL_PollEvent =
 
= SDL_PollEvent =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''SDL_PollEvent''' - Ruft ein aktuell anstehenden Ereignis ab
 
'''SDL_PollEvent''' - Ruft ein aktuell anstehenden Ereignis ab
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
  
Zeile 11: Zeile 13:
  
  
<br>
+
 
 +
 
  
 
== Parameter ==
 
== Parameter ==
Zeile 20: Zeile 23:
 
|}
 
|}
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
Zeile 28: Zeile 32:
  
  
<br>
+
 
 +
 
  
 
== Rückgabewert ==
 
== Rückgabewert ==
 
Gibt 1 zurück wenn es noch weite Ereignisse in der Warteschlange sind, oder 0 falls keine weiteren verfügbar sind.
 
Gibt 1 zurück wenn es noch weite Ereignisse in der Warteschlange sind, oder 0 falls keine weiteren verfügbar sind.
  
<br>
+
 
 +
 
  
 
== Beispiel ==
 
== Beispiel ==

Version vom 22. April 2006, 19:14 Uhr

SDL_PollEvent

Name

SDL_PollEvent - Ruft ein aktuell anstehenden Ereignis ab


Delphi-Spezifikation

function SDL_PollEvent(event : PSDL_Event) :Integer;



Parameter

event Legt fest wo die Ereingisdaten gespeichert werden



Beschreibung

Ruft ein aktuell anstehenden 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 es noch weite 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;

Siehe auch

SDL_Event, SDL_WaitEvent, SDL_PeepEvents