SDL Event: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K
K (Bot: konvertiere/korrigiere <BR>)
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= SDL_Event =
 
= SDL_Event =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''SDL_Event''' - Generelle Event Struktur
 
'''SDL_Event''' - Generelle Event Struktur
  
<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>
+
 
 +
 
 +
 
  
 
== Parameter ==
 
== Parameter ==
  
 
{| border="1" rules="all"
 
{| border="1" rules="all"
!''type''
+
!''type_''
 
|Die Art des Ereignisses
 
|Die Art des Ereignisses
 
|-
 
|-
 
!''active''
 
!''active''
|Aktivations Ereignis (siehe [[SDL_ActiveEvent]])
+
|Aktivierungs-Ereignis (siehe [[SDL_ActiveEvent]])
 
|-
 
|-
 
!''key''
 
!''key''
|Keyboard Ereignis (siehe [[SDL_KeyboardEvent]])
+
|Keyboard-Ereignis (siehe [[SDL_KeyboardEvent]])
 
|-
 
|-
 
!''motion''
 
!''motion''
|Mausbewegung Ereignis (siehe [[SDL_MouseMotionEvent]])
+
|Mausbewegung-Ereignis (siehe [[SDL_MouseMotionEvent]])
 
|-
 
|-
 
!''button''
 
!''button''
|Mausknopf Ereignis (siehe [[SDL_MouseButtonEvent]])
+
|Mausknopf-Ereignis (siehe [[SDL_MouseButtonEvent]])
 
|-
 
|-
 
!''jaxis''
 
!''jaxis''
|Joystick Achse Bewegung Ereignis (siehe [[SDL_JoyAxisEvent]])
+
|Joystick-Achsenbewegungs-Ereignis (siehe [[SDL_JoyAxisEvent]])
 
|-
 
|-
 
!''jball''
 
!''jball''
|Joystick Trackball Bewegung Ereignis (siehe [[SDL_JoyBallEvent]])
+
|Joystick-Trackballbewegungs-Ereignis (siehe [[SDL_JoyBallEvent]])
 
|-
 
|-
 
!''jhat''
 
!''jhat''
|Joystick Hat Bewegung Ereignis (siehe [[SDL_JoyHatEvent]])
+
|Joystick-Hatbewegungs-Ereignis (siehe [[SDL_JoyHatEvent]])
 
|-
 
|-
 
!''jbutton''
 
!''jbutton''
|Joystick Knopf Ereignis (siehe [[SDL_JoyButtonEvent]])
+
|Joystick-Knopf-Ereignis (siehe [[SDL_JoyButtonEvent]])
 
|-
 
|-
 
!''resize''
 
!''resize''
|Anwendungsfenster Grösse Änderungs Ereignis (siehe [[SDL_ResizeEvent]])
+
|Anwendungsfenster-Grössenänderungs-Ereignis (siehe [[SDL_ResizeEvent]])
 
|-
 
|-
 
!''expose''
 
!''expose''
|Externe Auflösungsänderung Ereignis (siehe [[SDL_ExposeEvent]])
+
|Externe-Auflösungsänderungs-Ereignis (siehe [[SDL_ExposeEvent]])
 
|-
 
|-
 
!''quit''
 
!''quit''
|Anwendung Schliessen Nachfrage Ereignis (siehe [[SDL_QuitEvent]])
+
|Anwendungs-Schliessen-Nachfrage-Ereignis (siehe [[SDL_QuitEvent]])
 
|-
 
|-
 
!''user''
 
!''user''
|Benutzer definiertes Ereignis (siehe[[SDL_UserEvent]])
+
|Benutzerdefiniertes-Ereignis (siehe[[SDL_UserEvent]])
 
|-
 
|-
 
!''syswm''
 
!''syswm''
|Undefiniertes Fenstermanager Ereignis (siehe[[SDL_SysWMEvent]])
+
|Undefiniertes Fenstermanager-Ereignis (siehe[[SDL_SysWMEvent]])
 
|-
 
|-
 
|}
 
|}
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
SDL_Event ist der Kern von aller Ereignisbehandlung in SDL und somit für Nutzer von OpenGL unter SDL die wichtigste Struktur in SDL.
+
'''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:
+
'''SDL_Event''' wird benutzt um:
 
*Ereignisse auszulesen
 
*Ereignisse auszulesen
 
*Ereignisse geschehen zu lassen
 
*Ereignisse geschehen zu lassen
Zeile 84: Zeile 89:
  
  
Für ''type'' existieren folgende symbolische Werte:
+
Für ''type_'' existieren folgende symbolische Werte:
 
{| border="1" rules="all"
 
{| border="1" rules="all"
 
!SDL_ACTIVEEVENT
 
!SDL_ACTIVEEVENT
Zeile 126: Zeile 131:
 
|}
 
|}
 
<br>
 
<br>
 
  
 
== Beispiel ==
 
== Beispiel ==

Aktuelle Version vom 22. April 2006, 19:13 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