Mercurial > sdl-ios-xcode
comparison src/SDL_compat.c @ 4429:faa9fc8e7f67
General improvements for user custom event registration
* Switched event type to enum (int32)
* Switched polling by mask to polling by type range
* Added SDL_RegisterEvents() to allow dynamic user event registration
* Spread events out to allow inserting new related events without breaking binary compatibility
* Added padding to event structures so they're the same size regardless of 32-bit compiler structure packing settings
* Split SDL_HasEvent() to SDL_HasEvent() for a single event and SDL_HasEvents() for a range of events
* Added SDL_GetEventState() as a shortcut for SDL_EventState(X, SDL_QUERY)
* Added SDL_FlushEvent() and SDL_FlushEvents() to clear events from the event queue
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 25 Mar 2010 01:08:26 -0700 |
parents | f7b03b6838cb |
children | 3e69e077cb95 d40bb3165d2b |
comparison
equal
deleted
inserted
replaced
4428:68dfd6df47da | 4429:faa9fc8e7f67 |
---|---|
194 | 194 |
195 switch (event->type) { | 195 switch (event->type) { |
196 case SDL_WINDOWEVENT: | 196 case SDL_WINDOWEVENT: |
197 switch (event->window.event) { | 197 switch (event->window.event) { |
198 case SDL_WINDOWEVENT_EXPOSED: | 198 case SDL_WINDOWEVENT_EXPOSED: |
199 if (!SDL_HasEvent(SDL_VIDEOEXPOSEMASK)) { | 199 if (!SDL_HasEvent(SDL_VIDEOEXPOSE)) { |
200 fake.type = SDL_VIDEOEXPOSE; | 200 fake.type = SDL_VIDEOEXPOSE; |
201 SDL_PushEvent(&fake); | 201 SDL_PushEvent(&fake); |
202 } | 202 } |
203 break; | 203 break; |
204 case SDL_WINDOWEVENT_RESIZED: | 204 case SDL_WINDOWEVENT_RESIZED: |
205 SDL_PeepEvents(&fake, 1, SDL_GETEVENT, SDL_VIDEORESIZEMASK); | 205 SDL_FlushEvent(SDL_VIDEORESIZE); |
206 fake.type = SDL_VIDEORESIZE; | 206 fake.type = SDL_VIDEORESIZE; |
207 fake.resize.w = event->window.data1; | 207 fake.resize.w = event->window.data1; |
208 fake.resize.h = event->window.data2; | 208 fake.resize.h = event->window.data2; |
209 SDL_PushEvent(&fake); | 209 SDL_PushEvent(&fake); |
210 break; | 210 break; |