SDL PollEvent: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
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;</pascal>
+
         end;</source>
  
 
== Siehe auch ==
 
== Siehe auch ==

Aktuelle Version vom 10. März 2009, 19:09 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