gosu 0.7.45 → 0.7.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 */