Mercurial > sdl-ios-xcode
comparison src/video/cocoa/SDL_cocoawindow.m @ 1951:7177581dc9fa
Initial work on X11 window code in.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 27 Jul 2006 06:53:23 +0000 |
parents | 05e88d266921 |
children | 420716272158 |
comparison
equal
deleted
inserted
replaced
1950:a344e42bce3b | 1951:7177581dc9fa |
---|---|
240 } | 240 } |
241 | 241 |
242 @end | 242 @end |
243 | 243 |
244 static int | 244 static int |
245 SetupWindowData(SDL_Window * window, NSWindow *nswindow, BOOL created) | 245 SetupWindowData(_THIS, SDL_Window * window, NSWindow *nswindow, SDL_bool created) |
246 { | 246 { |
247 NSAutoreleasePool *pool; | 247 NSAutoreleasePool *pool; |
248 SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata; | |
248 SDL_WindowData *data; | 249 SDL_WindowData *data; |
249 | 250 |
250 /* Allocate the window data */ | 251 /* Allocate the window data */ |
251 data = (SDL_WindowData *) SDL_malloc(sizeof(*data)); | 252 data = (SDL_WindowData *) SDL_malloc(sizeof(*data)); |
252 if (!data) { | 253 if (!data) { |
254 return -1; | 255 return -1; |
255 } | 256 } |
256 data->windowID = window->id; | 257 data->windowID = window->id; |
257 data->window = nswindow; | 258 data->window = nswindow; |
258 data->created = created; | 259 data->created = created; |
259 data->videodata = (SDL_VideoData *) SDL_GetVideoDevice()->driverdata; | 260 data->videodata = videodata; |
260 | 261 |
261 pool = [[NSAutoreleasePool alloc] init]; | 262 pool = [[NSAutoreleasePool alloc] init]; |
262 | 263 |
263 /* Create an event listener for the window */ | 264 /* Create an event listener for the window */ |
264 data->listener = [[Cocoa_WindowListener alloc] init]; | 265 data->listener = [[Cocoa_WindowListener alloc] init]; |
378 [title release]; | 379 [title release]; |
379 } | 380 } |
380 | 381 |
381 [pool release]; | 382 [pool release]; |
382 | 383 |
383 if (SetupWindowData(window, nswindow, YES) < 0) { | 384 if (SetupWindowData(_this, window, nswindow, SDL_TRUE) < 0) { |
384 [nswindow release]; | 385 [nswindow release]; |
385 return -1; | 386 return -1; |
386 } | 387 } |
387 #ifdef SDL_VIDEO_OPENGL | 388 #ifdef SDL_VIDEO_OPENGL |
388 if (window->flags & SDL_WINDOW_OPENGL) { | 389 if (window->flags & SDL_WINDOW_OPENGL) { |
411 window->title = SDL_strdup([title UTF8String]); | 412 window->title = SDL_strdup([title UTF8String]); |
412 } | 413 } |
413 | 414 |
414 [pool release]; | 415 [pool release]; |
415 | 416 |
416 return SetupWindowData(window, nswindow, NO); | 417 return SetupWindowData(_this, window, nswindow, SDL_FALSE); |
417 } | 418 } |
418 | 419 |
419 void | 420 void |
420 Cocoa_SetWindowTitle(_THIS, SDL_Window * window) | 421 Cocoa_SetWindowTitle(_THIS, SDL_Window * window) |
421 { | 422 { |