Mercurial > sdl-ios-xcode
comparison src/events/SDL_events.c @ 1361:19418e4422cb
New configure-based build system. Still work in progress, but much improved
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 16 Feb 2006 10:11:48 +0000 |
parents | c71e05b4dc2e |
children | d910939febfa |
comparison
equal
deleted
inserted
replaced
1360:70a9cfb4cf1b | 1361:19418e4422cb |
---|---|
21 */ | 21 */ |
22 | 22 |
23 /* General event handling code for SDL */ | 23 /* General event handling code for SDL */ |
24 | 24 |
25 #include "SDL.h" | 25 #include "SDL.h" |
26 #include "SDL_events_c.h" | |
27 #include "SDL_timer_c.h" | |
28 #ifndef DISABLE_JOYSTICK | |
29 #include "SDL_joystick_c.h" | |
30 #endif | |
31 #ifndef ENABLE_X11 | |
32 #define DISABLE_X11 | |
33 #endif | |
34 #include "SDL_syswm.h" | 26 #include "SDL_syswm.h" |
35 #include "SDL_sysevents.h" | 27 #include "SDL_sysevents.h" |
28 #include "SDL_events_c.h" | |
29 #include "../timer/SDL_timer_c.h" | |
30 #if !SDL_JOYSTICK_DISABLED | |
31 #include "../joystick/SDL_joystick_c.h" | |
32 #endif | |
36 | 33 |
37 /* Public data -- the event filter */ | 34 /* Public data -- the event filter */ |
38 SDL_EventFilter SDL_EventOK = NULL; | 35 SDL_EventFilter SDL_EventOK = NULL; |
39 Uint8 SDL_ProcessEvents[SDL_NUMEVENTS]; | 36 Uint8 SDL_ProcessEvents[SDL_NUMEVENTS]; |
40 static Uint32 SDL_eventstate = 0; | 37 static Uint32 SDL_eventstate = 0; |
110 } | 107 } |
111 | 108 |
112 /* Queue pending key-repeat events */ | 109 /* Queue pending key-repeat events */ |
113 SDL_CheckKeyRepeat(); | 110 SDL_CheckKeyRepeat(); |
114 | 111 |
115 #ifndef DISABLE_JOYSTICK | 112 #if !SDL_JOYSTICK_DISABLED |
116 /* Check for joystick state change */ | 113 /* Check for joystick state change */ |
117 if ( SDL_numjoysticks && (SDL_eventstate & SDL_JOYEVENTMASK) ) { | 114 if ( SDL_numjoysticks && (SDL_eventstate & SDL_JOYEVENTMASK) ) { |
118 SDL_JoystickUpdate(); | 115 SDL_JoystickUpdate(); |
119 } | 116 } |
120 #endif | 117 #endif |
148 /* Reset everything to zero */ | 145 /* Reset everything to zero */ |
149 SDL_EventThread = NULL; | 146 SDL_EventThread = NULL; |
150 SDL_memset(&SDL_EventLock, 0, sizeof(SDL_EventLock)); | 147 SDL_memset(&SDL_EventLock, 0, sizeof(SDL_EventLock)); |
151 | 148 |
152 /* Create the lock and set ourselves active */ | 149 /* Create the lock and set ourselves active */ |
153 #ifndef DISABLE_THREADS | 150 #if !SDL_THREADS_DISABLED |
154 SDL_EventQ.lock = SDL_CreateMutex(); | 151 SDL_EventQ.lock = SDL_CreateMutex(); |
155 if ( SDL_EventQ.lock == NULL ) { | 152 if ( SDL_EventQ.lock == NULL ) { |
156 #ifdef macintosh /* On MacOS 7/8, you can't multithread, so no lock needed */ | 153 #ifdef macintosh /* MacOS classic you can't multithread, so no lock needed */ |
157 ; | 154 ; |
158 #else | 155 #else |
159 return(-1); | 156 return(-1); |
160 #endif | 157 #endif |
161 } | 158 } |
162 #endif /* !DISABLE_THREADS */ | 159 #endif /* !SDL_THREADS_DISABLED */ |
163 SDL_EventQ.active = 1; | 160 SDL_EventQ.active = 1; |
164 | 161 |
165 if ( (flags&SDL_INIT_EVENTTHREAD) == SDL_INIT_EVENTTHREAD ) { | 162 if ( (flags&SDL_INIT_EVENTTHREAD) == SDL_INIT_EVENTTHREAD ) { |
166 SDL_EventLock.lock = SDL_CreateMutex(); | 163 SDL_EventLock.lock = SDL_CreateMutex(); |
167 if ( SDL_EventLock.lock == NULL ) { | 164 if ( SDL_EventLock.lock == NULL ) { |
377 } | 374 } |
378 | 375 |
379 /* Queue pending key-repeat events */ | 376 /* Queue pending key-repeat events */ |
380 SDL_CheckKeyRepeat(); | 377 SDL_CheckKeyRepeat(); |
381 | 378 |
382 #ifndef DISABLE_JOYSTICK | 379 #if !SDL_JOYSTICK_DISABLED |
383 /* Check for joystick state change */ | 380 /* Check for joystick state change */ |
384 if ( SDL_numjoysticks && (SDL_eventstate & SDL_JOYEVENTMASK) ) { | 381 if ( SDL_numjoysticks && (SDL_eventstate & SDL_JOYEVENTMASK) ) { |
385 SDL_JoystickUpdate(); | 382 SDL_JoystickUpdate(); |
386 } | 383 } |
387 #endif | 384 #endif |