gosu 0.7.45 → 0.7.46

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/COPYING +6 -11
  2. data/Gosu/{ButtonsWin.hpp → Buttons.hpp} +91 -4
  3. data/Gosu/ButtonsMac.hpp +91 -4
  4. data/Gosu/Graphics.hpp +10 -0
  5. data/Gosu/ImageData.hpp +1 -0
  6. data/Gosu/Input.hpp +2 -3
  7. data/Gosu/Version.hpp +2 -2
  8. data/Gosu/Window.hpp +1 -1
  9. data/GosuImpl/Audio/AudioToolboxFile.hpp +4 -0
  10. data/GosuImpl/Graphics/BitmapApple.mm +5 -11
  11. data/GosuImpl/Graphics/ClipRectStack.hpp +2 -2
  12. data/GosuImpl/Graphics/Common.hpp +1 -1
  13. data/GosuImpl/Graphics/DrawOpQueue.hpp +30 -29
  14. data/GosuImpl/Graphics/Graphics.cpp +2 -3
  15. data/GosuImpl/Graphics/TextMac.cpp +9 -5
  16. data/GosuImpl/Graphics/TextTouch.mm +8 -4
  17. data/GosuImpl/Graphics/Texture.cpp +4 -1
  18. data/GosuImpl/InputMac.mm +24 -45
  19. data/GosuImpl/InputX.cpp +25 -39
  20. data/GosuImpl/RubyGosu.swg +11 -0
  21. data/GosuImpl/RubyGosu_wrap.cxx +109 -40
  22. data/GosuImpl/RubyGosu_wrap.h +1 -1
  23. data/GosuImpl/TextInputWin.cpp +1 -1
  24. data/GosuImpl/TextInputX.cpp +3 -1
  25. data/GosuImpl/WinMain.cpp +3 -4
  26. data/GosuImpl/WindowMac.mm +83 -73
  27. data/GosuImpl/WindowWin.cpp +65 -58
  28. data/dependencies/libogg/AUTHORS +4 -0
  29. data/dependencies/libogg/CHANGES +70 -0
  30. data/dependencies/libogg/COPYING +28 -0
  31. data/dependencies/libogg/include/ogg/ogg.h +209 -0
  32. data/dependencies/libogg/include/ogg/os_types.h +147 -0
  33. data/dependencies/libogg/src/bitwise.c +857 -0
  34. data/dependencies/libogg/src/framing.c +2089 -0
  35. data/dependencies/libvorbis/AUTHORS +3 -0
  36. data/dependencies/libvorbis/CHANGES +126 -0
  37. data/dependencies/libvorbis/COPYING +28 -0
  38. data/dependencies/libvorbis/include/vorbis/codec.h +243 -0
  39. data/dependencies/libvorbis/include/vorbis/vorbisenc.h +436 -0
  40. data/dependencies/libvorbis/include/vorbis/vorbisfile.h +206 -0
  41. data/dependencies/libvorbis/lib/analysis.c +120 -0
  42. data/dependencies/libvorbis/lib/backends.h +144 -0
  43. data/dependencies/libvorbis/lib/barkmel.c +64 -0
  44. data/dependencies/libvorbis/lib/bitrate.c +253 -0
  45. data/dependencies/libvorbis/lib/bitrate.h +59 -0
  46. data/dependencies/libvorbis/lib/block.c +1046 -0
  47. data/dependencies/libvorbis/lib/books/coupled/res_books_51.h +12257 -0
  48. data/dependencies/libvorbis/lib/books/coupled/res_books_stereo.h +15783 -0
  49. data/dependencies/libvorbis/lib/books/floor/floor_books.h +1547 -0
  50. data/dependencies/libvorbis/lib/books/uncoupled/res_books_uncoupled.h +7758 -0
  51. data/dependencies/libvorbis/lib/codebook.c +479 -0
  52. data/dependencies/libvorbis/lib/codebook.h +119 -0
  53. data/dependencies/libvorbis/lib/codec_internal.h +167 -0
  54. data/dependencies/libvorbis/lib/envelope.c +375 -0
  55. data/dependencies/libvorbis/lib/envelope.h +80 -0
  56. data/dependencies/libvorbis/lib/floor0.c +222 -0
  57. data/dependencies/libvorbis/lib/floor1.c +1099 -0
  58. data/dependencies/libvorbis/lib/highlevel.h +58 -0
  59. data/dependencies/libvorbis/lib/info.c +664 -0
  60. data/dependencies/libvorbis/lib/lookup.c +94 -0
  61. data/dependencies/libvorbis/lib/lookup.h +32 -0
  62. data/dependencies/libvorbis/lib/lookup_data.h +192 -0
  63. data/dependencies/libvorbis/lib/lpc.c +160 -0
  64. data/dependencies/libvorbis/lib/lpc.h +29 -0
  65. data/dependencies/libvorbis/lib/lsp.c +456 -0
  66. data/dependencies/libvorbis/lib/lsp.h +28 -0
  67. data/dependencies/libvorbis/lib/mapping0.c +816 -0
  68. data/dependencies/libvorbis/lib/masking.h +785 -0
  69. data/dependencies/libvorbis/lib/mdct.c +563 -0
  70. data/dependencies/libvorbis/lib/mdct.h +71 -0
  71. data/dependencies/libvorbis/lib/misc.h +57 -0
  72. data/dependencies/libvorbis/lib/modes/floor_all.h +260 -0
  73. data/dependencies/libvorbis/lib/modes/psych_11.h +51 -0
  74. data/dependencies/libvorbis/lib/modes/psych_16.h +133 -0
  75. data/dependencies/libvorbis/lib/modes/psych_44.h +642 -0
  76. data/dependencies/libvorbis/lib/modes/psych_8.h +101 -0
  77. data/dependencies/libvorbis/lib/modes/residue_16.h +163 -0
  78. data/dependencies/libvorbis/lib/modes/residue_44.h +292 -0
  79. data/dependencies/libvorbis/lib/modes/residue_44p51.h +451 -0
  80. data/dependencies/libvorbis/lib/modes/residue_44u.h +318 -0
  81. data/dependencies/libvorbis/lib/modes/residue_8.h +109 -0
  82. data/dependencies/libvorbis/lib/modes/setup_11.h +143 -0
  83. data/dependencies/libvorbis/lib/modes/setup_16.h +153 -0
  84. data/dependencies/libvorbis/lib/modes/setup_22.h +128 -0
  85. data/dependencies/libvorbis/lib/modes/setup_32.h +132 -0
  86. data/dependencies/libvorbis/lib/modes/setup_44.h +117 -0
  87. data/dependencies/libvorbis/lib/modes/setup_44p51.h +74 -0
  88. data/dependencies/libvorbis/lib/modes/setup_44u.h +74 -0
  89. data/dependencies/libvorbis/lib/modes/setup_8.h +149 -0
  90. data/dependencies/libvorbis/lib/modes/setup_X.h +225 -0
  91. data/dependencies/libvorbis/lib/os.h +186 -0
  92. data/dependencies/libvorbis/lib/psy.c +1203 -0
  93. data/dependencies/libvorbis/lib/psy.h +154 -0
  94. data/dependencies/libvorbis/lib/psytune.c +524 -0
  95. data/dependencies/libvorbis/lib/registry.c +45 -0
  96. data/dependencies/libvorbis/lib/registry.h +32 -0
  97. data/dependencies/libvorbis/lib/res0.c +889 -0
  98. data/dependencies/libvorbis/lib/scales.h +90 -0
  99. data/dependencies/libvorbis/lib/sharedbook.c +579 -0
  100. data/dependencies/libvorbis/lib/smallft.c +1255 -0
  101. data/dependencies/libvorbis/lib/smallft.h +34 -0
  102. data/dependencies/libvorbis/lib/synthesis.c +184 -0
  103. data/dependencies/libvorbis/lib/tone.c +54 -0
  104. data/dependencies/libvorbis/lib/vorbisenc.c +1215 -0
  105. data/dependencies/libvorbis/lib/vorbisfile.c +2337 -0
  106. data/dependencies/libvorbis/lib/window.c +2135 -0
  107. data/dependencies/libvorbis/lib/window.h +26 -0
  108. data/dependencies/ogg_vorbis.license +28 -0
  109. data/lib/gosu/swig_patches.rb +2 -2
  110. data/linux/extconf.rb +17 -3
  111. metadata +96 -17
  112. data/Gosu/ButtonsX.hpp +0 -141
  113. data/GosuImpl/Audio/AudioSDL.cpp +0 -315
