summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2008-10-04 06:46:59 +0000
committerSam Lantinga <slouken@libsdl.org>2008-10-04 06:46:59 +0000
commitc6ac35a2bbef7d0fdd9af9d0cc4538ad348848be (patch)
treed9d2f801f40ef2a25003094e5a53f13b0c0316b3 /include
parent338ff54f1e92db2451e0a24044112b282df5be43 (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.default2
-rw-r--r--include/SDL_config_iphoneos.h129
-rw-r--r--include/SDL_main.h2
-rw-r--r--include/SDL_mouse.h10
-rw-r--r--include/SDL_opengles.h3
-rw-r--r--include/SDL_platform.h23
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