Mercurial > sdl-ios-xcode
view Xcode/TemplatesForXcode/SDL Custom Cocoa Application/MyController.h @ 3191:91b335df6fc8
Fixed bug #750
Since many different event structures include windowID it should be placed near
the beginning of the structure (preferably right after type) so it's position
is the same between different events.
This is to avoid code like this:
if (event.type == SDL_WINDOWEVENT)
win = event.window.windowID;
else if ((SDL_EVENTMASK(event.type) & SDL_KEYEVENTMASK) != 0)
win = event.key.windowID;
else if (event.type == SDL_TEXTINPUT)
win = event.text.windowID;
else if (event.type == SDL_MOUSEMOTION)
win = event.motion.windowID;
else if ((SDL_EVENTMASK(event.type) & (SDL_MOUBUTTONDOWNMASK |
SDL_MOUBUTTONUPMASK)) != 0)
win = event.button.windowID;
else if (event.type == SDL_MOUSEWHEEL)
win = event.wheel.windowID;
...
in favor of:
win = event.window.windowID;
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 10 Jun 2009 14:00:21 +0000 |
parents | 4d2d0548f5b2 |
children |
line wrap: on
line source
// // MyController.h // SDL Custom Cocoa App // // Created by Darrell Walisser on Fri Jul 18 2003. // Copyright (c) 2003 __MyCompanyName__. All rights reserved. // #import <Cocoa/Cocoa.h> #import "SDL.h" extern id gController; // instance of this class from nib // Declare SDL_QuartzWindowDelegate (defined in SDL.framework) @interface SDL_QuartzWindowDelegate : NSObject @end @interface MyController : NSObject { // Interface Builder Outlets IBOutlet id _framesPerSecond; IBOutlet id _numSprites; IBOutlet id _window; IBOutlet id _view; // Private instance variables int _nSprites; int _max_speed; int _doFlip; Uint8* _mem; SDL_Surface* _screen; SDL_Surface* _sprite; SDL_Rect* _sprite_rects; SDL_Rect* _positions; SDL_Rect* _velocities; int _sprites_visible; Uint16 _sprite_w, _sprite_h; int _mouse_x, _mouse_y; } // Interface Builder Actions - (IBAction)changeNumberOfSprites:(id)sender; - (IBAction)selectUpdateMode:(id)sender; @end