Mercurial > sdl-ios-xcode
annotate src/video/uikit/SDL_uikitview.h @ 5212:115fff0641ee
Prefer the OpenGL ES 2.0 context when it's available, make it possible to create an OpenGL 2.0 context on iPhoneOS
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 06 Feb 2011 10:22:25 -0800 |
parents | b915b3181cc2 |
children | b530ef003506 |
rev | line source |
---|---|
2765
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /* |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 SDL - Simple DirectMedia Layer |
3697 | 3 Copyright (C) 1997-2010 Sam Lantinga |
2765
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 This library is free software; you can redistribute it and/or |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 License as published by the Free Software Foundation; either |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 This library is distributed in the hope that it will be useful, |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 Lesser General Public License for more details. |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
4662
3c4e0130c9b1
Added alternative finger tracking method. Still prefer IPHONE_TOUCH_EFFICIENT_DANGEROUS.
Jim Grandpre <jim.tla@gmail.com>
parents:
4661
diff
changeset
|
16 License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
2765
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 Sam Lantinga |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 slouken@libsdl.org |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 */ |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 #import <UIKit/UIKit.h> |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 #include "SDL_stdinc.h" |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 #include "SDL_events.h" |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 |
4677
31607094315c
Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
4676
diff
changeset
|
26 #define IPHONE_TOUCH_EFFICIENT_DANGEROUS |
31607094315c
Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
4676
diff
changeset
|
27 #define FIXED_MULTITOUCH |
31607094315c
Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
4676
diff
changeset
|
28 |
4662
3c4e0130c9b1
Added alternative finger tracking method. Still prefer IPHONE_TOUCH_EFFICIENT_DANGEROUS.
Jim Grandpre <jim.tla@gmail.com>
parents:
4661
diff
changeset
|
29 #ifndef IPHONE_TOUCH_EFFICIENT_DANGEROUS |
2765
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 #define MAX_SIMULTANEOUS_TOUCHES 5 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 #endif |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
33 /* *INDENT-OFF* */ |
3487
24d13328c44a
Eric Wing to Sam, hfutrell
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
34 #if SDL_IPHONE_KEYBOARD |
2765
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 @interface SDL_uikitview : UIView<UITextFieldDelegate> { |
3487
24d13328c44a
Eric Wing to Sam, hfutrell
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
36 #else |
24d13328c44a
Eric Wing to Sam, hfutrell
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
37 @interface SDL_uikitview : UIView { |
24d13328c44a
Eric Wing to Sam, hfutrell
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
38 #endif |
4488
6dc6a2bdd55e
Re-implemented single mouse touches on the iPhone/iPad
Sam Lantinga <slouken@libsdl.org>
parents:
4465
diff
changeset
|
39 |
4677
31607094315c
Added Iphone project. Iphone multi-touch is now functional.
jimtla
parents:
4676
diff
changeset
|
40 #ifdef FIXED_MULTITOUCH |
5136
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
41 long touchId; |
4662
3c4e0130c9b1
Added alternative finger tracking method. Still prefer IPHONE_TOUCH_EFFICIENT_DANGEROUS.
Jim Grandpre <jim.tla@gmail.com>
parents:
4661
diff
changeset
|
42 #ifndef IPHONE_TOUCH_EFFICIENT_DANGEROUS |
5136
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
43 UITouch *finger[MAX_SIMULTANEOUS_TOUCHES]; |
4662
3c4e0130c9b1
Added alternative finger tracking method. Still prefer IPHONE_TOUCH_EFFICIENT_DANGEROUS.
Jim Grandpre <jim.tla@gmail.com>
parents:
4661
diff
changeset
|
44 #endif |
4465
3e69e077cb95
Removed multi-mouse / multi-keyboard support in anticipation of a real multi-mouse and multi-touch API.
Sam Lantinga <slouken@libsdl.org>
parents:
3697
diff
changeset
|
45 #endif |
2765
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
46 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 #if SDL_IPHONE_KEYBOARD |
5136
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
48 UITextField *textField; |
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
49 BOOL keyboardVisible; |
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
50 #endif |
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
51 |
2765
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
52 } |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
53 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
55 - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
56 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
57 #if SDL_IPHONE_KEYBOARD |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
58 - (void)showKeyboard; |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 - (void)hideKeyboard; |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 - (void)initializeKeyboard; |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
61 @property (readonly) BOOL keyboardVisible; |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
62 #endif |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
63 |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
64 @end |
f55c87ae336b
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
65 /* *INDENT-ON* */ |
5136
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
66 |
b915b3181cc2
Fixed spacing, adding vim spacing hints
Sam Lantinga <slouken@libsdl.org>
parents:
4677
diff
changeset
|
67 /* vi: set ts=4 sw=4 expandtab: */ |