annotate include/SDL_stdinc.h @ 4573:6399178be313

Completed work on X11_CreateTexture. Added lots of safety features. These include support for drawing a texture using the core protocol while other textures are drawn using Xrender if Xrender does not support the color format of the said texture or any other fault with Xrender.
author Sunny Sachanandani <sunnysachanandani@gmail.com>
date Fri, 28 May 2010 20:40:09 +0530
parents f7b03b6838cb
children bff93336121e a5c4ded0c979 2072fed2f583
rev   line source
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
1 /*
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
3697
f7b03b6838cb Fixed bug #926
Sam Lantinga <slouken@libsdl.org>
parents: 3581
diff changeset
3 Copyright (C) 1997-2010 Sam Lantinga
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
4
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
6 modify it under the terms of the GNU Lesser General Public
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
9
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
13 Lesser General Public License for more details.
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
14
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
15 You should have received a copy of the GNU Lesser General Public
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
16 License along with this library; if not, write to the Free Software
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
18
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
19 Sam Lantinga
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
20 slouken@libsdl.org
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
21 */
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
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 /**
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
24 * \file SDL_stdinc.h
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
25 *
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
26 * This is a general header that includes C language support.
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
27 */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
28
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
29 #ifndef _SDL_stdinc_h
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
30 #define _SDL_stdinc_h
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
31
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
32 #include "SDL_config.h"
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
33
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
34
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
35 #ifdef HAVE_SYS_TYPES_H
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
36 #include <sys/types.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
37 #endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
38 #ifdef HAVE_STDIO_H
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
39 #include <stdio.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
40 #endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
41 #if defined(STDC_HEADERS)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
42 # include <stdlib.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
43 # include <stddef.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
44 # include <stdarg.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
45 #else
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
46 # if defined(HAVE_STDLIB_H)
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
47 # include <stdlib.h>
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
48 # elif defined(HAVE_MALLOC_H)
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
49 # include <malloc.h>
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
50 # endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
51 # if defined(HAVE_STDDEF_H)
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
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
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
54 # if defined(HAVE_STDARG_H)
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
55 # include <stdarg.h>
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
56 # endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
57 #endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
58 #ifdef HAVE_STRING_H
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
59 # if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H)
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
60 # include <memory.h>
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
61 # endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
62 # include <string.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
63 #endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
64 #ifdef HAVE_STRINGS_H
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
65 # include <strings.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
66 #endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
67 #if defined(HAVE_INTTYPES_H)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
68 # include <inttypes.h>
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
69 #elif defined(HAVE_STDINT_H)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
70 # include <stdint.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
71 #endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
72 #ifdef HAVE_CTYPE_H
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
73 # include <ctype.h>
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
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
3295
4ff84e8939c1 Whoops, need both the header and the library!
Sam Lantinga <slouken@libsdl.org>
parents: 3294
diff changeset
78 #if defined(HAVE_ICONV) && defined(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
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
81
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
82 /**
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
83 * The number of elements in an array.
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
84 */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
85 #define SDL_arraysize(array) (sizeof(array)/sizeof(array[0]))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
86 #define SDL_TABLESIZE(table) SDL_arraysize(table)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
87
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
88 /**
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
89 * \name Cast operators
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
90 *
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
91 * Use proper C++ casts when compiled as C++ to be compatible with the option
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
92 * -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above).
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
93 */
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
94 /*@{*/
3067
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
95 #ifdef __cplusplus
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
96 #define SDL_reinterpret_cast(type, expression) reinterpret_cast<type>(expression)
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
97 #define SDL_static_cast(type, expression) static_cast<type>(expression)
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
98 #else
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
99 #define SDL_reinterpret_cast(type, expression) ((type)(expression))
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
100 #define SDL_static_cast(type, expression) ((type)(expression))
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
101 #endif
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
102 /*@}*//*Cast operators*/
3067
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
103
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
104 /**
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
105 * \name Basic data types
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
106 */
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
107 /*@{*/
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
108
3365
9cd5b35c0184 Made typedef for SDL_bool the same as the other typedefs.
Sam Lantinga <slouken@libsdl.org>
parents: 3295
diff changeset
109 typedef enum
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
110 {
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 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
112 SDL_TRUE = 1
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
113 } SDL_bool;
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
114
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
115 /**
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 * \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
117 */
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 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
119 /**
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 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
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 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
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 * \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
125 */
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 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
127 /**
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 * \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
129 */
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 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
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 * \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
133 */
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
134 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
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 * \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
137 */
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 typedef uint32_t Uint32;
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
139
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
140 #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
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 * \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
143 * \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
144 */
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 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
146 /**
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
147 * \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
148 * \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
149 */
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
150 typedef uint64_t Uint64;
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
151 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
152 /* This is really just a hack to prevent the compiler from complaining */
2048
6067c7f9a672 Double Whoops. :P
Ryan C. Gordon <icculus@icculus.org>
parents: 2047
diff changeset
153 typedef Sint32 Sint64;
6067c7f9a672 Double Whoops. :P
Ryan C. Gordon <icculus@icculus.org>
parents: 2047
diff changeset
154 typedef Uint32 Uint64;
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
155 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
156
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
157 /*@}*//*Basic data types*/
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
158
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
159
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
160 #define SDL_COMPILE_TIME_ASSERT(name, x) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
161 typedef int SDL_dummy_ ## name[(x) * 2 - 1]
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
162 /** \cond */
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
163 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
164 SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
165 SDL_COMPILE_TIME_ASSERT(sint8, sizeof(Sint8) == 1);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
166 SDL_COMPILE_TIME_ASSERT(uint16, sizeof(Uint16) == 2);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
167 SDL_COMPILE_TIME_ASSERT(sint16, sizeof(Sint16) == 2);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
168 SDL_COMPILE_TIME_ASSERT(uint32, sizeof(Uint32) == 4);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
169 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
170 #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
171 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
172 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
173 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
174 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
175 #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
176 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
177 /** \endcond */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
178
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
179 /* Check to make sure enums are the size of ints, for structure packing.
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
180 For both Watcom C/C++ and Borland C/C++ the compiler option that makes
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
181 enums having the size of an int must be enabled.
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
182 This is "-b" for Borland C/C++ and "-ei" for Watcom C/C++ (v11).
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
183 */
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
184 /* Enable enums always int in CodeWarrior (for MPW use "-enum int") */
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
185 #ifdef __MWERKS__
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
186 #pragma enumsalwaysint on
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
187 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
188
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
189 /** \cond */
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 #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
191 #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
192 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
193 {
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
194 DUMMY_ENUM_VALUE
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
195 } SDL_DUMMY_ENUM;
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
196
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
197 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
198 #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
199 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
200 /** \endcond */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
201
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
202 #include "begin_code.h"
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
203 /* Set up for C function definitions, even when using C++ */
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
204 #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
205 /* *INDENT-OFF* */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
206 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
207 /* *INDENT-ON* */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
208 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
209
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
210 #ifdef HAVE_MALLOC
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
211 #define SDL_malloc malloc
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
212 #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
213 extern DECLSPEC void *SDLCALL SDL_malloc(size_t size);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
214 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
215
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
216 #ifdef HAVE_CALLOC
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
217 #define SDL_calloc calloc
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
218 #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
219 extern DECLSPEC void *SDLCALL SDL_calloc(size_t nmemb, size_t size);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
220 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
221
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
222 #ifdef HAVE_REALLOC
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
223 #define SDL_realloc realloc
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
224 #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
225 extern DECLSPEC void *SDLCALL SDL_realloc(void *mem, size_t size);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
226 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
227
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
228 #ifdef HAVE_FREE
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
229 #define SDL_free free
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
230 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
231 extern DECLSPEC void SDLCALL SDL_free(void *mem);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
232 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
233
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
234 #if defined(HAVE_ALLOCA) && !defined(alloca)
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
235 # if defined(HAVE_ALLOCA_H)
1381
8570e1f4b1f1 On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents: 1379
diff changeset
236 # include <alloca.h>
1402
d910939febfa Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents: 1381
diff changeset
237 # elif defined(__GNUC__)
1381
8570e1f4b1f1 On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents: 1379
diff changeset
238 # define alloca __builtin_alloca
1402
d910939febfa Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents: 1381
diff changeset
239 # elif defined(_MSC_VER)
1381
8570e1f4b1f1 On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents: 1379
diff changeset
240 # include <malloc.h>
8570e1f4b1f1 On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents: 1379
diff changeset
241 # define alloca _alloca
1769
290b5baf2fca Fixed bug #215
Sam Lantinga <slouken@libsdl.org>
parents: 1626
diff changeset
242 # elif defined(__WATCOMC__)
290b5baf2fca Fixed bug #215
Sam Lantinga <slouken@libsdl.org>
parents: 1626
diff changeset
243 # 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
244 # 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
245 # include <malloc.h>
1870
39a4f91b164a Fixed bug #256
Sam Lantinga <slouken@libsdl.org>
parents: 1829
diff changeset
246 # elif defined(__DMC__)
39a4f91b164a Fixed bug #256
Sam Lantinga <slouken@libsdl.org>
parents: 1829
diff changeset
247 # include <stdlib.h>
1402
d910939febfa Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents: 1381
diff changeset
248 # 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
249 #pragma alloca
1829
b98fd17b0b02 Fixed alloca declaration for MPW
Sam Lantinga <slouken@libsdl.org>
parents: 1769
diff changeset
250 # 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
251 void *alloca(unsigned);
1381
8570e1f4b1f1 On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents: 1379
diff changeset
252 # 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
253 char *alloca();
1381
8570e1f4b1f1 On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents: 1379
diff changeset
254 # endif
8570e1f4b1f1 On FreeBSD, alloca is defined in stdlib.h
Sam Lantinga <slouken@libsdl.org>
parents: 1379
diff changeset
255 #endif
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
256 #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
257 #define SDL_stack_alloc(type, count) (type*)alloca(sizeof(type)*(count))
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
258 #define SDL_stack_free(data)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
259 #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
260 #define SDL_stack_alloc(type, count) (type*)SDL_malloc(sizeof(type)*(count))
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
261 #define SDL_stack_free(data) SDL_free(data)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
262 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
263
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
264 #ifdef HAVE_GETENV
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
265 #define SDL_getenv getenv
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
266 #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
267 extern DECLSPEC char *SDLCALL SDL_getenv(const char *name);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
268 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
269
3581
15eea7a1fa97 Implemented SDL_setenv(), moved SDL_putenv() to compat.
Ryan C. Gordon <icculus@icculus.org>
parents: 3567
diff changeset
270 /* SDL_putenv() has moved to SDL_compat. */
15eea7a1fa97 Implemented SDL_setenv(), moved SDL_putenv() to compat.
Ryan C. Gordon <icculus@icculus.org>
parents: 3567
diff changeset
271 #ifdef HAVE_SETENV
15eea7a1fa97 Implemented SDL_setenv(), moved SDL_putenv() to compat.
Ryan C. Gordon <icculus@icculus.org>
parents: 3567
diff changeset
272 #define SDL_setenv setenv
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
273 #else
3581
15eea7a1fa97 Implemented SDL_setenv(), moved SDL_putenv() to compat.
Ryan C. Gordon <icculus@icculus.org>
parents: 3567
diff changeset
274 extern DECLSPEC int SDLCALL SDL_setenv(const char *name, const char *value,
15eea7a1fa97 Implemented SDL_setenv(), moved SDL_putenv() to compat.
Ryan C. Gordon <icculus@icculus.org>
parents: 3567
diff changeset
275 int overwrite);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
276 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
277
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
278 #ifdef HAVE_QSORT
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
279 #define SDL_qsort qsort
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
280 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
281 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
282 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
283 const void *));
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
284 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
285
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
286 #ifdef HAVE_ABS
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
287 #define SDL_abs abs
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
288 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
289 #define SDL_abs(X) ((X) < 0 ? -(X) : (X))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
290 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
291
1379
c0a74f199ecf Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents: 1368
diff changeset
292 #define SDL_min(x, y) (((x) < (y)) ? (x) : (y))
c0a74f199ecf Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents: 1368
diff changeset
293 #define SDL_max(x, y) (((x) > (y)) ? (x) : (y))
c0a74f199ecf Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents: 1368
diff changeset
294
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
295 #ifdef HAVE_CTYPE_H
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
296 #define SDL_isdigit(X) isdigit(X)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
297 #define SDL_isspace(X) isspace(X)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
298 #define SDL_toupper(X) toupper(X)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
299 #define SDL_tolower(X) tolower(X)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
300 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
301 #define SDL_isdigit(X) (((X) >= '0') && ((X) <= '9'))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
302 #define SDL_isspace(X) (((X) == ' ') || ((X) == '\t') || ((X) == '\r') || ((X) == '\n'))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
303 #define SDL_toupper(X) (((X) >= 'a') && ((X) <= 'z') ? ('A'+((X)-'a')) : (X))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
304 #define SDL_tolower(X) (((X) >= 'A') && ((X) <= 'Z') ? ('a'+((X)-'A')) : (X))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
305 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
306
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
307 #ifdef HAVE_MEMSET
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
308 #define SDL_memset memset
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
309 #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
310 extern DECLSPEC void *SDLCALL SDL_memset(void *dst, int c, size_t len);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
311 #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
312 #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
313 #define SDL_zerop(x) SDL_memset((x), 0, sizeof(*(x)))
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
314
2157
75a6c5deba84 Fixed bug #451
Sam Lantinga <slouken@libsdl.org>
parents: 2143
diff changeset
315 #if defined(__GNUC__) && defined(i386)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
316 #define SDL_memset4(dst, val, len) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
317 do { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
318 int u0, u1, u2; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
319 __asm__ __volatile__ ( \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
320 "cld\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
321 "rep ; stosl\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
322 : "=&D" (u0), "=&a" (u1), "=&c" (u2) \
3067
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
323 : "0" (dst), "1" (val), "2" (SDL_static_cast(Uint32, len)) \
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
324 : "memory" ); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
325 } while(0)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
326 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
327 #ifndef SDL_memset4
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
328 #define SDL_memset4(dst, val, len) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
329 do { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
330 unsigned _count = (len); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
331 unsigned _n = (_count + 3) / 4; \
3067
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
332 Uint32 *_p = SDL_static_cast(Uint32 *, dst); \
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
333 Uint32 _val = (val); \
3234
f8c02d0560d5 Fixed bug #746
Sam Lantinga <slouken@libsdl.org>
parents: 3067
diff changeset
334 if (len == 0) break; \
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
335 switch (_count % 4) { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
336 case 0: do { *_p++ = _val; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
337 case 3: *_p++ = _val; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
338 case 2: *_p++ = _val; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
339 case 1: *_p++ = _val; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
340 } while ( --_n ); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
341 } \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
342 } while(0)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
343 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
344
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
345 /* 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
346 #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
347 #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
348 #elif defined(__GNUC__) && defined(i386)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
349 #define SDL_memcpy(dst, src, len) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
350 do { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
351 int u0, u1, u2; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
352 __asm__ __volatile__ ( \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
353 "cld\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
354 "rep ; movsl\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
355 "testb $2,%b4\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
356 "je 1f\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
357 "movsw\n" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
358 "1:\ttestb $1,%b4\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
359 "je 2f\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
360 "movsb\n" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
361 "2:" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
362 : "=&c" (u0), "=&D" (u1), "=&S" (u2) \
3067
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
363 : "0" (SDL_static_cast(unsigned, len)/4), "q" (len), "1" (dst),"2" (src) \
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
364 : "memory" ); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
365 } while(0)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
366 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
367 #ifndef SDL_memcpy
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
368 #ifdef HAVE_MEMCPY
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
369 #define SDL_memcpy memcpy
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
370 #elif defined(HAVE_BCOPY)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
371 #define SDL_memcpy(d, s, n) bcopy((s), (d), (n))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
372 #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
373 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
374 size_t len);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
375 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
376 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
377
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
378 /* 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
379 #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
380 #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
381 #elif defined(__GNUC__) && defined(i386)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
382 #define SDL_memcpy4(dst, src, len) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
383 do { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
384 int ecx, edi, esi; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
385 __asm__ __volatile__ ( \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
386 "cld\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
387 "rep ; movsl" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
388 : "=&c" (ecx), "=&D" (edi), "=&S" (esi) \
3067
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
389 : "0" (SDL_static_cast(unsigned, len)), "1" (dst), "2" (src) \
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
390 : "memory" ); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
391 } while(0)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
392 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
393 #ifndef SDL_memcpy4
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
394 #define SDL_memcpy4(dst, src, len) SDL_memcpy(dst, src, (len) << 2)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
395 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
396
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
397 #if defined(__GNUC__) && defined(i386)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
398 #define SDL_revcpy(dst, src, len) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
399 do { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
400 int u0, u1, u2; \
3067
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
401 char *dstp = SDL_static_cast(char *, dst); \
bcd41b269091 Fixed bug #537
Sam Lantinga <slouken@libsdl.org>
parents: 3032
diff changeset
402 char *srcp = SDL_static_cast(char *, src); \
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
403 int n = (len); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
404 if ( n >= 4 ) { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
405 __asm__ __volatile__ ( \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
406 "std\n\t" \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
407 "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
408 "cld\n\t" \
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
409 : "=&c" (u0), "=&D" (u1), "=&S" (u2) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
410 : "0" (n >> 2), \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
411 "1" (dstp+(n-4)), "2" (srcp+(n-4)) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
412 : "memory" ); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
413 } \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
414 switch (n & 3) { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
415 case 3: dstp[2] = srcp[2]; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
416 case 2: dstp[1] = srcp[1]; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
417 case 1: dstp[0] = srcp[0]; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
418 break; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
419 default: \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
420 break; \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
421 } \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
422 } while(0)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
423 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
424 #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
425 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
426 size_t len);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
427 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
428
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
429 #ifdef HAVE_MEMMOVE
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
430 #define SDL_memmove memmove
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
431 #elif defined(HAVE_BCOPY)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
432 #define SDL_memmove(d, s, n) bcopy((s), (d), (n))
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
433 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
434 #define SDL_memmove(dst, src, len) \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
435 do { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
436 if ( dst < src ) { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
437 SDL_memcpy(dst, src, len); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
438 } else { \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
439 SDL_revcpy(dst, src, len); \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
440 } \
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
441 } while(0)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
442 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
443
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
444 #ifdef HAVE_MEMCMP
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
445 #define SDL_memcmp memcmp
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
446 #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
447 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
448 size_t len);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
449 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
450
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
451 #ifdef HAVE_STRLEN
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
452 #define SDL_strlen strlen
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
453 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
454 extern DECLSPEC size_t SDLCALL SDL_strlen(const char *string);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
455 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
456
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
457 #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
458 #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
459 #else
2735
204be4fc2726 Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents: 2707
diff changeset
460 #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
461 #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
462 #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
463 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
464 #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
465
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
466 #ifdef HAVE_STRLCPY
1379
c0a74f199ecf Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents: 1368
diff changeset
467 #define SDL_strlcpy strlcpy
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
468 #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
469 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
470 size_t maxlen);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
471 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
472
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
473 #ifdef HAVE_STRLCAT
1379
c0a74f199ecf Use only safe string functions
Sam Lantinga <slouken@libsdl.org>
parents: 1368
diff changeset
474 #define SDL_strlcat strlcat
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
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 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
477 size_t maxlen);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
478 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
479
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
480 #ifdef HAVE_STRDUP
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
481 #define SDL_strdup strdup
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
482 #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
483 extern DECLSPEC char *SDLCALL SDL_strdup(const char *string);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
484 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
485
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
486 #ifdef HAVE__STRREV
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
487 #define SDL_strrev _strrev
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
488 #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
489 extern DECLSPEC char *SDLCALL SDL_strrev(char *string);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
490 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
491
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
492 #ifdef HAVE__STRUPR
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
493 #define SDL_strupr _strupr
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
494 #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
495 extern DECLSPEC char *SDLCALL SDL_strupr(char *string);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
496 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
497
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
498 #ifdef HAVE__STRLWR
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
499 #define SDL_strlwr _strlwr
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
500 #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
501 extern DECLSPEC char *SDLCALL SDL_strlwr(char *string);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
502 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
503
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
504 #ifdef HAVE_STRCHR
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
505 #define SDL_strchr strchr
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
506 #elif defined(HAVE_INDEX)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
507 #define SDL_strchr index
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
508 #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
509 extern DECLSPEC char *SDLCALL SDL_strchr(const char *string, int c);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
510 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
511
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
512 #ifdef HAVE_STRRCHR
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
513 #define SDL_strrchr strrchr
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
514 #elif defined(HAVE_RINDEX)
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
515 #define SDL_strrchr rindex
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
516 #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
517 extern DECLSPEC char *SDLCALL SDL_strrchr(const char *string, int c);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
518 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
519
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
520 #ifdef HAVE_STRSTR
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
521 #define SDL_strstr strstr
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
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_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
524 const char *needle);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
525 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
526
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
527 #ifdef HAVE_ITOA
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
528 #define SDL_itoa itoa
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
529 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
530 #define SDL_itoa(value, string, radix) SDL_ltoa((long)value, string, radix)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
531 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
532
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
533 #ifdef HAVE__LTOA
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
534 #define SDL_ltoa _ltoa
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
535 #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
536 extern DECLSPEC char *SDLCALL SDL_ltoa(long value, char *string, int radix);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
537 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
538
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
539 #ifdef HAVE__UITOA
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
540 #define SDL_uitoa _uitoa
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
541 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
542 #define SDL_uitoa(value, string, radix) SDL_ultoa((long)value, string, radix)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
543 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
544
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
545 #ifdef HAVE__ULTOA
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
546 #define SDL_ultoa _ultoa
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
547 #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
548 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
549 int radix);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
550 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
551
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
552 #ifdef HAVE_STRTOL
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
553 #define SDL_strtol strtol
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
554 #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
555 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
556 int base);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
557 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
558
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
559 #ifdef HAVE_STRTOUL
1456
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
560 #define SDL_strtoul strtoul
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
561 #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
562 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
563 char **endp, int base);
1456
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
564 #endif
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
565
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
566 #ifdef SDL_HAS_64BIT_TYPE
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
567
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
568 #ifdef HAVE__I64TOA
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
569 #define SDL_lltoa _i64toa
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
570 #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
571 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
572 int radix);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
573 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
574
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
575 #ifdef HAVE__UI64TOA
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
576 #define SDL_ulltoa _ui64toa
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
577 #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
578 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
579 int radix);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
580 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
581
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
582 #ifdef HAVE_STRTOLL
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
583 #define SDL_strtoll strtoll
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
584 #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
585 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
586 int base);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
587 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
588
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
589 #ifdef HAVE_STRTOULL
1456
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
590 #define SDL_strtoull strtoull
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
591 #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
592 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
593 int base);
1456
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
594 #endif
84de7511f79f Fixed a bunch of 64-bit compatibility problems
Sam Lantinga <slouken@libsdl.org>
parents: 1422
diff changeset
595
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
596 #endif /* SDL_HAS_64BIT_TYPE */
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
597
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
598 #ifdef HAVE_STRTOD
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
599 #define SDL_strtod strtod
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
600 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
601 extern DECLSPEC double SDLCALL SDL_strtod(const char *string, char **endp);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
602 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
603
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
604 #ifdef HAVE_ATOI
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
605 #define SDL_atoi atoi
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
606 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
607 #define SDL_atoi(X) SDL_strtol(X, NULL, 0)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
608 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
609
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
610 #ifdef HAVE_ATOF
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
611 #define SDL_atof atof
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
612 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
613 #define SDL_atof(X) SDL_strtod(X, NULL)
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
614 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
615
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
616 #ifdef HAVE_STRCMP
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
617 #define SDL_strcmp strcmp
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
618 #else
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
619 extern DECLSPEC int SDLCALL SDL_strcmp(const char *str1, const char *str2);
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
620 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
621
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
622 #ifdef HAVE_STRNCMP
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
623 #define SDL_strncmp strncmp
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
624 #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
625 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
626 size_t maxlen);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
627 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
628
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
629 #ifdef HAVE_STRCASECMP
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
630 #define SDL_strcasecmp strcasecmp
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
631 #elif defined(HAVE__STRICMP)
1510
720f8bb49d7d Win32 fixes
Sam Lantinga <slouken@libsdl.org>
parents: 1501
diff changeset
632 #define SDL_strcasecmp _stricmp
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
633 #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
634 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
635 const char *str2);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
636 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
637
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
638 #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
639 #define SDL_strncasecmp strncasecmp
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
640 #elif defined(HAVE__STRNICMP)
1512
845b1619c8f6 Added _strnicmp support
Sam Lantinga <slouken@libsdl.org>
parents: 1510
diff changeset
641 #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
642 #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
643 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
644 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
645 #endif
73dc5d39bbf8 Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents: 1456
diff changeset
646
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
647 #ifdef HAVE_SSCANF
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
648 #define SDL_sscanf sscanf
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
649 #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
650 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
651 ...);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
652 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
653
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
654 #ifdef HAVE_SNPRINTF
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
655 #define SDL_snprintf snprintf
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
656 #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
657 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
658 const char *fmt, ...);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
659 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
660
1626
a80e1e0880b8 Fixed bug #176
Sam Lantinga <slouken@libsdl.org>
parents: 1512
diff changeset
661 #ifdef HAVE_VSNPRINTF
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
662 #define SDL_vsnprintf vsnprintf
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
663 #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
664 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
665 const char *fmt, va_list ap);
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
666 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
667
3012
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
668 #ifndef HAVE_M_PI
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
669 #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
670 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
671
3032
77c3e67f0740 Fixed Visual C++ build
Sam Lantinga <slouken@libsdl.org>
parents: 3012
diff changeset
672 #ifdef HAVE_CEIL
77c3e67f0740 Fixed Visual C++ build
Sam Lantinga <slouken@libsdl.org>
parents: 3012
diff changeset
673 #define SDL_ceil ceil
77c3e67f0740 Fixed Visual C++ build
Sam Lantinga <slouken@libsdl.org>
parents: 3012
diff changeset
674 #else
77c3e67f0740 Fixed Visual C++ build
Sam Lantinga <slouken@libsdl.org>
parents: 3012
diff changeset
675 #define SDL_ceil(x) ((double)(int)((x)+0.5))
77c3e67f0740 Fixed Visual C++ build
Sam Lantinga <slouken@libsdl.org>
parents: 3012
diff changeset
676 #endif
77c3e67f0740 Fixed Visual C++ build
Sam Lantinga <slouken@libsdl.org>
parents: 3012
diff changeset
677
3012
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
678 #ifdef HAVE_COPYSIGN
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
679 #define SDL_copysign copysign
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
680 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
681 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
682 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
683
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
684 #ifdef HAVE_COS
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
685 #define SDL_cos cos
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
686 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
687 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
688 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
689
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
690 #ifdef HAVE_COSF
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
691 #define SDL_cosf cosf
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
692 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
693 #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
694 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
695
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
696 #ifdef HAVE_FABS
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
697 #define SDL_fabs fabs
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
698 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
699 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
700 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
701
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
702 #ifdef HAVE_FLOOR
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
703 #define SDL_floor floor
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
704 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
705 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
706 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
707
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
708 #ifdef HAVE_LOG
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
709 #define SDL_log log
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
710 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
711 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
712 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
713
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
714 #ifdef HAVE_POW
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
715 #define SDL_pow pow
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
716 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
717 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
718 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
719
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
720 #ifdef HAVE_SCALBN
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
721 #define SDL_scalbn scalbn
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
722 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
723 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
724 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
725
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
726 #ifdef HAVE_SIN
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
727 #define SDL_sin sin
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
728 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
729 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
730 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
731
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
732 #ifdef HAVE_SINF
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
733 #define SDL_sinf sinf
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
734 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
735 #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
736 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
737
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
738 #ifdef HAVE_SQRT
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
739 #define SDL_sqrt sqrt
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
740 #else
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
741 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
742 #endif
7e30c2dc7783 Fixed Visual C++ release build for Visual C++ 2005
Sam Lantinga <slouken@libsdl.org>
parents: 2859
diff changeset
743
1501
73dc5d39bbf8 Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents: 1456
diff changeset
744 /* 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
745 #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
746 #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
747 #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
748 #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
749
3295
4ff84e8939c1 Whoops, need both the header and the library!
Sam Lantinga <slouken@libsdl.org>
parents: 3294
diff changeset
750 #if defined(HAVE_ICONV) && defined(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
751 #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
752 #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
753 #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
754 #else
73dc5d39bbf8 Added UTF-8 <-> UTF-16 <-> UTF-32 <-> UCS-2 <-> UCS-4 conversion capability
Sam Lantinga <slouken@libsdl.org>
parents: 1456
diff changeset
755 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
756 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
757 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
758 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
759 #endif
0313af081a84 Merge iconv const changes from 1.2
Sam Lantinga <slouken@libsdl.org>
parents: 2111
diff changeset
760 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
761 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
762 size_t * outbytesleft);
3407
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
763 /**
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
764 * This function converts a string between encodings in one pass, returning a
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
765 * string that must be freed with SDL_free() or NULL on error.
d3baf5ac4e37 Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents: 3365
diff changeset
766 */
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
767 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
768 const char *fromcode,
2135
0313af081a84 Merge iconv const changes from 1.2
Sam Lantinga <slouken@libsdl.org>
parents: 2111
diff changeset
769 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
770 size_t inbytesleft);
2143
e906da4414a3 Fix for bug #447 merged from SDL 1.2
Sam Lantinga <slouken@libsdl.org>
parents: 2142
diff changeset
771 #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
772 #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
773 #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
774
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
775 /* Ends C function definitions when using C++ */
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
776 #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
777 /* *INDENT-OFF* */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
778 }
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
779 /* *INDENT-ON* */
1357
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
780 #endif
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
781 #include "close_code.h"
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
782
e18467d67cfd Whoops, need this. :)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
783 #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
784
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
785 /* vi: set ts=4 sw=4 expandtab: */