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