view Xcode/TemplatesForXcode/SDL Custom Cocoa Application/MyController.h @ 2318:0c653886cce7

HandleEvent() returns done each time it is called. If done was set to 0 the program should quit, but because done is not checked until *all* events are handled a following event can reset done to 1 and prevent the program from terminating when told to. I fixed the while loop that handles events to check for the state of done after handling each event. That could leave some events unhandled when the program exits, but it ensures that the program will exit.
author Bob Pendleton <bob@pendleton.com>
date Wed, 20 Feb 2008 23:27:33 +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