gosu 0.7.10.3 → 0.7.11
Sign up to get free protection for your applications and to get access to all the features.
- data/Gosu/AutoLink.hpp +0 -0
- data/Gosu/ButtonsMac.hpp +26 -0
- data/Gosu/ButtonsWin.hpp +26 -0
- data/Gosu/ButtonsX.hpp +26 -0
- data/Gosu/Gosu.hpp +1 -0
- data/Gosu/Graphics.hpp +1 -1
- data/Gosu/Input.hpp +4 -5
- data/Gosu/Math.hpp +11 -0
- data/Gosu/Text.hpp +59 -47
- data/Gosu/Utility.hpp +6 -5
- data/GosuImpl/Graphics/DrawOp.hpp +0 -0
- data/GosuImpl/Graphics/Font.cpp +45 -4
- data/GosuImpl/Graphics/Graphics.cpp +25 -0
- data/GosuImpl/Graphics/TexChunk.cpp +0 -0
- data/GosuImpl/Graphics/TexChunk.hpp +0 -0
- data/GosuImpl/Graphics/Text.cpp +26 -2
- data/GosuImpl/Graphics/TextMac.cpp +8 -2
- data/GosuImpl/Graphics/TextPangoFT.cpp +0 -0
- data/GosuImpl/Graphics/Texture.cpp +0 -0
- data/GosuImpl/Graphics/Texture.hpp +0 -0
- data/GosuImpl/Iconv.hpp +62 -0
- data/GosuImpl/InputMac.mm +3 -0
- data/GosuImpl/InputWin.cpp +5 -1
- data/GosuImpl/InputX.cpp +50 -8
- data/GosuImpl/Math.cpp +1 -1
- data/GosuImpl/RubyGosu.swg +24 -5
- data/GosuImpl/RubyGosu_wrap.cxx +181 -10
- data/GosuImpl/Utility.cpp +32 -75
- data/GosuImpl/Utility.cpp~RF6c566.TMP +95 -0
- data/GosuImpl/WindowX.cpp +2 -2
- data/Rakefile +57 -10
- data/examples/Tutorial.cpp +0 -0
- data/examples/media/Beep.wav +0 -0
- data/examples/media/CptnRuby Map.txt b/data/examples/media/CptnRuby → Map.txt +0 -0
- data/examples/media/Explosion.wav +0 -0
- data/examples/media/Space.png +0 -0
- data/examples/media/Star.png +0 -0
- data/examples/media/Starfighter.bmp +0 -0
- data/linux/Makefile.in +0 -0
- data/linux/configure +0 -0
- data/linux/configure.ac +0 -0
- data/mac/Gosu.xcodeproj/jlnr.mode1v3 +1421 -0
- data/mac/Gosu.xcodeproj/jlnr.mode2v3 +1464 -0
- data/mac/Gosu.xcodeproj/jlnr.pbxuser +733 -0
- data/mac/Gosu.xcodeproj/project.pbxproj +4 -2
- data/reference/Async_8hpp-source.html +1 -1
- data/reference/Audio_8hpp-source.html +1 -1
- data/reference/Audio_8hpp.html +1 -1
- data/reference/AutoLink_8hpp-source.html +1 -1
- data/reference/AutoLink_8hpp.html +1 -1
- data/reference/Bitmap_8hpp-source.html +1 -1
- data/reference/Bitmap_8hpp.html +1 -1
- data/reference/ButtonsMac_8hpp-source.html +107 -81
- data/reference/ButtonsWin_8hpp-source.html +84 -58
- data/reference/ButtonsX_8hpp-source.html +131 -105
- data/reference/Color_8hpp-source.html +1 -1
- data/reference/Color_8hpp.html +1 -1
- data/reference/Directories_8hpp-source.html +1 -1
- data/reference/Directories_8hpp.html +1 -1
- data/reference/Font_8hpp-source.html +1 -1
- data/reference/Font_8hpp.html +1 -1
- data/reference/Fwd_8hpp-source.html +1 -1
- data/reference/Fwd_8hpp.html +1 -1
- data/reference/Gosu_8hpp-source.html +5 -4
- data/reference/Gosu_8hpp.html +1 -1
- data/reference/GraphicsBase_8hpp-source.html +1 -1
- data/reference/GraphicsBase_8hpp.html +1 -1
- data/reference/Graphics_8hpp-source.html +2 -2
- data/reference/Graphics_8hpp.html +1 -1
- data/reference/IO_8hpp-source.html +1 -1
- data/reference/IO_8hpp.html +1 -1
- data/reference/ImageData_8hpp-source.html +1 -1
- data/reference/ImageData_8hpp.html +1 -1
- data/reference/Image_8hpp-source.html +1 -1
- data/reference/Image_8hpp.html +1 -1
- data/reference/Input_8hpp-source.html +43 -43
- data/reference/Input_8hpp.html +2 -2
- data/reference/Math_8hpp-source.html +51 -42
- data/reference/Math_8hpp.html +5 -1
- data/reference/Platform_8hpp-source.html +1 -1
- data/reference/Platform_8hpp.html +1 -1
- data/reference/RotFlip_8hpp-source.html +1 -1
- data/reference/RotFlip_8hpp.html +1 -1
- data/reference/Sockets_8hpp-source.html +1 -1
- data/reference/Sockets_8hpp.html +1 -1
- data/reference/TextInput_8hpp-source.html +1 -1
- data/reference/TextInput_8hpp.html +1 -1
- data/reference/Text_8hpp-source.html +12 -8
- data/reference/Text_8hpp.html +3 -1
- data/reference/Timing_8hpp-source.html +1 -1
- data/reference/Timing_8hpp.html +1 -1
- data/reference/Utility_8hpp-source.html +9 -10
- data/reference/Utility_8hpp.html +5 -7
- data/reference/WinUtility_8hpp-source.html +1 -1
- data/reference/WinUtility_8hpp.html +1 -1
- data/reference/Window_8hpp-source.html +3 -3
- data/reference/Window_8hpp.html +1 -1
- data/reference/annotated.html +2 -2
- data/reference/classGosu_1_1Audio-members.html +1 -1
- data/reference/classGosu_1_1Audio.html +1 -1
- data/reference/classGosu_1_1Bitmap-members.html +1 -1
- data/reference/classGosu_1_1Bitmap.html +1 -1
- data/reference/classGosu_1_1Buffer-members.html +1 -1
- data/reference/classGosu_1_1Buffer.html +1 -1
- data/reference/classGosu_1_1Button-members.html +1 -1
- data/reference/classGosu_1_1Button.html +1 -1
- data/reference/classGosu_1_1Color-members.html +1 -1
- data/reference/classGosu_1_1Color.html +1 -1
- data/reference/classGosu_1_1File-members.html +1 -1
- data/reference/classGosu_1_1File.html +1 -1
- data/reference/classGosu_1_1Font-members.html +1 -1
- data/reference/classGosu_1_1Font.html +1 -1
- data/reference/classGosu_1_1Graphics-members.html +1 -1
- data/reference/classGosu_1_1Graphics.html +1 -1
- data/reference/classGosu_1_1Image-members.html +1 -1
- data/reference/classGosu_1_1Image.html +1 -1
- data/reference/classGosu_1_1ImageData-members.html +1 -1
- data/reference/classGosu_1_1ImageData.html +1 -1
- data/reference/classGosu_1_1Input-members.html +1 -1
- data/reference/classGosu_1_1Input.html +4 -4
- data/reference/classGosu_1_1MessageSocket-members.html +1 -1
- data/reference/classGosu_1_1MessageSocket.html +1 -1
- data/reference/classGosu_1_1Resource-members.html +1 -1
- data/reference/classGosu_1_1Resource.html +1 -1
- data/reference/classGosu_1_1Sample-members.html +1 -1
- data/reference/classGosu_1_1Sample.html +1 -1
- data/reference/classGosu_1_1SampleInstance-members.html +1 -1
- data/reference/classGosu_1_1SampleInstance.html +1 -1
- data/reference/classGosu_1_1Song-members.html +1 -1
- data/reference/classGosu_1_1Song.html +1 -1
- data/reference/classGosu_1_1TextInput-members.html +1 -1
- data/reference/classGosu_1_1TextInput.html +1 -1
- data/reference/classGosu_1_1Window-members.html +1 -1
- data/reference/classGosu_1_1Window.html +1 -1
- data/reference/files.html +1 -1
- data/reference/functions.html +1 -1
- data/reference/functions_enum.html +1 -1
- data/reference/functions_func.html +1 -1
- data/reference/functions_vars.html +1 -1
- data/reference/hierarchy.html +1 -1
- data/reference/index.html +1 -1
- data/reference/namespaceGosu.html +935 -492
- data/reference/namespaceGosu_1_1Colors.html +1 -1
- data/reference/namespaceGosu_1_1Win.html +1 -1
- data/reference/namespacemembers.html +13 -2
- data/reference/namespacemembers_enum.html +1 -1
- data/reference/namespacemembers_eval.html +1 -1
- data/reference/namespacemembers_func.html +13 -2
- data/reference/namespacemembers_type.html +1 -1
- data/reference/namespacemembers_vars.html +1 -1
- data/reference/namespaces.html +1 -1
- data/windows/Gosu.vcproj +4 -4
- data/windows/RubyGosu.vcproj +2 -1
- data/windows/zlib, libpng/libpng/ANNOUNCE +61 -0
- data/windows/zlib, libpng/libpng/CHANGES +2173 -0
- data/windows/zlib, libpng/libpng/INSTALL +199 -0
- data/windows/zlib, libpng/libpng/KNOWNBUG +22 -0
- data/windows/zlib, libpng/libpng/LICENSE +109 -0
- data/windows/zlib, libpng/libpng/README +264 -0
- data/windows/zlib, libpng/libpng/TODO +24 -0
- data/windows/zlib, libpng/libpng/Y2KINFO +55 -0
- data/windows/zlib, libpng/libpng/configure +13 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/COPYING +340 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/LICENSE +50 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.mingw32 +130 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.sgi +104 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.unx +132 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.w32 +113 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/README +186 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/makevms.com +132 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.c +304 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.h +88 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.c +645 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.h +121 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/readppm.c +179 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-win.c +684 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-x.c +904 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-win.c +1225 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-x.c +2127 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/toucan.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/wpng.c +853 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.c +392 -0
- data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.h +133 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/README +6 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/gather.sh +8 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/makefile.std +44 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/pngusr.h +67 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/README +6 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/dummy_inflate.c +27 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/gather.sh +9 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/makefile.std +43 -0
- data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/pngusr.h +66 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/README +153 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.std +65 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.tc3 +38 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/makevms.com +92 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.bat +41 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.c +430 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.sh +42 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.bat +4 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.sh +5 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.bat +41 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.c +533 -0
- data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.sh +42 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g01.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g02.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g04.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g08.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g16.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c08.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c16.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p01.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p02.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p04.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p08.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a08.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a16.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a08.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a16.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.c +439 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.h +27 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/README.txt +58 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.c +961 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsp +147 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsw +29 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.ico +0 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.png +0 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.rc +152 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/cexcept.h +243 -0
- data/windows/zlib, libpng/libpng/contrib/visupng/resource.h +23 -0
- data/windows/zlib, libpng/libpng/example.c +814 -0
- data/windows/zlib, libpng/libpng/libpng-1.2.29.txt +2906 -0
- data/windows/zlib, libpng/libpng/libpng.3 +3680 -0
- data/windows/zlib, libpng/libpng/libpngpf.3 +274 -0
- data/windows/zlib, libpng/libpng/png.5 +74 -0
- data/windows/zlib, libpng/libpng/png.c +798 -0
- data/windows/zlib, libpng/libpng/png.h +3569 -0
- data/windows/zlib, libpng/libpng/pngbar.jpg +0 -0
- data/windows/zlib, libpng/libpng/pngbar.png +0 -0
- data/windows/zlib, libpng/libpng/pngconf.h +1481 -0
- data/windows/zlib, libpng/libpng/pngerror.c +343 -0
- data/windows/zlib, libpng/libpng/pnggccrd.c +103 -0
- data/windows/zlib, libpng/libpng/pngget.c +901 -0
- data/windows/zlib, libpng/libpng/pngmem.c +608 -0
- data/windows/zlib, libpng/libpng/pngnow.png +0 -0
- data/windows/zlib, libpng/libpng/pngpread.c +1598 -0
- data/windows/zlib, libpng/libpng/pngread.c +1479 -0
- data/windows/zlib, libpng/libpng/pngrio.c +167 -0
- data/windows/zlib, libpng/libpng/pngrtran.c +4292 -0
- data/windows/zlib, libpng/libpng/pngrutil.c +3183 -0
- data/windows/zlib, libpng/libpng/pngset.c +1268 -0
- data/windows/zlib, libpng/libpng/pngtest.c +1563 -0
- data/windows/zlib, libpng/libpng/pngtest.png +0 -0
- data/windows/zlib, libpng/libpng/pngtrans.c +662 -0
- data/windows/zlib, libpng/libpng/pngvcrd.c +1 -0
- data/windows/zlib, libpng/libpng/pngwio.c +234 -0
- data/windows/zlib, libpng/libpng/pngwrite.c +1532 -0
- data/windows/zlib, libpng/libpng/pngwtran.c +572 -0
- data/windows/zlib, libpng/libpng/pngwutil.c +2802 -0
- data/windows/zlib, libpng/libpng/projects/beos/x86-shared.proj +0 -0
- data/windows/zlib, libpng/libpng/projects/beos/x86-shared.txt +22 -0
- data/windows/zlib, libpng/libpng/projects/beos/x86-static.proj +0 -0
- data/windows/zlib, libpng/libpng/projects/beos/x86-static.txt +22 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpf +22 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpg +25 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpr +157 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.cpp +29 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.readme.txt +25 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpf +22 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpr +109 -0
- data/windows/zlib, libpng/libpng/projects/cbuilder5/zlib.readme.txt +14 -0
- data/windows/zlib, libpng/libpng/projects/netware.txt +6 -0
- data/windows/zlib, libpng/libpng/projects/visualc6/README.txt +57 -0
- data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsp +472 -0
- data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsw +59 -0
- data/windows/zlib, libpng/libpng/projects/visualc6/pngtest.dsp +314 -0
- data/windows/zlib, libpng/libpng/projects/visualc71/PRJ0041.mak +21 -0
- data/windows/zlib, libpng/libpng/projects/visualc71/README.txt +57 -0
- data/windows/zlib, libpng/libpng/projects/visualc71/README_zlib.txt +44 -0
- data/windows/zlib, libpng/libpng/projects/visualc71/libpng.sln +88 -0
- data/windows/zlib, libpng/libpng/projects/visualc71/libpng.vcproj +702 -0
- data/windows/zlib, libpng/libpng/projects/visualc71/pngtest.vcproj +459 -0
- data/windows/zlib, libpng/libpng/projects/visualc71/zlib.vcproj +670 -0
- data/windows/zlib, libpng/libpng/projects/wince.txt +6 -0
- data/windows/zlib, libpng/libpng/scripts/CMakeLists.txt +210 -0
- data/windows/zlib, libpng/libpng/scripts/SCOPTIONS.ppc +7 -0
- data/windows/zlib, libpng/libpng/scripts/descrip.mms +52 -0
- data/windows/zlib, libpng/libpng/scripts/libpng-config-body.in +96 -0
- data/windows/zlib, libpng/libpng/scripts/libpng-config-head.in +21 -0
- data/windows/zlib, libpng/libpng/scripts/libpng-config.in +124 -0
- data/windows/zlib, libpng/libpng/scripts/libpng.icc +44 -0
- data/windows/zlib, libpng/libpng/scripts/libpng.pc-configure.in +10 -0
- data/windows/zlib, libpng/libpng/scripts/libpng.pc.in +10 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.32sunu +254 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.64sunu +254 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.acorn +51 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.aix +113 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.amiga +48 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.atari +51 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.bc32 +152 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.beos +226 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.bor +162 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.cygwin +299 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.darwin +234 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.dec +214 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.dj2 +55 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.elf +275 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.freebsd +48 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.gcc +79 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.gcmmx +271 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.hp64 +235 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.hpgcc +245 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.hpux +232 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.ibmc +71 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.intel +102 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.knr +99 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.linux +249 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.mingw +289 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.mips +83 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.msc +86 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.ne12bsd +45 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.netbsd +45 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.nommx +252 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.openbsd +73 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.os2 +69 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.sco +229 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.sggcc +242 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.sgi +245 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.so9 +251 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.solaris +249 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.solaris-x86 +248 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.std +92 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.sunos +97 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.tc3 +89 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.vcawin32 +99 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.vcwin32 +99 -0
- data/windows/zlib, libpng/libpng/scripts/makefile.watcom +109 -0
- data/windows/zlib, libpng/libpng/scripts/makevms.com +144 -0
- data/windows/zlib, libpng/libpng/scripts/pngos2.def +257 -0
- data/windows/zlib, libpng/libpng/scripts/pngw32.def +238 -0
- data/windows/zlib, libpng/libpng/scripts/pngw32.rc +112 -0
- data/windows/zlib, libpng/libpng/scripts/smakefile.ppc +30 -0
- data/windows/zlib, libpng/zlib/ChangeLog +855 -0
- data/windows/zlib, libpng/zlib/FAQ +339 -0
- data/windows/zlib, libpng/zlib/INDEX +51 -0
- data/windows/zlib, libpng/zlib/Makefile +154 -0
- data/windows/zlib, libpng/zlib/Makefile.in +154 -0
- data/windows/zlib, libpng/zlib/README +125 -0
- data/windows/zlib, libpng/zlib/adler32.c +149 -0
- data/windows/zlib, libpng/zlib/algorithm.txt +209 -0
- data/windows/zlib, libpng/zlib/amiga/Makefile.pup +66 -0
- data/windows/zlib, libpng/zlib/amiga/Makefile.sas +65 -0
- data/windows/zlib, libpng/zlib/as400/bndsrc +132 -0
- data/windows/zlib, libpng/zlib/as400/compile.clp +123 -0
- data/windows/zlib, libpng/zlib/as400/readme.txt +111 -0
- data/windows/zlib, libpng/zlib/as400/zlib.inc +331 -0
- data/windows/zlib, libpng/zlib/compress.c +79 -0
- data/windows/zlib, libpng/zlib/configure +459 -0
- data/windows/zlib, libpng/zlib/contrib/README.contrib +71 -0
- data/windows/zlib, libpng/zlib/contrib/ada/buffer_demo.adb +106 -0
- data/windows/zlib, libpng/zlib/contrib/ada/mtest.adb +156 -0
- data/windows/zlib, libpng/zlib/contrib/ada/read.adb +156 -0
- data/windows/zlib, libpng/zlib/contrib/ada/readme.txt +65 -0
- data/windows/zlib, libpng/zlib/contrib/ada/test.adb +463 -0
- data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.adb +225 -0
- data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.ads +114 -0
- data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.adb +141 -0
- data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.ads +450 -0
- data/windows/zlib, libpng/zlib/contrib/ada/zlib.adb +701 -0
- data/windows/zlib, libpng/zlib/contrib/ada/zlib.ads +328 -0
- data/windows/zlib, libpng/zlib/contrib/ada/zlib.gpr +20 -0
- data/windows/zlib, libpng/zlib/contrib/asm586/README.586 +43 -0
- data/windows/zlib, libpng/zlib/contrib/asm586/match.S +364 -0
- data/windows/zlib, libpng/zlib/contrib/asm686/README.686 +34 -0
- data/windows/zlib, libpng/zlib/contrib/asm686/match.S +329 -0
- data/windows/zlib, libpng/zlib/contrib/blast/Makefile +8 -0
- data/windows/zlib, libpng/zlib/contrib/blast/README +4 -0
- data/windows/zlib, libpng/zlib/contrib/blast/blast.c +444 -0
- data/windows/zlib, libpng/zlib/contrib/blast/blast.h +71 -0
- data/windows/zlib, libpng/zlib/contrib/blast/test.pk +0 -0
- data/windows/zlib, libpng/zlib/contrib/blast/test.txt +1 -0
- data/windows/zlib, libpng/zlib/contrib/delphi/ZLib.pas +557 -0
- data/windows/zlib, libpng/zlib/contrib/delphi/ZLibConst.pas +11 -0
- data/windows/zlib, libpng/zlib/contrib/delphi/readme.txt +76 -0
- data/windows/zlib, libpng/zlib/contrib/delphi/zlibd32.mak +93 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.build +33 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.chm +0 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.sln +21 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/LICENSE_1_0.txt +23 -0
- data/windows/zlib, libpng/zlib/contrib/dotzlib/readme.txt +58 -0
- data/windows/zlib, libpng/zlib/contrib/infback9/README +1 -0
- data/windows/zlib, libpng/zlib/contrib/infback9/infback9.c +608 -0
- data/windows/zlib, libpng/zlib/contrib/infback9/infback9.h +37 -0
- data/windows/zlib, libpng/zlib/contrib/infback9/inffix9.h +107 -0
- data/windows/zlib, libpng/zlib/contrib/infback9/inflate9.h +47 -0
- data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.c +323 -0
- data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.h +55 -0
- data/windows/zlib, libpng/zlib/contrib/inflate86/inffas86.c +1157 -0
- data/windows/zlib, libpng/zlib/contrib/inflate86/inffast.S +1368 -0
- data/windows/zlib, libpng/zlib/contrib/iostream/test.cpp +24 -0
- data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.cpp +329 -0
- data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.h +128 -0
- data/windows/zlib, libpng/zlib/contrib/iostream2/zstream.h +307 -0
- data/windows/zlib, libpng/zlib/contrib/iostream2/zstream_test.cpp +25 -0
- data/windows/zlib, libpng/zlib/contrib/iostream3/README +35 -0
- data/windows/zlib, libpng/zlib/contrib/iostream3/TODO +17 -0
- data/windows/zlib, libpng/zlib/contrib/iostream3/test.cc +50 -0
- data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.cc +479 -0
- data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.h +466 -0
- data/windows/zlib, libpng/zlib/contrib/masm686/match.asm +413 -0
- data/windows/zlib, libpng/zlib/contrib/masmx64/bld_ml64.bat +2 -0
- data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.asm +513 -0
- data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.obj +0 -0
- data/windows/zlib, libpng/zlib/contrib/masmx64/inffas8664.c +186 -0
- data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.asm +392 -0
- data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.obj +0 -0
- data/windows/zlib, libpng/zlib/contrib/masmx64/readme.txt +28 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/bld_ml32.bat +2 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.asm +972 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.obj +0 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32c.c +62 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.asm +1083 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.obj +0 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/mkasm.bat +3 -0
- data/windows/zlib, libpng/zlib/contrib/masmx86/readme.txt +21 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/ChangeLogUnzip +67 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/Makefile +25 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/crypt.h +132 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.c +177 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.h +75 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.c +270 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.h +21 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/miniunz.c +585 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/minizip.c +420 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/mztools.c +281 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/mztools.h +31 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/unzip.c +1598 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/unzip.h +354 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/zip.c +1219 -0
- data/windows/zlib, libpng/zlib/contrib/minizip/zip.h +235 -0
- data/windows/zlib, libpng/zlib/contrib/pascal/example.pas +599 -0
- data/windows/zlib, libpng/zlib/contrib/pascal/readme.txt +76 -0
- data/windows/zlib, libpng/zlib/contrib/pascal/zlibd32.mak +93 -0
- data/windows/zlib, libpng/zlib/contrib/pascal/zlibpas.pas +236 -0
- data/windows/zlib, libpng/zlib/contrib/puff/Makefile +8 -0
- data/windows/zlib, libpng/zlib/contrib/puff/README +63 -0
- data/windows/zlib, libpng/zlib/contrib/puff/puff.c +837 -0
- data/windows/zlib, libpng/zlib/contrib/puff/puff.h +31 -0
- data/windows/zlib, libpng/zlib/contrib/puff/zeros.raw +0 -0
- data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.c +275 -0
- data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.txt +10 -0
- data/windows/zlib, libpng/zlib/contrib/untgz/Makefile +14 -0
- data/windows/zlib, libpng/zlib/contrib/untgz/Makefile.msc +17 -0
- data/windows/zlib, libpng/zlib/contrib/untgz/untgz.c +674 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/readme.txt +73 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/miniunz.vcproj +126 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/minizip.vcproj +126 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/testzlib.vcproj +126 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlib.rc +32 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibstat.vcproj +246 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.def +92 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.sln +78 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.vcproj +445 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/miniunz.vcproj +566 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/minizip.vcproj +563 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlib.vcproj +948 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlibdll.vcproj +567 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlib.rc +32 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibstat.vcproj +870 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.def +92 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.sln +144 -0
- data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.vcproj +1219 -0
- data/windows/zlib, libpng/zlib/crc32.c +423 -0
- data/windows/zlib, libpng/zlib/crc32.h +441 -0
- data/windows/zlib, libpng/zlib/deflate.c +1736 -0
- data/windows/zlib, libpng/zlib/deflate.h +331 -0
- data/windows/zlib, libpng/zlib/example.c +565 -0
- data/windows/zlib, libpng/zlib/examples/README.examples +42 -0
- data/windows/zlib, libpng/zlib/examples/fitblk.c +233 -0
- data/windows/zlib, libpng/zlib/examples/gun.c +693 -0
- data/windows/zlib, libpng/zlib/examples/gzappend.c +500 -0
- data/windows/zlib, libpng/zlib/examples/gzjoin.c +448 -0
- data/windows/zlib, libpng/zlib/examples/gzlog.c +413 -0
- data/windows/zlib, libpng/zlib/examples/gzlog.h +58 -0
- data/windows/zlib, libpng/zlib/examples/zlib_how.html +523 -0
- data/windows/zlib, libpng/zlib/examples/zpipe.c +191 -0
- data/windows/zlib, libpng/zlib/examples/zran.c +404 -0
- data/windows/zlib, libpng/zlib/gzio.c +1026 -0
- data/windows/zlib, libpng/zlib/infback.c +623 -0
- data/windows/zlib, libpng/zlib/inffast.c +318 -0
- data/windows/zlib, libpng/zlib/inffast.h +11 -0
- data/windows/zlib, libpng/zlib/inffixed.h +94 -0
- data/windows/zlib, libpng/zlib/inflate.c +1368 -0
- data/windows/zlib, libpng/zlib/inflate.h +115 -0
- data/windows/zlib, libpng/zlib/inftrees.c +329 -0
- data/windows/zlib, libpng/zlib/inftrees.h +55 -0
- data/windows/zlib, libpng/zlib/make_vms.com +461 -0
- data/windows/zlib, libpng/zlib/minigzip.c +322 -0
- data/windows/zlib, libpng/zlib/msdos/Makefile.bor +109 -0
- data/windows/zlib, libpng/zlib/msdos/Makefile.dj2 +104 -0
- data/windows/zlib, libpng/zlib/msdos/Makefile.emx +69 -0
- data/windows/zlib, libpng/zlib/msdos/Makefile.msc +106 -0
- data/windows/zlib, libpng/zlib/msdos/Makefile.tc +94 -0
- data/windows/zlib, libpng/zlib/old/Makefile.riscos +151 -0
- data/windows/zlib, libpng/zlib/old/README +3 -0
- data/windows/zlib, libpng/zlib/old/descrip.mms +48 -0
- data/windows/zlib, libpng/zlib/old/os2/Makefile.os2 +136 -0
- data/windows/zlib, libpng/zlib/old/os2/zlib.def +51 -0
- data/windows/zlib, libpng/zlib/old/visual-basic.txt +160 -0
- data/windows/zlib, libpng/zlib/old/zlib.html +971 -0
- data/windows/zlib, libpng/zlib/projects/README.projects +41 -0
- data/windows/zlib, libpng/zlib/projects/visualc6/README.txt +73 -0
- data/windows/zlib, libpng/zlib/projects/visualc6/example.dsp +278 -0
- data/windows/zlib, libpng/zlib/projects/visualc6/minigzip.dsp +278 -0
- data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsp +609 -0
- data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsw +59 -0
- data/windows/zlib, libpng/zlib/qnx/package.qpg +141 -0
- data/windows/zlib, libpng/zlib/trees.c +1219 -0
- data/windows/zlib, libpng/zlib/trees.h +128 -0
- data/windows/zlib, libpng/zlib/uncompr.c +61 -0
- data/windows/zlib, libpng/zlib/win32/DLL_FAQ.txt +397 -0
- data/windows/zlib, libpng/zlib/win32/Makefile.bor +107 -0
- data/windows/zlib, libpng/zlib/win32/Makefile.emx +69 -0
- data/windows/zlib, libpng/zlib/win32/Makefile.gcc +141 -0
- data/windows/zlib, libpng/zlib/win32/Makefile.msc +126 -0
- data/windows/zlib, libpng/zlib/win32/VisualC.txt +3 -0
- data/windows/zlib, libpng/zlib/win32/zlib.def +60 -0
- data/windows/zlib, libpng/zlib/win32/zlib1.rc +39 -0
- data/windows/zlib, libpng/zlib/zconf.h +332 -0
- data/windows/zlib, libpng/zlib/zconf.in.h +332 -0
- data/windows/zlib, libpng/zlib/zlib.3 +159 -0
- data/windows/zlib, libpng/zlib/zlib.h +1357 -0
- data/windows/zlib, libpng/zlib/zutil.c +318 -0
- data/windows/zlib, libpng/zlib/zutil.h +269 -0
- metadata +669 -216
@@ -0,0 +1,343 @@
|
|
1
|
+
|
2
|
+
/* pngerror.c - stub functions for i/o and memory allocation
|
3
|
+
*
|
4
|
+
* Last changed in libpng 1.2.22 [October 13, 2007]
|
5
|
+
* For conditions of distribution and use, see copyright notice in png.h
|
6
|
+
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
|
7
|
+
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
8
|
+
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
9
|
+
*
|
10
|
+
* This file provides a location for all error handling. Users who
|
11
|
+
* need special error handling are expected to write replacement functions
|
12
|
+
* and use png_set_error_fn() to use those functions. See the instructions
|
13
|
+
* at each function.
|
14
|
+
*/
|
15
|
+
|
16
|
+
#define PNG_INTERNAL
|
17
|
+
#include "png.h"
|
18
|
+
|
19
|
+
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
20
|
+
static void /* PRIVATE */
|
21
|
+
png_default_error PNGARG((png_structp png_ptr,
|
22
|
+
png_const_charp error_message));
|
23
|
+
#ifndef PNG_NO_WARNINGS
|
24
|
+
static void /* PRIVATE */
|
25
|
+
png_default_warning PNGARG((png_structp png_ptr,
|
26
|
+
png_const_charp warning_message));
|
27
|
+
#endif /* PNG_NO_WARNINGS */
|
28
|
+
|
29
|
+
/* This function is called whenever there is a fatal error. This function
|
30
|
+
* should not be changed. If there is a need to handle errors differently,
|
31
|
+
* you should supply a replacement error function and use png_set_error_fn()
|
32
|
+
* to replace the error function at run-time.
|
33
|
+
*/
|
34
|
+
#ifndef PNG_NO_ERROR_TEXT
|
35
|
+
void PNGAPI
|
36
|
+
png_error(png_structp png_ptr, png_const_charp error_message)
|
37
|
+
{
|
38
|
+
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
39
|
+
char msg[16];
|
40
|
+
if (png_ptr != NULL)
|
41
|
+
{
|
42
|
+
if (png_ptr->flags&
|
43
|
+
(PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT))
|
44
|
+
{
|
45
|
+
if (*error_message == '#')
|
46
|
+
{
|
47
|
+
int offset;
|
48
|
+
for (offset=1; offset<15; offset++)
|
49
|
+
if (*(error_message+offset) == ' ')
|
50
|
+
break;
|
51
|
+
if (png_ptr->flags&PNG_FLAG_STRIP_ERROR_TEXT)
|
52
|
+
{
|
53
|
+
int i;
|
54
|
+
for (i=0; i<offset-1; i++)
|
55
|
+
msg[i]=error_message[i+1];
|
56
|
+
msg[i]='\0';
|
57
|
+
error_message=msg;
|
58
|
+
}
|
59
|
+
else
|
60
|
+
error_message+=offset;
|
61
|
+
}
|
62
|
+
else
|
63
|
+
{
|
64
|
+
if (png_ptr->flags&PNG_FLAG_STRIP_ERROR_TEXT)
|
65
|
+
{
|
66
|
+
msg[0]='0';
|
67
|
+
msg[1]='\0';
|
68
|
+
error_message=msg;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
#endif
|
74
|
+
if (png_ptr != NULL && png_ptr->error_fn != NULL)
|
75
|
+
(*(png_ptr->error_fn))(png_ptr, error_message);
|
76
|
+
|
77
|
+
/* If the custom handler doesn't exist, or if it returns,
|
78
|
+
use the default handler, which will not return. */
|
79
|
+
png_default_error(png_ptr, error_message);
|
80
|
+
}
|
81
|
+
#else
|
82
|
+
void PNGAPI
|
83
|
+
png_err(png_structp png_ptr)
|
84
|
+
{
|
85
|
+
if (png_ptr != NULL && png_ptr->error_fn != NULL)
|
86
|
+
(*(png_ptr->error_fn))(png_ptr, '\0');
|
87
|
+
|
88
|
+
/* If the custom handler doesn't exist, or if it returns,
|
89
|
+
use the default handler, which will not return. */
|
90
|
+
png_default_error(png_ptr, '\0');
|
91
|
+
}
|
92
|
+
#endif /* PNG_NO_ERROR_TEXT */
|
93
|
+
|
94
|
+
#ifndef PNG_NO_WARNINGS
|
95
|
+
/* This function is called whenever there is a non-fatal error. This function
|
96
|
+
* should not be changed. If there is a need to handle warnings differently,
|
97
|
+
* you should supply a replacement warning function and use
|
98
|
+
* png_set_error_fn() to replace the warning function at run-time.
|
99
|
+
*/
|
100
|
+
void PNGAPI
|
101
|
+
png_warning(png_structp png_ptr, png_const_charp warning_message)
|
102
|
+
{
|
103
|
+
int offset = 0;
|
104
|
+
if (png_ptr != NULL)
|
105
|
+
{
|
106
|
+
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
107
|
+
if (png_ptr->flags&
|
108
|
+
(PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT))
|
109
|
+
#endif
|
110
|
+
{
|
111
|
+
if (*warning_message == '#')
|
112
|
+
{
|
113
|
+
for (offset=1; offset<15; offset++)
|
114
|
+
if (*(warning_message+offset) == ' ')
|
115
|
+
break;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
if (png_ptr != NULL && png_ptr->warning_fn != NULL)
|
119
|
+
(*(png_ptr->warning_fn))(png_ptr, warning_message+offset);
|
120
|
+
}
|
121
|
+
else
|
122
|
+
png_default_warning(png_ptr, warning_message+offset);
|
123
|
+
}
|
124
|
+
#endif /* PNG_NO_WARNINGS */
|
125
|
+
|
126
|
+
|
127
|
+
/* These utilities are used internally to build an error message that relates
|
128
|
+
* to the current chunk. The chunk name comes from png_ptr->chunk_name,
|
129
|
+
* this is used to prefix the message. The message is limited in length
|
130
|
+
* to 63 bytes, the name characters are output as hex digits wrapped in []
|
131
|
+
* if the character is invalid.
|
132
|
+
*/
|
133
|
+
#define isnonalpha(c) ((c) < 65 || (c) > 122 || ((c) > 90 && (c) < 97))
|
134
|
+
static PNG_CONST char png_digit[16] = {
|
135
|
+
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
136
|
+
'A', 'B', 'C', 'D', 'E', 'F'
|
137
|
+
};
|
138
|
+
|
139
|
+
#define PNG_MAX_ERROR_TEXT 64
|
140
|
+
|
141
|
+
#if !defined(PNG_NO_WARNINGS) || !defined(PNG_NO_ERROR_TEXT)
|
142
|
+
static void /* PRIVATE */
|
143
|
+
png_format_buffer(png_structp png_ptr, png_charp buffer, png_const_charp
|
144
|
+
error_message)
|
145
|
+
{
|
146
|
+
int iout = 0, iin = 0;
|
147
|
+
|
148
|
+
while (iin < 4)
|
149
|
+
{
|
150
|
+
int c = png_ptr->chunk_name[iin++];
|
151
|
+
if (isnonalpha(c))
|
152
|
+
{
|
153
|
+
buffer[iout++] = '[';
|
154
|
+
buffer[iout++] = png_digit[(c & 0xf0) >> 4];
|
155
|
+
buffer[iout++] = png_digit[c & 0x0f];
|
156
|
+
buffer[iout++] = ']';
|
157
|
+
}
|
158
|
+
else
|
159
|
+
{
|
160
|
+
buffer[iout++] = (png_byte)c;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
if (error_message == NULL)
|
165
|
+
buffer[iout] = '\0';
|
166
|
+
else
|
167
|
+
{
|
168
|
+
buffer[iout++] = ':';
|
169
|
+
buffer[iout++] = ' ';
|
170
|
+
png_memcpy(buffer+iout, error_message, PNG_MAX_ERROR_TEXT);
|
171
|
+
buffer[iout+PNG_MAX_ERROR_TEXT-1] = '\0';
|
172
|
+
}
|
173
|
+
}
|
174
|
+
|
175
|
+
#ifdef PNG_READ_SUPPORTED
|
176
|
+
void PNGAPI
|
177
|
+
png_chunk_error(png_structp png_ptr, png_const_charp error_message)
|
178
|
+
{
|
179
|
+
char msg[18+PNG_MAX_ERROR_TEXT];
|
180
|
+
if (png_ptr == NULL)
|
181
|
+
png_error(png_ptr, error_message);
|
182
|
+
else
|
183
|
+
{
|
184
|
+
png_format_buffer(png_ptr, msg, error_message);
|
185
|
+
png_error(png_ptr, msg);
|
186
|
+
}
|
187
|
+
}
|
188
|
+
#endif /* PNG_READ_SUPPORTED */
|
189
|
+
#endif /* !defined(PNG_NO_WARNINGS) || !defined(PNG_NO_ERROR_TEXT) */
|
190
|
+
|
191
|
+
#ifndef PNG_NO_WARNINGS
|
192
|
+
void PNGAPI
|
193
|
+
png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
|
194
|
+
{
|
195
|
+
char msg[18+PNG_MAX_ERROR_TEXT];
|
196
|
+
if (png_ptr == NULL)
|
197
|
+
png_warning(png_ptr, warning_message);
|
198
|
+
else
|
199
|
+
{
|
200
|
+
png_format_buffer(png_ptr, msg, warning_message);
|
201
|
+
png_warning(png_ptr, msg);
|
202
|
+
}
|
203
|
+
}
|
204
|
+
#endif /* PNG_NO_WARNINGS */
|
205
|
+
|
206
|
+
|
207
|
+
/* This is the default error handling function. Note that replacements for
|
208
|
+
* this function MUST NOT RETURN, or the program will likely crash. This
|
209
|
+
* function is used by default, or if the program supplies NULL for the
|
210
|
+
* error function pointer in png_set_error_fn().
|
211
|
+
*/
|
212
|
+
static void /* PRIVATE */
|
213
|
+
png_default_error(png_structp png_ptr, png_const_charp error_message)
|
214
|
+
{
|
215
|
+
#ifndef PNG_NO_CONSOLE_IO
|
216
|
+
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
217
|
+
if (*error_message == '#')
|
218
|
+
{
|
219
|
+
int offset;
|
220
|
+
char error_number[16];
|
221
|
+
for (offset=0; offset<15; offset++)
|
222
|
+
{
|
223
|
+
error_number[offset] = *(error_message+offset+1);
|
224
|
+
if (*(error_message+offset) == ' ')
|
225
|
+
break;
|
226
|
+
}
|
227
|
+
if((offset > 1) && (offset < 15))
|
228
|
+
{
|
229
|
+
error_number[offset-1]='\0';
|
230
|
+
fprintf(stderr, "libpng error no. %s: %s\n", error_number,
|
231
|
+
error_message+offset);
|
232
|
+
}
|
233
|
+
else
|
234
|
+
fprintf(stderr, "libpng error: %s, offset=%d\n", error_message,offset);
|
235
|
+
}
|
236
|
+
else
|
237
|
+
#endif
|
238
|
+
fprintf(stderr, "libpng error: %s\n", error_message);
|
239
|
+
#endif
|
240
|
+
|
241
|
+
#ifdef PNG_SETJMP_SUPPORTED
|
242
|
+
if (png_ptr)
|
243
|
+
{
|
244
|
+
# ifdef USE_FAR_KEYWORD
|
245
|
+
{
|
246
|
+
jmp_buf jmpbuf;
|
247
|
+
png_memcpy(jmpbuf, png_ptr->jmpbuf, png_sizeof(jmp_buf));
|
248
|
+
longjmp(jmpbuf, 1);
|
249
|
+
}
|
250
|
+
# else
|
251
|
+
longjmp(png_ptr->jmpbuf, 1);
|
252
|
+
# endif
|
253
|
+
}
|
254
|
+
#else
|
255
|
+
PNG_ABORT();
|
256
|
+
#endif
|
257
|
+
#ifdef PNG_NO_CONSOLE_IO
|
258
|
+
error_message = error_message; /* make compiler happy */
|
259
|
+
#endif
|
260
|
+
}
|
261
|
+
|
262
|
+
#ifndef PNG_NO_WARNINGS
|
263
|
+
/* This function is called when there is a warning, but the library thinks
|
264
|
+
* it can continue anyway. Replacement functions don't have to do anything
|
265
|
+
* here if you don't want them to. In the default configuration, png_ptr is
|
266
|
+
* not used, but it is passed in case it may be useful.
|
267
|
+
*/
|
268
|
+
static void /* PRIVATE */
|
269
|
+
png_default_warning(png_structp png_ptr, png_const_charp warning_message)
|
270
|
+
{
|
271
|
+
#ifndef PNG_NO_CONSOLE_IO
|
272
|
+
# ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
273
|
+
if (*warning_message == '#')
|
274
|
+
{
|
275
|
+
int offset;
|
276
|
+
char warning_number[16];
|
277
|
+
for (offset=0; offset<15; offset++)
|
278
|
+
{
|
279
|
+
warning_number[offset]=*(warning_message+offset+1);
|
280
|
+
if (*(warning_message+offset) == ' ')
|
281
|
+
break;
|
282
|
+
}
|
283
|
+
if((offset > 1) && (offset < 15))
|
284
|
+
{
|
285
|
+
warning_number[offset-1]='\0';
|
286
|
+
fprintf(stderr, "libpng warning no. %s: %s\n", warning_number,
|
287
|
+
warning_message+offset);
|
288
|
+
}
|
289
|
+
else
|
290
|
+
fprintf(stderr, "libpng warning: %s\n", warning_message);
|
291
|
+
}
|
292
|
+
else
|
293
|
+
# endif
|
294
|
+
fprintf(stderr, "libpng warning: %s\n", warning_message);
|
295
|
+
#else
|
296
|
+
warning_message = warning_message; /* make compiler happy */
|
297
|
+
#endif
|
298
|
+
png_ptr = png_ptr; /* make compiler happy */
|
299
|
+
}
|
300
|
+
#endif /* PNG_NO_WARNINGS */
|
301
|
+
|
302
|
+
/* This function is called when the application wants to use another method
|
303
|
+
* of handling errors and warnings. Note that the error function MUST NOT
|
304
|
+
* return to the calling routine or serious problems will occur. The return
|
305
|
+
* method used in the default routine calls longjmp(png_ptr->jmpbuf, 1)
|
306
|
+
*/
|
307
|
+
void PNGAPI
|
308
|
+
png_set_error_fn(png_structp png_ptr, png_voidp error_ptr,
|
309
|
+
png_error_ptr error_fn, png_error_ptr warning_fn)
|
310
|
+
{
|
311
|
+
if (png_ptr == NULL)
|
312
|
+
return;
|
313
|
+
png_ptr->error_ptr = error_ptr;
|
314
|
+
png_ptr->error_fn = error_fn;
|
315
|
+
png_ptr->warning_fn = warning_fn;
|
316
|
+
}
|
317
|
+
|
318
|
+
|
319
|
+
/* This function returns a pointer to the error_ptr associated with the user
|
320
|
+
* functions. The application should free any memory associated with this
|
321
|
+
* pointer before png_write_destroy and png_read_destroy are called.
|
322
|
+
*/
|
323
|
+
png_voidp PNGAPI
|
324
|
+
png_get_error_ptr(png_structp png_ptr)
|
325
|
+
{
|
326
|
+
if (png_ptr == NULL)
|
327
|
+
return NULL;
|
328
|
+
return ((png_voidp)png_ptr->error_ptr);
|
329
|
+
}
|
330
|
+
|
331
|
+
|
332
|
+
#ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
333
|
+
void PNGAPI
|
334
|
+
png_set_strip_error_numbers(png_structp png_ptr, png_uint_32 strip_mode)
|
335
|
+
{
|
336
|
+
if(png_ptr != NULL)
|
337
|
+
{
|
338
|
+
png_ptr->flags &=
|
339
|
+
((~(PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT))&strip_mode);
|
340
|
+
}
|
341
|
+
}
|
342
|
+
#endif
|
343
|
+
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
|
@@ -0,0 +1,103 @@
|
|
1
|
+
/* pnggccrd.c was removed from libpng-1.2.20. */
|
2
|
+
|
3
|
+
/* This code snippet is for use by configure's compilation test. */
|
4
|
+
|
5
|
+
#if (!defined _MSC_VER) && \
|
6
|
+
defined(PNG_ASSEMBLER_CODE_SUPPORTED) && \
|
7
|
+
defined(PNG_MMX_CODE_SUPPORTED)
|
8
|
+
|
9
|
+
int PNGAPI png_dummy_mmx_support(void);
|
10
|
+
|
11
|
+
static int _mmx_supported = 2; // 0: no MMX; 1: MMX supported; 2: not tested
|
12
|
+
|
13
|
+
int PNGAPI
|
14
|
+
png_dummy_mmx_support(void) __attribute__((noinline));
|
15
|
+
|
16
|
+
int PNGAPI
|
17
|
+
png_dummy_mmx_support(void)
|
18
|
+
{
|
19
|
+
int result;
|
20
|
+
#if defined(PNG_MMX_CODE_SUPPORTED) // superfluous, but what the heck
|
21
|
+
__asm__ __volatile__ (
|
22
|
+
#if defined(__x86_64__)
|
23
|
+
"pushq %%rbx \n\t" // rbx gets clobbered by CPUID instruction
|
24
|
+
"pushq %%rcx \n\t" // so does rcx...
|
25
|
+
"pushq %%rdx \n\t" // ...and rdx (but rcx & rdx safe on Linux)
|
26
|
+
"pushfq \n\t" // save Eflag to stack
|
27
|
+
"popq %%rax \n\t" // get Eflag from stack into rax
|
28
|
+
"movq %%rax, %%rcx \n\t" // make another copy of Eflag in rcx
|
29
|
+
"xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
|
30
|
+
"pushq %%rax \n\t" // save modified Eflag back to stack
|
31
|
+
"popfq \n\t" // restore modified value to Eflag reg
|
32
|
+
"pushfq \n\t" // save Eflag to stack
|
33
|
+
"popq %%rax \n\t" // get Eflag from stack
|
34
|
+
"pushq %%rcx \n\t" // save original Eflag to stack
|
35
|
+
"popfq \n\t" // restore original Eflag
|
36
|
+
#else
|
37
|
+
"pushl %%ebx \n\t" // ebx gets clobbered by CPUID instruction
|
38
|
+
"pushl %%ecx \n\t" // so does ecx...
|
39
|
+
"pushl %%edx \n\t" // ...and edx (but ecx & edx safe on Linux)
|
40
|
+
"pushfl \n\t" // save Eflag to stack
|
41
|
+
"popl %%eax \n\t" // get Eflag from stack into eax
|
42
|
+
"movl %%eax, %%ecx \n\t" // make another copy of Eflag in ecx
|
43
|
+
"xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
|
44
|
+
"pushl %%eax \n\t" // save modified Eflag back to stack
|
45
|
+
"popfl \n\t" // restore modified value to Eflag reg
|
46
|
+
"pushfl \n\t" // save Eflag to stack
|
47
|
+
"popl %%eax \n\t" // get Eflag from stack
|
48
|
+
"pushl %%ecx \n\t" // save original Eflag to stack
|
49
|
+
"popfl \n\t" // restore original Eflag
|
50
|
+
#endif
|
51
|
+
"xorl %%ecx, %%eax \n\t" // compare new Eflag with original Eflag
|
52
|
+
"jz 0f \n\t" // if same, CPUID instr. is not supported
|
53
|
+
|
54
|
+
"xorl %%eax, %%eax \n\t" // set eax to zero
|
55
|
+
// ".byte 0x0f, 0xa2 \n\t" // CPUID instruction (two-byte opcode)
|
56
|
+
"cpuid \n\t" // get the CPU identification info
|
57
|
+
"cmpl $1, %%eax \n\t" // make sure eax return non-zero value
|
58
|
+
"jl 0f \n\t" // if eax is zero, MMX is not supported
|
59
|
+
|
60
|
+
"xorl %%eax, %%eax \n\t" // set eax to zero and...
|
61
|
+
"incl %%eax \n\t" // ...increment eax to 1. This pair is
|
62
|
+
// faster than the instruction "mov eax, 1"
|
63
|
+
"cpuid \n\t" // get the CPU identification info again
|
64
|
+
"andl $0x800000, %%edx \n\t" // mask out all bits but MMX bit (23)
|
65
|
+
"cmpl $0, %%edx \n\t" // 0 = MMX not supported
|
66
|
+
"jz 0f \n\t" // non-zero = yes, MMX IS supported
|
67
|
+
|
68
|
+
"movl $1, %%eax \n\t" // set return value to 1
|
69
|
+
"jmp 1f \n\t" // DONE: have MMX support
|
70
|
+
|
71
|
+
"0: \n\t" // .NOT_SUPPORTED: target label for jump instructions
|
72
|
+
"movl $0, %%eax \n\t" // set return value to 0
|
73
|
+
"1: \n\t" // .RETURN: target label for jump instructions
|
74
|
+
#if defined(__x86_64__)
|
75
|
+
"popq %%rdx \n\t" // restore rdx
|
76
|
+
"popq %%rcx \n\t" // restore rcx
|
77
|
+
"popq %%rbx \n\t" // restore rbx
|
78
|
+
#else
|
79
|
+
"popl %%edx \n\t" // restore edx
|
80
|
+
"popl %%ecx \n\t" // restore ecx
|
81
|
+
"popl %%ebx \n\t" // restore ebx
|
82
|
+
#endif
|
83
|
+
|
84
|
+
// "ret \n\t" // DONE: no MMX support
|
85
|
+
// (fall through to standard C "ret")
|
86
|
+
|
87
|
+
: "=a" (result) // output list
|
88
|
+
|
89
|
+
: // any variables used on input (none)
|
90
|
+
|
91
|
+
// no clobber list
|
92
|
+
// , "%ebx", "%ecx", "%edx" // GRR: we handle these manually
|
93
|
+
// , "memory" // if write to a variable gcc thought was in a reg
|
94
|
+
// , "cc" // "condition codes" (flag bits)
|
95
|
+
);
|
96
|
+
_mmx_supported = result;
|
97
|
+
#else
|
98
|
+
_mmx_supported = 0;
|
99
|
+
#endif /* PNG_MMX_CODE_SUPPORTED */
|
100
|
+
|
101
|
+
return _mmx_supported;
|
102
|
+
}
|
103
|
+
#endif
|
@@ -0,0 +1,901 @@
|
|
1
|
+
|
2
|
+
/* pngget.c - retrieval of values from info struct
|
3
|
+
*
|
4
|
+
* Last changed in libpng 1.2.15 January 5, 2007
|
5
|
+
* For conditions of distribution and use, see copyright notice in png.h
|
6
|
+
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
|
7
|
+
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
8
|
+
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
9
|
+
*/
|
10
|
+
|
11
|
+
#define PNG_INTERNAL
|
12
|
+
#include "png.h"
|
13
|
+
|
14
|
+
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
15
|
+
|
16
|
+
png_uint_32 PNGAPI
|
17
|
+
png_get_valid(png_structp png_ptr, png_infop info_ptr, png_uint_32 flag)
|
18
|
+
{
|
19
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
20
|
+
return(info_ptr->valid & flag);
|
21
|
+
else
|
22
|
+
return(0);
|
23
|
+
}
|
24
|
+
|
25
|
+
png_uint_32 PNGAPI
|
26
|
+
png_get_rowbytes(png_structp png_ptr, png_infop info_ptr)
|
27
|
+
{
|
28
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
29
|
+
return(info_ptr->rowbytes);
|
30
|
+
else
|
31
|
+
return(0);
|
32
|
+
}
|
33
|
+
|
34
|
+
#if defined(PNG_INFO_IMAGE_SUPPORTED)
|
35
|
+
png_bytepp PNGAPI
|
36
|
+
png_get_rows(png_structp png_ptr, png_infop info_ptr)
|
37
|
+
{
|
38
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
39
|
+
return(info_ptr->row_pointers);
|
40
|
+
else
|
41
|
+
return(0);
|
42
|
+
}
|
43
|
+
#endif
|
44
|
+
|
45
|
+
#ifdef PNG_EASY_ACCESS_SUPPORTED
|
46
|
+
/* easy access to info, added in libpng-0.99 */
|
47
|
+
png_uint_32 PNGAPI
|
48
|
+
png_get_image_width(png_structp png_ptr, png_infop info_ptr)
|
49
|
+
{
|
50
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
51
|
+
{
|
52
|
+
return info_ptr->width;
|
53
|
+
}
|
54
|
+
return (0);
|
55
|
+
}
|
56
|
+
|
57
|
+
png_uint_32 PNGAPI
|
58
|
+
png_get_image_height(png_structp png_ptr, png_infop info_ptr)
|
59
|
+
{
|
60
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
61
|
+
{
|
62
|
+
return info_ptr->height;
|
63
|
+
}
|
64
|
+
return (0);
|
65
|
+
}
|
66
|
+
|
67
|
+
png_byte PNGAPI
|
68
|
+
png_get_bit_depth(png_structp png_ptr, png_infop info_ptr)
|
69
|
+
{
|
70
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
71
|
+
{
|
72
|
+
return info_ptr->bit_depth;
|
73
|
+
}
|
74
|
+
return (0);
|
75
|
+
}
|
76
|
+
|
77
|
+
png_byte PNGAPI
|
78
|
+
png_get_color_type(png_structp png_ptr, png_infop info_ptr)
|
79
|
+
{
|
80
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
81
|
+
{
|
82
|
+
return info_ptr->color_type;
|
83
|
+
}
|
84
|
+
return (0);
|
85
|
+
}
|
86
|
+
|
87
|
+
png_byte PNGAPI
|
88
|
+
png_get_filter_type(png_structp png_ptr, png_infop info_ptr)
|
89
|
+
{
|
90
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
91
|
+
{
|
92
|
+
return info_ptr->filter_type;
|
93
|
+
}
|
94
|
+
return (0);
|
95
|
+
}
|
96
|
+
|
97
|
+
png_byte PNGAPI
|
98
|
+
png_get_interlace_type(png_structp png_ptr, png_infop info_ptr)
|
99
|
+
{
|
100
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
101
|
+
{
|
102
|
+
return info_ptr->interlace_type;
|
103
|
+
}
|
104
|
+
return (0);
|
105
|
+
}
|
106
|
+
|
107
|
+
png_byte PNGAPI
|
108
|
+
png_get_compression_type(png_structp png_ptr, png_infop info_ptr)
|
109
|
+
{
|
110
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
111
|
+
{
|
112
|
+
return info_ptr->compression_type;
|
113
|
+
}
|
114
|
+
return (0);
|
115
|
+
}
|
116
|
+
|
117
|
+
png_uint_32 PNGAPI
|
118
|
+
png_get_x_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
|
119
|
+
{
|
120
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
121
|
+
#if defined(PNG_pHYs_SUPPORTED)
|
122
|
+
if (info_ptr->valid & PNG_INFO_pHYs)
|
123
|
+
{
|
124
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_x_pixels_per_meter");
|
125
|
+
if(info_ptr->phys_unit_type != PNG_RESOLUTION_METER)
|
126
|
+
return (0);
|
127
|
+
else return (info_ptr->x_pixels_per_unit);
|
128
|
+
}
|
129
|
+
#else
|
130
|
+
return (0);
|
131
|
+
#endif
|
132
|
+
return (0);
|
133
|
+
}
|
134
|
+
|
135
|
+
png_uint_32 PNGAPI
|
136
|
+
png_get_y_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
|
137
|
+
{
|
138
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
139
|
+
#if defined(PNG_pHYs_SUPPORTED)
|
140
|
+
if (info_ptr->valid & PNG_INFO_pHYs)
|
141
|
+
{
|
142
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_y_pixels_per_meter");
|
143
|
+
if(info_ptr->phys_unit_type != PNG_RESOLUTION_METER)
|
144
|
+
return (0);
|
145
|
+
else return (info_ptr->y_pixels_per_unit);
|
146
|
+
}
|
147
|
+
#else
|
148
|
+
return (0);
|
149
|
+
#endif
|
150
|
+
return (0);
|
151
|
+
}
|
152
|
+
|
153
|
+
png_uint_32 PNGAPI
|
154
|
+
png_get_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
|
155
|
+
{
|
156
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
157
|
+
#if defined(PNG_pHYs_SUPPORTED)
|
158
|
+
if (info_ptr->valid & PNG_INFO_pHYs)
|
159
|
+
{
|
160
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_pixels_per_meter");
|
161
|
+
if(info_ptr->phys_unit_type != PNG_RESOLUTION_METER ||
|
162
|
+
info_ptr->x_pixels_per_unit != info_ptr->y_pixels_per_unit)
|
163
|
+
return (0);
|
164
|
+
else return (info_ptr->x_pixels_per_unit);
|
165
|
+
}
|
166
|
+
#else
|
167
|
+
return (0);
|
168
|
+
#endif
|
169
|
+
return (0);
|
170
|
+
}
|
171
|
+
|
172
|
+
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
173
|
+
float PNGAPI
|
174
|
+
png_get_pixel_aspect_ratio(png_structp png_ptr, png_infop info_ptr)
|
175
|
+
{
|
176
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
177
|
+
#if defined(PNG_pHYs_SUPPORTED)
|
178
|
+
if (info_ptr->valid & PNG_INFO_pHYs)
|
179
|
+
{
|
180
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_aspect_ratio");
|
181
|
+
if (info_ptr->x_pixels_per_unit == 0)
|
182
|
+
return ((float)0.0);
|
183
|
+
else
|
184
|
+
return ((float)((float)info_ptr->y_pixels_per_unit
|
185
|
+
/(float)info_ptr->x_pixels_per_unit));
|
186
|
+
}
|
187
|
+
#else
|
188
|
+
return (0.0);
|
189
|
+
#endif
|
190
|
+
return ((float)0.0);
|
191
|
+
}
|
192
|
+
#endif
|
193
|
+
|
194
|
+
png_int_32 PNGAPI
|
195
|
+
png_get_x_offset_microns(png_structp png_ptr, png_infop info_ptr)
|
196
|
+
{
|
197
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
198
|
+
#if defined(PNG_oFFs_SUPPORTED)
|
199
|
+
if (info_ptr->valid & PNG_INFO_oFFs)
|
200
|
+
{
|
201
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_x_offset_microns");
|
202
|
+
if(info_ptr->offset_unit_type != PNG_OFFSET_MICROMETER)
|
203
|
+
return (0);
|
204
|
+
else return (info_ptr->x_offset);
|
205
|
+
}
|
206
|
+
#else
|
207
|
+
return (0);
|
208
|
+
#endif
|
209
|
+
return (0);
|
210
|
+
}
|
211
|
+
|
212
|
+
png_int_32 PNGAPI
|
213
|
+
png_get_y_offset_microns(png_structp png_ptr, png_infop info_ptr)
|
214
|
+
{
|
215
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
216
|
+
#if defined(PNG_oFFs_SUPPORTED)
|
217
|
+
if (info_ptr->valid & PNG_INFO_oFFs)
|
218
|
+
{
|
219
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_y_offset_microns");
|
220
|
+
if(info_ptr->offset_unit_type != PNG_OFFSET_MICROMETER)
|
221
|
+
return (0);
|
222
|
+
else return (info_ptr->y_offset);
|
223
|
+
}
|
224
|
+
#else
|
225
|
+
return (0);
|
226
|
+
#endif
|
227
|
+
return (0);
|
228
|
+
}
|
229
|
+
|
230
|
+
png_int_32 PNGAPI
|
231
|
+
png_get_x_offset_pixels(png_structp png_ptr, png_infop info_ptr)
|
232
|
+
{
|
233
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
234
|
+
#if defined(PNG_oFFs_SUPPORTED)
|
235
|
+
if (info_ptr->valid & PNG_INFO_oFFs)
|
236
|
+
{
|
237
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_x_offset_microns");
|
238
|
+
if(info_ptr->offset_unit_type != PNG_OFFSET_PIXEL)
|
239
|
+
return (0);
|
240
|
+
else return (info_ptr->x_offset);
|
241
|
+
}
|
242
|
+
#else
|
243
|
+
return (0);
|
244
|
+
#endif
|
245
|
+
return (0);
|
246
|
+
}
|
247
|
+
|
248
|
+
png_int_32 PNGAPI
|
249
|
+
png_get_y_offset_pixels(png_structp png_ptr, png_infop info_ptr)
|
250
|
+
{
|
251
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
252
|
+
#if defined(PNG_oFFs_SUPPORTED)
|
253
|
+
if (info_ptr->valid & PNG_INFO_oFFs)
|
254
|
+
{
|
255
|
+
png_debug1(1, "in %s retrieval function\n", "png_get_y_offset_microns");
|
256
|
+
if(info_ptr->offset_unit_type != PNG_OFFSET_PIXEL)
|
257
|
+
return (0);
|
258
|
+
else return (info_ptr->y_offset);
|
259
|
+
}
|
260
|
+
#else
|
261
|
+
return (0);
|
262
|
+
#endif
|
263
|
+
return (0);
|
264
|
+
}
|
265
|
+
|
266
|
+
#if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED)
|
267
|
+
png_uint_32 PNGAPI
|
268
|
+
png_get_pixels_per_inch(png_structp png_ptr, png_infop info_ptr)
|
269
|
+
{
|
270
|
+
return ((png_uint_32)((float)png_get_pixels_per_meter(png_ptr, info_ptr)
|
271
|
+
*.0254 +.5));
|
272
|
+
}
|
273
|
+
|
274
|
+
png_uint_32 PNGAPI
|
275
|
+
png_get_x_pixels_per_inch(png_structp png_ptr, png_infop info_ptr)
|
276
|
+
{
|
277
|
+
return ((png_uint_32)((float)png_get_x_pixels_per_meter(png_ptr, info_ptr)
|
278
|
+
*.0254 +.5));
|
279
|
+
}
|
280
|
+
|
281
|
+
png_uint_32 PNGAPI
|
282
|
+
png_get_y_pixels_per_inch(png_structp png_ptr, png_infop info_ptr)
|
283
|
+
{
|
284
|
+
return ((png_uint_32)((float)png_get_y_pixels_per_meter(png_ptr, info_ptr)
|
285
|
+
*.0254 +.5));
|
286
|
+
}
|
287
|
+
|
288
|
+
float PNGAPI
|
289
|
+
png_get_x_offset_inches(png_structp png_ptr, png_infop info_ptr)
|
290
|
+
{
|
291
|
+
return ((float)png_get_x_offset_microns(png_ptr, info_ptr)
|
292
|
+
*.00003937);
|
293
|
+
}
|
294
|
+
|
295
|
+
float PNGAPI
|
296
|
+
png_get_y_offset_inches(png_structp png_ptr, png_infop info_ptr)
|
297
|
+
{
|
298
|
+
return ((float)png_get_y_offset_microns(png_ptr, info_ptr)
|
299
|
+
*.00003937);
|
300
|
+
}
|
301
|
+
|
302
|
+
#if defined(PNG_pHYs_SUPPORTED)
|
303
|
+
png_uint_32 PNGAPI
|
304
|
+
png_get_pHYs_dpi(png_structp png_ptr, png_infop info_ptr,
|
305
|
+
png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
|
306
|
+
{
|
307
|
+
png_uint_32 retval = 0;
|
308
|
+
|
309
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_pHYs))
|
310
|
+
{
|
311
|
+
png_debug1(1, "in %s retrieval function\n", "pHYs");
|
312
|
+
if (res_x != NULL)
|
313
|
+
{
|
314
|
+
*res_x = info_ptr->x_pixels_per_unit;
|
315
|
+
retval |= PNG_INFO_pHYs;
|
316
|
+
}
|
317
|
+
if (res_y != NULL)
|
318
|
+
{
|
319
|
+
*res_y = info_ptr->y_pixels_per_unit;
|
320
|
+
retval |= PNG_INFO_pHYs;
|
321
|
+
}
|
322
|
+
if (unit_type != NULL)
|
323
|
+
{
|
324
|
+
*unit_type = (int)info_ptr->phys_unit_type;
|
325
|
+
retval |= PNG_INFO_pHYs;
|
326
|
+
if(*unit_type == 1)
|
327
|
+
{
|
328
|
+
if (res_x != NULL) *res_x = (png_uint_32)(*res_x * .0254 + .50);
|
329
|
+
if (res_y != NULL) *res_y = (png_uint_32)(*res_y * .0254 + .50);
|
330
|
+
}
|
331
|
+
}
|
332
|
+
}
|
333
|
+
return (retval);
|
334
|
+
}
|
335
|
+
#endif /* PNG_pHYs_SUPPORTED */
|
336
|
+
#endif /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */
|
337
|
+
|
338
|
+
/* png_get_channels really belongs in here, too, but it's been around longer */
|
339
|
+
|
340
|
+
#endif /* PNG_EASY_ACCESS_SUPPORTED */
|
341
|
+
|
342
|
+
png_byte PNGAPI
|
343
|
+
png_get_channels(png_structp png_ptr, png_infop info_ptr)
|
344
|
+
{
|
345
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
346
|
+
return(info_ptr->channels);
|
347
|
+
else
|
348
|
+
return (0);
|
349
|
+
}
|
350
|
+
|
351
|
+
png_bytep PNGAPI
|
352
|
+
png_get_signature(png_structp png_ptr, png_infop info_ptr)
|
353
|
+
{
|
354
|
+
if (png_ptr != NULL && info_ptr != NULL)
|
355
|
+
return(info_ptr->signature);
|
356
|
+
else
|
357
|
+
return (NULL);
|
358
|
+
}
|
359
|
+
|
360
|
+
#if defined(PNG_bKGD_SUPPORTED)
|
361
|
+
png_uint_32 PNGAPI
|
362
|
+
png_get_bKGD(png_structp png_ptr, png_infop info_ptr,
|
363
|
+
png_color_16p *background)
|
364
|
+
{
|
365
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_bKGD)
|
366
|
+
&& background != NULL)
|
367
|
+
{
|
368
|
+
png_debug1(1, "in %s retrieval function\n", "bKGD");
|
369
|
+
*background = &(info_ptr->background);
|
370
|
+
return (PNG_INFO_bKGD);
|
371
|
+
}
|
372
|
+
return (0);
|
373
|
+
}
|
374
|
+
#endif
|
375
|
+
|
376
|
+
#if defined(PNG_cHRM_SUPPORTED)
|
377
|
+
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
378
|
+
png_uint_32 PNGAPI
|
379
|
+
png_get_cHRM(png_structp png_ptr, png_infop info_ptr,
|
380
|
+
double *white_x, double *white_y, double *red_x, double *red_y,
|
381
|
+
double *green_x, double *green_y, double *blue_x, double *blue_y)
|
382
|
+
{
|
383
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_cHRM))
|
384
|
+
{
|
385
|
+
png_debug1(1, "in %s retrieval function\n", "cHRM");
|
386
|
+
if (white_x != NULL)
|
387
|
+
*white_x = (double)info_ptr->x_white;
|
388
|
+
if (white_y != NULL)
|
389
|
+
*white_y = (double)info_ptr->y_white;
|
390
|
+
if (red_x != NULL)
|
391
|
+
*red_x = (double)info_ptr->x_red;
|
392
|
+
if (red_y != NULL)
|
393
|
+
*red_y = (double)info_ptr->y_red;
|
394
|
+
if (green_x != NULL)
|
395
|
+
*green_x = (double)info_ptr->x_green;
|
396
|
+
if (green_y != NULL)
|
397
|
+
*green_y = (double)info_ptr->y_green;
|
398
|
+
if (blue_x != NULL)
|
399
|
+
*blue_x = (double)info_ptr->x_blue;
|
400
|
+
if (blue_y != NULL)
|
401
|
+
*blue_y = (double)info_ptr->y_blue;
|
402
|
+
return (PNG_INFO_cHRM);
|
403
|
+
}
|
404
|
+
return (0);
|
405
|
+
}
|
406
|
+
#endif
|
407
|
+
#ifdef PNG_FIXED_POINT_SUPPORTED
|
408
|
+
png_uint_32 PNGAPI
|
409
|
+
png_get_cHRM_fixed(png_structp png_ptr, png_infop info_ptr,
|
410
|
+
png_fixed_point *white_x, png_fixed_point *white_y, png_fixed_point *red_x,
|
411
|
+
png_fixed_point *red_y, png_fixed_point *green_x, png_fixed_point *green_y,
|
412
|
+
png_fixed_point *blue_x, png_fixed_point *blue_y)
|
413
|
+
{
|
414
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_cHRM))
|
415
|
+
{
|
416
|
+
png_debug1(1, "in %s retrieval function\n", "cHRM");
|
417
|
+
if (white_x != NULL)
|
418
|
+
*white_x = info_ptr->int_x_white;
|
419
|
+
if (white_y != NULL)
|
420
|
+
*white_y = info_ptr->int_y_white;
|
421
|
+
if (red_x != NULL)
|
422
|
+
*red_x = info_ptr->int_x_red;
|
423
|
+
if (red_y != NULL)
|
424
|
+
*red_y = info_ptr->int_y_red;
|
425
|
+
if (green_x != NULL)
|
426
|
+
*green_x = info_ptr->int_x_green;
|
427
|
+
if (green_y != NULL)
|
428
|
+
*green_y = info_ptr->int_y_green;
|
429
|
+
if (blue_x != NULL)
|
430
|
+
*blue_x = info_ptr->int_x_blue;
|
431
|
+
if (blue_y != NULL)
|
432
|
+
*blue_y = info_ptr->int_y_blue;
|
433
|
+
return (PNG_INFO_cHRM);
|
434
|
+
}
|
435
|
+
return (0);
|
436
|
+
}
|
437
|
+
#endif
|
438
|
+
#endif
|
439
|
+
|
440
|
+
#if defined(PNG_gAMA_SUPPORTED)
|
441
|
+
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
442
|
+
png_uint_32 PNGAPI
|
443
|
+
png_get_gAMA(png_structp png_ptr, png_infop info_ptr, double *file_gamma)
|
444
|
+
{
|
445
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_gAMA)
|
446
|
+
&& file_gamma != NULL)
|
447
|
+
{
|
448
|
+
png_debug1(1, "in %s retrieval function\n", "gAMA");
|
449
|
+
*file_gamma = (double)info_ptr->gamma;
|
450
|
+
return (PNG_INFO_gAMA);
|
451
|
+
}
|
452
|
+
return (0);
|
453
|
+
}
|
454
|
+
#endif
|
455
|
+
#ifdef PNG_FIXED_POINT_SUPPORTED
|
456
|
+
png_uint_32 PNGAPI
|
457
|
+
png_get_gAMA_fixed(png_structp png_ptr, png_infop info_ptr,
|
458
|
+
png_fixed_point *int_file_gamma)
|
459
|
+
{
|
460
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_gAMA)
|
461
|
+
&& int_file_gamma != NULL)
|
462
|
+
{
|
463
|
+
png_debug1(1, "in %s retrieval function\n", "gAMA");
|
464
|
+
*int_file_gamma = info_ptr->int_gamma;
|
465
|
+
return (PNG_INFO_gAMA);
|
466
|
+
}
|
467
|
+
return (0);
|
468
|
+
}
|
469
|
+
#endif
|
470
|
+
#endif
|
471
|
+
|
472
|
+
#if defined(PNG_sRGB_SUPPORTED)
|
473
|
+
png_uint_32 PNGAPI
|
474
|
+
png_get_sRGB(png_structp png_ptr, png_infop info_ptr, int *file_srgb_intent)
|
475
|
+
{
|
476
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_sRGB)
|
477
|
+
&& file_srgb_intent != NULL)
|
478
|
+
{
|
479
|
+
png_debug1(1, "in %s retrieval function\n", "sRGB");
|
480
|
+
*file_srgb_intent = (int)info_ptr->srgb_intent;
|
481
|
+
return (PNG_INFO_sRGB);
|
482
|
+
}
|
483
|
+
return (0);
|
484
|
+
}
|
485
|
+
#endif
|
486
|
+
|
487
|
+
#if defined(PNG_iCCP_SUPPORTED)
|
488
|
+
png_uint_32 PNGAPI
|
489
|
+
png_get_iCCP(png_structp png_ptr, png_infop info_ptr,
|
490
|
+
png_charpp name, int *compression_type,
|
491
|
+
png_charpp profile, png_uint_32 *proflen)
|
492
|
+
{
|
493
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_iCCP)
|
494
|
+
&& name != NULL && profile != NULL && proflen != NULL)
|
495
|
+
{
|
496
|
+
png_debug1(1, "in %s retrieval function\n", "iCCP");
|
497
|
+
*name = info_ptr->iccp_name;
|
498
|
+
*profile = info_ptr->iccp_profile;
|
499
|
+
/* compression_type is a dummy so the API won't have to change
|
500
|
+
if we introduce multiple compression types later. */
|
501
|
+
*proflen = (int)info_ptr->iccp_proflen;
|
502
|
+
*compression_type = (int)info_ptr->iccp_compression;
|
503
|
+
return (PNG_INFO_iCCP);
|
504
|
+
}
|
505
|
+
return (0);
|
506
|
+
}
|
507
|
+
#endif
|
508
|
+
|
509
|
+
#if defined(PNG_sPLT_SUPPORTED)
|
510
|
+
png_uint_32 PNGAPI
|
511
|
+
png_get_sPLT(png_structp png_ptr, png_infop info_ptr,
|
512
|
+
png_sPLT_tpp spalettes)
|
513
|
+
{
|
514
|
+
if (png_ptr != NULL && info_ptr != NULL && spalettes != NULL)
|
515
|
+
{
|
516
|
+
*spalettes = info_ptr->splt_palettes;
|
517
|
+
return ((png_uint_32)info_ptr->splt_palettes_num);
|
518
|
+
}
|
519
|
+
return (0);
|
520
|
+
}
|
521
|
+
#endif
|
522
|
+
|
523
|
+
#if defined(PNG_hIST_SUPPORTED)
|
524
|
+
png_uint_32 PNGAPI
|
525
|
+
png_get_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p *hist)
|
526
|
+
{
|
527
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_hIST)
|
528
|
+
&& hist != NULL)
|
529
|
+
{
|
530
|
+
png_debug1(1, "in %s retrieval function\n", "hIST");
|
531
|
+
*hist = info_ptr->hist;
|
532
|
+
return (PNG_INFO_hIST);
|
533
|
+
}
|
534
|
+
return (0);
|
535
|
+
}
|
536
|
+
#endif
|
537
|
+
|
538
|
+
png_uint_32 PNGAPI
|
539
|
+
png_get_IHDR(png_structp png_ptr, png_infop info_ptr,
|
540
|
+
png_uint_32 *width, png_uint_32 *height, int *bit_depth,
|
541
|
+
int *color_type, int *interlace_type, int *compression_type,
|
542
|
+
int *filter_type)
|
543
|
+
|
544
|
+
{
|
545
|
+
if (png_ptr != NULL && info_ptr != NULL && width != NULL && height != NULL &&
|
546
|
+
bit_depth != NULL && color_type != NULL)
|
547
|
+
{
|
548
|
+
png_debug1(1, "in %s retrieval function\n", "IHDR");
|
549
|
+
*width = info_ptr->width;
|
550
|
+
*height = info_ptr->height;
|
551
|
+
*bit_depth = info_ptr->bit_depth;
|
552
|
+
if (info_ptr->bit_depth < 1 || info_ptr->bit_depth > 16)
|
553
|
+
png_error(png_ptr, "Invalid bit depth");
|
554
|
+
*color_type = info_ptr->color_type;
|
555
|
+
if (info_ptr->color_type > 6)
|
556
|
+
png_error(png_ptr, "Invalid color type");
|
557
|
+
if (compression_type != NULL)
|
558
|
+
*compression_type = info_ptr->compression_type;
|
559
|
+
if (filter_type != NULL)
|
560
|
+
*filter_type = info_ptr->filter_type;
|
561
|
+
if (interlace_type != NULL)
|
562
|
+
*interlace_type = info_ptr->interlace_type;
|
563
|
+
|
564
|
+
/* check for potential overflow of rowbytes */
|
565
|
+
if (*width == 0 || *width > PNG_UINT_31_MAX)
|
566
|
+
png_error(png_ptr, "Invalid image width");
|
567
|
+
if (*height == 0 || *height > PNG_UINT_31_MAX)
|
568
|
+
png_error(png_ptr, "Invalid image height");
|
569
|
+
if (info_ptr->width > (PNG_UINT_32_MAX
|
570
|
+
>> 3) /* 8-byte RGBA pixels */
|
571
|
+
- 64 /* bigrowbuf hack */
|
572
|
+
- 1 /* filter byte */
|
573
|
+
- 7*8 /* rounding of width to multiple of 8 pixels */
|
574
|
+
- 8) /* extra max_pixel_depth pad */
|
575
|
+
{
|
576
|
+
png_warning(png_ptr,
|
577
|
+
"Width too large for libpng to process image data.");
|
578
|
+
}
|
579
|
+
return (1);
|
580
|
+
}
|
581
|
+
return (0);
|
582
|
+
}
|
583
|
+
|
584
|
+
#if defined(PNG_oFFs_SUPPORTED)
|
585
|
+
png_uint_32 PNGAPI
|
586
|
+
png_get_oFFs(png_structp png_ptr, png_infop info_ptr,
|
587
|
+
png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)
|
588
|
+
{
|
589
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_oFFs)
|
590
|
+
&& offset_x != NULL && offset_y != NULL && unit_type != NULL)
|
591
|
+
{
|
592
|
+
png_debug1(1, "in %s retrieval function\n", "oFFs");
|
593
|
+
*offset_x = info_ptr->x_offset;
|
594
|
+
*offset_y = info_ptr->y_offset;
|
595
|
+
*unit_type = (int)info_ptr->offset_unit_type;
|
596
|
+
return (PNG_INFO_oFFs);
|
597
|
+
}
|
598
|
+
return (0);
|
599
|
+
}
|
600
|
+
#endif
|
601
|
+
|
602
|
+
#if defined(PNG_pCAL_SUPPORTED)
|
603
|
+
png_uint_32 PNGAPI
|
604
|
+
png_get_pCAL(png_structp png_ptr, png_infop info_ptr,
|
605
|
+
png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams,
|
606
|
+
png_charp *units, png_charpp *params)
|
607
|
+
{
|
608
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_pCAL)
|
609
|
+
&& purpose != NULL && X0 != NULL && X1 != NULL && type != NULL &&
|
610
|
+
nparams != NULL && units != NULL && params != NULL)
|
611
|
+
{
|
612
|
+
png_debug1(1, "in %s retrieval function\n", "pCAL");
|
613
|
+
*purpose = info_ptr->pcal_purpose;
|
614
|
+
*X0 = info_ptr->pcal_X0;
|
615
|
+
*X1 = info_ptr->pcal_X1;
|
616
|
+
*type = (int)info_ptr->pcal_type;
|
617
|
+
*nparams = (int)info_ptr->pcal_nparams;
|
618
|
+
*units = info_ptr->pcal_units;
|
619
|
+
*params = info_ptr->pcal_params;
|
620
|
+
return (PNG_INFO_pCAL);
|
621
|
+
}
|
622
|
+
return (0);
|
623
|
+
}
|
624
|
+
#endif
|
625
|
+
|
626
|
+
#if defined(PNG_sCAL_SUPPORTED)
|
627
|
+
#ifdef PNG_FLOATING_POINT_SUPPORTED
|
628
|
+
png_uint_32 PNGAPI
|
629
|
+
png_get_sCAL(png_structp png_ptr, png_infop info_ptr,
|
630
|
+
int *unit, double *width, double *height)
|
631
|
+
{
|
632
|
+
if (png_ptr != NULL && info_ptr != NULL &&
|
633
|
+
(info_ptr->valid & PNG_INFO_sCAL))
|
634
|
+
{
|
635
|
+
*unit = info_ptr->scal_unit;
|
636
|
+
*width = info_ptr->scal_pixel_width;
|
637
|
+
*height = info_ptr->scal_pixel_height;
|
638
|
+
return (PNG_INFO_sCAL);
|
639
|
+
}
|
640
|
+
return(0);
|
641
|
+
}
|
642
|
+
#else
|
643
|
+
#ifdef PNG_FIXED_POINT_SUPPORTED
|
644
|
+
png_uint_32 PNGAPI
|
645
|
+
png_get_sCAL_s(png_structp png_ptr, png_infop info_ptr,
|
646
|
+
int *unit, png_charpp width, png_charpp height)
|
647
|
+
{
|
648
|
+
if (png_ptr != NULL && info_ptr != NULL &&
|
649
|
+
(info_ptr->valid & PNG_INFO_sCAL))
|
650
|
+
{
|
651
|
+
*unit = info_ptr->scal_unit;
|
652
|
+
*width = info_ptr->scal_s_width;
|
653
|
+
*height = info_ptr->scal_s_height;
|
654
|
+
return (PNG_INFO_sCAL);
|
655
|
+
}
|
656
|
+
return(0);
|
657
|
+
}
|
658
|
+
#endif
|
659
|
+
#endif
|
660
|
+
#endif
|
661
|
+
|
662
|
+
#if defined(PNG_pHYs_SUPPORTED)
|
663
|
+
png_uint_32 PNGAPI
|
664
|
+
png_get_pHYs(png_structp png_ptr, png_infop info_ptr,
|
665
|
+
png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
|
666
|
+
{
|
667
|
+
png_uint_32 retval = 0;
|
668
|
+
|
669
|
+
if (png_ptr != NULL && info_ptr != NULL &&
|
670
|
+
(info_ptr->valid & PNG_INFO_pHYs))
|
671
|
+
{
|
672
|
+
png_debug1(1, "in %s retrieval function\n", "pHYs");
|
673
|
+
if (res_x != NULL)
|
674
|
+
{
|
675
|
+
*res_x = info_ptr->x_pixels_per_unit;
|
676
|
+
retval |= PNG_INFO_pHYs;
|
677
|
+
}
|
678
|
+
if (res_y != NULL)
|
679
|
+
{
|
680
|
+
*res_y = info_ptr->y_pixels_per_unit;
|
681
|
+
retval |= PNG_INFO_pHYs;
|
682
|
+
}
|
683
|
+
if (unit_type != NULL)
|
684
|
+
{
|
685
|
+
*unit_type = (int)info_ptr->phys_unit_type;
|
686
|
+
retval |= PNG_INFO_pHYs;
|
687
|
+
}
|
688
|
+
}
|
689
|
+
return (retval);
|
690
|
+
}
|
691
|
+
#endif
|
692
|
+
|
693
|
+
png_uint_32 PNGAPI
|
694
|
+
png_get_PLTE(png_structp png_ptr, png_infop info_ptr, png_colorp *palette,
|
695
|
+
int *num_palette)
|
696
|
+
{
|
697
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_PLTE)
|
698
|
+
&& palette != NULL)
|
699
|
+
{
|
700
|
+
png_debug1(1, "in %s retrieval function\n", "PLTE");
|
701
|
+
*palette = info_ptr->palette;
|
702
|
+
*num_palette = info_ptr->num_palette;
|
703
|
+
png_debug1(3, "num_palette = %d\n", *num_palette);
|
704
|
+
return (PNG_INFO_PLTE);
|
705
|
+
}
|
706
|
+
return (0);
|
707
|
+
}
|
708
|
+
|
709
|
+
#if defined(PNG_sBIT_SUPPORTED)
|
710
|
+
png_uint_32 PNGAPI
|
711
|
+
png_get_sBIT(png_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit)
|
712
|
+
{
|
713
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_sBIT)
|
714
|
+
&& sig_bit != NULL)
|
715
|
+
{
|
716
|
+
png_debug1(1, "in %s retrieval function\n", "sBIT");
|
717
|
+
*sig_bit = &(info_ptr->sig_bit);
|
718
|
+
return (PNG_INFO_sBIT);
|
719
|
+
}
|
720
|
+
return (0);
|
721
|
+
}
|
722
|
+
#endif
|
723
|
+
|
724
|
+
#if defined(PNG_TEXT_SUPPORTED)
|
725
|
+
png_uint_32 PNGAPI
|
726
|
+
png_get_text(png_structp png_ptr, png_infop info_ptr, png_textp *text_ptr,
|
727
|
+
int *num_text)
|
728
|
+
{
|
729
|
+
if (png_ptr != NULL && info_ptr != NULL && info_ptr->num_text > 0)
|
730
|
+
{
|
731
|
+
png_debug1(1, "in %s retrieval function\n",
|
732
|
+
(png_ptr->chunk_name[0] == '\0' ? "text"
|
733
|
+
: (png_const_charp)png_ptr->chunk_name));
|
734
|
+
if (text_ptr != NULL)
|
735
|
+
*text_ptr = info_ptr->text;
|
736
|
+
if (num_text != NULL)
|
737
|
+
*num_text = info_ptr->num_text;
|
738
|
+
return ((png_uint_32)info_ptr->num_text);
|
739
|
+
}
|
740
|
+
if (num_text != NULL)
|
741
|
+
*num_text = 0;
|
742
|
+
return(0);
|
743
|
+
}
|
744
|
+
#endif
|
745
|
+
|
746
|
+
#if defined(PNG_tIME_SUPPORTED)
|
747
|
+
png_uint_32 PNGAPI
|
748
|
+
png_get_tIME(png_structp png_ptr, png_infop info_ptr, png_timep *mod_time)
|
749
|
+
{
|
750
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_tIME)
|
751
|
+
&& mod_time != NULL)
|
752
|
+
{
|
753
|
+
png_debug1(1, "in %s retrieval function\n", "tIME");
|
754
|
+
*mod_time = &(info_ptr->mod_time);
|
755
|
+
return (PNG_INFO_tIME);
|
756
|
+
}
|
757
|
+
return (0);
|
758
|
+
}
|
759
|
+
#endif
|
760
|
+
|
761
|
+
#if defined(PNG_tRNS_SUPPORTED)
|
762
|
+
png_uint_32 PNGAPI
|
763
|
+
png_get_tRNS(png_structp png_ptr, png_infop info_ptr,
|
764
|
+
png_bytep *trans, int *num_trans, png_color_16p *trans_values)
|
765
|
+
{
|
766
|
+
png_uint_32 retval = 0;
|
767
|
+
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_tRNS))
|
768
|
+
{
|
769
|
+
png_debug1(1, "in %s retrieval function\n", "tRNS");
|
770
|
+
if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
771
|
+
{
|
772
|
+
if (trans != NULL)
|
773
|
+
{
|
774
|
+
*trans = info_ptr->trans;
|
775
|
+
retval |= PNG_INFO_tRNS;
|
776
|
+
}
|
777
|
+
if (trans_values != NULL)
|
778
|
+
*trans_values = &(info_ptr->trans_values);
|
779
|
+
}
|
780
|
+
else /* if (info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) */
|
781
|
+
{
|
782
|
+
if (trans_values != NULL)
|
783
|
+
{
|
784
|
+
*trans_values = &(info_ptr->trans_values);
|
785
|
+
retval |= PNG_INFO_tRNS;
|
786
|
+
}
|
787
|
+
if(trans != NULL)
|
788
|
+
*trans = NULL;
|
789
|
+
}
|
790
|
+
if(num_trans != NULL)
|
791
|
+
{
|
792
|
+
*num_trans = info_ptr->num_trans;
|
793
|
+
retval |= PNG_INFO_tRNS;
|
794
|
+
}
|
795
|
+
}
|
796
|
+
return (retval);
|
797
|
+
}
|
798
|
+
#endif
|
799
|
+
|
800
|
+
#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
|
801
|
+
png_uint_32 PNGAPI
|
802
|
+
png_get_unknown_chunks(png_structp png_ptr, png_infop info_ptr,
|
803
|
+
png_unknown_chunkpp unknowns)
|
804
|
+
{
|
805
|
+
if (png_ptr != NULL && info_ptr != NULL && unknowns != NULL)
|
806
|
+
{
|
807
|
+
*unknowns = info_ptr->unknown_chunks;
|
808
|
+
return ((png_uint_32)info_ptr->unknown_chunks_num);
|
809
|
+
}
|
810
|
+
return (0);
|
811
|
+
}
|
812
|
+
#endif
|
813
|
+
|
814
|
+
#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
|
815
|
+
png_byte PNGAPI
|
816
|
+
png_get_rgb_to_gray_status (png_structp png_ptr)
|
817
|
+
{
|
818
|
+
return (png_byte)(png_ptr? png_ptr->rgb_to_gray_status : 0);
|
819
|
+
}
|
820
|
+
#endif
|
821
|
+
|
822
|
+
#if defined(PNG_USER_CHUNKS_SUPPORTED)
|
823
|
+
png_voidp PNGAPI
|
824
|
+
png_get_user_chunk_ptr(png_structp png_ptr)
|
825
|
+
{
|
826
|
+
return (png_ptr? png_ptr->user_chunk_ptr : NULL);
|
827
|
+
}
|
828
|
+
#endif
|
829
|
+
|
830
|
+
#ifdef PNG_WRITE_SUPPORTED
|
831
|
+
png_uint_32 PNGAPI
|
832
|
+
png_get_compression_buffer_size(png_structp png_ptr)
|
833
|
+
{
|
834
|
+
return (png_uint_32)(png_ptr? png_ptr->zbuf_size : 0L);
|
835
|
+
}
|
836
|
+
#endif
|
837
|
+
|
838
|
+
#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
|
839
|
+
#ifndef PNG_1_0_X
|
840
|
+
/* this function was added to libpng 1.2.0 and should exist by default */
|
841
|
+
png_uint_32 PNGAPI
|
842
|
+
png_get_asm_flags (png_structp png_ptr)
|
843
|
+
{
|
844
|
+
/* obsolete, to be removed from libpng-1.4.0 */
|
845
|
+
return (png_ptr? 0L: 0L);
|
846
|
+
}
|
847
|
+
|
848
|
+
/* this function was added to libpng 1.2.0 and should exist by default */
|
849
|
+
png_uint_32 PNGAPI
|
850
|
+
png_get_asm_flagmask (int flag_select)
|
851
|
+
{
|
852
|
+
/* obsolete, to be removed from libpng-1.4.0 */
|
853
|
+
flag_select=flag_select;
|
854
|
+
return 0L;
|
855
|
+
}
|
856
|
+
|
857
|
+
/* GRR: could add this: && defined(PNG_MMX_CODE_SUPPORTED) */
|
858
|
+
/* this function was added to libpng 1.2.0 */
|
859
|
+
png_uint_32 PNGAPI
|
860
|
+
png_get_mmx_flagmask (int flag_select, int *compilerID)
|
861
|
+
{
|
862
|
+
/* obsolete, to be removed from libpng-1.4.0 */
|
863
|
+
flag_select=flag_select;
|
864
|
+
*compilerID = -1; /* unknown (i.e., no asm/MMX code compiled) */
|
865
|
+
return 0L;
|
866
|
+
}
|
867
|
+
|
868
|
+
/* this function was added to libpng 1.2.0 */
|
869
|
+
png_byte PNGAPI
|
870
|
+
png_get_mmx_bitdepth_threshold (png_structp png_ptr)
|
871
|
+
{
|
872
|
+
/* obsolete, to be removed from libpng-1.4.0 */
|
873
|
+
return (png_ptr? 0: 0);
|
874
|
+
}
|
875
|
+
|
876
|
+
/* this function was added to libpng 1.2.0 */
|
877
|
+
png_uint_32 PNGAPI
|
878
|
+
png_get_mmx_rowbytes_threshold (png_structp png_ptr)
|
879
|
+
{
|
880
|
+
/* obsolete, to be removed from libpng-1.4.0 */
|
881
|
+
return (png_ptr? 0L: 0L);
|
882
|
+
}
|
883
|
+
#endif /* ?PNG_1_0_X */
|
884
|
+
#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
|
885
|
+
|
886
|
+
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
|
887
|
+
/* these functions were added to libpng 1.2.6 */
|
888
|
+
png_uint_32 PNGAPI
|
889
|
+
png_get_user_width_max (png_structp png_ptr)
|
890
|
+
{
|
891
|
+
return (png_ptr? png_ptr->user_width_max : 0);
|
892
|
+
}
|
893
|
+
png_uint_32 PNGAPI
|
894
|
+
png_get_user_height_max (png_structp png_ptr)
|
895
|
+
{
|
896
|
+
return (png_ptr? png_ptr->user_height_max : 0);
|
897
|
+
}
|
898
|
+
#endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
|
899
|
+
|
900
|
+
|
901
|
+
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
|