comparison src/video/x11/SDL_x11events.c @ 3685:64ce267332c6

Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
author Sam Lantinga <slouken@libsdl.org>
date Thu, 21 Jan 2010 06:21:52 +0000
parents d9dd6cbba4c0
children f7b03b6838cb
comparison
equal deleted inserted replaced
3684:cc564f08884f 3685:64ce267332c6
64 64
65 data = NULL; 65 data = NULL;
66 if (videodata && videodata->windowlist) { 66 if (videodata && videodata->windowlist) {
67 for (i = 0; i < videodata->numwindows; ++i) { 67 for (i = 0; i < videodata->numwindows; ++i) {
68 if ((videodata->windowlist[i] != NULL) && 68 if ((videodata->windowlist[i] != NULL) &&
69 (videodata->windowlist[i]->window == xevent.xany.window)) { 69 (videodata->windowlist[i]->xwindow == xevent.xany.window)) {
70 data = videodata->windowlist[i]; 70 data = videodata->windowlist[i];
71 break; 71 break;
72 } 72 }
73 } 73 }
74 } 74 }
95 #endif 95 #endif
96 #if 1 96 #if 1
97 /* FIXME: Should we reset data for all mice? */ 97 /* FIXME: Should we reset data for all mice? */
98 for (i = 0; i < SDL_GetNumMice(); ++i) { 98 for (i = 0; i < SDL_GetNumMice(); ++i) {
99 SDL_Mouse *mouse = SDL_GetMouse(i); 99 SDL_Mouse *mouse = SDL_GetMouse(i);
100 SDL_SetMouseFocus(mouse->id, data->windowID); 100 SDL_SetMouseFocus(mouse->id, data->window);
101 } 101 }
102 #endif 102 #endif
103 } 103 }
104 break; 104 break;
105 105
130 /* Gaining input focus? */ 130 /* Gaining input focus? */
131 case FocusIn:{ 131 case FocusIn:{
132 #ifdef DEBUG_XEVENTS 132 #ifdef DEBUG_XEVENTS
133 printf("FocusIn!\n"); 133 printf("FocusIn!\n");
134 #endif 134 #endif
135 SDL_SetKeyboardFocus(videodata->keyboard, data->windowID); 135 SDL_SetKeyboardFocus(videodata->keyboard, data->window);
136 #ifdef X_HAVE_UTF8_STRING 136 #ifdef X_HAVE_UTF8_STRING
137 if (data->ic) { 137 if (data->ic) {
138 XSetICFocus(data->ic); 138 XSetICFocus(data->ic);
139 } 139 }
140 #endif 140 #endif
230 /* Have we been iconified? */ 230 /* Have we been iconified? */
231 case UnmapNotify:{ 231 case UnmapNotify:{
232 #ifdef DEBUG_XEVENTS 232 #ifdef DEBUG_XEVENTS
233 printf("UnmapNotify!\n"); 233 printf("UnmapNotify!\n");
234 #endif 234 #endif
235 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_HIDDEN, 0, 0); 235 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_HIDDEN, 0, 0);
236 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_MINIMIZED, 0, 236 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_MINIMIZED, 0, 0);
237 0);
238 } 237 }
239 break; 238 break;
240 239
241 /* Have we been restored? */ 240 /* Have we been restored? */
242 case MapNotify:{ 241 case MapNotify:{
243 #ifdef DEBUG_XEVENTS 242 #ifdef DEBUG_XEVENTS
244 printf("MapNotify!\n"); 243 printf("MapNotify!\n");
245 #endif 244 #endif
246 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_SHOWN, 0, 0); 245 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_SHOWN, 0, 0);
247 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_RESTORED, 0, 246 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_RESTORED, 0, 0);
248 0);
249 } 247 }
250 break; 248 break;
251 249
252 /* Have we been resized or moved? */ 250 /* Have we been resized or moved? */
253 case ConfigureNotify:{ 251 case ConfigureNotify:{
254 #ifdef DEBUG_XEVENTS 252 #ifdef DEBUG_XEVENTS
255 printf("ConfigureNotify! (resize: %dx%d)\n", 253 printf("ConfigureNotify! (resize: %dx%d)\n",
256 xevent.xconfigure.width, xevent.xconfigure.height); 254 xevent.xconfigure.width, xevent.xconfigure.height);
257 #endif 255 #endif
258 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_MOVED, 256 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_MOVED,
259 xevent.xconfigure.x, xevent.xconfigure.y); 257 xevent.xconfigure.x, xevent.xconfigure.y);
260 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_RESIZED, 258 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_RESIZED,
261 xevent.xconfigure.width, 259 xevent.xconfigure.width,
262 xevent.xconfigure.height); 260 xevent.xconfigure.height);
263 } 261 }
264 break; 262 break;
265 263
266 /* Have we been requested to quit (or another client message?) */ 264 /* Have we been requested to quit (or another client message?) */
267 case ClientMessage:{ 265 case ClientMessage:{
268 if ((xevent.xclient.format == 32) && 266 if ((xevent.xclient.format == 32) &&
269 (xevent.xclient.data.l[0] == videodata->WM_DELETE_WINDOW)) { 267 (xevent.xclient.data.l[0] == videodata->WM_DELETE_WINDOW)) {
270 268
271 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_CLOSE, 0, 269 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_CLOSE, 0, 0);
272 0);
273 } 270 }
274 } 271 }
275 break; 272 break;
276 273
277 /* Do we need to refresh ourselves? */ 274 /* Do we need to refresh ourselves? */
278 case Expose:{ 275 case Expose:{
279 #ifdef DEBUG_XEVENTS 276 #ifdef DEBUG_XEVENTS
280 printf("Expose (count = %d)\n", xevent.xexpose.count); 277 printf("Expose (count = %d)\n", xevent.xexpose.count);
281 #endif 278 #endif
282 SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_EXPOSED, 0, 279 SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_EXPOSED, 0, 0);
283 0);
284 } 280 }
285 break; 281 break;
286 282
287 default:{ 283 default:{
288 for (i = 0; i < SDL_GetNumMice(); ++i) { 284 for (i = 0; i < SDL_GetNumMice(); ++i) {