@@ -0,0 +1,4 @@
1
+ Monty <monty@xiph.org>
2
+
3
+ and the rest of the Xiph.Org Foundation.
4
+
@@ -0,0 +1,70 @@
1
+ Version 1.2.2 (2010 December 07)
2
+
3
+ * Build fix (types correction) for Mac OS X
4
+ * Update win32 project files to Visual Studio 2008
5
+ * ogg_stream_pageout_fill documentation fix
6
+
7
+ Version 1.2.1 (2010 November 01)
8
+
9
+ * Various build updates (see SVN)
10
+ * Add ogg_stream_pageout_fill() to API to allow applications
11
+ greater explicit flexibility in page sizing.
12
+ * Documentation updates including multiplexing description,
13
+ terminology and API (incl. ogg_packet_clear(),
14
+ ogg_stream_pageout_fill())
15
+ * Correct possible buffer overwrite in stream encoding on 32 bit
16
+ when a single packet exceed 250MB.
17
+ * Correct read-buffer overrun [without side effects] under
18
+ similar circumstances.
19
+ * Update unit testing to work properly with new page spill
20
+ heuristic.
21
+
22
+ Version 1.2.0 (2010 March 25)
23
+
24
+ * Alter default flushing behavior to span less often and use larger page
25
+ sizes when packet sizes are large.
26
+ * Build fixes for additional compilers
27
+ * Documentation updates
28
+
29
+ Version 1.1.4 (2009 June 24)
30
+
31
+ * New async error reporting mechanism. Calls made after a fatal error are
32
+ now safely handled in the event an error code is ignored
33
+ * Added allocation checks useful to some embedded applications
34
+ * fix possible read past end of buffer when reading 0 bits
35
+ * Updates to API documentation
36
+ * Build fixes
37
+
38
+ Version 1.1.3 (2005 November 27)
39
+
40
+ * Correct a bug in the granulepos field of pages where no packet ends
41
+ * New VS2003 and XCode builds, minor fixes to other builds
42
+ * documentation fixes and cleanup
43
+
44
+ Version 1.1.2 (2004 September 23)
45
+
46
+ * fix a bug with multipage packet assembly after seek
47
+
48
+ Version 1.1.1 (2004 September 12)
49
+
50
+ * various bugfixes
51
+ * important bugfix for 64-bit platforms
52
+ * various portability fixes
53
+ * autotools cleanup from Thomas Vander Stichele
54
+ * Symbian OS build support from Colin Ward at CSIRO
55
+ * new multiplexed Ogg stream documentation
56
+
57
+ Version 1.1 (2003 November 17)
58
+
59
+ * big-endian bitpacker routines for Theora
60
+ * various portability fixes
61
+ * improved API documenation
62
+ * RFC 3533 documentation of the format by Silvia Pfeiffer at CSIRO
63
+ * RFC 3534 documentation of the application/ogg mime-type by Linus Walleij
64
+
65
+ Version 1.0 (2002 July 19)
66
+
67
+ * First stable release
68
+ * little-endian bitpacker routines for Vorbis
69
+ * basic Ogg bitstream sync and coding support
70
+
@@ -0,0 +1,28 @@
1
+ Copyright (c) 2002, Xiph.org Foundation
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions
5
+ are met:
6
+
7
+ - Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+
10
+ - Redistributions in binary form must reproduce the above copyright
11
+ notice, this list of conditions and the following disclaimer in the
12
+ documentation and/or other materials provided with the distribution.
13
+
14
+ - Neither the name of the Xiph.org Foundation nor the names of its
15
+ contributors may be used to endorse or promote products derived from
16
+ this software without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION
22
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,209 @@
1
+ /********************************************************************
2
+ * *
3
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7
+ * *
8
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
10
+ * *
11
+ ********************************************************************
12
+
13
+ function: toplevel libogg include
14
+ last mod: $Id: ogg.h 17571 2010-10-27 13:28:20Z xiphmont $
15
+
16
+ ********************************************************************/
17
+ #ifndef _OGG_H
18
+ #define _OGG_H
19
+
20
+ #ifdef __cplusplus
21
+ extern "C" {
22
+ #endif
23
+
24
+ #include <stddef.h>
25
+ #include <ogg/os_types.h>
26
+
27
+ typedef struct {
28
+ void *iov_base;
29
+ size_t iov_len;
30
+ } ogg_iovec_t;
31
+
32
+ typedef struct {
33
+ long endbyte;
34
+ int endbit;
35
+
36
+ unsigned char *buffer;
37
+ unsigned char *ptr;
38
+ long storage;
39
+ } oggpack_buffer;
40
+
41
+ /* ogg_page is used to encapsulate the data in one Ogg bitstream page *****/
42
+
43
+ typedef struct {
44
+ unsigned char *header;
45
+ long header_len;
46
+ unsigned char *body;
47
+ long body_len;
48
+ } ogg_page;
49
+
50
+ /* ogg_stream_state contains the current encode/decode state of a logical
51
+ Ogg bitstream **********************************************************/
52
+
53
+ typedef struct {
54
+ unsigned char *body_data; /* bytes from packet bodies */
55
+ long body_storage; /* storage elements allocated */
56
+ long body_fill; /* elements stored; fill mark */
57
+ long body_returned; /* elements of fill returned */
58
+
59
+
60
+ int *lacing_vals; /* The values that will go to the segment table */
61
+ ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
62
+ this way, but it is simple coupled to the
63
+ lacing fifo */
64
+ long lacing_storage;
65
+ long lacing_fill;
66
+ long lacing_packet;
67
+ long lacing_returned;
68
+
69
+ unsigned char header[282]; /* working space for header encode */
70
+ int header_fill;
71
+
72
+ int e_o_s; /* set when we have buffered the last packet in the
73
+ logical bitstream */
74
+ int b_o_s; /* set after we've written the initial page
75
+ of a logical bitstream */
76
+ long serialno;
77
+ long pageno;
78
+ ogg_int64_t packetno; /* sequence number for decode; the framing
79
+ knows where there's a hole in the data,
80
+ but we need coupling so that the codec
81
+ (which is in a separate abstraction
82
+ layer) also knows about the gap */
83
+ ogg_int64_t granulepos;
84
+
85
+ } ogg_stream_state;
86
+
87
+ /* ogg_packet is used to encapsulate the data and metadata belonging
88
+ to a single raw Ogg/Vorbis packet *************************************/
89
+
90
+ typedef struct {
91
+ unsigned char *packet;
92
+ long bytes;
93
+ long b_o_s;
94
+ long e_o_s;
95
+
96
+ ogg_int64_t granulepos;
97
+
98
+ ogg_int64_t packetno; /* sequence number for decode; the framing
99
+ knows where there's a hole in the data,
100
+ but we need coupling so that the codec
101
+ (which is in a separate abstraction
102
+ layer) also knows about the gap */
103
+ } ogg_packet;
104
+
105
+ typedef struct {
106
+ unsigned char *data;
107
+ int storage;
108
+ int fill;
109
+ int returned;
110
+
111
+ int unsynced;
112
+ int headerbytes;
113
+ int bodybytes;
114
+ } ogg_sync_state;
115
+
116
+ /* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
117
+
118
+ extern void oggpack_writeinit(oggpack_buffer *b);
119
+ extern int oggpack_writecheck(oggpack_buffer *b);
120
+ extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
121
+ extern void oggpack_writealign(oggpack_buffer *b);
122
+ extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
123
+ extern void oggpack_reset(oggpack_buffer *b);
124
+ extern void oggpack_writeclear(oggpack_buffer *b);
125
+ extern void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
126
+ extern void oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
127
+ extern long oggpack_look(oggpack_buffer *b,int bits);
128
+ extern long oggpack_look1(oggpack_buffer *b);
129
+ extern void oggpack_adv(oggpack_buffer *b,int bits);
130
+ extern void oggpack_adv1(oggpack_buffer *b);
131
+ extern long oggpack_read(oggpack_buffer *b,int bits);
132
+ extern long oggpack_read1(oggpack_buffer *b);
133
+ extern long oggpack_bytes(oggpack_buffer *b);
134
+ extern long oggpack_bits(oggpack_buffer *b);
135
+ extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
136
+
137
+ extern void oggpackB_writeinit(oggpack_buffer *b);
138
+ extern int oggpackB_writecheck(oggpack_buffer *b);
139
+ extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
140
+ extern void oggpackB_writealign(oggpack_buffer *b);
141
+ extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
142
+ extern void oggpackB_reset(oggpack_buffer *b);
143
+ extern void oggpackB_writeclear(oggpack_buffer *b);
144
+ extern void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
145
+ extern void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits);
146
+ extern long oggpackB_look(oggpack_buffer *b,int bits);
147
+ extern long oggpackB_look1(oggpack_buffer *b);
148
+ extern void oggpackB_adv(oggpack_buffer *b,int bits);
149
+ extern void oggpackB_adv1(oggpack_buffer *b);
150
+ extern long oggpackB_read(oggpack_buffer *b,int bits);
151
+ extern long oggpackB_read1(oggpack_buffer *b);
152
+ extern long oggpackB_bytes(oggpack_buffer *b);
153
+ extern long oggpackB_bits(oggpack_buffer *b);
154
+ extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
155
+
156
+ /* Ogg BITSTREAM PRIMITIVES: encoding **************************/
157
+
158
+ extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
159
+ extern int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov,
160
+ int count, long e_o_s, ogg_int64_t granulepos);
161
+ extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
162
+ extern int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill);
163
+ extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
164
+
165
+ /* Ogg BITSTREAM PRIMITIVES: decoding **************************/
166
+
167
+ extern int ogg_sync_init(ogg_sync_state *oy);
168
+ extern int ogg_sync_clear(ogg_sync_state *oy);
169
+ extern int ogg_sync_reset(ogg_sync_state *oy);
170
+ extern int ogg_sync_destroy(ogg_sync_state *oy);
171
+ extern int ogg_sync_check(ogg_sync_state *oy);
172
+
173
+ extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
174
+ extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
175
+ extern long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og);
176
+ extern int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
177
+ extern int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
178
+ extern int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
179
+ extern int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
180
+
181
+ /* Ogg BITSTREAM PRIMITIVES: general ***************************/
182
+
183
+ extern int ogg_stream_init(ogg_stream_state *os,int serialno);
184
+ extern int ogg_stream_clear(ogg_stream_state *os);
185
+ extern int ogg_stream_reset(ogg_stream_state *os);
186
+ extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
187
+ extern int ogg_stream_destroy(ogg_stream_state *os);
188
+ extern int ogg_stream_check(ogg_stream_state *os);
189
+ extern int ogg_stream_eos(ogg_stream_state *os);
190
+
191
+ extern void ogg_page_checksum_set(ogg_page *og);
192
+
193
+ extern int ogg_page_version(const ogg_page *og);
194
+ extern int ogg_page_continued(const ogg_page *og);
195
+ extern int ogg_page_bos(const ogg_page *og);
196
+ extern int ogg_page_eos(const ogg_page *og);
197
+ extern ogg_int64_t ogg_page_granulepos(const ogg_page *og);
198
+ extern int ogg_page_serialno(const ogg_page *og);
199
+ extern long ogg_page_pageno(const ogg_page *og);
200
+ extern int ogg_page_packets(const ogg_page *og);
201
+
202
+ extern void ogg_packet_clear(ogg_packet *op);
203
+
204
+
205
+ #ifdef __cplusplus
206
+ }
207
+ #endif
208
+
209
+ #endif /* _OGG_H */
@@ -0,0 +1,147 @@
1
+ /********************************************************************
2
+ * *
3
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7
+ * *
8
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
9
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
10
+ * *
11
+ ********************************************************************
12
+
13
+ function: #ifdef jail to whip a few platforms into the UNIX ideal.
14
+ last mod: $Id: os_types.h 17712 2010-12-03 17:10:02Z xiphmont $
15
+
16
+ ********************************************************************/
17
+ #ifndef _OS_TYPES_H
18
+ #define _OS_TYPES_H
19
+
20
+ /* make it easy on the folks that want to compile the libs with a
21
+ different malloc than stdlib */
22
+ #define _ogg_malloc malloc
23
+ #define _ogg_calloc calloc
24
+ #define _ogg_realloc realloc
25
+ #define _ogg_free free
26
+
27
+ #if defined(_WIN32)
28
+
29
+ # if defined(__CYGWIN__)
30
+ # include <stdint.h>
31
+ typedef int16_t ogg_int16_t;
32
+ typedef uint16_t ogg_uint16_t;
33
+ typedef int32_t ogg_int32_t;
34
+ typedef uint32_t ogg_uint32_t;
35
+ typedef int64_t ogg_int64_t;
36
+ typedef uint64_t ogg_uint64_t;
37
+ # elif defined(__MINGW32__)
38
+ # include <sys/types.h>
39
+ typedef short ogg_int16_t;
40
+ typedef unsigned short ogg_uint16_t;
41
+ typedef int ogg_int32_t;
42
+ typedef unsigned int ogg_uint32_t;
43
+ typedef long long ogg_int64_t;
44
+ typedef unsigned long long ogg_uint64_t;
45
+ # elif defined(__MWERKS__)
46
+ typedef long long ogg_int64_t;
47
+ typedef int ogg_int32_t;
48
+ typedef unsigned int ogg_uint32_t;
49
+ typedef short ogg_int16_t;
50
+ typedef unsigned short ogg_uint16_t;
51
+ # else
52
+ /* MSVC/Borland */
53
+ typedef __int64 ogg_int64_t;
54
+ typedef __int32 ogg_int32_t;
55
+ typedef unsigned __int32 ogg_uint32_t;
56
+ typedef __int16 ogg_int16_t;
57
+ typedef unsigned __int16 ogg_uint16_t;
58
+ # endif
59
+
60
+ #elif defined(__MACOS__)
61
+
62
+ # include <sys/types.h>
63
+ typedef SInt16 ogg_int16_t;
64
+ typedef UInt16 ogg_uint16_t;
65
+ typedef SInt32 ogg_int32_t;
66
+ typedef UInt32 ogg_uint32_t;
67
+ typedef SInt64 ogg_int64_t;
68
+
69
+ #elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
70
+
71
+ # include <inttypes.h>
72
+ typedef int16_t ogg_int16_t;
73
+ typedef uint16_t ogg_uint16_t;
74
+ typedef int32_t ogg_int32_t;
75
+ typedef uint32_t ogg_uint32_t;
76
+ typedef int64_t ogg_int64_t;
77
+
78
+ #elif defined(__HAIKU__)
79
+
80
+ /* Haiku */
81
+ # include <sys/types.h>
82
+ typedef short ogg_int16_t;
83
+ typedef unsigned short ogg_uint16_t;
84
+ typedef int ogg_int32_t;
85
+ typedef unsigned int ogg_uint32_t;
86
+ typedef long long ogg_int64_t;
87
+
88
+ #elif defined(__BEOS__)
89
+
90
+ /* Be */
91
+ # include <inttypes.h>
92
+ typedef int16_t ogg_int16_t;
93
+ typedef uint16_t ogg_uint16_t;
94
+ typedef int32_t ogg_int32_t;
95
+ typedef uint32_t ogg_uint32_t;
96
+ typedef int64_t ogg_int64_t;
97
+
98
+ #elif defined (__EMX__)
99
+
100
+ /* OS/2 GCC */
101
+ typedef short ogg_int16_t;
102
+ typedef unsigned short ogg_uint16_t;
103
+ typedef int ogg_int32_t;
104
+ typedef unsigned int ogg_uint32_t;
105
+ typedef long long ogg_int64_t;
106
+
107
+ #elif defined (DJGPP)
108
+
109
+ /* DJGPP */
110
+ typedef short ogg_int16_t;
111
+ typedef int ogg_int32_t;
112
+ typedef unsigned int ogg_uint32_t;
113
+ typedef long long ogg_int64_t;
114
+
115
+ #elif defined(R5900)
116
+
117
+ /* PS2 EE */
118
+ typedef long ogg_int64_t;
119
+ typedef int ogg_int32_t;
120
+ typedef unsigned ogg_uint32_t;
121
+ typedef short ogg_int16_t;
122
+
123
+ #elif defined(__SYMBIAN32__)
124
+
125
+ /* Symbian GCC */
126
+ typedef signed short ogg_int16_t;
127
+ typedef unsigned short ogg_uint16_t;
128
+ typedef signed int ogg_int32_t;
129
+ typedef unsigned int ogg_uint32_t;
130
+ typedef long long int ogg_int64_t;
131
+
132
+ #elif defined(__TMS320C6X__)
133
+
134
+ /* TI C64x compiler */
135
+ typedef signed short ogg_int16_t;
136
+ typedef unsigned short ogg_uint16_t;
137
+ typedef signed int ogg_int32_t;
138
+ typedef unsigned int ogg_uint32_t;
139
+ typedef long long int ogg_int64_t;
140
+
141
+ #else
142
+
143
+ # include <ogg/config_types.h>
144
+
145
+ #endif
146
+
147
+ #endif /* _OS_TYPES_H */