gosu 0.7.13.3 → 0.7.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (478) hide show
  1. data/Gosu/Audio.hpp +10 -4
  2. data/Gosu/Math.hpp +23 -10
  3. data/Gosu/Platform.hpp +2 -0
  4. data/Gosu/Version.hpp +9 -0
  5. data/GosuImpl/Audio/ALChannelManagement.hpp +13 -3
  6. data/GosuImpl/Audio/AudioFile.hpp +45 -0
  7. data/GosuImpl/Audio/AudioOpenAL.mm +533 -0
  8. data/GosuImpl/Audio/AudioToolboxFile.hpp +217 -0
  9. data/GosuImpl/Audio/OggFile.hpp +114 -0
  10. data/GosuImpl/AudioFmod.cpp +4 -0
  11. data/GosuImpl/AudioSDL.cpp +4 -0
  12. data/GosuImpl/Graphics/GosuView.mm +2 -2
  13. data/GosuImpl/Graphics/Texture.cpp +9 -4
  14. data/GosuImpl/Math.cpp +1 -1
  15. data/GosuImpl/RubyGosu.swg +10 -1
  16. data/GosuImpl/RubyGosu_wrap.cxx +175 -1416
  17. data/GosuImpl/RubyGosu_wrap.cxx.rej +187 -0
  18. data/GosuImpl/WinUtility.cpp +1 -1
  19. data/GosuImpl/WindowMac.mm +1 -0
  20. data/GosuImpl/WindowTouch.mm +1 -0
  21. data/README.txt +5 -5
  22. data/Rakefile +48 -9
  23. data/examples/media/Starfighter.bmp +0 -0
  24. data/linux/configure +1166 -975
  25. data/linux/configure.ac +14 -30
  26. data/linux/extconf.rb +2 -5
  27. data/mac/Gosu.xcodeproj/jlnr.pbxuser +330 -267
  28. data/mac/Gosu.xcodeproj/jlnr.perspectivev3 +48 -47
  29. data/mac/Gosu.xcodeproj/project.pbxproj +626 -74
  30. data/mac/RubyGosu App-Info.plist +1 -1
  31. data/reference/cpp/_audio_8hpp-source.html +81 -75
  32. data/reference/cpp/_math_8hpp-source.html +57 -48
  33. data/reference/cpp/_math_8hpp.html +7 -1
  34. data/reference/cpp/_platform_8hpp-source.html +58 -56
  35. data/reference/cpp/_platform_8hpp.html +21 -2
  36. data/reference/cpp/_version_8hpp-source.html +77 -0
  37. data/reference/cpp/_version_8hpp.html +153 -0
  38. data/reference/cpp/class_gosu_1_1_audio-members.html +1 -0
  39. data/reference/cpp/class_gosu_1_1_audio.html +22 -0
  40. data/reference/cpp/class_gosu_1_1_sample.html +1 -1
  41. data/reference/cpp/class_gosu_1_1_sample_instance.html +1 -1
  42. data/reference/cpp/class_gosu_1_1_song.html +2 -2
  43. data/reference/cpp/files.html +1 -0
  44. data/reference/cpp/functions_0x67.html +1 -3
  45. data/reference/cpp/functions_0x74.html +2 -2
  46. data/reference/cpp/functions_0x75.html +3 -2
  47. data/reference/cpp/functions_func_0x67.html +1 -3
  48. data/reference/cpp/functions_func_0x74.html +2 -2
  49. data/reference/cpp/functions_func_0x75.html +3 -2
  50. data/reference/cpp/globals.html +10 -0
  51. data/reference/cpp/globals_defs.html +10 -0
  52. data/reference/rdoc/classes/Gosu.html +1547 -0
  53. data/reference/rdoc/classes/Gosu/Color.html +563 -0
  54. data/reference/rdoc/classes/Gosu/Font.html +538 -0
  55. data/reference/rdoc/classes/Gosu/GLTexInfo.html +404 -0
  56. data/reference/rdoc/classes/Gosu/Image.html +702 -0
  57. data/reference/rdoc/classes/Gosu/Sample.html +469 -0
  58. data/reference/rdoc/classes/Gosu/SampleInstance.html +516 -0
  59. data/reference/rdoc/classes/Gosu/Song.html +561 -0
  60. data/reference/rdoc/classes/Gosu/TextInput.html +398 -0
  61. data/reference/rdoc/classes/Gosu/Window.html +913 -0
  62. data/reference/rdoc/classes/Numeric.html +416 -0
  63. data/reference/rdoc/created.rid +1 -0
  64. data/reference/rdoc/files/COPYING_txt.html +386 -0
  65. data/reference/rdoc/files/README_txt.html +381 -0
  66. data/reference/rdoc/files/reference/DeploymentOnOSX_rdoc.html +390 -0
  67. data/reference/rdoc/files/reference/DeploymentOnWindows_rdoc.html +392 -0
  68. data/reference/rdoc/files/reference/DrawingWithColors_rdoc.html +357 -0
  69. data/reference/rdoc/files/reference/OrderOfCorners_rdoc.html +352 -0
  70. data/reference/rdoc/files/reference/Tileability_rdoc.html +368 -0
  71. data/reference/rdoc/files/reference/ZOrdering_rdoc.html +355 -0
  72. data/reference/rdoc/files/reference/gosu_rb.html +342 -0
  73. data/reference/rdoc/fr_class_index.html +12 -0
  74. data/reference/rdoc/fr_file_index.html +10 -0
  75. data/reference/rdoc/fr_method_index.html +63 -0
  76. data/reference/rdoc/index.html +1 -0
  77. data/reference/rdoc/rdoc-style.css +318 -0
  78. data/windows/Gosu.vcproj +33 -33
  79. data/windows/RubyGosu.vcproj +2 -2
  80. metadata +36 -400
  81. data/GosuImpl/Audio/AudioFileMac.hpp +0 -105
  82. data/GosuImpl/AudioOpenAL.mm +0 -486
  83. data/mac/libboost_thread_1_34_1_universal.a +0 -0
  84. data/mac/libboost_thread_d_1_34_1_universal.a +0 -0
  85. data/mac/libfmod_universal.a +0 -0
  86. data/mac/libpng_universal.a +0 -0
  87. data/mac/libz_universal.a +0 -0
  88. data/windows/zlib, libpng/libpng/ANNOUNCE +0 -61
  89. data/windows/zlib, libpng/libpng/CHANGES +0 -2173
  90. data/windows/zlib, libpng/libpng/INSTALL +0 -199
  91. data/windows/zlib, libpng/libpng/KNOWNBUG +0 -22
  92. data/windows/zlib, libpng/libpng/LICENSE +0 -109
  93. data/windows/zlib, libpng/libpng/README +0 -264
  94. data/windows/zlib, libpng/libpng/TODO +0 -24
  95. data/windows/zlib, libpng/libpng/Y2KINFO +0 -55
  96. data/windows/zlib, libpng/libpng/configure +0 -13
  97. data/windows/zlib, libpng/libpng/contrib/gregbook/COPYING +0 -340
  98. data/windows/zlib, libpng/libpng/contrib/gregbook/LICENSE +0 -50
  99. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.mingw32 +0 -130
  100. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.sgi +0 -104
  101. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.unx +0 -132
  102. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.w32 +0 -113
  103. data/windows/zlib, libpng/libpng/contrib/gregbook/README +0 -186
  104. data/windows/zlib, libpng/libpng/contrib/gregbook/makevms.com +0 -132
  105. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.c +0 -304
  106. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.h +0 -88
  107. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.c +0 -645
  108. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.h +0 -121
  109. data/windows/zlib, libpng/libpng/contrib/gregbook/readppm.c +0 -179
  110. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-win.c +0 -684
  111. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-x.c +0 -904
  112. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-win.c +0 -1225
  113. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-x.c +0 -2127
  114. data/windows/zlib, libpng/libpng/contrib/gregbook/toucan.png +0 -0
  115. data/windows/zlib, libpng/libpng/contrib/gregbook/wpng.c +0 -853
  116. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.c +0 -392
  117. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.h +0 -133
  118. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/README +0 -6
  119. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/gather.sh +0 -8
  120. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/makefile.std +0 -44
  121. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/pngusr.h +0 -67
  122. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/README +0 -6
  123. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/dummy_inflate.c +0 -27
  124. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/gather.sh +0 -9
  125. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/makefile.std +0 -43
  126. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/pngusr.h +0 -66
  127. data/windows/zlib, libpng/libpng/contrib/pngminus/README +0 -153
  128. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.std +0 -65
  129. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.tc3 +0 -38
  130. data/windows/zlib, libpng/libpng/contrib/pngminus/makevms.com +0 -92
  131. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.bat +0 -41
  132. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.c +0 -430
  133. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.sh +0 -42
  134. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.bat +0 -4
  135. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.sh +0 -5
  136. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.bat +0 -41
  137. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.c +0 -533
  138. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.sh +0 -42
  139. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g01.png +0 -0
  140. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g02.png +0 -0
  141. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g04.png +0 -0
  142. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g08.png +0 -0
  143. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g16.png +0 -0
  144. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c08.png +0 -0
  145. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c16.png +0 -0
  146. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p01.png +0 -0
  147. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p02.png +0 -0
  148. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p04.png +0 -0
  149. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p08.png +0 -0
  150. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a08.png +0 -0
  151. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a16.png +0 -0
  152. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a08.png +0 -0
  153. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a16.png +0 -0
  154. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.c +0 -439
  155. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.h +0 -27
  156. data/windows/zlib, libpng/libpng/contrib/visupng/README.txt +0 -58
  157. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.c +0 -961
  158. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsp +0 -147
  159. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsw +0 -29
  160. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.ico +0 -0
  161. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.png +0 -0
  162. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.rc +0 -152
  163. data/windows/zlib, libpng/libpng/contrib/visupng/cexcept.h +0 -243
  164. data/windows/zlib, libpng/libpng/contrib/visupng/resource.h +0 -23
  165. data/windows/zlib, libpng/libpng/example.c +0 -814
  166. data/windows/zlib, libpng/libpng/libpng-1.2.29.txt +0 -2906
  167. data/windows/zlib, libpng/libpng/libpng.3 +0 -3680
  168. data/windows/zlib, libpng/libpng/libpngpf.3 +0 -274
  169. data/windows/zlib, libpng/libpng/png.5 +0 -74
  170. data/windows/zlib, libpng/libpng/png.c +0 -798
  171. data/windows/zlib, libpng/libpng/png.h +0 -3569
  172. data/windows/zlib, libpng/libpng/pngbar.jpg +0 -0
  173. data/windows/zlib, libpng/libpng/pngbar.png +0 -0
  174. data/windows/zlib, libpng/libpng/pngconf.h +0 -1481
  175. data/windows/zlib, libpng/libpng/pngerror.c +0 -343
  176. data/windows/zlib, libpng/libpng/pnggccrd.c +0 -103
  177. data/windows/zlib, libpng/libpng/pngget.c +0 -901
  178. data/windows/zlib, libpng/libpng/pngmem.c +0 -608
  179. data/windows/zlib, libpng/libpng/pngnow.png +0 -0
  180. data/windows/zlib, libpng/libpng/pngpread.c +0 -1598
  181. data/windows/zlib, libpng/libpng/pngread.c +0 -1479
  182. data/windows/zlib, libpng/libpng/pngrio.c +0 -167
  183. data/windows/zlib, libpng/libpng/pngrtran.c +0 -4292
  184. data/windows/zlib, libpng/libpng/pngrutil.c +0 -3183
  185. data/windows/zlib, libpng/libpng/pngset.c +0 -1268
  186. data/windows/zlib, libpng/libpng/pngtest.c +0 -1563
  187. data/windows/zlib, libpng/libpng/pngtest.png +0 -0
  188. data/windows/zlib, libpng/libpng/pngtrans.c +0 -662
  189. data/windows/zlib, libpng/libpng/pngvcrd.c +0 -1
  190. data/windows/zlib, libpng/libpng/pngwio.c +0 -234
  191. data/windows/zlib, libpng/libpng/pngwrite.c +0 -1532
  192. data/windows/zlib, libpng/libpng/pngwtran.c +0 -572
  193. data/windows/zlib, libpng/libpng/pngwutil.c +0 -2802
  194. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.proj +0 -0
  195. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.txt +0 -22
  196. data/windows/zlib, libpng/libpng/projects/beos/x86-static.proj +0 -0
  197. data/windows/zlib, libpng/libpng/projects/beos/x86-static.txt +0 -22
  198. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpf +0 -22
  199. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpg +0 -25
  200. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpr +0 -157
  201. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.cpp +0 -29
  202. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.readme.txt +0 -25
  203. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpf +0 -22
  204. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpr +0 -109
  205. data/windows/zlib, libpng/libpng/projects/cbuilder5/zlib.readme.txt +0 -14
  206. data/windows/zlib, libpng/libpng/projects/netware.txt +0 -6
  207. data/windows/zlib, libpng/libpng/projects/visualc6/README.txt +0 -57
  208. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsp +0 -472
  209. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsw +0 -59
  210. data/windows/zlib, libpng/libpng/projects/visualc6/pngtest.dsp +0 -314
  211. data/windows/zlib, libpng/libpng/projects/visualc71/PRJ0041.mak +0 -21
  212. data/windows/zlib, libpng/libpng/projects/visualc71/README.txt +0 -57
  213. data/windows/zlib, libpng/libpng/projects/visualc71/README_zlib.txt +0 -44
  214. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.sln +0 -88
  215. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.vcproj +0 -702
  216. data/windows/zlib, libpng/libpng/projects/visualc71/pngtest.vcproj +0 -459
  217. data/windows/zlib, libpng/libpng/projects/visualc71/zlib.vcproj +0 -670
  218. data/windows/zlib, libpng/libpng/projects/wince.txt +0 -6
  219. data/windows/zlib, libpng/libpng/scripts/CMakeLists.txt +0 -210
  220. data/windows/zlib, libpng/libpng/scripts/SCOPTIONS.ppc +0 -7
  221. data/windows/zlib, libpng/libpng/scripts/descrip.mms +0 -52
  222. data/windows/zlib, libpng/libpng/scripts/libpng-config-body.in +0 -96
  223. data/windows/zlib, libpng/libpng/scripts/libpng-config-head.in +0 -21
  224. data/windows/zlib, libpng/libpng/scripts/libpng-config.in +0 -124
  225. data/windows/zlib, libpng/libpng/scripts/libpng.icc +0 -44
  226. data/windows/zlib, libpng/libpng/scripts/libpng.pc-configure.in +0 -10
  227. data/windows/zlib, libpng/libpng/scripts/libpng.pc.in +0 -10
  228. data/windows/zlib, libpng/libpng/scripts/makefile.32sunu +0 -254
  229. data/windows/zlib, libpng/libpng/scripts/makefile.64sunu +0 -254
  230. data/windows/zlib, libpng/libpng/scripts/makefile.acorn +0 -51
  231. data/windows/zlib, libpng/libpng/scripts/makefile.aix +0 -113
  232. data/windows/zlib, libpng/libpng/scripts/makefile.amiga +0 -48
  233. data/windows/zlib, libpng/libpng/scripts/makefile.atari +0 -51
  234. data/windows/zlib, libpng/libpng/scripts/makefile.bc32 +0 -152
  235. data/windows/zlib, libpng/libpng/scripts/makefile.beos +0 -226
  236. data/windows/zlib, libpng/libpng/scripts/makefile.bor +0 -162
  237. data/windows/zlib, libpng/libpng/scripts/makefile.cygwin +0 -299
  238. data/windows/zlib, libpng/libpng/scripts/makefile.darwin +0 -234
  239. data/windows/zlib, libpng/libpng/scripts/makefile.dec +0 -214
  240. data/windows/zlib, libpng/libpng/scripts/makefile.dj2 +0 -55
  241. data/windows/zlib, libpng/libpng/scripts/makefile.elf +0 -275
  242. data/windows/zlib, libpng/libpng/scripts/makefile.freebsd +0 -48
  243. data/windows/zlib, libpng/libpng/scripts/makefile.gcc +0 -79
  244. data/windows/zlib, libpng/libpng/scripts/makefile.gcmmx +0 -271
  245. data/windows/zlib, libpng/libpng/scripts/makefile.hp64 +0 -235
  246. data/windows/zlib, libpng/libpng/scripts/makefile.hpgcc +0 -245
  247. data/windows/zlib, libpng/libpng/scripts/makefile.hpux +0 -232
  248. data/windows/zlib, libpng/libpng/scripts/makefile.ibmc +0 -71
  249. data/windows/zlib, libpng/libpng/scripts/makefile.intel +0 -102
  250. data/windows/zlib, libpng/libpng/scripts/makefile.knr +0 -99
  251. data/windows/zlib, libpng/libpng/scripts/makefile.linux +0 -249
  252. data/windows/zlib, libpng/libpng/scripts/makefile.mingw +0 -289
  253. data/windows/zlib, libpng/libpng/scripts/makefile.mips +0 -83
  254. data/windows/zlib, libpng/libpng/scripts/makefile.msc +0 -86
  255. data/windows/zlib, libpng/libpng/scripts/makefile.ne12bsd +0 -45
  256. data/windows/zlib, libpng/libpng/scripts/makefile.netbsd +0 -45
  257. data/windows/zlib, libpng/libpng/scripts/makefile.nommx +0 -252
  258. data/windows/zlib, libpng/libpng/scripts/makefile.openbsd +0 -73
  259. data/windows/zlib, libpng/libpng/scripts/makefile.os2 +0 -69
  260. data/windows/zlib, libpng/libpng/scripts/makefile.sco +0 -229
  261. data/windows/zlib, libpng/libpng/scripts/makefile.sggcc +0 -242
  262. data/windows/zlib, libpng/libpng/scripts/makefile.sgi +0 -245
  263. data/windows/zlib, libpng/libpng/scripts/makefile.so9 +0 -251
  264. data/windows/zlib, libpng/libpng/scripts/makefile.solaris +0 -249
  265. data/windows/zlib, libpng/libpng/scripts/makefile.solaris-x86 +0 -248
  266. data/windows/zlib, libpng/libpng/scripts/makefile.std +0 -92
  267. data/windows/zlib, libpng/libpng/scripts/makefile.sunos +0 -97
  268. data/windows/zlib, libpng/libpng/scripts/makefile.tc3 +0 -89
  269. data/windows/zlib, libpng/libpng/scripts/makefile.vcawin32 +0 -99
  270. data/windows/zlib, libpng/libpng/scripts/makefile.vcwin32 +0 -99
  271. data/windows/zlib, libpng/libpng/scripts/makefile.watcom +0 -109
  272. data/windows/zlib, libpng/libpng/scripts/makevms.com +0 -144
  273. data/windows/zlib, libpng/libpng/scripts/pngos2.def +0 -257
  274. data/windows/zlib, libpng/libpng/scripts/pngw32.def +0 -238
  275. data/windows/zlib, libpng/libpng/scripts/pngw32.rc +0 -112
  276. data/windows/zlib, libpng/libpng/scripts/smakefile.ppc +0 -30
  277. data/windows/zlib, libpng/zlib/ChangeLog +0 -855
  278. data/windows/zlib, libpng/zlib/FAQ +0 -339
  279. data/windows/zlib, libpng/zlib/INDEX +0 -51
  280. data/windows/zlib, libpng/zlib/Makefile +0 -154
  281. data/windows/zlib, libpng/zlib/Makefile.in +0 -154
  282. data/windows/zlib, libpng/zlib/README +0 -125
  283. data/windows/zlib, libpng/zlib/adler32.c +0 -149
  284. data/windows/zlib, libpng/zlib/algorithm.txt +0 -209
  285. data/windows/zlib, libpng/zlib/amiga/Makefile.pup +0 -66
  286. data/windows/zlib, libpng/zlib/amiga/Makefile.sas +0 -65
  287. data/windows/zlib, libpng/zlib/as400/bndsrc +0 -132
  288. data/windows/zlib, libpng/zlib/as400/compile.clp +0 -123
  289. data/windows/zlib, libpng/zlib/as400/readme.txt +0 -111
  290. data/windows/zlib, libpng/zlib/as400/zlib.inc +0 -331
  291. data/windows/zlib, libpng/zlib/compress.c +0 -79
  292. data/windows/zlib, libpng/zlib/configure +0 -459
  293. data/windows/zlib, libpng/zlib/contrib/README.contrib +0 -71
  294. data/windows/zlib, libpng/zlib/contrib/ada/buffer_demo.adb +0 -106
  295. data/windows/zlib, libpng/zlib/contrib/ada/mtest.adb +0 -156
  296. data/windows/zlib, libpng/zlib/contrib/ada/read.adb +0 -156
  297. data/windows/zlib, libpng/zlib/contrib/ada/readme.txt +0 -65
  298. data/windows/zlib, libpng/zlib/contrib/ada/test.adb +0 -463
  299. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.adb +0 -225
  300. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.ads +0 -114
  301. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.adb +0 -141
  302. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.ads +0 -450
  303. data/windows/zlib, libpng/zlib/contrib/ada/zlib.adb +0 -701
  304. data/windows/zlib, libpng/zlib/contrib/ada/zlib.ads +0 -328
  305. data/windows/zlib, libpng/zlib/contrib/ada/zlib.gpr +0 -20
  306. data/windows/zlib, libpng/zlib/contrib/asm586/README.586 +0 -43
  307. data/windows/zlib, libpng/zlib/contrib/asm586/match.S +0 -364
  308. data/windows/zlib, libpng/zlib/contrib/asm686/README.686 +0 -34
  309. data/windows/zlib, libpng/zlib/contrib/asm686/match.S +0 -329
  310. data/windows/zlib, libpng/zlib/contrib/blast/Makefile +0 -8
  311. data/windows/zlib, libpng/zlib/contrib/blast/README +0 -4
  312. data/windows/zlib, libpng/zlib/contrib/blast/blast.c +0 -444
  313. data/windows/zlib, libpng/zlib/contrib/blast/blast.h +0 -71
  314. data/windows/zlib, libpng/zlib/contrib/blast/test.pk +0 -0
  315. data/windows/zlib, libpng/zlib/contrib/blast/test.txt +0 -1
  316. data/windows/zlib, libpng/zlib/contrib/delphi/ZLib.pas +0 -557
  317. data/windows/zlib, libpng/zlib/contrib/delphi/ZLibConst.pas +0 -11
  318. data/windows/zlib, libpng/zlib/contrib/delphi/readme.txt +0 -76
  319. data/windows/zlib, libpng/zlib/contrib/delphi/zlibd32.mak +0 -93
  320. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.build +0 -33
  321. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  322. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.sln +0 -21
  323. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +0 -58
  324. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +0 -202
  325. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +0 -83
  326. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +0 -198
  327. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Deflater.cs +0 -106
  328. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +0 -288
  329. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +0 -141
  330. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +0 -301
  331. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Inflater.cs +0 -105
  332. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +0 -274
  333. data/windows/zlib, libpng/zlib/contrib/dotzlib/LICENSE_1_0.txt +0 -23
  334. data/windows/zlib, libpng/zlib/contrib/dotzlib/readme.txt +0 -58
  335. data/windows/zlib, libpng/zlib/contrib/infback9/README +0 -1
  336. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.c +0 -608
  337. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.h +0 -37
  338. data/windows/zlib, libpng/zlib/contrib/infback9/inffix9.h +0 -107
  339. data/windows/zlib, libpng/zlib/contrib/infback9/inflate9.h +0 -47
  340. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.c +0 -323
  341. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.h +0 -55
  342. data/windows/zlib, libpng/zlib/contrib/inflate86/inffas86.c +0 -1157
  343. data/windows/zlib, libpng/zlib/contrib/inflate86/inffast.S +0 -1368
  344. data/windows/zlib, libpng/zlib/contrib/iostream/test.cpp +0 -24
  345. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.cpp +0 -329
  346. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.h +0 -128
  347. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream.h +0 -307
  348. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream_test.cpp +0 -25
  349. data/windows/zlib, libpng/zlib/contrib/iostream3/README +0 -35
  350. data/windows/zlib, libpng/zlib/contrib/iostream3/TODO +0 -17
  351. data/windows/zlib, libpng/zlib/contrib/iostream3/test.cc +0 -50
  352. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.cc +0 -479
  353. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.h +0 -466
  354. data/windows/zlib, libpng/zlib/contrib/masm686/match.asm +0 -413
  355. data/windows/zlib, libpng/zlib/contrib/masmx64/bld_ml64.bat +0 -2
  356. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.asm +0 -513
  357. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.obj +0 -0
  358. data/windows/zlib, libpng/zlib/contrib/masmx64/inffas8664.c +0 -186
  359. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.asm +0 -392
  360. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.obj +0 -0
  361. data/windows/zlib, libpng/zlib/contrib/masmx64/readme.txt +0 -28
  362. data/windows/zlib, libpng/zlib/contrib/masmx86/bld_ml32.bat +0 -2
  363. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.asm +0 -972
  364. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.obj +0 -0
  365. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32c.c +0 -62
  366. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.asm +0 -1083
  367. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.obj +0 -0
  368. data/windows/zlib, libpng/zlib/contrib/masmx86/mkasm.bat +0 -3
  369. data/windows/zlib, libpng/zlib/contrib/masmx86/readme.txt +0 -21
  370. data/windows/zlib, libpng/zlib/contrib/minizip/ChangeLogUnzip +0 -67
  371. data/windows/zlib, libpng/zlib/contrib/minizip/Makefile +0 -25
  372. data/windows/zlib, libpng/zlib/contrib/minizip/crypt.h +0 -132
  373. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.c +0 -177
  374. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.h +0 -75
  375. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.c +0 -270
  376. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.h +0 -21
  377. data/windows/zlib, libpng/zlib/contrib/minizip/miniunz.c +0 -585
  378. data/windows/zlib, libpng/zlib/contrib/minizip/minizip.c +0 -420
  379. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.c +0 -281
  380. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.h +0 -31
  381. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.c +0 -1598
  382. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.h +0 -354
  383. data/windows/zlib, libpng/zlib/contrib/minizip/zip.c +0 -1219
  384. data/windows/zlib, libpng/zlib/contrib/minizip/zip.h +0 -235
  385. data/windows/zlib, libpng/zlib/contrib/pascal/example.pas +0 -599
  386. data/windows/zlib, libpng/zlib/contrib/pascal/readme.txt +0 -76
  387. data/windows/zlib, libpng/zlib/contrib/pascal/zlibd32.mak +0 -93
  388. data/windows/zlib, libpng/zlib/contrib/pascal/zlibpas.pas +0 -236
  389. data/windows/zlib, libpng/zlib/contrib/puff/Makefile +0 -8
  390. data/windows/zlib, libpng/zlib/contrib/puff/README +0 -63
  391. data/windows/zlib, libpng/zlib/contrib/puff/puff.c +0 -837
  392. data/windows/zlib, libpng/zlib/contrib/puff/puff.h +0 -31
  393. data/windows/zlib, libpng/zlib/contrib/puff/zeros.raw +0 -0
  394. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.c +0 -275
  395. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.txt +0 -10
  396. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile +0 -14
  397. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile.msc +0 -17
  398. data/windows/zlib, libpng/zlib/contrib/untgz/untgz.c +0 -674
  399. data/windows/zlib, libpng/zlib/contrib/vstudio/readme.txt +0 -73
  400. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/miniunz.vcproj +0 -126
  401. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/minizip.vcproj +0 -126
  402. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/testzlib.vcproj +0 -126
  403. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlib.rc +0 -32
  404. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibstat.vcproj +0 -246
  405. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.def +0 -92
  406. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.sln +0 -78
  407. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.vcproj +0 -445
  408. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/miniunz.vcproj +0 -566
  409. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/minizip.vcproj +0 -563
  410. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlib.vcproj +0 -948
  411. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlibdll.vcproj +0 -567
  412. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlib.rc +0 -32
  413. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibstat.vcproj +0 -870
  414. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.def +0 -92
  415. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.sln +0 -144
  416. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.vcproj +0 -1219
  417. data/windows/zlib, libpng/zlib/crc32.c +0 -423
  418. data/windows/zlib, libpng/zlib/crc32.h +0 -441
  419. data/windows/zlib, libpng/zlib/deflate.c +0 -1736
  420. data/windows/zlib, libpng/zlib/deflate.h +0 -331
  421. data/windows/zlib, libpng/zlib/example.c +0 -565
  422. data/windows/zlib, libpng/zlib/examples/README.examples +0 -42
  423. data/windows/zlib, libpng/zlib/examples/fitblk.c +0 -233
  424. data/windows/zlib, libpng/zlib/examples/gun.c +0 -693
  425. data/windows/zlib, libpng/zlib/examples/gzappend.c +0 -500
  426. data/windows/zlib, libpng/zlib/examples/gzjoin.c +0 -448
  427. data/windows/zlib, libpng/zlib/examples/gzlog.c +0 -413
  428. data/windows/zlib, libpng/zlib/examples/gzlog.h +0 -58
  429. data/windows/zlib, libpng/zlib/examples/zlib_how.html +0 -523
  430. data/windows/zlib, libpng/zlib/examples/zpipe.c +0 -191
  431. data/windows/zlib, libpng/zlib/examples/zran.c +0 -404
  432. data/windows/zlib, libpng/zlib/gzio.c +0 -1026
  433. data/windows/zlib, libpng/zlib/infback.c +0 -623
  434. data/windows/zlib, libpng/zlib/inffast.c +0 -318
  435. data/windows/zlib, libpng/zlib/inffast.h +0 -11
  436. data/windows/zlib, libpng/zlib/inffixed.h +0 -94
  437. data/windows/zlib, libpng/zlib/inflate.c +0 -1368
  438. data/windows/zlib, libpng/zlib/inflate.h +0 -115
  439. data/windows/zlib, libpng/zlib/inftrees.c +0 -329
  440. data/windows/zlib, libpng/zlib/inftrees.h +0 -55
  441. data/windows/zlib, libpng/zlib/make_vms.com +0 -461
  442. data/windows/zlib, libpng/zlib/minigzip.c +0 -322
  443. data/windows/zlib, libpng/zlib/msdos/Makefile.bor +0 -109
  444. data/windows/zlib, libpng/zlib/msdos/Makefile.dj2 +0 -104
  445. data/windows/zlib, libpng/zlib/msdos/Makefile.emx +0 -69
  446. data/windows/zlib, libpng/zlib/msdos/Makefile.msc +0 -106
  447. data/windows/zlib, libpng/zlib/msdos/Makefile.tc +0 -94
  448. data/windows/zlib, libpng/zlib/old/Makefile.riscos +0 -151
  449. data/windows/zlib, libpng/zlib/old/README +0 -3
  450. data/windows/zlib, libpng/zlib/old/descrip.mms +0 -48
  451. data/windows/zlib, libpng/zlib/old/os2/Makefile.os2 +0 -136
  452. data/windows/zlib, libpng/zlib/old/os2/zlib.def +0 -51
  453. data/windows/zlib, libpng/zlib/old/visual-basic.txt +0 -160
  454. data/windows/zlib, libpng/zlib/old/zlib.html +0 -971
  455. data/windows/zlib, libpng/zlib/projects/README.projects +0 -41
  456. data/windows/zlib, libpng/zlib/projects/visualc6/README.txt +0 -73
  457. data/windows/zlib, libpng/zlib/projects/visualc6/example.dsp +0 -278
  458. data/windows/zlib, libpng/zlib/projects/visualc6/minigzip.dsp +0 -278
  459. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsp +0 -609
  460. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsw +0 -59
  461. data/windows/zlib, libpng/zlib/qnx/package.qpg +0 -141
  462. data/windows/zlib, libpng/zlib/trees.c +0 -1219
  463. data/windows/zlib, libpng/zlib/trees.h +0 -128
  464. data/windows/zlib, libpng/zlib/uncompr.c +0 -61
  465. data/windows/zlib, libpng/zlib/win32/DLL_FAQ.txt +0 -397
  466. data/windows/zlib, libpng/zlib/win32/Makefile.bor +0 -107
  467. data/windows/zlib, libpng/zlib/win32/Makefile.emx +0 -69
  468. data/windows/zlib, libpng/zlib/win32/Makefile.gcc +0 -141
  469. data/windows/zlib, libpng/zlib/win32/Makefile.msc +0 -126
  470. data/windows/zlib, libpng/zlib/win32/VisualC.txt +0 -3
  471. data/windows/zlib, libpng/zlib/win32/zlib.def +0 -60
  472. data/windows/zlib, libpng/zlib/win32/zlib1.rc +0 -39
  473. data/windows/zlib, libpng/zlib/zconf.h +0 -332
  474. data/windows/zlib, libpng/zlib/zconf.in.h +0 -332
  475. data/windows/zlib, libpng/zlib/zlib.3 +0 -159
  476. data/windows/zlib, libpng/zlib/zlib.h +0 -1357
  477. data/windows/zlib, libpng/zlib/zutil.c +0 -318
  478. data/windows/zlib, libpng/zlib/zutil.h +0 -269
