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>''.)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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