Mercurial > sdl-ios-xcode
annotate include/SDL_stdinc.h @ 3083:0bc41e0361d3
Date: Mon, 2 Mar 2009 16:27:42 +0200
From: "Mike Gorchak"
Subject: About QNX support in SDL 1.3
Right now I'm working on QNX SDL 1.3 drivers implementation and looks like a
lot of code must be completely reworked. But I'm ready for it :) Also I want
to add QNX Graphics Framework SDL driver, which is fullscreen graphics
framework, with support of hardware accelerated OpenGL ES implementations.
This Graphics Framework (called GF in QNX) could also use QNX Photon (window
manager GUI) as window manager.
In the attachment initial patch for QNX support in SDL 1.3
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 03 Mar 2009 04:21:51 +0000 |
parents | bcd41b269091 |
children | f8c02d0560d5 |
rev | line source |
---|---|
1357 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
2859 | 3 Copyright (C) 1997-2009 Sam Lantinga |
1357 | 4 |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Lesser General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2.1 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Lesser General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Lesser General Public | |
16 License along with this library; if not, write to the Free Software | |
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | |
19 Sam Lantinga | |
20 slouken@libsdl.org | |
21 */ | |
22 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
23 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
24 * \file SDL_stdinc.h |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
25 * |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
26 * This is a general header that includes C language support |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
27 */ |
1357 | 28 |
29 #ifndef _SDL_stdinc_h | |
30 #define _SDL_stdinc_h | |
31 | |
32 #include "SDL_config.h" | |
33 | |
34 | |
1626 | 35 #ifdef HAVE_SYS_TYPES_H |
1357 | 36 #include <sys/types.h> |
37 #endif | |
1626 | 38 #ifdef HAVE_STDIO_H |
1357 | 39 #include <stdio.h> |
40 #endif | |
1626 | 41 #if defined(STDC_HEADERS) |
1357 | 42 # include <stdlib.h> |
43 # include <stddef.h> | |
44 # include <stdarg.h> | |
45 #else | |
1626 | 46 # if defined(HAVE_STDLIB_H) |
47 # include <stdlib.h> | |
48 # elif defined(HAVE_MALLOC_H) | |
49 # include <malloc.h> | |
1357 | 50 # endif |
1626 | 51 # if defined(HAVE_STDDEF_H) |
52 # include <stddef.h> | |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
53 # endif |
1626 | 54 # if defined(HAVE_STDARG_H) |
55 # include <stdarg.h> | |
1357 | 56 # endif |
57 #endif | |
1626 | 58 #ifdef HAVE_STRING_H |
59 # if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H) | |
60 # include <memory.h> | |
1357 | 61 # endif |
62 # include <string.h> | |
63 #endif | |
1626 | 64 #ifdef HAVE_STRINGS_H |
1357 | 65 # include <strings.h> |
66 #endif | |
1626 | 67 #if defined(HAVE_INTTYPES_H) |
1357 | 68 # include <inttypes.h> |
1626 | 69 #elif defined(HAVE_STDINT_H) |
1357 | 70 # include <stdint.h> |
71 #endif | |
1626 | 72 #ifdef HAVE_CTYPE_H |
1357 | 73 # include <ctype.h> |
74 #endif | |
3012
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
75 #ifdef HAVE_MATH_H |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
76 # include <math.h> |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
77 #endif |
1626 | 78 #ifdef HAVE_ICONV_H |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
79 # include <iconv.h> |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
80 #endif |
1357 | 81 |
82 /* The number of elements in an array */ | |
83 #define SDL_arraysize(array) (sizeof(array)/sizeof(array[0])) | |
84 #define SDL_TABLESIZE(table) SDL_arraysize(table) | |
85 | |
3067 | 86 /* Use proper C++ casts when compiled as C++ to be compatible with the option |
87 -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above. */ | |
88 #ifdef __cplusplus | |
89 #define SDL_reinterpret_cast(type, expression) reinterpret_cast<type>(expression) | |
90 #define SDL_static_cast(type, expression) static_cast<type>(expression) | |
91 #else | |
92 #define SDL_reinterpret_cast(type, expression) ((type)(expression)) | |
93 #define SDL_static_cast(type, expression) ((type)(expression)) | |
94 #endif | |
95 | |
1357 | 96 /* Basic data types */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
97 typedef enum SDL_bool |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
98 { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
99 SDL_FALSE = 0, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
100 SDL_TRUE = 1 |
1357 | 101 } SDL_bool; |
102 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
103 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
104 * \typedef Sint8 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
105 * \brief A signed 8-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
106 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
107 typedef int8_t Sint8; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
108 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
109 * \typedef Uint8 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
110 * \brief An unsigned 8-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
111 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
112 typedef uint8_t Uint8; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
113 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
114 * \typedef Sint16 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
115 * \brief A signed 16-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
116 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
117 typedef int16_t Sint16; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
118 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
119 * \typedef Uint16 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
120 * \brief An unsigned 16-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
121 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
122 typedef uint16_t Uint16; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
123 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
124 * \typedef Sint32 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
125 * \brief A signed 32-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
126 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
127 typedef int32_t Sint32; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
128 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
129 * \typedef Uint32 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
130 * \brief An unsigned 32-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
131 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
132 typedef uint32_t Uint32; |
1357 | 133 |
134 #ifdef SDL_HAS_64BIT_TYPE | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
135 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
136 * \typedef Sint64 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
137 * \brief A signed 64-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
138 * \warning On platforms without any sort of 64-bit datatype, this is equivalent to Sint32! |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
139 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
140 typedef int64_t Sint64; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
141 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
142 * \typedef Uint64 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
143 * \brief An unsigned 64-bit integer type. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
144 * \warning On platforms without any sort of 64-bit datatype, this is equivalent to Uint32! |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
145 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
146 typedef uint64_t Uint64; |
1357 | 147 #else |
148 /* This is really just a hack to prevent the compiler from complaining */ | |
2048 | 149 typedef Sint32 Sint64; |
150 typedef Uint32 Uint64; | |
1357 | 151 #endif |
152 | |
153 /* Make sure the types really have the right sizes */ | |
154 #define SDL_COMPILE_TIME_ASSERT(name, x) \ | |
155 typedef int SDL_dummy_ ## name[(x) * 2 - 1] | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
156 #ifndef DOXYGEN_SHOULD_IGNORE_THIS |
1357 | 157 SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1); |
158 SDL_COMPILE_TIME_ASSERT(sint8, sizeof(Sint8) == 1); | |
159 SDL_COMPILE_TIME_ASSERT(uint16, sizeof(Uint16) == 2); | |
160 SDL_COMPILE_TIME_ASSERT(sint16, sizeof(Sint16) == 2); | |
161 SDL_COMPILE_TIME_ASSERT(uint32, sizeof(Uint32) == 4); | |
162 SDL_COMPILE_TIME_ASSERT(sint32, sizeof(Sint32) == 4); | |
2735
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
163 #ifndef __NINTENDODS__ /* TODO: figure out why the following happens: |
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
164 include/SDL_stdinc.h:150: error: size of array 'SDL_dummy_uint64' is negative |
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
165 include/SDL_stdinc.h:151: error: size of array 'SDL_dummy_sint64' is negative */ |
2707
6259afb046c5
Reverted Holmes' changes, they should be on the iphone branch
Sam Lantinga <slouken@libsdl.org>
parents:
2706
diff
changeset
|
166 SDL_COMPILE_TIME_ASSERT(uint64, sizeof(Uint64) == 8); |
6259afb046c5
Reverted Holmes' changes, they should be on the iphone branch
Sam Lantinga <slouken@libsdl.org>
parents:
2706
diff
changeset
|
167 SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8); |
2735
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
168 #endif |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
169 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */ |
1357 | 170 |
171 /* Check to make sure enums are the size of ints, for structure packing. | |
172 For both Watcom C/C++ and Borland C/C++ the compiler option that makes | |
173 enums having the size of an int must be enabled. | |
174 This is "-b" for Borland C/C++ and "-ei" for Watcom C/C++ (v11). | |
175 */ | |
176 /* Enable enums always int in CodeWarrior (for MPW use "-enum int") */ | |
177 #ifdef __MWERKS__ | |
178 #pragma enumsalwaysint on | |
179 #endif | |
180 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
181 #ifndef DOXYGEN_SHOULD_IGNORE_THIS |
2735
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
182 #ifndef __NINTENDODS__ /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
183 typedef enum |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
184 { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
185 DUMMY_ENUM_VALUE |
1357 | 186 } SDL_DUMMY_ENUM; |
187 | |
188 SDL_COMPILE_TIME_ASSERT(enum, sizeof(SDL_DUMMY_ENUM) == sizeof(int)); | |
2735
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
189 #endif |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
190 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */ |
1357 | 191 |
192 #include "begin_code.h" | |
193 /* Set up for C function definitions, even when using C++ */ | |
194 #ifdef __cplusplus | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
195 /* *INDENT-OFF* */ |
1357 | 196 extern "C" { |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
197 /* *INDENT-ON* */ |
1357 | 198 #endif |
199 | |
1626 | 200 #ifdef HAVE_MALLOC |
1357 | 201 #define SDL_malloc malloc |
202 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
203 extern DECLSPEC void *SDLCALL SDL_malloc(size_t size); |
1357 | 204 #endif |
205 | |
1626 | 206 #ifdef HAVE_CALLOC |
1357 | 207 #define SDL_calloc calloc |
208 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
209 extern DECLSPEC void *SDLCALL SDL_calloc(size_t nmemb, size_t size); |
1357 | 210 #endif |
211 | |
1626 | 212 #ifdef HAVE_REALLOC |
1357 | 213 #define SDL_realloc realloc |
214 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
215 extern DECLSPEC void *SDLCALL SDL_realloc(void *mem, size_t size); |
1357 | 216 #endif |
217 | |
1626 | 218 #ifdef HAVE_FREE |
1357 | 219 #define SDL_free free |
220 #else | |
221 extern DECLSPEC void SDLCALL SDL_free(void *mem); | |
222 #endif | |
223 | |
1626 | 224 #if defined(HAVE_ALLOCA) && !defined(alloca) |
225 # if defined(HAVE_ALLOCA_H) | |
1381
8570e1f4b1f1
On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents:
1379
diff
changeset
|
226 # include <alloca.h> |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1381
diff
changeset
|
227 # elif defined(__GNUC__) |
1381
8570e1f4b1f1
On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents:
1379
diff
changeset
|
228 # define alloca __builtin_alloca |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1381
diff
changeset
|
229 # elif defined(_MSC_VER) |
1381
8570e1f4b1f1
On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents:
1379
diff
changeset
|
230 # include <malloc.h> |
8570e1f4b1f1
On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents:
1379
diff
changeset
|
231 # define alloca _alloca |
1769 | 232 # elif defined(__WATCOMC__) |
233 # include <malloc.h> | |
2279
65bb3dd0b350
Merged revision 3458 from SDL 1.2, fixed Borland C alloca() prototype
Sam Lantinga <slouken@libsdl.org>
parents:
2157
diff
changeset
|
234 # elif defined(__BORLANDC__) |
65bb3dd0b350
Merged revision 3458 from SDL 1.2, fixed Borland C alloca() prototype
Sam Lantinga <slouken@libsdl.org>
parents:
2157
diff
changeset
|
235 # include <malloc.h> |
1870 | 236 # elif defined(__DMC__) |
237 # include <stdlib.h> | |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1381
diff
changeset
|
238 # elif defined(__AIX__) |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
239 #pragma alloca |
1829
b98fd17b0b02
Fixed alloca declaration for MPW
Sam Lantinga <slouken@libsdl.org>
parents:
1769
diff
changeset
|
240 # elif defined(__MRC__) |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
241 void *alloca(unsigned); |
1381
8570e1f4b1f1
On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents:
1379
diff
changeset
|
242 # else |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
243 char *alloca(); |
1381
8570e1f4b1f1
On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents:
1379
diff
changeset
|
244 # endif |
8570e1f4b1f1
On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents:
1379
diff
changeset
|
245 #endif |
1626 | 246 #ifdef HAVE_ALLOCA |
2077
8bfba7ec379a
Merge r2918:2919 from 1.2 branch: alloca macro params in parentheses.
Ryan C. Gordon <icculus@icculus.org>
parents:
2048
diff
changeset
|
247 #define SDL_stack_alloc(type, count) (type*)alloca(sizeof(type)*(count)) |
1357 | 248 #define SDL_stack_free(data) |
249 #else | |
2077
8bfba7ec379a
Merge r2918:2919 from 1.2 branch: alloca macro params in parentheses.
Ryan C. Gordon <icculus@icculus.org>
parents:
2048
diff
changeset
|
250 #define SDL_stack_alloc(type, count) (type*)SDL_malloc(sizeof(type)*(count)) |
1357 | 251 #define SDL_stack_free(data) SDL_free(data) |
252 #endif | |
253 | |
1626 | 254 #ifdef HAVE_GETENV |
1357 | 255 #define SDL_getenv getenv |
256 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
257 extern DECLSPEC char *SDLCALL SDL_getenv(const char *name); |
1357 | 258 #endif |
259 | |
1626 | 260 #ifdef HAVE_PUTENV |
1357 | 261 #define SDL_putenv putenv |
262 #else | |
263 extern DECLSPEC int SDLCALL SDL_putenv(const char *variable); | |
264 #endif | |
265 | |
1626 | 266 #ifdef HAVE_QSORT |
1357 | 267 #define SDL_qsort qsort |
268 #else | |
269 extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size, | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
270 int (*compare) (const void *, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
271 const void *)); |
1357 | 272 #endif |
273 | |
1626 | 274 #ifdef HAVE_ABS |
1357 | 275 #define SDL_abs abs |
276 #else | |
277 #define SDL_abs(X) ((X) < 0 ? -(X) : (X)) | |
278 #endif | |
279 | |
1379
c0a74f199ecf
Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents:
1368
diff
changeset
|
280 #define SDL_min(x, y) (((x) < (y)) ? (x) : (y)) |
c0a74f199ecf
Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents:
1368
diff
changeset
|
281 #define SDL_max(x, y) (((x) > (y)) ? (x) : (y)) |
c0a74f199ecf
Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents:
1368
diff
changeset
|
282 |
1626 | 283 #ifdef HAVE_CTYPE_H |
1357 | 284 #define SDL_isdigit(X) isdigit(X) |
285 #define SDL_isspace(X) isspace(X) | |
286 #define SDL_toupper(X) toupper(X) | |
287 #define SDL_tolower(X) tolower(X) | |
288 #else | |
289 #define SDL_isdigit(X) (((X) >= '0') && ((X) <= '9')) | |
290 #define SDL_isspace(X) (((X) == ' ') || ((X) == '\t') || ((X) == '\r') || ((X) == '\n')) | |
291 #define SDL_toupper(X) (((X) >= 'a') && ((X) <= 'z') ? ('A'+((X)-'a')) : (X)) | |
292 #define SDL_tolower(X) (((X) >= 'A') && ((X) <= 'Z') ? ('a'+((X)-'A')) : (X)) | |
293 #endif | |
294 | |
1626 | 295 #ifdef HAVE_MEMSET |
1357 | 296 #define SDL_memset memset |
297 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
298 extern DECLSPEC void *SDLCALL SDL_memset(void *dst, int c, size_t len); |
1357 | 299 #endif |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
300 #define SDL_zero(x) SDL_memset(&(x), 0, sizeof((x))) |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
301 #define SDL_zerop(x) SDL_memset((x), 0, sizeof(*(x))) |
1357 | 302 |
2157 | 303 #if defined(__GNUC__) && defined(i386) |
1357 | 304 #define SDL_memset4(dst, val, len) \ |
305 do { \ | |
306 int u0, u1, u2; \ | |
307 __asm__ __volatile__ ( \ | |
308 "cld\n\t" \ | |
309 "rep ; stosl\n\t" \ | |
310 : "=&D" (u0), "=&a" (u1), "=&c" (u2) \ | |
3067 | 311 : "0" (dst), "1" (val), "2" (SDL_static_cast(Uint32, len)) \ |
1357 | 312 : "memory" ); \ |
313 } while(0) | |
314 #endif | |
315 #ifndef SDL_memset4 | |
316 #define SDL_memset4(dst, val, len) \ | |
317 do { \ | |
318 unsigned _count = (len); \ | |
319 unsigned _n = (_count + 3) / 4; \ | |
3067 | 320 Uint32 *_p = SDL_static_cast(Uint32 *, dst); \ |
1357 | 321 Uint32 _val = (val); \ |
322 switch (_count % 4) { \ | |
323 case 0: do { *_p++ = _val; \ | |
324 case 3: *_p++ = _val; \ | |
325 case 2: *_p++ = _val; \ | |
326 case 1: *_p++ = _val; \ | |
327 } while ( --_n ); \ | |
328 } \ | |
329 } while(0) | |
330 #endif | |
331 | |
2111
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
332 /* We can count on memcpy existing on Mac OS X and being well-tuned. */ |
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
333 #if defined(__MACH__) && defined(__APPLE__) |
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
334 #define SDL_memcpy(dst, src, len) memcpy(dst, src, len) |
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
335 #elif defined(__GNUC__) && defined(i386) |
1357 | 336 #define SDL_memcpy(dst, src, len) \ |
337 do { \ | |
338 int u0, u1, u2; \ | |
339 __asm__ __volatile__ ( \ | |
340 "cld\n\t" \ | |
341 "rep ; movsl\n\t" \ | |
342 "testb $2,%b4\n\t" \ | |
343 "je 1f\n\t" \ | |
344 "movsw\n" \ | |
345 "1:\ttestb $1,%b4\n\t" \ | |
346 "je 2f\n\t" \ | |
347 "movsb\n" \ | |
348 "2:" \ | |
349 : "=&c" (u0), "=&D" (u1), "=&S" (u2) \ | |
3067 | 350 : "0" (SDL_static_cast(unsigned, len)/4), "q" (len), "1" (dst),"2" (src) \ |
1357 | 351 : "memory" ); \ |
352 } while(0) | |
353 #endif | |
354 #ifndef SDL_memcpy | |
1626 | 355 #ifdef HAVE_MEMCPY |
1357 | 356 #define SDL_memcpy memcpy |
1626 | 357 #elif defined(HAVE_BCOPY) |
1357 | 358 #define SDL_memcpy(d, s, n) bcopy((s), (d), (n)) |
359 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
360 extern DECLSPEC void *SDLCALL SDL_memcpy(void *dst, const void *src, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
361 size_t len); |
1357 | 362 #endif |
363 #endif | |
364 | |
2111
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
365 /* We can count on memcpy existing on Mac OS X and being well-tuned. */ |
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
366 #if defined(__MACH__) && defined(__APPLE__) |
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
367 #define SDL_memcpy4(dst, src, len) memcpy(dst, src, (len)*4) |
874162355be5
Merged r3037:3038 from branches/SDL-1.2: Mac OS X memcpy/memset selection.
Ryan C. Gordon <icculus@icculus.org>
parents:
2077
diff
changeset
|
368 #elif defined(__GNUC__) && defined(i386) |
1357 | 369 #define SDL_memcpy4(dst, src, len) \ |
370 do { \ | |
371 int ecx, edi, esi; \ | |
372 __asm__ __volatile__ ( \ | |
373 "cld\n\t" \ | |
374 "rep ; movsl" \ | |
375 : "=&c" (ecx), "=&D" (edi), "=&S" (esi) \ | |
3067 | 376 : "0" (SDL_static_cast(unsigned, len)), "1" (dst), "2" (src) \ |
1357 | 377 : "memory" ); \ |
378 } while(0) | |
379 #endif | |
380 #ifndef SDL_memcpy4 | |
381 #define SDL_memcpy4(dst, src, len) SDL_memcpy(dst, src, (len) << 2) | |
382 #endif | |
383 | |
384 #if defined(__GNUC__) && defined(i386) | |
385 #define SDL_revcpy(dst, src, len) \ | |
386 do { \ | |
387 int u0, u1, u2; \ | |
3067 | 388 char *dstp = SDL_static_cast(char *, dst); \ |
389 char *srcp = SDL_static_cast(char *, src); \ | |
1357 | 390 int n = (len); \ |
391 if ( n >= 4 ) { \ | |
392 __asm__ __volatile__ ( \ | |
393 "std\n\t" \ | |
394 "rep ; movsl\n\t" \ | |
2302
7ae1c419b626
Merged r3534:3535 from branches/SDL-1.2: Reset direction flag in SDL_revcpy().
Ryan C. Gordon <icculus@icculus.org>
parents:
2279
diff
changeset
|
395 "cld\n\t" \ |
1357 | 396 : "=&c" (u0), "=&D" (u1), "=&S" (u2) \ |
397 : "0" (n >> 2), \ | |
398 "1" (dstp+(n-4)), "2" (srcp+(n-4)) \ | |
399 : "memory" ); \ | |
400 } \ | |
401 switch (n & 3) { \ | |
402 case 3: dstp[2] = srcp[2]; \ | |
403 case 2: dstp[1] = srcp[1]; \ | |
404 case 1: dstp[0] = srcp[0]; \ | |
405 break; \ | |
406 default: \ | |
407 break; \ | |
408 } \ | |
409 } while(0) | |
410 #endif | |
411 #ifndef SDL_revcpy | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
412 extern DECLSPEC void *SDLCALL SDL_revcpy(void *dst, const void *src, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
413 size_t len); |
1357 | 414 #endif |
415 | |
1626 | 416 #ifdef HAVE_MEMMOVE |
1357 | 417 #define SDL_memmove memmove |
1626 | 418 #elif defined(HAVE_BCOPY) |
1357 | 419 #define SDL_memmove(d, s, n) bcopy((s), (d), (n)) |
420 #else | |
421 #define SDL_memmove(dst, src, len) \ | |
422 do { \ | |
423 if ( dst < src ) { \ | |
424 SDL_memcpy(dst, src, len); \ | |
425 } else { \ | |
426 SDL_revcpy(dst, src, len); \ | |
427 } \ | |
428 } while(0) | |
429 #endif | |
430 | |
1626 | 431 #ifdef HAVE_MEMCMP |
1357 | 432 #define SDL_memcmp memcmp |
433 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
434 extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
435 size_t len); |
1357 | 436 #endif |
437 | |
1626 | 438 #ifdef HAVE_STRLEN |
1357 | 439 #define SDL_strlen strlen |
440 #else | |
441 extern DECLSPEC size_t SDLCALL SDL_strlen(const char *string); | |
442 #endif | |
443 | |
1901
f1828a500391
Removed libc dependency on Windows again, to fix building with Visual C++ 2005 Express Edition.
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
444 #ifdef HAVE_WCSLEN |
f1828a500391
Removed libc dependency on Windows again, to fix building with Visual C++ 2005 Express Edition.
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
445 #define SDL_wcslen wcslen |
f1828a500391
Removed libc dependency on Windows again, to fix building with Visual C++ 2005 Express Edition.
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
446 #else |
2735
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
447 #if !defined(wchar_t) && defined(__NINTENDODS__) |
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
448 #define wchar_t short /* TODO: figure out why libnds doesn't have this */ |
204be4fc2726
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2707
diff
changeset
|
449 #endif |
1903
f132024010be
More of the Direct3D renderer is implemented, I'm not sure why it's not showing texture copies yet...
Sam Lantinga <slouken@libsdl.org>
parents:
1901
diff
changeset
|
450 extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t * string); |
1901
f1828a500391
Removed libc dependency on Windows again, to fix building with Visual C++ 2005 Express Edition.
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
451 #endif |
f1828a500391
Removed libc dependency on Windows again, to fix building with Visual C++ 2005 Express Edition.
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
452 |
1626 | 453 #ifdef HAVE_STRLCPY |
1379
c0a74f199ecf
Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents:
1368
diff
changeset
|
454 #define SDL_strlcpy strlcpy |
1357 | 455 #else |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
456 extern DECLSPEC size_t SDLCALL SDL_strlcpy(char *dst, const char *src, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
457 size_t maxlen); |
1357 | 458 #endif |
459 | |
1626 | 460 #ifdef HAVE_STRLCAT |
1379
c0a74f199ecf
Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents:
1368
diff
changeset
|
461 #define SDL_strlcat strlcat |
1357 | 462 #else |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
463 extern DECLSPEC size_t SDLCALL SDL_strlcat(char *dst, const char *src, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
464 size_t maxlen); |
1357 | 465 #endif |
466 | |
1626 | 467 #ifdef HAVE_STRDUP |
1357 | 468 #define SDL_strdup strdup |
469 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
470 extern DECLSPEC char *SDLCALL SDL_strdup(const char *string); |
1357 | 471 #endif |
472 | |
1626 | 473 #ifdef HAVE__STRREV |
1357 | 474 #define SDL_strrev _strrev |
475 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
476 extern DECLSPEC char *SDLCALL SDL_strrev(char *string); |
1357 | 477 #endif |
478 | |
1626 | 479 #ifdef HAVE__STRUPR |
1357 | 480 #define SDL_strupr _strupr |
481 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
482 extern DECLSPEC char *SDLCALL SDL_strupr(char *string); |
1357 | 483 #endif |
484 | |
1626 | 485 #ifdef HAVE__STRLWR |
1357 | 486 #define SDL_strlwr _strlwr |
487 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
488 extern DECLSPEC char *SDLCALL SDL_strlwr(char *string); |
1357 | 489 #endif |
490 | |
1626 | 491 #ifdef HAVE_STRCHR |
1357 | 492 #define SDL_strchr strchr |
1626 | 493 #elif defined(HAVE_INDEX) |
1357 | 494 #define SDL_strchr index |
495 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
496 extern DECLSPEC char *SDLCALL SDL_strchr(const char *string, int c); |
1357 | 497 #endif |
498 | |
1626 | 499 #ifdef HAVE_STRRCHR |
1357 | 500 #define SDL_strrchr strrchr |
1626 | 501 #elif defined(HAVE_RINDEX) |
1357 | 502 #define SDL_strrchr rindex |
503 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
504 extern DECLSPEC char *SDLCALL SDL_strrchr(const char *string, int c); |
1357 | 505 #endif |
506 | |
1626 | 507 #ifdef HAVE_STRSTR |
1357 | 508 #define SDL_strstr strstr |
509 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
510 extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
511 const char *needle); |
1357 | 512 #endif |
513 | |
1626 | 514 #ifdef HAVE_ITOA |
1357 | 515 #define SDL_itoa itoa |
516 #else | |
517 #define SDL_itoa(value, string, radix) SDL_ltoa((long)value, string, radix) | |
518 #endif | |
519 | |
1626 | 520 #ifdef HAVE__LTOA |
1357 | 521 #define SDL_ltoa _ltoa |
522 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
523 extern DECLSPEC char *SDLCALL SDL_ltoa(long value, char *string, int radix); |
1357 | 524 #endif |
525 | |
1626 | 526 #ifdef HAVE__UITOA |
1357 | 527 #define SDL_uitoa _uitoa |
528 #else | |
529 #define SDL_uitoa(value, string, radix) SDL_ultoa((long)value, string, radix) | |
530 #endif | |
531 | |
1626 | 532 #ifdef HAVE__ULTOA |
1357 | 533 #define SDL_ultoa _ultoa |
534 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
535 extern DECLSPEC char *SDLCALL SDL_ultoa(unsigned long value, char *string, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
536 int radix); |
1357 | 537 #endif |
538 | |
1626 | 539 #ifdef HAVE_STRTOL |
1357 | 540 #define SDL_strtol strtol |
541 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
542 extern DECLSPEC long SDLCALL SDL_strtol(const char *string, char **endp, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
543 int base); |
1357 | 544 #endif |
545 | |
1626 | 546 #ifdef HAVE_STRTOUL |
1456
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
547 #define SDL_strtoul strtoul |
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
548 #else |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
549 extern DECLSPEC unsigned long SDLCALL SDL_strtoul(const char *string, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
550 char **endp, int base); |
1456
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
551 #endif |
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
552 |
1626 | 553 #ifdef SDL_HAS_64BIT_TYPE |
1357 | 554 |
1626 | 555 #ifdef HAVE__I64TOA |
1357 | 556 #define SDL_lltoa _i64toa |
557 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
558 extern DECLSPEC char *SDLCALL SDL_lltoa(Sint64 value, char *string, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
559 int radix); |
1357 | 560 #endif |
561 | |
1626 | 562 #ifdef HAVE__UI64TOA |
1357 | 563 #define SDL_ulltoa _ui64toa |
564 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
565 extern DECLSPEC char *SDLCALL SDL_ulltoa(Uint64 value, char *string, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
566 int radix); |
1357 | 567 #endif |
568 | |
1626 | 569 #ifdef HAVE_STRTOLL |
1357 | 570 #define SDL_strtoll strtoll |
571 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
572 extern DECLSPEC Sint64 SDLCALL SDL_strtoll(const char *string, char **endp, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
573 int base); |
1357 | 574 #endif |
575 | |
1626 | 576 #ifdef HAVE_STRTOULL |
1456
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
577 #define SDL_strtoull strtoull |
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
578 #else |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
579 extern DECLSPEC Uint64 SDLCALL SDL_strtoull(const char *string, char **endp, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
580 int base); |
1456
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
581 #endif |
84de7511f79f
Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents:
1422
diff
changeset
|
582 |
1357 | 583 #endif /* SDL_HAS_64BIT_TYPE */ |
584 | |
1626 | 585 #ifdef HAVE_STRTOD |
1357 | 586 #define SDL_strtod strtod |
587 #else | |
588 extern DECLSPEC double SDLCALL SDL_strtod(const char *string, char **endp); | |
589 #endif | |
590 | |
1626 | 591 #ifdef HAVE_ATOI |
1357 | 592 #define SDL_atoi atoi |
593 #else | |
594 #define SDL_atoi(X) SDL_strtol(X, NULL, 0) | |
595 #endif | |
596 | |
1626 | 597 #ifdef HAVE_ATOF |
1357 | 598 #define SDL_atof atof |
599 #else | |
600 #define SDL_atof(X) SDL_strtod(X, NULL) | |
601 #endif | |
602 | |
1626 | 603 #ifdef HAVE_STRCMP |
1357 | 604 #define SDL_strcmp strcmp |
605 #else | |
606 extern DECLSPEC int SDLCALL SDL_strcmp(const char *str1, const char *str2); | |
607 #endif | |
608 | |
1626 | 609 #ifdef HAVE_STRNCMP |
1357 | 610 #define SDL_strncmp strncmp |
611 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
612 extern DECLSPEC int SDLCALL SDL_strncmp(const char *str1, const char *str2, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
613 size_t maxlen); |
1357 | 614 #endif |
615 | |
1626 | 616 #ifdef HAVE_STRCASECMP |
1357 | 617 #define SDL_strcasecmp strcasecmp |
1626 | 618 #elif defined(HAVE__STRICMP) |
1510 | 619 #define SDL_strcasecmp _stricmp |
1357 | 620 #else |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
621 extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
622 const char *str2); |
1357 | 623 #endif |
624 | |
1626 | 625 #ifdef HAVE_STRNCASECMP |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
626 #define SDL_strncasecmp strncasecmp |
1626 | 627 #elif defined(HAVE__STRNICMP) |
1512 | 628 #define SDL_strncasecmp _strnicmp |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
629 #else |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
630 extern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
631 const char *str2, size_t maxlen); |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
632 #endif |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
633 |
1626 | 634 #ifdef HAVE_SSCANF |
1357 | 635 #define SDL_sscanf sscanf |
636 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
637 extern DECLSPEC int SDLCALL SDL_sscanf(const char *text, const char *fmt, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
638 ...); |
1357 | 639 #endif |
640 | |
1626 | 641 #ifdef HAVE_SNPRINTF |
1357 | 642 #define SDL_snprintf snprintf |
643 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
644 extern DECLSPEC int SDLCALL SDL_snprintf(char *text, size_t maxlen, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
645 const char *fmt, ...); |
1357 | 646 #endif |
647 | |
1626 | 648 #ifdef HAVE_VSNPRINTF |
1357 | 649 #define SDL_vsnprintf vsnprintf |
650 #else | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
651 extern DECLSPEC int SDLCALL SDL_vsnprintf(char *text, size_t maxlen, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
652 const char *fmt, va_list ap); |
1357 | 653 #endif |
654 | |
3012
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
655 #ifndef HAVE_M_PI |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
656 #define M_PI 3.14159265358979323846264338327950288 /* pi */ |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
657 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
658 |
3032 | 659 #ifdef HAVE_CEIL |
660 #define SDL_ceil ceil | |
661 #else | |
662 #define SDL_ceil(x) ((double)(int)((x)+0.5)) | |
663 #endif | |
664 | |
3012
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
665 #ifdef HAVE_COPYSIGN |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
666 #define SDL_copysign copysign |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
667 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
668 extern DECLSPEC double SDLCALL SDL_copysign(double x, double y); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
669 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
670 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
671 #ifdef HAVE_COS |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
672 #define SDL_cos cos |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
673 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
674 extern DECLSPEC double SDLCALL SDL_cos(double x); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
675 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
676 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
677 #ifdef HAVE_COSF |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
678 #define SDL_cosf cosf |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
679 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
680 #define SDL_cosf(x) (float)SDL_cos((double)x) |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
681 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
682 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
683 #ifdef HAVE_FABS |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
684 #define SDL_fabs fabs |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
685 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
686 extern DECLSPEC double SDLCALL SDL_fabs(double x); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
687 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
688 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
689 #ifdef HAVE_FLOOR |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
690 #define SDL_floor floor |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
691 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
692 extern DECLSPEC double SDLCALL SDL_floor(double x); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
693 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
694 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
695 #ifdef HAVE_LOG |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
696 #define SDL_log log |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
697 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
698 extern DECLSPEC double SDLCALL SDL_log(double x); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
699 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
700 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
701 #ifdef HAVE_POW |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
702 #define SDL_pow pow |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
703 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
704 extern DECLSPEC double SDLCALL SDL_pow(double x, double y); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
705 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
706 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
707 #ifdef HAVE_SCALBN |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
708 #define SDL_scalbn scalbn |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
709 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
710 extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
711 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
712 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
713 #ifdef HAVE_SIN |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
714 #define SDL_sin sin |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
715 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
716 extern DECLSPEC double SDLCALL SDL_sin(double x); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
717 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
718 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
719 #ifdef HAVE_SINF |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
720 #define SDL_sinf sinf |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
721 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
722 #define SDL_sinf(x) (float)SDL_sin((double)x) |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
723 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
724 |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
725 #ifdef HAVE_SQRT |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
726 #define SDL_sqrt sqrt |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
727 #else |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
728 extern DECLSPEC double SDLCALL SDL_sqrt(double x); |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
729 #endif |
7e30c2dc7783
Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents:
2859
diff
changeset
|
730 |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
731 /* The SDL implementation of iconv() returns these error codes */ |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
732 #define SDL_ICONV_ERROR (size_t)-1 |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
733 #define SDL_ICONV_E2BIG (size_t)-2 |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
734 #define SDL_ICONV_EILSEQ (size_t)-3 |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
735 #define SDL_ICONV_EINVAL (size_t)-4 |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
736 |
1626 | 737 #ifdef HAVE_ICONV |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
738 #define SDL_iconv_t iconv_t |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
739 #define SDL_iconv_open iconv_open |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
740 #define SDL_iconv_close iconv_close |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
741 #else |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
742 typedef struct _SDL_iconv_t *SDL_iconv_t; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
743 extern DECLSPEC SDL_iconv_t SDLCALL SDL_iconv_open(const char *tocode, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
744 const char *fromcode); |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
745 extern DECLSPEC int SDLCALL SDL_iconv_close(SDL_iconv_t cd); |
2135
0313af081a84
Merge iconv const changes from 1.2
Sam Lantinga <slouken@libsdl.org>
parents:
2111
diff
changeset
|
746 #endif |
0313af081a84
Merge iconv const changes from 1.2
Sam Lantinga <slouken@libsdl.org>
parents:
2111
diff
changeset
|
747 extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf, |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
748 size_t * inbytesleft, char **outbuf, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
749 size_t * outbytesleft); |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
750 /* This function converts a string between encodings in one pass, returning a |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
751 string that must be freed with SDL_free() or NULL on error. |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
752 */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
753 extern DECLSPEC char *SDLCALL SDL_iconv_string(const char *tocode, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
754 const char *fromcode, |
2135
0313af081a84
Merge iconv const changes from 1.2
Sam Lantinga <slouken@libsdl.org>
parents:
2111
diff
changeset
|
755 const char *inbuf, |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
756 size_t inbytesleft); |
2143
e906da4414a3
Fix for bug #447 merged from SDL 1.2
Sam Lantinga <slouken@libsdl.org>
parents:
2142
diff
changeset
|
757 #define SDL_iconv_utf8_locale(S) SDL_iconv_string("", "UTF-8", S, SDL_strlen(S)+1) |
1501
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
758 #define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2", "UTF-8", S, SDL_strlen(S)+1) |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
759 #define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4", "UTF-8", S, SDL_strlen(S)+1) |
73dc5d39bbf8
Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents:
1456
diff
changeset
|
760 |
1357 | 761 /* Ends C function definitions when using C++ */ |
762 #ifdef __cplusplus | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
763 /* *INDENT-OFF* */ |
1357 | 764 } |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
765 /* *INDENT-ON* */ |
1357 | 766 #endif |
767 #include "close_code.h" | |
768 | |
769 #endif /* _SDL_stdinc_h */ | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
770 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1870
diff
changeset
|
771 /* vi: set ts=4 sw=4 expandtab: */ |