@@ -1,88 +0,0 @@
1
- /*---------------------------------------------------------------------------
2
-
3
- rpng - simple PNG display program readpng.h
4
-
5
- ---------------------------------------------------------------------------
6
-
7
- Copyright (c) 1998-2007 Greg Roelofs. All rights reserved.
8
-
9
- This software is provided "as is," without warranty of any kind,
10
- express or implied. In no event shall the author or contributors
11
- be held liable for any damages arising in any way from the use of
12
- this software.
13
-
14
- The contents of this file are DUAL-LICENSED. You may modify and/or
15
- redistribute this software according to the terms of one of the
16
- following two licenses (at your option):
17
-
18
-
19
- LICENSE 1 ("BSD-like with advertising clause"):
20
-
21
- Permission is granted to anyone to use this software for any purpose,
22
- including commercial applications, and to alter it and redistribute
23
- it freely, subject to the following restrictions:
24
-
25
- 1. Redistributions of source code must retain the above copyright
26
- notice, disclaimer, and this list of conditions.
27
- 2. Redistributions in binary form must reproduce the above copyright
28
- notice, disclaimer, and this list of conditions in the documenta-
29
- tion and/or other materials provided with the distribution.
30
- 3. All advertising materials mentioning features or use of this
31
- software must display the following acknowledgment:
32
-
33
- This product includes software developed by Greg Roelofs
34
- and contributors for the book, "PNG: The Definitive Guide,"
35
- published by O'Reilly and Associates.
36
-
37
-
38
- LICENSE 2 (GNU GPL v2 or later):
39
-
40
- This program is free software; you can redistribute it and/or modify
41
- it under the terms of the GNU General Public License as published by
42
- the Free Software Foundation; either version 2 of the License, or
43
- (at your option) any later version.
44
-
45
- This program is distributed in the hope that it will be useful,
46
- but WITHOUT ANY WARRANTY; without even the implied warranty of
47
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
48
- GNU General Public License for more details.
49
-
50
- You should have received a copy of the GNU General Public License
51
- along with this program; if not, write to the Free Software Foundation,
52
- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
53
-
54
- ---------------------------------------------------------------------------*/
55
-
56
- #ifndef TRUE
57
- # define TRUE 1
58
- # define FALSE 0
59
- #endif
60
-
61
- #ifndef MAX
62
- # define MAX(a,b) ((a) > (b)? (a) : (b))
63
- # define MIN(a,b) ((a) < (b)? (a) : (b))
64
- #endif
65
-
66
- #ifdef DEBUG
67
- # define Trace(x) {fprintf x ; fflush(stderr); fflush(stdout);}
68
- #else
69
- # define Trace(x) ;
70
- #endif
71
-
72
- typedef unsigned char uch;
73
- typedef unsigned short ush;
74
- typedef unsigned long ulg;
75
-
76
-
77
- /* prototypes for public functions in readpng.c */
78
-
79
- void readpng_version_info(void);
80
-
81
- int readpng_init(FILE *infile, ulg *pWidth, ulg *pHeight);
82
-
83
- int readpng_get_bgcolor(uch *bg_red, uch *bg_green, uch *bg_blue);
84
-
85
- uch *readpng_get_image(double display_exponent, int *pChannels,
86
- ulg *pRowbytes);
87
-
88
- void readpng_cleanup(int free_image_data);
@@ -1,645 +0,0 @@
1
- /*---------------------------------------------------------------------------
2
-
3
- rpng2 - progressive-model PNG display program readpng2.c
4
-
5
- ---------------------------------------------------------------------------
6
-
7
- Copyright (c) 1998-2007 Greg Roelofs. All rights reserved.
8
-
9
- This software is provided "as is," without warranty of any kind,
10
- express or implied. In no event shall the author or contributors
11
- be held liable for any damages arising in any way from the use of
12
- this software.
13
-
14
- The contents of this file are DUAL-LICENSED. You may modify and/or
15
- redistribute this software according to the terms of one of the
16
- following two licenses (at your option):
17
-
18
-
19
- LICENSE 1 ("BSD-like with advertising clause"):
20
-
21
- Permission is granted to anyone to use this software for any purpose,
22
- including commercial applications, and to alter it and redistribute
23
- it freely, subject to the following restrictions:
24
-
25
- 1. Redistributions of source code must retain the above copyright
26
- notice, disclaimer, and this list of conditions.
27
- 2. Redistributions in binary form must reproduce the above copyright
28
- notice, disclaimer, and this list of conditions in the documenta-
29
- tion and/or other materials provided with the distribution.
30
- 3. All advertising materials mentioning features or use of this
31
- software must display the following acknowledgment:
32
-
33
- This product includes software developed by Greg Roelofs
34
- and contributors for the book, "PNG: The Definitive Guide,"
35
- published by O'Reilly and Associates.
36
-
37
-
38
- LICENSE 2 (GNU GPL v2 or later):
39
-
40
- This program is free software; you can redistribute it and/or modify
41
- it under the terms of the GNU General Public License as published by
42
- the Free Software Foundation; either version 2 of the License, or
43
- (at your option) any later version.
44
-
45
- This program is distributed in the hope that it will be useful,
46
- but WITHOUT ANY WARRANTY; without even the implied warranty of
47
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
48
- GNU General Public License for more details.
49
-
50
- You should have received a copy of the GNU General Public License
51
- along with this program; if not, write to the Free Software Foundation,
52
- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
53
-
54
- ---------------------------------------------------------------------------*/
55
-
56
-
57
- #include <stdlib.h> /* for exit() prototype */
58
-
59
- #include "png.h" /* libpng header; includes zlib.h and setjmp.h */
60
- #include "readpng2.h" /* typedefs, common macros, public prototypes */
61
-
62
-
63
- /* local prototypes */
64
-
65
- static void readpng2_info_callback(png_structp png_ptr, png_infop info_ptr);
66
- static void readpng2_row_callback(png_structp png_ptr, png_bytep new_row,
67
- png_uint_32 row_num, int pass);
68
- static void readpng2_end_callback(png_structp png_ptr, png_infop info_ptr);
69
- static void readpng2_error_handler(png_structp png_ptr, png_const_charp msg);
70
-
71
-
72
-
73
-
74
- void readpng2_version_info(void)
75
- {
76
- #if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && \
77
- (defined(__i386__) || defined(_M_IX86) || defined(__x86_64__)) && \
78
- defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
79
- /*
80
- * WARNING: This preprocessor approach means that the following code
81
- * cannot be used with a libpng DLL older than 1.2.0--the
82
- * compiled-in symbols for the new functions will not exist.
83
- * (Could use dlopen() and dlsym() on Unix and corresponding
84
- * calls for Windows, but not portable...)
85
- */
86
- {
87
- int mmxsupport = png_mmx_support();
88
- if (mmxsupport < 0)
89
- fprintf(stderr, " Compiled with libpng %s; using libpng %s "
90
- "without MMX support.\n", PNG_LIBPNG_VER_STRING, png_libpng_ver);
91
- else {
92
- int compilerID;
93
- png_uint_32 mmx_mask = png_get_mmx_flagmask(
94
- PNG_SELECT_READ | PNG_SELECT_WRITE, &compilerID);
95
-
96
- fprintf(stderr, " Compiled with libpng %s; using libpng %s "
97
- "with MMX support\n (%s version).", PNG_LIBPNG_VER_STRING,
98
- png_libpng_ver, compilerID == 1? "MSVC++" :
99
- (compilerID == 2? "GNU C" : "unknown"));
100
- fprintf(stderr, " Processor (x86%s) %s MMX instructions.\n",
101
- #if defined(__x86_64__)
102
- "_64",
103
- #else
104
- "",
105
- #endif
106
- mmxsupport? "supports" : "does not support");
107
- if (mmxsupport > 0) {
108
- int num_optims = 0;
109
-
110
- fprintf(stderr,
111
- " Potential MMX optimizations supported by libpng:\n");
112
- if (mmx_mask & PNG_ASM_FLAG_MMX_READ_FILTER_SUB)
113
- ++num_optims;
114
- if (mmx_mask & PNG_ASM_FLAG_MMX_READ_FILTER_UP)
115
- ++num_optims;
116
- if (mmx_mask & PNG_ASM_FLAG_MMX_READ_FILTER_AVG)
117
- ++num_optims;
118
- if (mmx_mask & PNG_ASM_FLAG_MMX_READ_FILTER_PAETH)
119
- ++num_optims;
120
- if (num_optims)
121
- fprintf(stderr,
122
- " decoding %s row filters (reading)\n",
123
- (num_optims == 4)? "all non-trivial" : "some");
124
- if (mmx_mask & PNG_ASM_FLAG_MMX_READ_COMBINE_ROW) {
125
- fprintf(stderr, " combining rows (reading)\n");
126
- ++num_optims;
127
- }
128
- if (mmx_mask & PNG_ASM_FLAG_MMX_READ_INTERLACE) {
129
- fprintf(stderr,
130
- " expanding interlacing (reading)\n");
131
- ++num_optims;
132
- }
133
- mmx_mask &= ~( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
134
- | PNG_ASM_FLAG_MMX_READ_INTERLACE \
135
- | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
136
- | PNG_ASM_FLAG_MMX_READ_FILTER_UP \
137
- | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
138
- | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH );
139
- if (mmx_mask) {
140
- fprintf(stderr, " other (unknown)\n");
141
- ++num_optims;
142
- }
143
- if (num_optims == 0)
144
- fprintf(stderr, " (none)\n");
145
- }
146
- }
147
- }
148
- #else
149
- fprintf(stderr, " Compiled with libpng %s; using libpng %s "
150
- "without MMX support.\n", PNG_LIBPNG_VER_STRING, png_libpng_ver);
151
- #endif
152
-
153
- fprintf(stderr, " Compiled with zlib %s; using zlib %s.\n",
154
- ZLIB_VERSION, zlib_version);
155
- }
156
-
157
-
158
-
159
-
160
- int readpng2_check_sig(uch *sig, int num)
161
- {
162
- return png_check_sig(sig, num);
163
- }
164
-
165
-
166
-
167
-
168
- /* returns 0 for success, 2 for libpng problem, 4 for out of memory */
169
-
170
- int readpng2_init(mainprog_info *mainprog_ptr)
171
- {
172
- png_structp png_ptr; /* note: temporary variables! */
173
- png_infop info_ptr;
174
-
175
-
176
- /* could also replace libpng warning-handler (final NULL), but no need: */
177
-
178
- png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, mainprog_ptr,
179
- readpng2_error_handler, NULL);
180
- if (!png_ptr)
181
- return 4; /* out of memory */
182
-
183
- info_ptr = png_create_info_struct(png_ptr);
184
- if (!info_ptr) {
185
- png_destroy_read_struct(&png_ptr, NULL, NULL);
186
- return 4; /* out of memory */
187
- }
188
-
189
-
190
- /* we could create a second info struct here (end_info), but it's only
191
- * useful if we want to keep pre- and post-IDAT chunk info separated
192
- * (mainly for PNG-aware image editors and converters) */
193
-
194
-
195
- /* setjmp() must be called in every function that calls a PNG-reading
196
- * libpng function, unless an alternate error handler was installed--
197
- * but compatible error handlers must either use longjmp() themselves
198
- * (as in this program) or exit immediately, so here we are: */
199
-
200
- if (setjmp(mainprog_ptr->jmpbuf)) {
201
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
202
- return 2;
203
- }
204
-
205
-
206
- #ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
207
- /* prepare the reader to ignore all recognized chunks whose data won't be
208
- * used, i.e., all chunks recognized by libpng except for IHDR, PLTE, IDAT,
209
- * IEND, tRNS, bKGD, gAMA, and sRGB (small performance improvement) */
210
- {
211
- /* These byte strings were copied from png.h. If a future libpng
212
- * version recognizes more chunks, add them to this list. If a
213
- * future version of readpng2.c recognizes more chunks, delete them
214
- * from this list. */
215
- static const png_byte chunks_to_ignore[] = {
216
- 99, 72, 82, 77, '\0', /* cHRM */
217
- 104, 73, 83, 84, '\0', /* hIST */
218
- 105, 67, 67, 80, '\0', /* iCCP */
219
- 105, 84, 88, 116, '\0', /* iTXt */
220
- 111, 70, 70, 115, '\0', /* oFFs */
221
- 112, 67, 65, 76, '\0', /* pCAL */
222
- 112, 72, 89, 115, '\0', /* pHYs */
223
- 115, 66, 73, 84, '\0', /* sBIT */
224
- 115, 67, 65, 76, '\0', /* sCAL */
225
- 115, 80, 76, 84, '\0', /* sPLT */
226
- 115, 84, 69, 82, '\0', /* sTER */
227
- 116, 69, 88, 116, '\0', /* tEXt */
228
- 116, 73, 77, 69, '\0', /* tIME */
229
- 122, 84, 88, 116, '\0' /* zTXt */
230
- };
231
-
232
- png_set_keep_unknown_chunks(png_ptr, 1 /* PNG_HANDLE_CHUNK_NEVER */,
233
- chunks_to_ignore, sizeof(chunks_to_ignore)/5);
234
- }
235
- #endif /* PNG_UNKNOWN_CHUNKS_SUPPORTED */
236
-
237
-
238
- /* instead of doing png_init_io() here, now we set up our callback
239
- * functions for progressive decoding */
240
-
241
- png_set_progressive_read_fn(png_ptr, mainprog_ptr,
242
- readpng2_info_callback, readpng2_row_callback, readpng2_end_callback);
243
-
244
-
245
- /*
246
- * may as well enable or disable MMX routines here, if supported;
247
- *
248
- * to enable all: mask = png_get_mmx_flagmask (
249
- * PNG_SELECT_READ | PNG_SELECT_WRITE, &compilerID);
250
- * flags = png_get_asm_flags (png_ptr);
251
- * flags |= mask;
252
- * png_set_asm_flags (png_ptr, flags);
253
- *
254
- * to disable all: mask = png_get_mmx_flagmask (
255
- * PNG_SELECT_READ | PNG_SELECT_WRITE, &compilerID);
256
- * flags = png_get_asm_flags (png_ptr);
257
- * flags &= ~mask;
258
- * png_set_asm_flags (png_ptr, flags);
259
- */
260
-
261
- #if (defined(__i386__) || defined(_M_IX86) || defined(__x86_64__)) && \
262
- defined(PNG_LIBPNG_VER) && (PNG_LIBPNG_VER >= 10200)
263
- /*
264
- * WARNING: This preprocessor approach means that the following code
265
- * cannot be used with a libpng DLL older than 1.2.0--the
266
- * compiled-in symbols for the new functions will not exist.
267
- * (Could use dlopen() and dlsym() on Unix and corresponding
268
- * calls for Windows, but not portable...)
269
- */
270
- {
271
- #ifdef PNG_ASSEMBLER_CODE_SUPPORTED
272
- png_uint_32 mmx_disable_mask = 0;
273
- png_uint_32 asm_flags, mmx_mask;
274
- int compilerID;
275
-
276
- if (mainprog_ptr->nommxfilters)
277
- mmx_disable_mask |= ( PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
278
- | PNG_ASM_FLAG_MMX_READ_FILTER_UP \
279
- | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
280
- | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH );
281
- if (mainprog_ptr->nommxcombine)
282
- mmx_disable_mask |= PNG_ASM_FLAG_MMX_READ_COMBINE_ROW;
283
- if (mainprog_ptr->nommxinterlace)
284
- mmx_disable_mask |= PNG_ASM_FLAG_MMX_READ_INTERLACE;
285
- asm_flags = png_get_asm_flags(png_ptr);
286
- png_set_asm_flags(png_ptr, asm_flags & ~mmx_disable_mask);
287
-
288
-
289
- /* Now query libpng's asm settings, just for yuks. Note that this
290
- * differs from the querying of its *potential* MMX capabilities
291
- * in readpng2_version_info(); this is true runtime verification. */
292
-
293
- asm_flags = png_get_asm_flags(png_ptr);
294
- mmx_mask = png_get_mmx_flagmask(PNG_SELECT_READ | PNG_SELECT_WRITE,
295
- &compilerID);
296
- if (asm_flags & PNG_ASM_FLAG_MMX_SUPPORT_COMPILED)
297
- fprintf(stderr,
298
- " MMX support (%s version) is compiled into libpng\n",
299
- compilerID == 1? "MSVC++" :
300
- (compilerID == 2? "GNU C" : "unknown"));
301
- else
302
- fprintf(stderr, " MMX support is not compiled into libpng\n");
303
- fprintf(stderr, " MMX instructions are %ssupported by CPU\n",
304
- (asm_flags & PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU)? "" : "not ");
305
- fprintf(stderr, " MMX read support for combining rows is %sabled\n",
306
- (asm_flags & PNG_ASM_FLAG_MMX_READ_COMBINE_ROW)? "en" : "dis");
307
- fprintf(stderr,
308
- " MMX read support for expanding interlacing is %sabled\n",
309
- (asm_flags & PNG_ASM_FLAG_MMX_READ_INTERLACE)? "en" : "dis");
310
- fprintf(stderr, " MMX read support for \"sub\" filter is %sabled\n",
311
- (asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_SUB)? "en" : "dis");
312
- fprintf(stderr, " MMX read support for \"up\" filter is %sabled\n",
313
- (asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_UP)? "en" : "dis");
314
- fprintf(stderr, " MMX read support for \"avg\" filter is %sabled\n",
315
- (asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_AVG)? "en" : "dis");
316
- fprintf(stderr, " MMX read support for \"Paeth\" filter is %sabled\n",
317
- (asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_PAETH)? "en" : "dis");
318
- asm_flags &= (mmx_mask & ~( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \
319
- | PNG_ASM_FLAG_MMX_READ_INTERLACE \
320
- | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \
321
- | PNG_ASM_FLAG_MMX_READ_FILTER_UP \
322
- | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \
323
- | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH ));
324
- if (asm_flags)
325
- fprintf(stderr,
326
- " additional MMX support is also enabled (0x%02lx)\n",
327
- asm_flags);
328
- #else /* !PNG_ASSEMBLER_CODE_SUPPORTED */
329
- fprintf(stderr, " MMX querying is disabled in libpng.\n");
330
- #endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
331
- }
332
- #endif
333
-
334
-
335
- /* make sure we save our pointers for use in readpng2_decode_data() */
336
-
337
- mainprog_ptr->png_ptr = png_ptr;
338
- mainprog_ptr->info_ptr = info_ptr;
339
-
340
-
341
- /* and that's all there is to initialization */
342
-
343
- return 0;
344
- }
345
-
346
-
347
-
348
-
349
- /* returns 0 for success, 2 for libpng (longjmp) problem */
350
-
351
- int readpng2_decode_data(mainprog_info *mainprog_ptr, uch *rawbuf, ulg length)
352
- {
353
- png_structp png_ptr = (png_structp)mainprog_ptr->png_ptr;
354
- png_infop info_ptr = (png_infop)mainprog_ptr->info_ptr;
355
-
356
-
357
- /* setjmp() must be called in every function that calls a PNG-reading
358
- * libpng function */
359
-
360
- if (setjmp(mainprog_ptr->jmpbuf)) {
361
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
362
- mainprog_ptr->png_ptr = NULL;
363
- mainprog_ptr->info_ptr = NULL;
364
- return 2;
365
- }
366
-
367
-
368
- /* hand off the next chunk of input data to libpng for decoding */
369
-
370
- png_process_data(png_ptr, info_ptr, rawbuf, length);
371
-
372
- return 0;
373
- }
374
-
375
-
376
-
377
-
378
- static void readpng2_info_callback(png_structp png_ptr, png_infop info_ptr)
379
- {
380
- mainprog_info *mainprog_ptr;
381
- int color_type, bit_depth;
382
- double gamma;
383
-
384
-
385
- /* setjmp() doesn't make sense here, because we'd either have to exit(),
386
- * longjmp() ourselves, or return control to libpng, which doesn't want
387
- * to see us again. By not doing anything here, libpng will instead jump
388
- * to readpng2_decode_data(), which can return an error value to the main
389
- * program. */
390
-
391
-
392
- /* retrieve the pointer to our special-purpose struct, using the png_ptr
393
- * that libpng passed back to us (i.e., not a global this time--there's
394
- * no real difference for a single image, but for a multithreaded browser
395
- * decoding several PNG images at the same time, one needs to avoid mixing
396
- * up different images' structs) */
397
-
398
- mainprog_ptr = png_get_progressive_ptr(png_ptr);
399
-
400
- if (mainprog_ptr == NULL) { /* we be hosed */
401
- fprintf(stderr,
402
- "readpng2 error: main struct not recoverable in info_callback.\n");
403
- fflush(stderr);
404
- return;
405
- /*
406
- * Alternatively, we could call our error-handler just like libpng
407
- * does, which would effectively terminate the program. Since this
408
- * can only happen if png_ptr gets redirected somewhere odd or the
409
- * main PNG struct gets wiped, we're probably toast anyway. (If
410
- * png_ptr itself is NULL, we would not have been called.)
411
- */
412
- }
413
-
414
-
415
- /* this is just like in the non-progressive case */
416
-
417
- png_get_IHDR(png_ptr, info_ptr, &mainprog_ptr->width,
418
- &mainprog_ptr->height, &bit_depth, &color_type, NULL, NULL, NULL);
419
-
420
-
421
- /* since we know we've read all of the PNG file's "header" (i.e., up
422
- * to IDAT), we can check for a background color here */
423
-
424
- if (mainprog_ptr->need_bgcolor &&
425
- png_get_valid(png_ptr, info_ptr, PNG_INFO_bKGD))
426
- {
427
- png_color_16p pBackground;
428
-
429
- /* it is not obvious from the libpng documentation, but this function
430
- * takes a pointer to a pointer, and it always returns valid red,
431
- * green and blue values, regardless of color_type: */
432
- png_get_bKGD(png_ptr, info_ptr, &pBackground);
433
-
434
- /* however, it always returns the raw bKGD data, regardless of any
435
- * bit-depth transformations, so check depth and adjust if necessary */
436
- if (bit_depth == 16) {
437
- mainprog_ptr->bg_red = pBackground->red >> 8;
438
- mainprog_ptr->bg_green = pBackground->green >> 8;
439
- mainprog_ptr->bg_blue = pBackground->blue >> 8;
440
- } else if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
441
- if (bit_depth == 1)
442
- mainprog_ptr->bg_red = mainprog_ptr->bg_green =
443
- mainprog_ptr->bg_blue = pBackground->gray? 255 : 0;
444
- else if (bit_depth == 2)
445
- mainprog_ptr->bg_red = mainprog_ptr->bg_green =
446
- mainprog_ptr->bg_blue = (255/3) * pBackground->gray;
447
- else /* bit_depth == 4 */
448
- mainprog_ptr->bg_red = mainprog_ptr->bg_green =
449
- mainprog_ptr->bg_blue = (255/15) * pBackground->gray;
450
- } else {
451
- mainprog_ptr->bg_red = (uch)pBackground->red;
452
- mainprog_ptr->bg_green = (uch)pBackground->green;
453
- mainprog_ptr->bg_blue = (uch)pBackground->blue;
454
- }
455
- }
456
-
457
-
458
- /* as before, let libpng expand palette images to RGB, low-bit-depth
459
- * grayscale images to 8 bits, transparency chunks to full alpha channel;
460
- * strip 16-bit-per-sample images to 8 bits per sample; and convert
461
- * grayscale to RGB[A] */
462
-
463
- if (color_type == PNG_COLOR_TYPE_PALETTE)
464
- png_set_expand(png_ptr);
465
- if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
466
- png_set_expand(png_ptr);
467
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
468
- png_set_expand(png_ptr);
469
- if (bit_depth == 16)
470
- png_set_strip_16(png_ptr);
471
- if (color_type == PNG_COLOR_TYPE_GRAY ||
472
- color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
473
- png_set_gray_to_rgb(png_ptr);
474
-
475
-
476
- /* Unlike the basic viewer, which was designed to operate on local files,
477
- * this program is intended to simulate a web browser--even though we
478
- * actually read from a local file, too. But because we are pretending
479
- * that most of the images originate on the Internet, we follow the recom-
480
- * mendation of the sRGB proposal and treat unlabelled images (no gAMA
481
- * chunk) as existing in the sRGB color space. That is, we assume that
482
- * such images have a file gamma of 0.45455, which corresponds to a PC-like
483
- * display system. This change in assumptions will have no effect on a
484
- * PC-like system, but on a Mac, SGI, NeXT or other system with a non-
485
- * identity lookup table, it will darken unlabelled images, which effec-
486
- * tively favors images from PC-like systems over those originating on
487
- * the local platform. Note that mainprog_ptr->display_exponent is the
488
- * "gamma" value for the entire display system, i.e., the product of
489
- * LUT_exponent and CRT_exponent. */
490
-
491
- if (png_get_gAMA(png_ptr, info_ptr, &gamma))
492
- png_set_gamma(png_ptr, mainprog_ptr->display_exponent, gamma);
493
- else
494
- png_set_gamma(png_ptr, mainprog_ptr->display_exponent, 0.45455);
495
-
496
-
497
- /* we'll let libpng expand interlaced images, too */
498
-
499
- mainprog_ptr->passes = png_set_interlace_handling(png_ptr);
500
-
501
-
502
- /* all transformations have been registered; now update info_ptr data and
503
- * then get rowbytes and channels */
504
-
505
- png_read_update_info(png_ptr, info_ptr);
506
-
507
- mainprog_ptr->rowbytes = (int)png_get_rowbytes(png_ptr, info_ptr);
508
- mainprog_ptr->channels = png_get_channels(png_ptr, info_ptr);
509
-
510
-
511
- /* Call the main program to allocate memory for the image buffer and
512
- * initialize windows and whatnot. (The old-style function-pointer
513
- * invocation is used for compatibility with a few supposedly ANSI
514
- * compilers that nevertheless barf on "fn_ptr()"-style syntax.) */
515
-
516
- (*mainprog_ptr->mainprog_init)();
517
-
518
-
519
- /* and that takes care of initialization */
520
-
521
- return;
522
- }
523
-
524
-
525
-
526
-
527
-
528
- static void readpng2_row_callback(png_structp png_ptr, png_bytep new_row,
529
- png_uint_32 row_num, int pass)
530
- {
531
- mainprog_info *mainprog_ptr;
532
-
533
-
534
- /* first check whether the row differs from the previous pass; if not,
535
- * nothing to combine or display */
536
-
537
- if (!new_row)
538
- return;
539
-
540
-
541
- /* retrieve the pointer to our special-purpose struct so we can access
542
- * the old rows and image-display callback function */
543
-
544
- mainprog_ptr = png_get_progressive_ptr(png_ptr);
545
-
546
-
547
- /* save the pass number for optional use by the front end */
548
-
549
- mainprog_ptr->pass = pass;
550
-
551
-
552
- /* have libpng either combine the new row data with the existing row data
553
- * from previous passes (if interlaced) or else just copy the new row
554
- * into the main program's image buffer */
555
-
556
- png_progressive_combine_row(png_ptr, mainprog_ptr->row_pointers[row_num],
557
- new_row);
558
-
559
-
560
- /* finally, call the display routine in the main program with the number
561
- * of the row we just updated */
562
-
563
- (*mainprog_ptr->mainprog_display_row)(row_num);
564
-
565
-
566
- /* and we're ready for more */
567
-
568
- return;
569
- }
570
-
571
-
572
-
573
-
574
-
575
- static void readpng2_end_callback(png_structp png_ptr, png_infop info_ptr)
576
- {
577
- mainprog_info *mainprog_ptr;
578
-
579
-
580
- /* retrieve the pointer to our special-purpose struct */
581
-
582
- mainprog_ptr = png_get_progressive_ptr(png_ptr);
583
-
584
-
585
- /* let the main program know that it should flush any buffered image
586
- * data to the display now and set a "done" flag or whatever, but note
587
- * that it SHOULD NOT DESTROY THE PNG STRUCTS YET--in other words, do
588
- * NOT call readpng2_cleanup() either here or in the finish_display()
589
- * routine; wait until control returns to the main program via
590
- * readpng2_decode_data() */
591
-
592
- (*mainprog_ptr->mainprog_finish_display)();
593
-
594
-
595
- /* all done */
596
-
597
- return;
598
- }
599
-
600
-
601
-
602
-
603
-
604
- void readpng2_cleanup(mainprog_info *mainprog_ptr)
605
- {
606
- png_structp png_ptr = (png_structp)mainprog_ptr->png_ptr;
607
- png_infop info_ptr = (png_infop)mainprog_ptr->info_ptr;
608
-
609
- if (png_ptr && info_ptr)
610
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
611
-
612
- mainprog_ptr->png_ptr = NULL;
613
- mainprog_ptr->info_ptr = NULL;
614
- }
615
-
616
-
617
-
618
-
619
-
620
- static void readpng2_error_handler(png_structp png_ptr, png_const_charp msg)
621
- {
622
- mainprog_info *mainprog_ptr;
623
-
624
- /* This function, aside from the extra step of retrieving the "error
625
- * pointer" (below) and the fact that it exists within the application
626
- * rather than within libpng, is essentially identical to libpng's
627
- * default error handler. The second point is critical: since both
628
- * setjmp() and longjmp() are called from the same code, they are
629
- * guaranteed to have compatible notions of how big a jmp_buf is,
630
- * regardless of whether _BSD_SOURCE or anything else has (or has not)
631
- * been defined. */
632
-
633
- fprintf(stderr, "readpng2 libpng error: %s\n", msg);
634
- fflush(stderr);
635
-
636
- mainprog_ptr = png_get_error_ptr(png_ptr);
637
- if (mainprog_ptr == NULL) { /* we are completely hosed now */
638
- fprintf(stderr,
639
- "readpng2 severe error: jmpbuf not recoverable; terminating.\n");
640
- fflush(stderr);
641
- exit(99);
642
- }
643
-
644
- longjmp(mainprog_ptr->jmpbuf, 1);
645
- }