diff options
author | Sam Lantinga <slouken@libsdl.org> | 2008-10-04 06:46:59 +0000 |
---|---|---|
committer | Sam Lantinga <slouken@libsdl.org> | 2008-10-04 06:46:59 +0000 |
commit | c6ac35a2bbef7d0fdd9af9d0cc4538ad348848be (patch) | |
tree | d9d2f801f40ef2a25003094e5a53f13b0c0316b3 /include | |
parent | 338ff54f1e92db2451e0a24044112b282df5be43 (diff) |
Final merge of Google Summer of Code 2008 work...
Bring SDL to iPhone and iPod Touch
by Holmes Futrell, mentored by Sam Lantinga
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403222
Diffstat (limited to 'include')
-rw-r--r-- | include/SDL_config.h.default | 2 | ||||
-rw-r--r-- | include/SDL_config_iphoneos.h | 129 | ||||
-rw-r--r-- | include/SDL_main.h | 2 | ||||
-rw-r--r-- | include/SDL_mouse.h | 10 | ||||
-rw-r--r-- | include/SDL_opengles.h | 3 | ||||
-rw-r--r-- | include/SDL_platform.h | 23 |
6 files changed, 160 insertions, 9 deletions
diff --git a/include/SDL_config.h.default b/include/SDL_config.h.default index 06027a2a..0babc324 100644 --- a/include/SDL_config.h.default +++ b/include/SDL_config.h.default @@ -30,6 +30,8 @@ #include "SDL_config_nintendods.h" #elif defined(__DREAMCAST__) #include "SDL_config_dreamcast.h" +#elif defined(__IPHONEOS__) +#include "SDL_config_iphoneos.h" #elif defined(__MACOSX__) #include "SDL_config_macosx.h" #elif defined(__WIN32__) diff --git a/include/SDL_config_iphoneos.h b/include/SDL_config_iphoneos.h new file mode 100644 index 00000000..073039f5 --- /dev/null +++ b/include/SDL_config_iphoneos.h @@ -0,0 +1,129 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2006 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 + slouken@libsdl.org +*/ + +#ifndef _SDL_config_iphoneos_h +#define _SDL_config_iphoneos_h + +#include "SDL_platform.h" + +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +typedef unsigned long uintptr_t; + +/* enable iPhone keyboard support */ +#define SDL_IPHONE_KEYBOARD 1 + +/* enable OpenGL ES */ +#define SDL_VIDEO_OPENGL_ES 1 +#define SDL_VIDEO_RENDER_OGL_ES 1 + +#define SDL_HAS_64BIT_TYPE 1 + +/* Enable various timer systems */ +#define SDL_TIMER_UNIX 1 + +/* enable iPhone version of Core Audio driver */ +#define SDL_AUDIO_DRIVER_COREAUDIOIPHONE 1 +/* Enable the dummy audio driver (src/audio/dummy/\*.c) */ +#define SDL_AUDIO_DRIVER_DUMMY 1 + +/* Enable Unix style SO loading */ +#define SDL_LOADSO_DLOPEN 1 + +/* Enable the stub cdrom driver (src/cdrom/dummy/\*.c) */ +#define SDL_CDROM_DISABLED 1 + +/* + Set max recognized G-force from acceleromter + See src/joystick/uikit/SDLUIAccelerationDelegate.m for notes on why this is needed + */ +#define SDL_IPHONE_MAX_GFORCE 5.0 +/* Enable emulation of multiple mice through multi-touch */ +#define SDL_IPHONE_MULTIPLE_MICE 1 +/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */ +#define SDL_LOADSO_DISABLED 1 + +/* Supported video drivers */ +#define SDL_VIDEO_DRIVER_UIKIT 1 +#define SDL_VIDEO_DRIVER_DUMMY 1 + +/* Enable various threading systems */ +#define SDL_THREAD_PTHREAD 1 +#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 + +#define HAVE_ALLOCA_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_STDIO_H 1 +#define STDC_HEADERS 1 +#define HAVE_STRING_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_CTYPE_H 1 +#define HAVE_MATH_H 1 +#define HAVE_SIGNAL_H 1 + +/* C library functions */ +#define HAVE_MALLOC 1 +#define HAVE_CALLOC 1 +#define HAVE_REALLOC 1 +#define HAVE_FREE 1 +#define HAVE_ALLOCA 1 +#define HAVE_GETENV 1 +#define HAVE_PUTENV 1 +#define HAVE_UNSETENV 1 +#define HAVE_QSORT 1 +#define HAVE_ABS 1 +#define HAVE_BCOPY 1 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMCMP 1 +#define HAVE_STRLEN 1 +#define HAVE_STRLCPY 1 +#define HAVE_STRLCAT 1 +#define HAVE_STRDUP 1 +#define HAVE_STRCHR 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +#define HAVE_STRTOL 1 +#define HAVE_STRTOUL 1 +#define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 +#define HAVE_STRTOD 1 +#define HAVE_ATOI 1 +#define HAVE_ATOF 1 +#define HAVE_STRCMP 1 +#define HAVE_STRNCMP 1 +#define HAVE_STRCASECMP 1 +#define HAVE_STRNCASECMP 1 +#define HAVE_SSCANF 1 +#define HAVE_SNPRINTF 1 +#define HAVE_VSNPRINTF 1 +#define HAVE_SIGACTION 1 +#define HAVE_SETJMP 1 +#define HAVE_NANOSLEEP 1 + +#endif /* _SDL_config_iphoneos_h */ diff --git a/include/SDL_main.h b/include/SDL_main.h index db4bb66a..015eea9f 100644 --- a/include/SDL_main.h +++ b/include/SDL_main.h @@ -29,7 +29,7 @@ #if defined(__WIN32__) || \ (defined(__MWERKS__) && !defined(__BEOS__)) || \ - defined(__SYMBIAN32__) + defined(__SYMBIAN32__) || defined(__IPHONEOS__) #ifdef __cplusplus #define C_LINKAGE "C" diff --git a/include/SDL_mouse.h b/include/SDL_mouse.h index 31fad5ca..a261a49f 100644 --- a/include/SDL_mouse.h +++ b/include/SDL_mouse.h @@ -79,14 +79,14 @@ extern DECLSPEC char *SDLCALL SDL_GetMouseName(int index); extern DECLSPEC int SDLCALL SDL_SelectMouse(int index); /** - * \fn SDL_WindowID SDL_GetMouseFocusWindow(void) + * \fn SDL_WindowID SDL_GetMouseFocusWindow(int index) * * \brief Get the window which currently has focus for the currently selected mouse. */ extern DECLSPEC SDL_WindowID SDLCALL SDL_GetMouseFocusWindow(int index); /** - * \fn int SDL_SetRelativeMouseMode(SDL_bool enabled) + * \fn int SDL_SetRelativeMouseMode(int index, SDL_bool enabled) * * \brief Set relative mouse mode for the currently selected mouse. * @@ -107,7 +107,7 @@ extern DECLSPEC int SDLCALL SDL_SetRelativeMouseMode(int index, SDL_bool enabled); /** - * \fn SDL_bool SDL_GetRelativeMouseMode() + * \fn SDL_bool SDL_GetRelativeMouseMode(int index) * * \brief Query whether relative mouse mode is enabled for the currently selected mouse. * @@ -116,7 +116,7 @@ extern DECLSPEC int SDLCALL SDL_SetRelativeMouseMode(int index, extern DECLSPEC SDL_bool SDLCALL SDL_GetRelativeMouseMode(int index); /** - * \fn Uint8 SDL_GetMouseState(int *x, int *y) + * \fn Uint8 SDL_GetMouseState(int index, int *x, int *y) * * \brief Retrieve the current state of the currently selected mouse. * @@ -128,7 +128,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_GetRelativeMouseMode(int index); extern DECLSPEC Uint8 SDLCALL SDL_GetMouseState(int index, int *x, int *y); /** - * \fn Uint8 SDL_GetRelativeMouseState(int *x, int *y) + * \fn Uint8 SDL_GetRelativeMouseState(int index, int *x, int *y) * * \brief Retrieve the state of the currently selected mouse. * diff --git a/include/SDL_opengles.h b/include/SDL_opengles.h index 15f85b5e..988d6a7d 100644 --- a/include/SDL_opengles.h +++ b/include/SDL_opengles.h @@ -36,6 +36,9 @@ extern "C" { #endif +#ifdef __IPHONEOS__ +#include <OpenGLES/ES1/gl.h> /* Header File For The OpenGL ES Library */ +#endif #ifndef APIENTRY #define APIENTRY diff --git a/include/SDL_platform.h b/include/SDL_platform.h index e7f1c9e3..5549fee9 100644 --- a/include/SDL_platform.h +++ b/include/SDL_platform.h @@ -57,13 +57,30 @@ #undef __LINUX__ #define __LINUX__ 1 #endif + #if defined(__APPLE__) +/* lets us know what version of Mac OS X we're compiling on */ +#include "AvailabilityMacros.h" +#ifdef MAC_OS_X_VERSION_10_3 +#include "targetconditionals.h" /* this header is in 10.3 or later */ +#if TARGET_OS_IPHONE +/* if compiling for iPhone */ +#undef __IPHONEOS__ +#define __IPHONEOS__ 1 +#undef __MACOSX__ +#else +/* if not compiling for iPhone */ +#undef __MACOSX__ +#define __MACOSX__ 1 +#endif /* TARGET_OS_IPHONE */ +#else +/* if earlier verion of Mac OS X than version 10.3 */ #undef __MACOSX__ #define __MACOSX__ 1 -#elif defined(macintosh) -#undef __MACOS__ -#define __MACOS__ 1 #endif + +#endif /* defined(__APPLE__) */ + #if defined(__NetBSD__) #undef __NETBSD__ #define __NETBSD__ 1 |