SDL PollEvent: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Bot: konvertiere/korrigiere <BR>)
Zeile 4: Zeile 4:
  
 
== Name ==
 
== Name ==
'''SDL_PollEvent''' - Ruft ein aktuell anstehenden Ereignis ab
+
'''SDL_PollEvent''' - Ruft ein aktuell anstehendes Ereignis ab.
  
  
Zeile 27: Zeile 27:
  
 
== Beschreibung ==  
 
== Beschreibung ==  
Ruft ein aktuell anstehenden Ereignis ab
+
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.
 
Wenn '''''event''''' nicht '''nil''' ist, wird das nächste Ereignis von der Warteschlange entfernt, und in der angebenen SDL_Event Struktur gespeichert.
Zeile 36: Zeile 36:
  
 
== 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 noch weitere Ereignisse in der Warteschlange sind, oder 0 falls keine weiteren verfügbar sind.
  
  

Version vom 15. August 2007, 12:41 Uhr

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;

Siehe auch

SDL_Event, SDL_WaitEvent, SDL_PeepEvents