SDL Event: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Beschreibung)
K (Delphi-Spezifikation: Parameter der SDL.pas angepasst)
Zeile 7: Zeile 7:
 
<br>
 
<br>
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
  type '''SDL_Event''' = record
+
  type '''TSDL_Event''' = record
       ''type_''     : Uint8;
+
    case UInt8 of
       ''active''   : SDL_ActiveEvent;
+
       SDL_NOEVENT: (''type_'': byte);
       ''key''       : SDL_KeyboardEvent;
+
       SDL_ACTIVEEVENT: (''active'': TSDL_ActiveEvent);
       ''motion''   : SDL_MouseMotionEvent;
+
       SDL_KEYDOWN, SDL_KEYUP: (''key'': TSDL_KeyboardEvent);
       ''button''   : SDL_MouseButtonEvent;
+
       SDL_MOUSEMOTION: (''motion'': TSDL_MouseMotionEvent);
       ''jaxis''     : SDL_JoyAxisEvent;
+
       SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONUP: (''button'': TSDL_MouseButtonEvent );
       ''jball''     : SDL_JoyBallEvent;
+
       SDL_JOYAXISMOTION: (''jaxis'': TSDL_JoyAxisEvent );
       ''jhat''     : SDL_JoyHatEvent;
+
       SDL_JOYBALLMOTION: (''jball'': TSDL_JoyBallEvent );
       ''jbutton''   : SDL_JoyButtonEvent;
+
       SDL_JOYHATMOTION: (''jhat'': TSDL_JoyHatEvent );
       ''resize''   : SDL_ResizeEvent;
+
       SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP: (''jbutton'': TSDL_JoyButtonEvent );
       ''expose''    : SDL_ExposeEvent;
+
       SDL_VIDEORESIZE: (''resize'': TSDL_ResizeEvent );
      ''quit''     : SDL_QuitEvent;
+
       SDL_QUITEV: (''quit'': TSDL_QuitEvent );
       ''user''     : SDL_UserEvent;
+
       SDL_USEREVENT : ( ''user'' : TSDL_UserEvent );
       ''syswm''     : SDL_SysWMEvent;
+
       SDL_SYSWMEVENT: (''syswm'': TSDL_SysWMEvent );
 
   end;
 
   end;
 +
  
 
<br>
 
<br>

Version vom 14. September 2005, 20:41 Uhr

SDL_Event


Name

SDL_Event - Generelle Event Struktur


Delphi-Spezifikation

type TSDL_Event = record
   case UInt8 of
     SDL_NOEVENT: (type_: byte);
     SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent);
     SDL_KEYDOWN, SDL_KEYUP: (key: TSDL_KeyboardEvent);
     SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
     SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent );
     SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent );
     SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent );
     SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent );
     SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent );
     SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent );
     SDL_QUITEV: (quit: TSDL_QuitEvent );
     SDL_USEREVENT : ( user : TSDL_UserEvent );
     SDL_SYSWMEVENT: (syswm: TSDL_SysWMEvent );
 end;



Parameter

type_ Die Art des Ereignisses
active Aktivierungs-Ereignis (siehe SDL_ActiveEvent)
key Keyboard-Ereignis (siehe SDL_KeyboardEvent)
motion Mausbewegung-Ereignis (siehe SDL_MouseMotionEvent)
button Mausknopf-Ereignis (siehe SDL_MouseButtonEvent)
jaxis Joystick-Achsenbewegungs-Ereignis (siehe SDL_JoyAxisEvent)
jball Joystick-Trackballbewegungs-Ereignis (siehe SDL_JoyBallEvent)
jhat Joystick-Hatbewegungs-Ereignis (siehe SDL_JoyHatEvent)
jbutton Joystick-Knopf-Ereignis (siehe SDL_JoyButtonEvent)
resize Anwendungsfenster-Grössenänderungs-Ereignis (siehe SDL_ResizeEvent)
expose Externe-Auflösungsänderungs-Ereignis (siehe SDL_ExposeEvent)
quit Anwendungs-Schliessen-Nachfrage-Ereignis (siehe SDL_QuitEvent)
user Benutzerdefiniertes-Ereignis (sieheSDL_UserEvent)
syswm Undefiniertes Fenstermanager-Ereignis (sieheSDL_SysWMEvent)


Beschreibung

SDL_Event ist der Kern der Ereignisbehandlung in SDL und somit für Nutzer von OpenGL unter SDL die wichtigste Struktur in SDL.

SDL_Event wird benutzt um:

  • Ereignisse auszulesen
  • Ereignisse geschehen zu lassen

Um ein Ereignis zu lesen benutzt man SDL_PollEvent oder SDL_PeepEvent.


Für type_ existieren folgende symbolische Werte:

SDL_ACTIVEEVENT SDL_ActiveEvent
SDL_KEYDOWN/UP SDL_KeyboardEvent
SDL_MOUSEMOTION SDL_MouseMotionEvent
SDL_MOUSEBUTTONDOWN/UP SDL_MouseButtonEvent
SDL_JOYAXISMOTION SDL_JoyAxisEvent
SDL_JOYBALLMOTION SDL_JoyBallEvent
SDL_JOYHATMOTION SDL_JoyHatEvent
SDL_JOYBUTTONDOWN/UP SDL_JoyButtonEvent
SDL_QUIT SDL_QuitEvent
SDL_SYSWMEVENT SDL_SysWMEvent
SDL_VIDEORESIZE SDL_ResizeEvent
SDL_VIDEOEXPOSE SDL_ExposeEvent
SDL_USEREVENT SDL_UserEvent


Beispiel

Siehe SDL_PollEvent Beispiel.

Siehe auch

SDL_PollEvent, SDL_PushEvent, SDL_PeepEvents