cocoaTouch/SDL_uikitview.h
author koda
Thu, 07 Jan 2010 19:50:40 +0000
changeset 2682 d4c395f25db2
parent 2678 334016e8d895
child 2683 bad2a30d5d6c
permissions -rw-r--r--
additional modifications for touch input
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2678
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     1
/*
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     2
    SDL - Simple DirectMedia Layer
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     3
    Copyright (C) 1997-2009 Sam Lantinga
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     4
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     5
    This library is free software; you can redistribute it and/or
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     6
    modify it under the terms of the GNU Lesser General Public
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     7
    License as published by the Free Software Foundation; either
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     8
    version 2.1 of the License, or (at your option) any later version.
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
     9
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    10
    This library is distributed in the hope that it will be useful,
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    13
    Lesser General Public License for more details.
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    14
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    15
    You should have received a copy of the GNU Lesser General Public
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    16
    License along with this library; if not, write to the Free Software
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    17
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    18
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    19
	Sam Lantinga, mods for Hedgewars by Vittorio Giovara
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    20
	slouken@libsdl.org, vittorio.giovara@gmail.com
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    21
*/
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    22
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    23
#import <UIKit/UIKit.h>
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    24
#include "SDL_stdinc.h"
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    25
#include "SDL_mouse.h"
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    26
#include "SDL_mouse_c.h"
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    27
#include "SDL_events.h"
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    28
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    29
#import "CGPointUtils.h"
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    30
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    31
#if SDL_IPHONE_MULTIPLE_MICE
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    32
#define MAX_SIMULTANEOUS_TOUCHES 5
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    33
#else
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    34
#define MAX_SIMULTANEOUS_TOUCHES 1
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    35
#endif
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    36
2682
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    37
// constants for telling which input has been received
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    38
#define kMinimumPinchDelta		100
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    39
#define kMinimumGestureLength	25
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    40
#define kMaximumVariance		5
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    41
2678
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    42
/* *INDENT-OFF* */
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    43
#if SDL_IPHONE_KEYBOARD
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    44
@interface SDL_uikitview : UIView<UITextFieldDelegate> {
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    45
#else
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    46
@interface SDL_uikitview : UIView {
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    47
#endif
2682
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    48
	
2678
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    49
	SDL_Mouse mice[MAX_SIMULTANEOUS_TOUCHES];
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    50
	CGFloat initialDistance;
2682
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    51
	CGPoint gestureStartPoint;
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    52
	
2678
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    53
#if SDL_IPHONE_KEYBOARD
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    54
	UITextField *textField;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    55
	BOOL keyboardVisible;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    56
#endif
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    57
}
2682
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    58
2678
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    59
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    60
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    61
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    62
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    63
@property CGFloat initialDistance;
2682
d4c395f25db2 additional modifications for touch input
koda
parents: 2678
diff changeset
    64
@property CGPoint gestureStartPoint;
2678
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    65
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    66
#if SDL_IPHONE_KEYBOARD
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    67
- (void)showKeyboard;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    68
- (void)hideKeyboard;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    69
- (void)initializeKeyboard;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    70
@property (readonly) BOOL keyboardVisible;
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    71
#endif 
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    72
	
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    73
@end
334016e8d895 injection of custom code in SDL for iPhone in order to implement our frontend
koda
parents:
diff changeset
    74
/* *INDENT-ON* */