diff -r 28b8330b8af1 -r 174c94b8ea72 cocoaTouch/SDL_uikitview.m --- a/cocoaTouch/SDL_uikitview.m Fri Jan 08 03:38:01 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,494 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - Sam Lantinga, mods for Hedgewars by Vittorio Giovara - slouken@libsdl.org, vittorio.giovara@gmail.com - */ - -#include "PascalImports.h" -#import "SDL_uikitview.h" -#import "SDL_uikitappdelegate.h" - -#if SDL_IPHONE_KEYBOARD -#import "SDL_keyboard_c.h" -#import "keyinfotable.h" -#import "SDL_uikitwindow.h" -#endif - -@implementation SDL_uikitview - -@synthesize initialDistance, gestureStartPoint; - -- (void)dealloc { -#if SDL_IPHONE_KEYBOARD - SDL_DelKeyboard(0); - [textField release]; -#endif - [super dealloc]; -} - -- (id)initWithFrame:(CGRect)frame { - - self = [super initWithFrame: frame]; - -#if SDL_IPHONE_KEYBOARD - [self initializeKeyboard]; -#endif - - int i; - for (i=0; i= kMinimumGestureLength && deltaY <= kMaximumVariance) { - NSLog(@"Horizontal swipe detected, begX:%f curX:%f", gestureStartPoint.x, currentPosition.x); - if (Xdiff > 0) HW_walkLeft(); - else HW_walkRight(); - } - else if (deltaY >= kMinimumGestureLength && deltaX <= kMaximumVariance){ - NSLog(@"Vertical swipe detected, begY:%f curY:%f", gestureStartPoint.y, currentPosition.y); - if (Ydiff > 0) HW_aimUp(); - else HW_aimDown(); - } - - // end pinch detection - if (2 == [touches count]) { - NSArray *twoTouches = [touches allObjects]; - UITouch *first = [twoTouches objectAtIndex:0]; - UITouch *second = [twoTouches objectAtIndex:1]; - CGFloat currentDistance = distanceBetweenPoints([first locationInView:self], [second locationInView:self]); - - if (0 == initialDistance) - initialDistance = currentDistance; - else if (currentDistance - initialDistance > kMinimumPinchDelta) { - NSLog(@"Outward pinch detected"); - HW_zoomOut(); - } - else if (initialDistance - currentDistance > kMinimumPinchDelta) { - NSLog(@"Inward pinch detected"); - HW_zoomIn(); - } - } - - /*NSEnumerator *enumerator = [touches objectEnumerator]; - UITouch *touch=nil;while(touch = (UITouch *)[enumerator nextObject]) { - // try to find the mouse associated with this touch - int i, found = NO; - for (i=0; idriverdata; - view = data->view; - - if (nil == view) { - SDL_SetError("Window has no view"); - return -1; - } - else { - [view showKeyboard]; - return 0; - } -} - -int SDL_iPhoneKeyboardHide(SDL_WindowID windowID) { - - SDL_Window *window = SDL_GetWindowFromID(windowID); - SDL_WindowData *data; - SDL_uikitview *view; - - if (NULL == window) { - SDL_SetError("Window does not exist"); - return -1; - } - - data = (SDL_WindowData *)window->driverdata; - view = data->view; - - if (NULL == view) { - SDL_SetError("Window has no view"); - return -1; - } - else { - [view hideKeyboard]; - return 0; - } -} - -SDL_bool SDL_iPhoneKeyboardIsShown(SDL_WindowID windowID) { - - SDL_Window *window = SDL_GetWindowFromID(windowID); - SDL_WindowData *data; - SDL_uikitview *view; - - if (NULL == window) { - SDL_SetError("Window does not exist"); - return -1; - } - - data = (SDL_WindowData *)window->driverdata; - view = data->view; - - if (NULL == view) { - SDL_SetError("Window has no view"); - return 0; - } - else { - return view.keyboardVisible; - } -} - -int SDL_iPhoneKeyboardToggle(SDL_WindowID windowID) { - - SDL_Window *window = SDL_GetWindowFromID(windowID); - SDL_WindowData *data; - SDL_uikitview *view; - - if (NULL == window) { - SDL_SetError("Window does not exist"); - return -1; - } - - data = (SDL_WindowData *)window->driverdata; - view = data->view; - - if (NULL == view) { - SDL_SetError("Window has no view"); - return -1; - } - else { - if (SDL_iPhoneKeyboardIsShown(windowID)) { - SDL_iPhoneKeyboardHide(windowID); - } - else { - SDL_iPhoneKeyboardShow(windowID); - } - return 0; - } -} - -#else - -/* stubs, used if compiled without keyboard support */ - -int SDL_iPhoneKeyboardShow(SDL_WindowID windowID) { - SDL_SetError("Not compiled with keyboard support"); - return -1; -} - -int SDL_iPhoneKeyboardHide(SDL_WindowID windowID) { - SDL_SetError("Not compiled with keyboard support"); - return -1; -} - -SDL_bool SDL_iPhoneKeyboardIsShown(SDL_WindowID windowID) { - return 0; -} - -int SDL_iPhoneKeyboardToggle(SDL_WindowID windowID) { - SDL_SetError("Not compiled with keyboard support"); - return -1; -} - - -#endif /* SDL_IPHONE_KEYBOARD */