diff -r 31c6c36c5d34 -r 36a8cebb91e8 cocoaTouch/SDLOverrides/SDL_uikitview.m --- a/cocoaTouch/SDLOverrides/SDL_uikitview.m Sat Feb 13 12:40:40 2010 +0000 +++ b/cocoaTouch/SDLOverrides/SDL_uikitview.m Sat Feb 13 16:04:04 2010 +0000 @@ -34,15 +34,16 @@ @implementation SDL_uikitview // they have to be global variables to allow showControls() to use them -UIButton *attackButton, *menuButton; - +//UIButton *attackButton, *menuButton; +UIView *menuView; -(void) dealloc { #if SDL_IPHONE_KEYBOARD SDL_DelKeyboard(0); [textField release]; #endif - [menuButton release]; - [attackButton release]; + if (menuView) [menuView release]; + //[menuButton release]; + //[attackButton release]; [super dealloc]; } @@ -66,7 +67,9 @@ self.multipleTouchEnabled = YES; self.exclusiveTouch = YES; -/* + + + /* // custom code // the coordinate system is still like in Portrait even though everything is rotated attackButton = [[UIButton alloc] initWithFrame:CGRectMake(30, 480, 260, 50)]; @@ -112,9 +115,47 @@ [self insertSubview:chatButton atIndex:0]; [chatButton release]; */ + +//(0,0) is the lower left corner +//x:[0-320] +//y:[0-480] + UIButton *menuButton = [[UIButton alloc] initWithFrame:CGRectMake(256, 416, 64, 64)]; + [menuButton addTarget:[self superclass] action:@selector(showMenu) forControlEvents:UIControlEventTouchDown]; + [menuButton setBackgroundImage:[UIImage imageNamed:@"Default.png"] forState:UIControlStateNormal]; + [self insertSubview:menuButton atIndex:0]; + [menuButton release]; + + menuView = [[UIView alloc] initWithFrame:CGRectMake(320, 480, 150, 100)]; + menuView.backgroundColor = [UIColor lightGrayColor]; + [self insertSubview:menuView atIndex:1]; + return self; } ++(void) showMenu { + HW_pause(); + + [UIView beginAnimations:@"show menu" context:NULL]; + [UIView setAnimationDuration:1]; + + menuView.frame = CGRectMake(170, 380, 150, 100); + + [UIView commitAnimations]; +} + ++(void) hideMenu { + [UIView beginAnimations:@"hide menu" context:NULL]; + [UIView setAnimationDuration:1]; + + menuView.frame = CGRectMake(480, -70, 150, 100); + + [UIView commitAnimations]; + + HW_pause(); +} + + + #pragma mark - #pragma mark Exported functions for FreePascal const char* IPH_getDocumentsPath() { @@ -164,6 +205,10 @@ //TODO: implement a UITextScroll and put received chat lines in there } ++(void) pauseGame { + HW_pause(); +} + #pragma mark - #pragma mark Custom SDL_UIView input handling #define kMinimumPinchDelta 50