summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-04-10 03:40:48 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-04-10 03:40:48 +0000
commit503c0227622254c0ae3209a1fa72bcb68bb450bc (patch)
tree48df20533f300f819504c15af33cdc03fc386a93 /Build/source/libs/gd
parenta9d86b73ecf95b83666e16c4d90e348c4958a63b (diff)
libgd 2.3.0
git-svn-id: svn://tug.org/texlive/trunk@54636 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/gd')
-rw-r--r--Build/source/libs/gd/ChangeLog5
-rw-r--r--Build/source/libs/gd/README4
-rw-r--r--Build/source/libs/gd/TLpatches/ChangeLog7
-rw-r--r--Build/source/libs/gd/TLpatches/TL-Changes2
-rw-r--r--Build/source/libs/gd/TLpatches/patch-01-win3262
-rw-r--r--Build/source/libs/gd/TLpatches/patch-02-no-stdcall6
-rwxr-xr-xBuild/source/libs/gd/configure20
-rw-r--r--Build/source/libs/gd/libgd-src/CHANGELOG.md51
-rw-r--r--Build/source/libs/gd/libgd-src/CMakeLists.txt132
-rw-r--r--Build/source/libs/gd/libgd-src/CONTRIBUTING.md138
-rw-r--r--Build/source/libs/gd/libgd-src/CONTRIBUTORS4
-rw-r--r--Build/source/libs/gd/libgd-src/COPYING1
-rw-r--r--Build/source/libs/gd/libgd-src/Makefile.am2
-rw-r--r--Build/source/libs/gd/libgd-src/README.md8
-rw-r--r--Build/source/libs/gd/libgd-src/VMS/CONFIGURE.COM58
-rw-r--r--Build/source/libs/gd/libgd-src/VMS/README.VMS14
-rwxr-xr-xBuild/source/libs/gd/libgd-src/bootstrap.sh6
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/AC_HEADER_STDC.cmake5
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/CMakeParseArguments.cmake156
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/CheckDIRSymbolExists.cmake16
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/CheckPrototypeExists.cmake7
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindFontConfig.cmake8
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindFreetype.cmake128
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindICONV.cmake46
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake36
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindPNG.cmake93
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindPTHREAD.cmake182
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindPackageHandleStandardArgs.cmake317
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindRAQM.cmake (renamed from Build/source/libs/gd/libgd-src/cmake/modules/FindJPEG.cmake)67
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindWEBP.cmake9
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/FindXPM.cmake10
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.c2
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.cmake4
-rw-r--r--Build/source/libs/gd/libgd-src/cmake/modules/gd.cmake6
-rw-r--r--Build/source/libs/gd/libgd-src/config/Makefile.am4
-rw-r--r--Build/source/libs/gd/libgd-src/config/gdlib-config.in99
-rw-r--r--Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake9
-rw-r--r--Build/source/libs/gd/libgd-src/config/getver.pl7
-rw-r--r--Build/source/libs/gd/libgd-src/configure.ac83
-rw-r--r--Build/source/libs/gd/libgd-src/docs/INSTALL1
-rw-r--r--Build/source/libs/gd/libgd-src/docs/NEWS.historic12
-rw-r--r--Build/source/libs/gd/libgd-src/docs/README.CMAKE4
-rw-r--r--Build/source/libs/gd/libgd-src/docs/README.JPN53
-rw-r--r--Build/source/libs/gd/libgd-src/docs/README.TESTING15
-rw-r--r--Build/source/libs/gd/libgd-src/docs/README.TXT2
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html206
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html173
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html53
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html39
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html39
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html52
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html47
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html81
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html57
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html63
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html54
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html124
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html57
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html56
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html47
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html39
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html39
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html83
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html65
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html39
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_png-c.html77
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_ss-c.html45
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tga-c.html47
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tiff-c.html53
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_topal-c.html49
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_transform-c.html47
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_version-c.html51
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_wbmp-c.html59
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_webp-c.html57
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_xbm-c.html51
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontg-c.html43
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontl-c.html43
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontmb-c.html43
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfonts-c.html43
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontt-c.html43
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdft-c.html70
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfx-c.html47
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdhelpers-c.html39
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdxpm-c.html49
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/license-txt.html39
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/preamble-txt.html89
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/edge_detect_quick.jpgbin22444 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/emboss.jpgbin20811 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/mean_removal.jpgbin27366 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/smooth.jpgbin15528 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index.html1
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Constants.html38
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Files.html82
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Functions.html34
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General.html54
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General2.html34
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General3.html70
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Macros.html34
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Types.html34
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/main.js841
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/prettify.js1526
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/searchdata.js182
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsG.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsS.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesB.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesC.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesF.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesG.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesI.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesJ.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesL.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesM.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesP.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesS.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesT.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesW.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesX.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FunctionsG.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralA.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralB.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralC.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralE.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralF.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralG.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralI.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralJ.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralL.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralM.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralNumbers.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralO.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralP.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralS.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralT.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralW.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralX.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/MacrosG.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/NoResults.html15
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/TypesG.html20
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/1.css828
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/2.css9
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/main.css2
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl1
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt8
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ClassHierarchy.ndbin7 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ConfigFileInfo.ndbin26 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/FileInfo.nd95
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageFileInfo.ndbin245 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageReferenceTable.ndbin654 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/IndexInfo.ndbin222 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousMenuState.ndbin2657 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousSettings.ndbin96 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/SymbolTable.ndbin77342 -> 0 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt113
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Menu.txt11
-rw-r--r--Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt81
-rwxr-xr-xBuild/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh2
-rw-r--r--Build/source/libs/gd/libgd-src/examples/CMakeLists.txt28
-rw-r--r--Build/source/libs/gd/libgd-src/examples/arc.c5
-rw-r--r--Build/source/libs/gd/libgd-src/examples/copyrotated.c5
-rw-r--r--Build/source/libs/gd/libgd-src/examples/crop.c11
-rw-r--r--Build/source/libs/gd/libgd-src/examples/flip.c1
-rw-r--r--Build/source/libs/gd/libgd-src/examples/gif.c2
-rw-r--r--Build/source/libs/gd/libgd-src/examples/nnquant.c11
-rw-r--r--Build/source/libs/gd/libgd-src/examples/resize.c2
-rw-r--r--Build/source/libs/gd/libgd-src/examples/tgaread.c7
-rw-r--r--Build/source/libs/gd/libgd-src/examples/tiffread.c1
-rw-r--r--Build/source/libs/gd/libgd-src/examples/windows.c1
-rw-r--r--Build/source/libs/gd/libgd-src/m4/ax_append_flag.m433
-rw-r--r--Build/source/libs/gd/libgd-src/m4/ax_cflags_warn_all.m46
-rw-r--r--Build/source/libs/gd/libgd-src/m4/ax_pthread.m46
-rw-r--r--Build/source/libs/gd/libgd-src/m4/ax_require_defined.m44
-rw-r--r--Build/source/libs/gd/libgd-src/netware/Makefile.netware553
-rw-r--r--Build/source/libs/gd/libgd-src/netware/get_exp.awk37
-rw-r--r--Build/source/libs/gd/libgd-src/netware/get_ver.awk28
-rw-r--r--Build/source/libs/gd/libgd-src/netware/keepscreen.c27
-rw-r--r--Build/source/libs/gd/libgd-src/netware/nwlibc.c290
-rw-r--r--Build/source/libs/gd/libgd-src/netware/tests/Makefile.netware285
-rw-r--r--Build/source/libs/gd/libgd-src/src/CMakeLists.txt42
-rw-r--r--Build/source/libs/gd/libgd-src/src/COPYING28
-rw-r--r--Build/source/libs/gd/libgd-src/src/Makefile.am17
-rw-r--r--Build/source/libs/gd/libgd-src/src/annotate.c46
-rw-r--r--Build/source/libs/gd/libgd-src/src/bdftogd15
-rw-r--r--Build/source/libs/gd/libgd-src/src/bmp.h11
-rw-r--r--Build/source/libs/gd/libgd-src/src/circletexttest.c5
-rw-r--r--Build/source/libs/gd/libgd-src/src/config.h.cmake21
-rw-r--r--Build/source/libs/gd/libgd-src/src/config.hin15
-rw-r--r--Build/source/libs/gd/libgd-src/src/entities.html26
-rw-r--r--Build/source/libs/gd/libgd-src/src/fontconfigtest.c4
-rw-r--r--Build/source/libs/gd/libgd-src/src/fontsizetest.c13
-rw-r--r--Build/source/libs/gd/libgd-src/src/fontwheeltest.c6
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd.c103
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd.h94
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd2copypal.c1
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd2togif.c1
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd2topng.c5
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_bmp.c57
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_color_match.c5
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_crop.c51
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_filename.c21
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_filter.c14
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_gd.c76
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_gd2.c45
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_gif_in.c24
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_gif_out.c54
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_intern.h4
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_interpolation.c139
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_io.c4
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_io.h22
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_io_dp.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_io_stream.cxx15
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_io_stream.h5
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_jpeg.c91
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_matrix.c5
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_nnquant.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_nnquant.h3
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_png.c67
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_tga.c3
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_tiff.c48
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_topal.c17
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_transform.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_wbmp.c23
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_webp.c58
-rw-r--r--Build/source/libs/gd/libgd-src/src/gd_xbm.c8
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdcache.c15
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdcache.h4
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdcmpgif.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gddemo.c5
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdfontg.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdfontl.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdfontmb.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdfontt.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdft.c272
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdfx.c1
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdfx.h11
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdhelpers.c2
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdhelpers.h10
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdkanji.c24
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdparttopng.c5
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdpp.cxx85
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdpp.h22
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdtables.c1
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdtest.c10
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdtestft.c14
-rw-r--r--Build/source/libs/gd/libgd-src/src/gdtopng.c5
-rw-r--r--Build/source/libs/gd/libgd-src/src/getopt.c129
-rw-r--r--Build/source/libs/gd/libgd-src/src/gifanimtest.c1
-rw-r--r--Build/source/libs/gd/libgd-src/src/giftogd2.c1
-rw-r--r--Build/source/libs/gd/libgd-src/src/jisx0208.h8
-rw-r--r--Build/source/libs/gd/libgd-src/src/msinttypes/inttypes.h18
-rw-r--r--Build/source/libs/gd/libgd-src/src/msinttypes/stdint.h18
-rw-r--r--Build/source/libs/gd/libgd-src/src/pngtogd.c4
-rw-r--r--Build/source/libs/gd/libgd-src/src/pngtogd2.c6
-rw-r--r--Build/source/libs/gd/libgd-src/src/snprintf.c25
-rw-r--r--Build/source/libs/gd/libgd-src/src/testac.c9
-rw-r--r--Build/source/libs/gd/libgd-src/src/testtr.c14
-rw-r--r--Build/source/libs/gd/libgd-src/src/wbmp.c3
-rw-r--r--Build/source/libs/gd/libgd-src/src/wbmp.h12
-rw-r--r--Build/source/libs/gd/libgd-src/src/webpng.c6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/CMakeLists.txt15
-rw-r--r--Build/source/libs/gd/libgd-src/tests/Makefile.am14
-rw-r--r--Build/source/libs/gd/libgd-src/tests/bmp/CMakeLists.txt6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/bmp/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/bmp/bug00275.c4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/bmp/bug00276.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/bmp/bug00450.bmpbin0 -> 102 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/bmp/bug00450.c40
-rw-r--r--Build/source/libs/gd/libgd-src/tests/freetype/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd/CMakeLists.txt9
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd/bug00383.c32
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd/bug00383.gdbin0 -> 1101 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/CMakeLists.txt14
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/Makemodule.am16
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/bug00209.c18
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/bug00354.c28
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/bug00383.c32
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/bug00383.gd2bin0 -> 1113 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/bug_289.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2part.c35
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2partptr.c59
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/gd2_read.c3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gd2/php_bug_72339.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagebrightness/basic.c36
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageclone/CMakeLists.txt1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageclone/Makemodule.am3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageclone/style.c30
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolor/basic.c26
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/Makemodule.am7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/gdImageColorClosestHWB.c26
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/CMakeLists.txt6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/Makemodule.am6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/cve_2019_6977.c25
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/gdimagecolormatch.c32
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/gdimagecolorreplace.c22
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecompare/CMakeLists.txt4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecompare/Makemodule.am5
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c56
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecontrast/basic.c36
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageconvolution/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageconvolution/Makemodule.am3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageconvolution/basic.c47
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageconvolution/bug00369.c28
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge.c38
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge_exp.pngbin0 -> 124 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray.c38
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray_exp.pngbin0 -> 124 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/CMakeLists.txt4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/Makemodule.am4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/bug00201.c8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized.c35
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized_exp.pngbin0 -> 129 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecreate/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c16
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecrop/CMakeLists.txt6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecrop/Makemodule.am4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00432.c45
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_auto.c52
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_threshold.c48
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00486.c48
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageellipse/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageellipse/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169.c22
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169_exp.pngbin0 -> 24802 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefile/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefile/gdnametest.c236
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_1.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_2.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_3.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00104_1.c10
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/CMakeLists.txt1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351.c30
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351_exp.pngbin0 -> 2652 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/CMakeLists.txt1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169.c22
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169_exp.pngbin0 -> 27696 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/github_bug_00238.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/self_intersecting.c28
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00004.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00078.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/bug00037.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilter/gdCopyBlurred.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageflip/gdimageflip.c33
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/basic.c26
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/bug00386.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageline/CMakeLists.txt3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageline/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315.c37
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315_exp.pngbin0 -> 120 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagenegate/basic.c26
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagepixelate/gdimagepixelate.c38
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagerectangle/github_bug_00172.c7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagerectangle/point_ordering.c6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagerotate/CMakeLists.txt5
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagerotate/Makemodule.am6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070_exp.pngbin32722 -> 32699 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00329.c63
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00330.c26
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagescale/bug_overflow_large_new_size.c3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/CMakeLists.txt5
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/Makemodule.am5
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/github_bug_00584.c31
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesetpixel/alpha_blending.c86
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/Makemodule.am6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle.c32
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle_exp.pngbin0 -> 1414 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring.c34
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring_exp.pngbin0 -> 179 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring16/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring16/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16.c32
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16_exp.pngbin0 -> 118 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringft/CMakeLists.txt4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringft/Makemodule.am2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringft/gdimagestringft_bbox.c32
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup.c34
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup_exp.pngbin0 -> 180 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup16/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup16/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16.c31
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16_exp.pngbin0 -> 117 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/CMakeLists.txt2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/bug00307.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdinterpolatedscale/CMakeLists.txt3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.c39
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.h3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtiled/bug00032.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtransformaffineboundingbox/github_bug_00221.c4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/CMakeLists.txt8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00583.c30
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00585.c33
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00586.c26
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00596.c42
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/CMakeLists.txt11
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/Makemodule.am15
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/bug00006.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/bug00181.c1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/bug00227.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/bug00499.c51
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.c13
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.gifbin0 -> 30 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c28
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.gifbin0 -> 1731 bytes
-rw-r--r--Build/source/libs/gd/libgd-src/tests/jpeg/CMakeLists.txt3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/jpeg/Makemodule.am7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/jpeg/bug00338.c35
-rw-r--r--Build/source/libs/gd/libgd-src/tests/jpeg/jpeg_ptr_double_free.c31
-rw-r--r--Build/source/libs/gd/libgd-src/tests/png/CMakeLists.txt5
-rw-r--r--Build/source/libs/gd/libgd-src/tests/png/Makemodule.am6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/png/bug00338.c32
-rw-r--r--Build/source/libs/gd/libgd-src/tests/png/png_resolution.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/tiff/CMakeLists.txt5
-rw-r--r--Build/source/libs/gd/libgd-src/tests/tiff/Makemodule.am6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/tiff/tiff_dpi.c4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/tiff/tiff_read_bw.c29
-rw-r--r--Build/source/libs/gd/libgd-src/tests/wbmp/CMakeLists.txt5
-rw-r--r--Build/source/libs/gd/libgd-src/tests/wbmp/Makemodule.am6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/webp/CMakeLists.txt1
-rw-r--r--Build/source/libs/gd/libgd-src/tests/webp/Makemodule.am3
-rw-r--r--Build/source/libs/gd/libgd-src/tests/webp/gdImageWebpEx.c26
-rw-r--r--Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt6
-rw-r--r--Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am8
-rw-r--r--Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c30
-rw-r--r--Build/source/libs/gd/libgd-src/tests/xbm/github_bug_170.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.c39
-rw-r--r--Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.xbm4
-rw-r--r--Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c26
-rw-r--r--Build/source/libs/gd/libgd-src/windows/Makefile.vc6
-rw-r--r--Build/source/libs/gd/libgd-src/windows/Makefiletest.vc117
-rw-r--r--Build/source/libs/gd/libgd-src/windows/gentest.bat70
-rw-r--r--Build/source/libs/gd/libgd-src/windows/libgd.rc4
-rw-r--r--Build/source/libs/gd/libgd-src/windows/msys/Makefile18
-rw-r--r--Build/source/libs/gd/libgd-src/windows/msys/README.MSYS.md13
-rwxr-xr-xBuild/source/libs/gd/libgd-src/windows/msys/run_tests.sh11
-rw-r--r--Build/source/libs/gd/libgd-src/windows/readme.md106
-rw-r--r--Build/source/libs/gd/libgd-src/windows/run_tests.bat86
-rw-r--r--Build/source/libs/gd/version.ac2
463 files changed, 4498 insertions, 11421 deletions
diff --git a/Build/source/libs/gd/ChangeLog b/Build/source/libs/gd/ChangeLog
index 24b8ba21d6d..b7bdd68c5cc 100644
--- a/Build/source/libs/gd/ChangeLog
+++ b/Build/source/libs/gd/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-10 Akira Kakuto <kakuto@w32tex.org>
+
+ Import libgd-2.3.0.
+ * version.ac: Adapted.
+
2017-08-30 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Import libgd-2.2.5.
diff --git a/Build/source/libs/gd/README b/Build/source/libs/gd/README
index 9bd12699112..9fcde4a09c2 100644
--- a/Build/source/libs/gd/README
+++ b/Build/source/libs/gd/README
@@ -1,4 +1,4 @@
- Building libgd-2.2.5 as part of the TL tree
+ Building libgd-2.3.0 as part of the TL tree
=========================================
This directory libs/gd/ uses a proxy Makefile.am to build the gd library
@@ -11,4 +11,4 @@ been copied to libs/gd/configure.ac.
=============================
2013-06-26 Peter Breitenlohner <peb@mppmu.mpg.de>
-2017-08-30 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+2020-04-10 Akira Kakuto <kakuto@w32tex.org>
diff --git a/Build/source/libs/gd/TLpatches/ChangeLog b/Build/source/libs/gd/TLpatches/ChangeLog
index 31121f5ca1f..b4e56063fcc 100644
--- a/Build/source/libs/gd/TLpatches/ChangeLog
+++ b/Build/source/libs/gd/TLpatches/ChangeLog
@@ -1,3 +1,10 @@
+2020-04-10 Akira Kakuto <kakuto@w32tex.org>
+
+ Import libgd-2.3.0 source tree from:
+ https://github.com/libgd/libgd/releases
+ * patch-01-win32: Adapted.
+ * patch-02-no-stdcall: Adapted.
+
2017-08-30 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
Import libgd-2.2.5 source tree from:
diff --git a/Build/source/libs/gd/TLpatches/TL-Changes b/Build/source/libs/gd/TLpatches/TL-Changes
index 921ec63987b..a2332a72bba 100644
--- a/Build/source/libs/gd/TLpatches/TL-Changes
+++ b/Build/source/libs/gd/TLpatches/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the libgd-2.2.5/ tree as obtained from:
+Changes applied to the libgd-2.3.0/ tree as obtained from:
https://github.com/libgd/libgd/releases
Removed:
diff --git a/Build/source/libs/gd/TLpatches/patch-01-win32 b/Build/source/libs/gd/TLpatches/patch-01-win32
index 1f20e4d53ae..1a9a0788576 100644
--- a/Build/source/libs/gd/TLpatches/patch-01-win32
+++ b/Build/source/libs/gd/TLpatches/patch-01-win32
@@ -1,17 +1,65 @@
-diff -ur libgd-2.2.5.orig/src/gdft.c libgd-2.2.5/src/gdft.c
---- libgd-2.2.5.orig/src/gdft.c Wed Aug 30 20:05:55 2017
-+++ libgd-2.2.5/src/gdft.c Thu Aug 31 07:35:10 2017
-@@ -1683,6 +1683,16 @@
+diff -ur libgd-2.3.0/src/gd_interpolation.c libgd-src/src/gd_interpolation.c
+--- libgd-2.3.0/src/gd_interpolation.c Sun Mar 22 22:42:38 2020
++++ libgd-src/src/gd_interpolation.c Mon Mar 30 07:00:26 2020
+@@ -1988,19 +1988,19 @@
+ static int getPixelRgbInterpolated(gdImagePtr im, const int tcolor)
+ {
+ unsigned char r, g, b, a;
+- int ct;
++ int ct, i;
+
+ b = (unsigned char)tcolor;
+- g = (unsigned char)tcolor >> 8;
+- r = (unsigned char)tcolor >> 16;
+- a = (unsigned char)tcolor >> 24;
++ g = (unsigned char)(tcolor >> 8);
++ r = (unsigned char)(tcolor >> 16);
++ a = (unsigned char)(tcolor >> 24);
+
+ b = CLAMP(b, 0, 255);
+ g = CLAMP(g, 0, 255);
+ r = CLAMP(r, 0, 255);
+ a = CLAMP(a, 0, 127);
+
+- for (int i = 0; i < im->colorsTotal; i++) {
++ for (i = 0; i < im->colorsTotal; i++) {
+ if (im->red[i] == r && im->green[i] == g && im->blue[i] == b && im->alpha[i] == a) {
+ return i;
+ }
+diff -ur libgd-2.3.0/src/gdft.c libgd-src/src/gdft.c
+--- libgd-2.3.0/src/gdft.c Sun Mar 22 22:42:38 2020
++++ libgd-src/src/gdft.c Mon Mar 30 07:01:24 2020
+@@ -1519,6 +1519,8 @@
+ }
+
+ if (render) {
++ FT_Pos pen_x;
++ FT_Pos pen_y;
+ FT_Activate_Size (platform_specific);
+
+ /* load glyph again into the slot (erase previous one) - this time with scaling */
+@@ -1552,8 +1554,8 @@
+ bm = (FT_BitmapGlyph) image;
+ /* position rounded down to nearest pixel at current dpi
+ (the estimate was rounded up to next 1/METRIC_RES, so this should fit) */
+- FT_Pos pen_x = penf.x + info[i].x_offset;
+- FT_Pos pen_y = penf.y - info[i].y_offset;
++ pen_x = penf.x + info[i].x_offset;
++ pen_y = penf.y - info[i].y_offset;
+ gdft_draw_bitmap (tc_cache, im, fg, bm->bitmap,
+ (int)(x + (pen_x * cos_a + pen_y * sin_a)*hdpi/(METRIC_RES*64) + bm->left),
+ (int)(y - (pen_x * sin_a - pen_y * cos_a)*vdpi/(METRIC_RES*64) - bm->top));
+@@ -1787,6 +1789,16 @@
*/
*fontpath = NULL;
fontsearchpath = getenv ("GDFONTPATH");
+#ifdef _WIN32
+ if (!fontsearchpath) {
-+ char *ffptr = getenv ("SYSTEMROOT");
++ char *ffptr = getenv ("WINDIR");
+ if (ffptr) {
-+ fontsearchpath = malloc (strlen(ffptr) + strlen("\\fonts") + 1);
++ fontsearchpath = malloc (strlen(ffptr) + strlen("\\Fonts") + 1);
+ strcpy(fontsearchpath, ffptr);
-+ strcat(fontsearchpath, "\\fonts");
++ strcat(fontsearchpath, "\\Fonts");
+ }
+ }
+#endif
diff --git a/Build/source/libs/gd/TLpatches/patch-02-no-stdcall b/Build/source/libs/gd/TLpatches/patch-02-no-stdcall
index e3d283599bb..329990d1a60 100644
--- a/Build/source/libs/gd/TLpatches/patch-02-no-stdcall
+++ b/Build/source/libs/gd/TLpatches/patch-02-no-stdcall
@@ -1,6 +1,6 @@
-diff -ur libgd-2.2.5.orig/src/gd.h libgd-2.2.5/src/gd.h
---- libgd-2.2.5.orig/src/gd.h Wed Aug 30 20:05:54 2017
-+++ libgd-2.2.5/src/gd.h Thu Aug 31 07:36:57 2017
+diff -ur libgd-2.3.0/src/gd.h libgd-src/src/gd.h
+--- libgd-2.3.0/src/gd.h Sun Mar 22 22:42:41 2020
++++ libgd-src/src/gd.h Mon Mar 30 07:02:16 2020
@@ -63,7 +63,7 @@
# define BGD_EXPORT_DATA_PROT __declspec(dllimport)
# endif
diff --git a/Build/source/libs/gd/configure b/Build/source/libs/gd/configure
index 0d2268d6235..60b7dc408ad 100755
--- a/Build/source/libs/gd/configure
+++ b/Build/source/libs/gd/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gd (TeX Live) 2.2.5.
+# Generated by GNU Autoconf 2.69 for gd (TeX Live) 2.3.0.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gd (TeX Live)'
PACKAGE_TARNAME='gd--tex-live-'
-PACKAGE_VERSION='2.2.5'
-PACKAGE_STRING='gd (TeX Live) 2.2.5'
+PACKAGE_VERSION='2.3.0'
+PACKAGE_STRING='gd (TeX Live) 2.3.0'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@@ -1306,7 +1306,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gd (TeX Live) 2.2.5 to adapt to many kinds of systems.
+\`configure' configures gd (TeX Live) 2.3.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1376,7 +1376,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gd (TeX Live) 2.2.5:";;
+ short | recursive ) echo "Configuration of gd (TeX Live) 2.3.0:";;
esac
cat <<\_ACEOF
@@ -1485,7 +1485,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gd (TeX Live) configure 2.2.5
+gd (TeX Live) configure 2.3.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1908,7 +1908,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gd (TeX Live) $as_me 2.2.5, which was
+It was created by gd (TeX Live) $as_me 2.3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3832,7 +3832,7 @@ fi
# Define the identity of the package.
PACKAGE='gd--tex-live-'
- VERSION='2.2.5'
+ VERSION='2.3.0'
cat >>confdefs.h <<_ACEOF
@@ -6671,7 +6671,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gd (TeX Live) $as_me 2.2.5, which was
+This file was extended by gd (TeX Live) $as_me 2.3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6737,7 +6737,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-gd (TeX Live) config.status 2.2.5
+gd (TeX Live) config.status 2.3.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/gd/libgd-src/CHANGELOG.md b/Build/source/libs/gd/libgd-src/CHANGELOG.md
index aa31ecd1250..32396d097aa 100644
--- a/Build/source/libs/gd/libgd-src/CHANGELOG.md
+++ b/Build/source/libs/gd/libgd-src/CHANGELOG.md
@@ -4,6 +4,57 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
+## [2.3.0] - 2020-03-22
+
+### Security
+
+- Potential double-free in gdImage*Ptr(). (CVE-2019-6978)
+- gdImageColorMatch() out of bounds write on heap. (CVE-2019-6977)
+- Uninitialized read in gdImageCreateFromXbm(). (CVE-2019-11038)
+- Double-free in gdImageBmp. (CVE-2018-1000222)
+- Potential NULL pointer dereference in gdImageClone(). (CVE-2018-14553)
+- Potential infinite loop in gdImageCreateFromGifCtx(). (CVE-2018-5711)
+
+### Fixed
+
+* Fix #597: add codecov support
+
+- Fix #596: gdTransformAffineCopy run error
+
+- Fix #589: Install dependencies move to .travis.yml
+
+- Fix #586: gdTransformAffineCopy() segfaults on palette images
+- Fix #585: gdTransformAffineCopy() changes interpolation method
+- Fix #584: gdImageSetInterpolationMethod(im, GD_DEFAULT) inconsistent
+- Fix #583: gdTransformAffineCopy() may use unitialized values
+- Fix #533: Remove cmake modules
+- Fix #539: Add RAQM support for cmake
+- Fix #499: gdImageGifAnimAddPtr: heap corruption with 2 identical images
+- Fix #486: gdImageCropAuto(…, GD_CROP_SIDES) crops left but not right
+- Fix #485: auto cropping has insufficient precision
+- Fix #479: Provide a suitable malloc function to liq
+- Fix #474: libtiff link returns 404 HTTP code
+- Fix #450: Failed to open 1 bit per pixel bitmap
+- Fix #440: new_width & new_height exception handling
+- Fix #432: gdImageCrop neglecting transparency
+- Fix #420: Potential infinite loop in gdImageCreateFromGifCtx
+- Fix #411: gd_gd.c format documentation appears to be incorrect
+- Fix #369: Fix new_a init error in gdImageConvolution()
+- Fix #351: gdImageFilledArc() doesn't properly draw pies
+- Fix #338: Fatal and normal libjpeg/libpng errors not distinguishable
+- Fix #169: Update var type to hold bigger w&h for ellipse
+- Fix #164: update doc files install directory in CMakeLists.txt
+- Correct some test depend errors
+- Update cmake min version to 3.7
+- Delete libimagequant source code download action in CMakeLists.txt
+- Improve msys support
+- Fix some logic error in CMakeLists.txt
+- Remove the following macro: HAVE_STDLIB_H, HAVE_STRING_H, HAVE_STDDEF_H, HAVE_LIMITS_H, HAVE_ERRNO_H, AC_C_CONST
+
+### Added
+
+- test cases for following API: gdImageCopyResized(), gdImageWebpEx(), gdImageCreateFromGd2PartPtr(), gdImageCloneMatch(), gdImageColorClosestHWB(), gdImageColorMatch(), gdImageStringUp(), gdImageStringUp16(), gdImageString(), gdImageString16(), gdImageCopyMergeGray(), gdImageCopyMerge()
+
## [2.2.5] - 2017-08-30
### Security
diff --git a/Build/source/libs/gd/libgd-src/CMakeLists.txt b/Build/source/libs/gd/libgd-src/CMakeLists.txt
index 8c99816d893..fc76868a940 100644
--- a/Build/source/libs/gd/libgd-src/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/CMakeLists.txt
@@ -1,16 +1,15 @@
-# $Id$
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.7 FATAL_ERROR)
SET(PACKAGE GD)
SET(PACKAGE_NAME GD)
-CMAKE_POLICY(SET CMP0017 OLD)
PROJECT(GD)
SET(CMAKE_MODULE_PATH "${GD_SOURCE_DIR}/cmake/modules")
include(gd)
+OPTION(ENABLE_GD_FORMATS "Enable GD image formats" 0)
OPTION(ENABLE_PNG "Enable PNG support" 0)
OPTION(ENABLE_LIQ "Enable libimagequant support" 0)
OPTION(ENABLE_JPEG "Enable JPEG support" 0)
@@ -20,6 +19,7 @@ OPTION(ENABLE_XPM "Enable XPM support" 0)
OPTION(ENABLE_FREETYPE "Enable Freetype2 support" 0)
OPTION(ENABLE_FONTCONFIG "Enable FontConfig support" 0)
OPTION(ENABLE_WEBP "Enable WebP support" 0)
+OPTION(ENABLE_RAQM "Enable RAQM support" 0)
if (BUILD_TEST)
ENABLE_TESTING()
@@ -31,24 +31,24 @@ endif(BUILD_TEST)
IF(CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_C_FLAGS_DEBUG "-g -Wall -Wextra -O0") # will be added to CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
ENDIF(CMAKE_COMPILER_IS_GNUCC)
-SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
- ${PROJECT_BINARY_DIR}/Bin
- CACHE PATH
- "Single Directory for all Libraries"
+SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
+ ${PROJECT_BINARY_DIR}/Bin
+ CACHE PATH
+ "Single Directory for all Libraries"
)
-# --------- Setup the Executable output Directory -------------
-SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
- ${PROJECT_BINARY_DIR}/Bin
- CACHE PATH
- "Single Directory for all Executables."
+# --------- Setup the Executable output Directory -------------
+SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
+ ${PROJECT_BINARY_DIR}/Bin
+ CACHE PATH
+ "Single Directory for all Executables."
)
-# --------- Setup the Executable output Directory -------------
-SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
- ${PROJECT_BINARY_DIR}/Bin
- CACHE PATH
- "Single Directory for all static libraries."
+# --------- Setup the Executable output Directory -------------
+SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+ ${PROJECT_BINARY_DIR}/Bin
+ CACHE PATH
+ "Single Directory for all static libraries."
)
if (USE_EXT_GD)
@@ -69,14 +69,30 @@ if (USE_EXT_GD)
endif (GD_FOUND)
else (USE_EXT_GD)
- SET(GD_VERSION_MAJOR "2")
- SET(GD_VERSION_MINOR "2")
- SET(GD_VERSION_PATCH "5")
- SET(GD_VERSION_EXTRA "")
- SET(GD_VERSION "${GD_VERSION_MAJOR}.${GD_VERSION_MINOR}.${GD_VERSION_PATCH}${GD_VERSION_EXTRA}")
- SET(GD_VERSION_STRING "${GD_VERSION}")
-
- SET(GD_VERSION_INT "2020555")
+ MACRO(GV VER VAR)
+ execute_process(
+ COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/config/getver.pl ${VER}
+ OUTPUT_VARIABLE ${VAR}
+ )
+ ENDMACRO(GV)
+
+ GV(MAJOR GDLIB_MAJOR)
+ GV(MINOR GDLIB_MINOR)
+ GV(RELEASE GDLIB_REVISION)
+ GV(EXTRA GDLIB_EXTRA)
+ SET(GDLIB_VERSION "${GDLIB_MAJOR}.${GDLIB_MINOR}.${GDLIB_REVISION}${GDLIB_EXTRA}")
+ MESSAGE(STATUS "gd version ${GDLIB_VERSION}")
+
+ MACRO(GV_LT VER VAR)
+ execute_process(
+ COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/config/getlib.sh ${VER}
+ OUTPUT_VARIABLE ${VAR}
+ )
+ ENDMACRO(GV_LT)
+
+ GV_LT(SONAME GDLIB_LIB_SOVERSION)
+ GV_LT(VERSION GDLIB_LIB_VERSION)
+ MESSAGE(STATUS "gd shared lib version ${GDLIB_LIB_SOVERSION} (${GDLIB_LIB_VERSION})")
SET(CMAKE_REQUIRED_INCLUDES "/usr/include" "/usr/local/include")
@@ -89,7 +105,7 @@ else (USE_EXT_GD)
if (ENABLE_PNG)
FIND_PACKAGE(PNG REQUIRED)
endif (ENABLE_PNG)
-
+
if (ENABLE_ICONV)
FIND_PACKAGE(ICONV REQUIRED)
endif (ENABLE_ICONV)
@@ -128,6 +144,12 @@ else (USE_EXT_GD)
FIND_PACKAGE(FontConfig)
endif (ENABLE_FONTCONFIG)
+ if (ENABLE_RAQM)
+ FIND_PACKAGE(RAQM)
+ endif (ENABLE_RAQM)
+
+ SET(ENABLE_GD_FORMATS ${ENABLE_GD_FORMATS})
+
if (FREETYPE_FOUND)
INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS})
SET(HAVE_FT2BUILD_H 1)
@@ -148,7 +170,7 @@ else (USE_EXT_GD)
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
SET(HAVE_LIBPNG 1)
ENDIF(PNG_FOUND)
-
+
IF(ICONV_FOUND)
INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
SET(HAVE_ICONV 1)
@@ -184,6 +206,10 @@ else (USE_EXT_GD)
SET(FONTCONFIG_LIB_DIR "")
ENDIF(FONTCONFIG_FOUND)
+ IF(RAQM_FOUND)
+ INCLUDE_DIRECTORIES(${RAQM_INCLUDE_DIR})
+ ENDIF(RAQM_FOUND)
+
SET(HAVE_CONFIG_H 1)
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
@@ -230,10 +256,10 @@ add_custom_target(distclean ${GD_SOURCE_DIR}/cmake/distclean.sh)
SET(CPACK_PACKAGE_NAME "libgd")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "libGD, powerful and easy to use graphic library")
-SET(CPACK_PACKAGE_VENDOR "http://www.libgd.org")
-SET(CPACK_PACKAGE_VERSION_MAJOR "2")
-SET(CPACK_PACKAGE_VERSION_MINOR "2")
-SET(CPACK_PACKAGE_VERSION_PATCH "5")
+SET(CPACK_PACKAGE_VENDOR "https://www.libgd.org")
+SET(CPACK_PACKAGE_VERSION_MAJOR ${GDLIB_MAJOR})
+SET(CPACK_PACKAGE_VERSION_MINOR ${GDLIB_MINOR})
+SET(CPACK_PACKAGE_VERSION_PATCH ${GDLIB_REVISION}${GDLIB_EXTRA})
if(WIN32)
set(CPACK_GENERATOR ZIP)
@@ -241,33 +267,28 @@ else(WIN32)
set(CPACK_GENERATOR TGZ)
endif(WIN32)
-IF (ENABLE_LIQ AND LIQ_BUILD)
- ADD_DEPENDENCIES(${GD_LIB} libimagequant)
- ADD_DEPENDENCIES(${GD_LIB_STATIC} libimagequant)
-ENDIF(ENABLE_LIQ AND LIQ_BUILD)
+INSTALL(FILES docs/INSTALL DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES docs/README.JPN DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES docs/README.CMAKE DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES docs/README.TESTING DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES docs/README.TXT DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
-INSTALL(FILES docs/INSTALL DESTINATION share/docs)
-INSTALL(FILES docs/README.JPN DESTINATION share/docs)
-INSTALL(FILES docs/README.CMAKE DESTINATION share/docs)
-INSTALL(FILES docs/README.TESTING DESTINATION share/docs)
-INSTALL(FILES docs/README.TXT DESTINATION share/docs)
-
-INSTALL(FILES examples/arc.c DESTINATION share/docs)
-INSTALL(FILES examples/copyrotated.c DESTINATION share/docs)
-INSTALL(FILES examples/crop.c DESTINATION share/docs)
-INSTALL(FILES examples/flip.c DESTINATION share/docs)
-INSTALL(FILES examples/gif.c DESTINATION share/docs)
-INSTALL(FILES examples/nnquant.c DESTINATION share/docs)
-INSTALL(FILES examples/noIcon.pic DESTINATION share/docs)
-INSTALL(FILES examples/noIcon.sgi DESTINATION share/docs)
-INSTALL(FILES examples/noIcon.tga DESTINATION share/docs)
-INSTALL(FILES examples/noIconAlpha.tga DESTINATION share/docs)
-INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/docs)
-INSTALL(FILES examples/tgaread.c DESTINATION share/docs)
-INSTALL(FILES examples/tiffread.c DESTINATION share/docs)
-INSTALL(FILES examples/windows.c DESTINATION share/docs)
+INSTALL(FILES examples/arc.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/copyrotated.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/crop.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/flip.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/gif.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/nnquant.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/noIcon.pic DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/noIcon.sgi DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/noIcon.tga DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/noIconAlpha.tga DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/tgaread.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/tiffread.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
+INSTALL(FILES examples/windows.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR})
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
@@ -283,4 +304,3 @@ set(CPACK_SOURCE_IGNORE_FILES
)
install(FILES ${top_level_DOCFILES} DESTINATION ${DOC_DIR})
INCLUDE(CPack)
-
diff --git a/Build/source/libs/gd/libgd-src/CONTRIBUTING.md b/Build/source/libs/gd/libgd-src/CONTRIBUTING.md
new file mode 100644
index 00000000000..ca95eb4e1c0
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/CONTRIBUTING.md
@@ -0,0 +1,138 @@
+# Contributing to libgd
+
+:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
+
+#### Table Of Contents
+
+[What should I know before I get started?](#what-should-i-know-before-i-get-started)
+ * [Code of Conduct](#code-of-conduct)
+ * [Repositories](#Repositories)
+
+[How Can I Contribute?](#how-can-i-contribute)
+ * [Reporting Bugs](#reporting-bugs)
+ * [Suggesting Enhancements](#suggesting-enhancements)
+ * [Your First Code Contribution](#your-first-code-contribution)
+ * [Pull Requests](#pull-requests)
+
+[Styleguides](#styleguides)
+ * [Git Commit Messages](#git-commit-messages)
+ * [Coding standard](#coding-standard)
+ * [Documentation Styleguide](#documentation-styleguide)
+
+## What should I know before I get started?
+
+### Code of Conduct
+
+This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
+By participating, you are expected to uphold this code.
+Please report unacceptable behavior to [security@libg.org](mailto:security@libgd.org).
+
+### Repositories
+
+* [The main libGD repository](https://github.com/libgd/libgd) for the library and utilities released as part of libgd
+* [The libgd website repository](https://github.com/libgd/website) for the libgd.org website
+* [The Pango support for libgd repository](https://github.com/libgd/gd-pango) for the for libGD Pango support
+
+
+## How Can I Contribute?
+
+### Reporting Bugs
+
+This section guides you through submitting a bug report for Atom. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:.
+
+Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). If you'd like, you can use [this template](#template-for-submitting-bug-reports) to structure the information.
+
+#### Before Submitting A Bug Report
+
+* **Determine [which repository the problem should be reported in](#atom-and-packages)**.
+* **Perform a [cursory search](https://github.com/issues?q=+is%3Aissue+user%3Alibgd)** to see if the problem has already been reported. If it has, add a comment to the existing issue instead of opening a new one.
+
+#### How Do I Submit A (Good) Bug Report?
+
+For security related bugs, github does not support private issues, that's why we have to handle security issues outside the issues tracker for now. Please drop a mail to [security@libg.org](mailto:security@libgd.org).
+
+Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). After you've determined [which repository](#repositories) your bug is related to, create an issue on that repository and provide the following information.
+
+Explain the problem and include additional details to help maintainers reproduce the problem:
+
+* **Use a clear and descriptive title** for the issue to identify the problem.
+* **Describe the exact steps which reproduce the problem** in as many details as possible.
+* **Provide specific examples to demonstrate the steps**. Include links to files or GitHub projects, or copy/pasteable workable example (for example see [this simple test case](https://github.com/libgd/libgd/blob/master/tests/gd/gd_null.c), which you use in those examples. If you're providing snippets in the issue, use [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines).
+* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
+* **Explain which behavior you expected to see instead and why.**
+* **Include images, expected and result images** which show you following the described steps and clearly demonstrate the problem.
+* **If you're reporting that libGD crashed**, include a crash report with a stack trace from the operating system. Include the crash report in the issue in a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a [file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/), or put it in a [gist](https://gist.github.com/) and provide link to that gist.
+
+
+This text has been largely inspired by the Atom contributing notes, which are amazingly complete.
+
+
+## Styleguides
+
+These sections tend to bore people. But if you don't follow them, it slows
+down reviews from developers (and tends to tire/annoy them). Please give it
+a look over and feel free to ask questions.
+
+### Git Commit Messages
+
+Rather than duplicate a ton of great explanations, please read this site:
+http://chris.beams.io/posts/git-commit/
+
+Yes, it's long, but once you read and understand it once, it applies to
+every git project out there, not just GD.
+
+In case that site is broken, here is an archived link:
+http://web.archive.org/web/20160706012209/http://chris.beams.io/posts/git-commit/
+
+### Coding standard
+
+#### Style
+
+First, coding style should be consistent. If you're modifying a file that
+might not follow this section, stick with that file's style. If we want to
+fix the style later, we can.
+
+As for the rest, TBD!
+
+#### Practices
+
+Check for invalid settings (where reasonable) and return an error directly.
+Do not use `assert` and do not require the user to follow the documented API.
+e.g. Check for `NULL` pointers, and check enum values are within range. The
+GD library is used in a lot of hostile environments (like websites) and is
+given hostile (user controlled) data. When GD mishandles memory, that can be
+used to attack servers. When GD crashes (or calls `assert`), that can take
+out a web session.
+
+#### Testing
+
+We love unit tests. Every bugfix, new API, etc... should include a test update
+to make sure future work doesn't break things or regress. We want to fix bugs
+just once, not over and over again.
+
+Note that we say "should". While we really like tests, we understand that not
+all changes are trivial to verify.
+
+Some general guidelines:
+
+* Tests should be standalone: One test should test one thing only.
+* Tests should be reproducible: Avoid relying on system settings like /etc.
+* Tests must be fast: A good guideline is that they should take <1 second,
+ and must take <5 seconds.
+* Tests must be documented: Just add a comment block to the top of the file
+ with a short description and any existing bugs/URLs.
+
+### Documentation Styleguide
+
+Do everything in markdown. It's readable even in plain text, and converts
+well into other formats (e.g. HTML). The question is which flavor!
+
+For files that end in `.md`, use
+[GitHub markdown](https://guides.github.com/features/mastering-markdown/).
+
+For API documentation (embedded in the code), we use
+[Natural Docs](http://www.naturaldocs.org/). You can find more info about
+it under the [docs/naturaldocs/](docs/naturaldocs/) subdirectory.
+
+Try to keep the file linewrapped to 80 cols. Sometimes you won't be able to
+because of long strings (like links), and that's OK.
diff --git a/Build/source/libs/gd/libgd-src/CONTRIBUTORS b/Build/source/libs/gd/libgd-src/CONTRIBUTORS
index 37ae474b6c3..8cf0bdd8297 100644
--- a/Build/source/libs/gd/libgd-src/CONTRIBUTORS
+++ b/Build/source/libs/gd/libgd-src/CONTRIBUTORS
@@ -1,5 +1,7 @@
chapg
+Chen Pingping (Wilson)
Chris Reuter
+Christoph M. Becker
Colin Watson
Dimitar Dobrev
edink
@@ -11,7 +13,7 @@ lhecking
Marcin Wojdyr
mattias
Mike Frysinger
-mloskot
+Mateusz Loskot (mloskot)
Nathanael Jones
nlopess
Ondřej Surý
diff --git a/Build/source/libs/gd/libgd-src/COPYING b/Build/source/libs/gd/libgd-src/COPYING
index 725d1b545d2..555e2c9c47a 100644
--- a/Build/source/libs/gd/libgd-src/COPYING
+++ b/Build/source/libs/gd/libgd-src/COPYING
@@ -70,4 +70,3 @@ documentation.
Although their code does not appear in the current release, the
authors wish to thank David Koblas, David Rowley, and Hutchison
Avenue Software Corporation for their prior contributions.
-
diff --git a/Build/source/libs/gd/libgd-src/Makefile.am b/Build/source/libs/gd/libgd-src/Makefile.am
index 17a362c295e..e1feffc136d 100644
--- a/Build/source/libs/gd/libgd-src/Makefile.am
+++ b/Build/source/libs/gd/libgd-src/Makefile.am
@@ -1,6 +1,6 @@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src config tests
-EXTRA_DIST = test docs examples windows VMS cmake netware bootstrap.sh CMakeLists.txt CONTRIBUTORS README.md CHANGELOG.md
+EXTRA_DIST = test docs examples windows VMS cmake bootstrap.sh CMakeLists.txt CONTRIBUTORS README.md CHANGELOG.md CONTRIBUTING.md
clean-local:
$(srcdir)/cmake/distclean.sh --automake
diff --git a/Build/source/libs/gd/libgd-src/README.md b/Build/source/libs/gd/libgd-src/README.md
index 83debad3015..af0e8cf2c84 100644
--- a/Build/source/libs/gd/libgd-src/README.md
+++ b/Build/source/libs/gd/libgd-src/README.md
@@ -2,6 +2,8 @@
[![Build Status](https://travis-ci.org/libgd/libgd.svg?branch=master)](https://travis-ci.org/libgd/libgd)
[![Build Status](https://scan.coverity.com/projects/3810/badge.svg)](https://scan.coverity.com/projects/libgd)
+[![Chat](https://badges.gitter.im/libgd/libgd.svg)](https://gitter.im/libgd/libgd)
+[![codecov.io](https://codecov.io/github/libgd/libgd/coverage.svg?branch=master)](https://codecov.io/github/libgd/libgd/)
GD is an open source code library for the dynamic creation of images by
programmers.
@@ -18,6 +20,10 @@ The library was originally developed by Thomas Boutell and is now maintained
by many contributors (see the [CONTRIBUTORS](CONTRIBUTORS) file) under the
umbrella of PHP.net.
+If you like to contribute, report bugs, see [how to contribute document](CONTRIBUTING.md)
+
+For security related issues, please contact us at security@libgd.org
+
## Downloads/etc...
Please visit our [homepage](http://www.libgd.org/) for more details.
@@ -36,6 +42,6 @@ It also has optional support for more formats via external libraries:
* [JPEG](https://en.wikipedia.org/wiki/JPEG) via [IJG/libjpeg](http://www.ijg.org/) or [libjpeg-turbo](http://libjpeg-turbo.virtualgl.org/)
* Does not include [JPEG 2000](https://en.wikipedia.org/wiki/JPEG_2000)
* [PNG](https://en.wikipedia.org/wiki/Portable_Network_Graphics) via [libpng](http://www.libpng.org/)
-* [TIFF](https://en.wikipedia.org/wiki/Tagged_Image_File_Format) via [libtiff](http://www.remotesensing.org/libtiff/)
+* [TIFF](https://en.wikipedia.org/wiki/Tagged_Image_File_Format) via [libtiff](http://www.libtiff.org/)
* [WebP](https://en.wikipedia.org/wiki/WebP) via [libwebp](https://developers.google.com/speed/webp/)
* [XPM](https://en.wikipedia.org/wiki/X_PixMap) via [libXpm](http://xorg.freedesktop.org/)
diff --git a/Build/source/libs/gd/libgd-src/VMS/CONFIGURE.COM b/Build/source/libs/gd/libgd-src/VMS/CONFIGURE.COM
index f7b92f6a779..f2679d6ac77 100644
--- a/Build/source/libs/gd/libgd-src/VMS/CONFIGURE.COM
+++ b/Build/source/libs/gd/libgd-src/VMS/CONFIGURE.COM
@@ -1,6 +1,6 @@
$! (c) Alexey Chupahin 18-APR-2006, 15-DEC-2007
$! OpenVMS 8.2 Alpha DEC 2000 model 300
-$! OpenVMS 8.3 Itanium rx1620
+$! OpenVMS 8.3 Itanium rx1620
$! GNU
$!
$!
@@ -26,9 +26,9 @@ $ SHARED=32
$ENDIF
$DECC = F$SEARCH("SYS$SYSTEM:DECC$COMPILER.EXE") .NES. ""
$IF (DECC) THEN $WRITE SYS$OUTPUT "Compiler ... DEC C"
-$IF (.NOT. DECC) THEN $WRITE SYS$OUTPUT "BAD compiler" GOTO EXIT
+$IF (.NOT. DECC) THEN $WRITE SYS$OUTPUT "BAD compiler" GOTO EXIT
$MMS = F$SEARCH("SYS$SYSTEM:MMS.EXE") .NES. ""
-$MMK = F$TYPE(MMK)
+$MMK = F$TYPE(MMK)
$IF (MMS .OR. MMK.NES."") THEN GOTO TEST_LIBRARIES
$WRITE SYS$OUTPUT "Please install MMS from DECSET or MMK"
$! I cant find any make tool
@@ -150,7 +150,7 @@ $ CC/OBJECT=TEST.OBJ/INCLUDE=(FREETYPE2) SYS$INPUT
int main(int argc, char *argv[])
{
-#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR <= 1
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR <= 1
printf("This version is too old. Please get newest\n");
printf("From fafner.dyndns.org/~alexey/libsdl/required.html\n");
exit(2);
@@ -220,8 +220,8 @@ $ CC/OBJECT=TEST.OBJ/INCLUDE=(PNG,ZLIB) SYS$INPUT
n=png_access_version_number();
n3=n%100; n=n/100;
n2=n%100; n=n/100;
- n1=n%100;
- if ( (n1<=1)&&(n2<2) )
+ n1=n%100;
+ if ( (n1<=1)&&(n2<2) )
{ printf("checking version libPNG: %d.%d.%d\n",n1,n2,n3);
printf("This version is too old. Please get newest\n");
printf("From fafner.dyndns.org/~alexey/libsdl/public.html\n");
@@ -252,7 +252,7 @@ $ LIBPNG_STATIC=0
$ HAVE_LIBPNG=0
$ GOTO NEXT2
$ ELSE
-$ HAVE_LIBPNG=1
+$ HAVE_LIBPNG=1
$ LIBPNG_STATIC=1
$ ENDIF
$ ELSE
@@ -287,7 +287,7 @@ $ CC/OBJECT=TEST.OBJ/INCLUDE=(JPEG) SYS$INPUT
#include <stdlib.h>
#include <stdio.h>
#include <jpeglib.h>
- #include <jversion.h>
+ #include <jversion.h>
int main()
{
printf("checking version jpeg: %s\n",JVERSION);
@@ -805,7 +805,7 @@ $ THEN
$ IF (ZLIB_STATIC.EQ.0)
$ THEN
$ APP SYS$INPUT [.SRC]LIBGD.OPT
- SYS$SHARE:LIBZSHR/SHARE
+ SYS$SHARE:LIBZSHR/SHARE
$ ELSE
$ APP SYS$INPUT [.SRC]LIBGD.OPT
ZLIB:LIBZ/LIB
@@ -857,11 +857,6 @@ $COPY SYS$INPUT [.SRC]CONFIG.H
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
-/* Define to 1 if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H 1
-
-
-
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
@@ -894,12 +889,6 @@ $COPY SYS$INPUT [.SRC]CONFIG.H
/* Define to 1 if you have the <libpng/png.h> header file. */
/* #undef HAVE_LIBPNG_PNG_H */
-
-
-/* Define to 1 if you have the <limits.h> header file. */
-//#define HAVE_LIMITS_H 1
-
-
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
@@ -907,21 +896,12 @@ $COPY SYS$INPUT [.SRC]CONFIG.H
/* Define if you have POSIX threads libraries and header files. */
#define HAVE_PTHREAD 1
-/* Define to 1 if you have the <stddef.h> header file. */
-#define HAVE_STDDEF_H 1
-
/* Define to 1 if you have the <stdint.h> header file. */
//#define HAVE_STDINT_H 1
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
@@ -954,29 +934,29 @@ $ APP SYS$INPUT [.SRC]CONFIG.H
/* Define if <iconv.h> defines iconv_t. */
#define HAVE_ICONV_T_DEF 1
$ENDIF
-$IF HAVE_TIFF.EQ.1
-$ THEN
+$IF HAVE_TIFF.EQ.1
+$ THEN
$ APP SYS$INPUT [.SRC]CONFIG.H
#define HAVE_LIBTIFF 1
$ENDIF
-$IF HAVE_LIBPNG.EQ.1
-$ THEN
+$IF HAVE_LIBPNG.EQ.1
+$ THEN
$ APP SYS$INPUT [.SRC]CONFIG.H
#define HAVE_LIBPNG 1
$ENDIF
$IF HAVE_FREETYPE.EQ.1
-$ THEN
+$ THEN
$ APP SYS$INPUT [.SRC]CONFIG.H
#define HAVE_LIBFREETYPE 1
#define HAVE_FT2BUILD_H 1
$ENDIF
-$IF HAVE_JPEG.EQ.1
-$ THEN
+$IF HAVE_JPEG.EQ.1
+$ THEN
$ APP SYS$INPUT [.SRC]CONFIG.H
#define HAVE_LIBJPEG 1
$ENDIF
-$IF HAVE_ZLIB.EQ.1
-$ THEN
+$IF HAVE_ZLIB.EQ.1
+$ THEN
$ APP SYS$INPUT [.SRC]CONFIG.H
#define HAVE_LIBZ 1
$ENDIF
@@ -994,7 +974,7 @@ $COP SYS$INPUT [.SRC]DESCRIP.MMS
# Alexey Chupahin elvis_75@mail.ru
# OpenVMS 7.3-1,8.2 DEC 2000 mod.300
# OpenVMS 8.3 HP rx1620
-
+
.FIRST
DEF LIBGD []
diff --git a/Build/source/libs/gd/libgd-src/VMS/README.VMS b/Build/source/libs/gd/libgd-src/VMS/README.VMS
index cdeee561654..108a120eed9 100644
--- a/Build/source/libs/gd/libgd-src/VMS/README.VMS
+++ b/Build/source/libs/gd/libgd-src/VMS/README.VMS
@@ -1,6 +1,6 @@
Dear OpenVMS user,
-Installation process is identical to one in *nix* world and consist to
+Installation process is identical to one in *nix* world and consist to
four simple steps:
1. Installing required libraries
2. Configuration
@@ -18,7 +18,7 @@ four simple steps:
All may be found at OpenVMS libSDL porting project site
http://fafner.dyndns.org/~alexey/libsdl/required.html
-Also, system should have MMS make utility from DEC or
+Also, system should have MMS make utility from DEC or
free analogue MMK. And C compiler with runtime, of course. ;)
@@ -27,14 +27,14 @@ free analogue MMK. And C compiler with runtime, of course. ;)
$@[.VMS]CONFIGURE
The script detects hardware,system and required libraries have been installed.
-Compilation stage will be prepeared to create shared and static libraries.
-Alpha,IA64 or VAX platform are supported. Optional argument "static"
+Compilation stage will be prepeared to create shared and static libraries.
+Alpha,IA64 or VAX platform are supported. Optional argument "static"
tells to configurator to make static libraries only:
$@[.VMS]CONFIGURE STATIC
-CONFIGURE script checks your ZLIB, FREETYPE, JPEG, PNG libraries.
-If it detects any troubles, you may get and install good and tested ones
+CONFIGURE script checks your ZLIB, FREETYPE, JPEG, PNG libraries.
+If it detects any troubles, you may get and install good and tested ones
from OpenVMS libSDL porting project site:
http://fafner.dyndns.org/~alexey/libsdl/required.html
@@ -54,7 +54,7 @@ $@LIBGD$STARTUP
LIBGD and its utilites are ready to using.
-Optionally you may insert this startup file into your LOGIN.COM
+Optionally you may insert this startup file into your LOGIN.COM
to set libGD environment every time you login automatically.
To learn libGD please refer libGD official documentation.
diff --git a/Build/source/libs/gd/libgd-src/bootstrap.sh b/Build/source/libs/gd/libgd-src/bootstrap.sh
index ffd978c82ef..fe7dd0fd35b 100755
--- a/Build/source/libs/gd/libgd-src/bootstrap.sh
+++ b/Build/source/libs/gd/libgd-src/bootstrap.sh
@@ -1,5 +1,4 @@
#!/bin/sh --
-# $Id$
# Small shell script to build gd from source
v() { echo "$@"; "$@"; }
@@ -11,7 +10,7 @@ v() { echo "$@"; "$@"; }
v docs/naturaldocs/run_docs.sh --nonfatal
if echo "${OSTYPE:-$(uname)}" | grep -q '^darwin' ; then
- echo "Having trouble on OS X? Try: brew install autoconf libtool automake gettext apple-gcc42 pkg-config cmake"
+ echo "Having trouble on OS X? Try: brew install autoconf libtool automake gettext pkg-config cmake"
fi
if ! v autoreconf -f -i ; then
@@ -20,8 +19,9 @@ fi
(
echo "/* Generated from config.hin via autoheader for cmake; see bootstrap.sh. */"
-sed \
+sed -E \
-e '1d' \
+ -e '/ENABLE_/{s:#undef:#define:;s:([^ ]*)$:\1 @\1@:;}' \
-e 's:#undef:#cmakedefine:' \
src/config.hin
) > src/config.h.cmake
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/AC_HEADER_STDC.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/AC_HEADER_STDC.cmake
index d3775ea3013..fafc76beb96 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/AC_HEADER_STDC.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/AC_HEADER_STDC.cmake
@@ -1,13 +1,8 @@
# Keep in sync with AC_CHECK_HEADERS in configure.ac.
check_include_files(dirent.h HAVE_DIRENT_H)
-check_include_files(errno.h HAVE_ERRNO_H)
check_include_files(inttypes.h HAVE_INTTYPES_H)
-check_include_files(limits.h HAVE_LIMITS_H)
-check_include_files(stddef.h HAVE_STDDEF_H)
check_include_files(stdint.h HAVE_STDINT_H)
-check_include_files(stdlib.h HAVE_STDLIB_H)
-check_include_files(string.h HAVE_STRING_H)
check_include_files(strings.h HAVE_STRINGS_H)
check_include_files(unistd.h HAVE_UNISTD_H)
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/CMakeParseArguments.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/CMakeParseArguments.cmake
deleted file mode 100644
index b57b0296d3f..00000000000
--- a/Build/source/libs/gd/libgd-src/cmake/modules/CMakeParseArguments.cmake
+++ /dev/null
@@ -1,156 +0,0 @@
-# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
-#
-# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
-# parsing the arguments given to that macro or function.
-# It processes the arguments and defines a set of variables which hold the
-# values of the respective options.
-#
-# The <options> argument contains all options for the respective macro,
-# i.e. keywords which can be used when calling the macro without any value
-# following, like e.g. the OPTIONAL keyword of the install() command.
-#
-# The <one_value_keywords> argument contains all keywords for this macro
-# which are followed by one value, like e.g. DESTINATION keyword of the
-# install() command.
-#
-# The <multi_value_keywords> argument contains all keywords for this macro
-# which can be followed by more than one value, like e.g. the TARGETS or
-# FILES keywords of the install() command.
-#
-# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
-# keywords listed in <options>, <one_value_keywords> and
-# <multi_value_keywords> a variable composed of the given <prefix>
-# followed by "_" and the name of the respective keyword.
-# These variables will then hold the respective value from the argument list.
-# For the <options> keywords this will be TRUE or FALSE.
-#
-# All remaining arguments are collected in a variable
-# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
-# your macro was called with unrecognized parameters.
-#
-# As an example here a my_install() macro, which takes similar arguments as the
-# real install() command:
-#
-# function(MY_INSTALL)
-# set(options OPTIONAL FAST)
-# set(oneValueArgs DESTINATION RENAME)
-# set(multiValueArgs TARGETS CONFIGURATIONS)
-# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
-# ...
-#
-# Assume my_install() has been called like this:
-# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
-#
-# After the cmake_parse_arguments() call the macro will have set the following
-# variables:
-# MY_INSTALL_OPTIONAL = TRUE
-# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
-# MY_INSTALL_DESTINATION = "bin"
-# MY_INSTALL_RENAME = "" (was not used)
-# MY_INSTALL_TARGETS = "foo;bar"
-# MY_INSTALL_CONFIGURATIONS = "" (was not used)
-# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
-#
-# You can the continue and process these variables.
-#
-# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
-# another recognized keyword follows, this is interpreted as the beginning of
-# the new option.
-# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
-# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
-# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
-
-#=============================================================================
-# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * The names of Kitware, Inc., the Insight Consortium, or the names of
-# any consortium members, or of any contributors, may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#=============================================================================
-
-
-if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
- return()
-endif()
-set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
-
-
-function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
- # first set all result variables to empty/FALSE
- foreach(arg_name ${_singleArgNames} ${_multiArgNames})
- set(${prefix}_${arg_name})
- endforeach()
-
- foreach(option ${_optionNames})
- set(${prefix}_${option} FALSE)
- endforeach()
-
- set(${prefix}_UNPARSED_ARGUMENTS)
-
- set(insideValues FALSE)
- set(currentArgName)
-
- # now iterate over all arguments and fill the result variables
- foreach(currentArg ${ARGN})
- list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword
- list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword
- list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword
-
- if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1)
- if(insideValues)
- if("${insideValues}" STREQUAL "SINGLE")
- set(${prefix}_${currentArgName} ${currentArg})
- set(insideValues FALSE)
- elseif("${insideValues}" STREQUAL "MULTI")
- list(APPEND ${prefix}_${currentArgName} ${currentArg})
- endif()
- else()
- list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
- endif()
- else()
- if(NOT ${optionIndex} EQUAL -1)
- set(${prefix}_${currentArg} TRUE)
- set(insideValues FALSE)
- elseif(NOT ${singleArgIndex} EQUAL -1)
- set(currentArgName ${currentArg})
- set(${prefix}_${currentArgName})
- set(insideValues "SINGLE")
- elseif(NOT ${multiArgIndex} EQUAL -1)
- set(currentArgName ${currentArg})
- set(${prefix}_${currentArgName})
- set(insideValues "MULTI")
- endif()
- endif()
-
- endforeach()
-
- # propagate the result variables to the caller:
- foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
- set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE)
- endforeach()
- set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
-
-endfunction()
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/CheckDIRSymbolExists.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/CheckDIRSymbolExists.cmake
index dde6c7f3af8..fd71e7f5e32 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/CheckDIRSymbolExists.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/CheckDIRSymbolExists.cmake
@@ -7,16 +7,16 @@
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
-#
+#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
-#
+#
# * The names of Kitware, Inc., the Insight Consortium, or the names of
# any consortium members, or of any contributors, may not be used to
# endorse or promote products derived from this software without
# specific prior written permission.
-#
+#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -39,7 +39,7 @@
# the AC_HEADER_DIRENT test programme rather than the CheckSymbolExists.cmake
# test programme which always fails since DIR tends to be typedef'd
# rather than #define'd.
-#
+#
# The following variables may be set before calling this macro to
# modify the way the check is run:
#
@@ -53,7 +53,7 @@ MACRO(CHECK_DIRSYMBOL_EXISTS FILES VARIABLE)
SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
SET(MACRO_CHECK_DIRSYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
IF(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_DIRSYMBOL_EXISTS_LIBS
+ SET(CHECK_DIRSYMBOL_EXISTS_LIBS
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
ELSE(CMAKE_REQUIRED_LIBRARIES)
SET(CHECK_DIRSYMBOL_EXISTS_LIBS)
@@ -79,7 +79,7 @@ MACRO(CHECK_DIRSYMBOL_EXISTS FILES VARIABLE)
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckDIRSymbolExists.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
- CMAKE_FLAGS
+ CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_DIRSYMBOL_EXISTS_FLAGS}
"${CHECK_DIRSYMBOL_EXISTS_LIBS}"
"${CMAKE_DIRSYMBOL_EXISTS_INCLUDES}"
@@ -87,7 +87,7 @@ MACRO(CHECK_DIRSYMBOL_EXISTS FILES VARIABLE)
IF(${VARIABLE})
MESSAGE(STATUS "Looking for DIR in ${FILES} - found")
SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol DIR")
- FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log
+ FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log
"Determining if the DIR symbol is defined as in AC_HEADER_DIRENT "
"passed with the following output:\n"
"${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckDIRSymbolExists.c:\n"
@@ -95,7 +95,7 @@ MACRO(CHECK_DIRSYMBOL_EXISTS FILES VARIABLE)
ELSE(${VARIABLE})
MESSAGE(STATUS "Looking for DIR in ${FILES} - not found.")
SET(${VARIABLE} "" CACHE INTERNAL "Have symbol DIR")
- FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
+ FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
"Determining if the DIR symbol is defined as in AC_HEADER_DIRENT "
"failed with the following output:\n"
"${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckDIRSymbolExists.c:\n"
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/CheckPrototypeExists.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/CheckPrototypeExists.cmake
index 85a171758bc..191615c6fba 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/CheckPrototypeExists.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/CheckPrototypeExists.cmake
@@ -7,16 +7,16 @@
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
-#
+#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
-#
+#
# * The names of Kitware, Inc., the Insight Consortium, or the names of
# any consortium members, or of any contributors, may not be used to
# endorse or promote products derived from this software without
# specific prior written permission.
-#
+#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -66,4 +66,3 @@ int main()
")
CHECK_CXX_SOURCE_COMPILES("${_CHECK_PROTO_EXISTS_SOURCE_CODE}" ${_RESULT})
ENDMACRO(CHECK_PROTOTYPE_EXISTS _SYMBOL _HEADER _RESULT)
-
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindFontConfig.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindFontConfig.cmake
index 23d0020c52e..afe967eb6a9 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindFontConfig.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/FindFontConfig.cmake
@@ -1,17 +1,17 @@
# Copyright (c) 2006,2007 Laurent Montel, <montel@kde.org>
-#
+#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
-#
+#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
+# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
-#
+#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindFreetype.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindFreetype.cmake
deleted file mode 100644
index dd4db279e0c..00000000000
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindFreetype.cmake
+++ /dev/null
@@ -1,128 +0,0 @@
-# - Locate FreeType library
-# This module defines
-# FREETYPE_LIBRARIES, the library to link against
-# FREETYPE_FOUND, if false, do not try to link to FREETYPE
-# FREETYPE_INCLUDE_DIRS, where to find headers.
-# FREETYPE_VERSION_STRING, the version of freetype found (since CMake 2.8.8)
-# This is the concatenation of the paths:
-# FREETYPE_INCLUDE_DIR_ft2build
-# FREETYPE_INCLUDE_DIR_freetype2
-#
-# $FREETYPE_DIR is an environment variable that would
-# correspond to the ./configure --prefix=$FREETYPE_DIR
-# used in building FREETYPE.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * The names of Kitware, Inc., the Insight Consortium, or the names of
-# any consortium members, or of any contributors, may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Created by Eric Wing.
-# Modifications by Alexander Neundorf.
-# This file has been renamed to "FindFreetype.cmake" instead of the correct
-# "FindFreeType.cmake" in order to be compatible with the one from KDE4, Alex.
-
-# Ugh, FreeType seems to use some #include trickery which
-# makes this harder than it should be. It looks like they
-# put ft2build.h in a common/easier-to-find location which
-# then contains a #include to a more specific header in a
-# more specific location (#include <freetype/config/ftheader.h>).
-# Then from there, they need to set a bunch of #define's
-# so you can do something like:
-# #include FT_FREETYPE_H
-# Unfortunately, using CMake's mechanisms like include_directories()
-# wants explicit full paths and this trickery doesn't work too well.
-# I'm going to attempt to cut out the middleman and hope
-# everything still works.
-find_path(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
- HINTS
- ENV FREETYPE_DIR
- PATHS
- /usr/local/X11R6
- /usr/local/X11
- /usr/freeware
- PATH_SUFFIXES include/freetype2 include
-)
-
-find_path(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h
- HINTS
- ENV FREETYPE_DIR
- PATHS
- /usr/local/X11R6
- /usr/local/X11
- /usr/freeware
- PATH_SUFFIXES include/freetype2 include
-)
-
-find_library(FREETYPE_LIBRARY
- NAMES freetype libfreetype freetype219 freetype_a
- HINTS
- ENV FREETYPE_DIR
- PATH_SUFFIXES lib
- PATHS
- /usr/local/X11R6
- /usr/local/X11
- /usr/freeware
-)
-
-# set the user variables
-if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
- set(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
-endif()
-set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
-
-if(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
- file(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" freetype_version_str
- REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
-
- unset(FREETYPE_VERSION_STRING)
- foreach(VPART MAJOR MINOR PATCH)
- foreach(VLINE ${freetype_version_str})
- if(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}")
- string(REGEX REPLACE "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$" "\\1"
- FREETYPE_VERSION_PART "${VLINE}")
- if(FREETYPE_VERSION_STRING)
- set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}")
- else()
- set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
- endif()
- unset(FREETYPE_VERSION_PART)
- endif()
- endforeach()
- endforeach()
-endif()
-
-
-# handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Freetype
- REQUIRED_VARS FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS
- VERSION_VAR FREETYPE_VERSION_STRING)
-
-mark_as_advanced(FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_INCLUDE_DIR_ft2build)
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindICONV.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindICONV.cmake
index 49d5f6b95a0..6973a56f6e9 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindICONV.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/FindICONV.cmake
@@ -1,11 +1,11 @@
-# - Try to find Iconv
-# Once done this will define
-#
-# ICONV_FOUND - system has Iconv
-# ICONV_INCLUDE_DIR - the Iconv include directory
-# ICONV_LIBRARIES - Link these to use Iconv
+# - Try to find Iconv
+# Once done this will define
+#
+# ICONV_FOUND - system has Iconv
+# ICONV_INCLUDE_DIR - the Iconv include directory
+# ICONV_LIBRARIES - Link these to use Iconv
# ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const
-#
+#
include(CheckCCompilerFlag)
include(CheckCSourceCompiles)
@@ -14,13 +14,13 @@ IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
SET(ICONV_FIND_QUIETLY TRUE)
ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
-FIND_PATH(ICONV_INCLUDE_DIR iconv.h HINTS /sw/include/ PATHS /opt/local)
-
+FIND_PATH(ICONV_INCLUDE_DIR iconv.h HINTS /sw/include/ PATHS /opt/local)
+
FIND_LIBRARY(ICONV_LIBRARIES NAMES libiconv_a iconv libiconv c PATHS /opt/local)
-
-IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
- SET(ICONV_FOUND TRUE)
-ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+
+IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+ SET(ICONV_FOUND TRUE)
+ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
@@ -47,18 +47,18 @@ ENDIF(ICONV_FOUND)
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
-IF(ICONV_FOUND)
- IF(NOT ICONV_FIND_QUIETLY)
- MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
- ENDIF(NOT ICONV_FIND_QUIETLY)
-ELSE(ICONV_FOUND)
- IF(Iconv_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Could not find Iconv")
- ENDIF(Iconv_FIND_REQUIRED)
-ENDIF(ICONV_FOUND)
+IF(ICONV_FOUND)
+ IF(NOT ICONV_FIND_QUIETLY)
+ MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
+ ENDIF(NOT ICONV_FIND_QUIETLY)
+ELSE(ICONV_FOUND)
+ IF(Iconv_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find Iconv")
+ ENDIF(Iconv_FIND_REQUIRED)
+ENDIF(ICONV_FOUND)
MARK_AS_ADVANCED(
ICONV_INCLUDE_DIR
ICONV_LIBRARIES
ICONV_SECOND_ARGUMENT_IS_CONST
-) \ No newline at end of file
+)
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake
index bf17fcfc92e..4f730f09685 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/FindLIQ.cmake
@@ -4,56 +4,30 @@
# This module defines
# LIQ_INCLUDE_DIR, where to find libimagequant.h
# LIQ_LIBRARIES, the libraries to link against to use libimagequant.
-# LIQ_FOUND, If false, do not try to use libimagequant.
+# LIQ_FOUND, if false, do not try to use libimagequant.
SET(LIQ_FOUND "NO")
FIND_PATH(LIQ_INCLUDE_DIR libimagequant.h
-"${PROJECT_SOURCE_DIR}/libimagequant"
-"${PROJECT_SOURCE_DIR}/pngquant/lib"
-/usr/local/include
-/usr/include
+ /usr/local/include
+ /usr/include
)
FIND_LIBRARY(LIQ_LIBRARY
NAMES libimagequant imagequant
- PATHS "${PROJECT_SOURCE_DIR}/libimagequant" "${PROJECT_SOURCE_DIR}/pngquant/lib" /usr/lib64 /usr/lib /usr/local/lib
+ PATHS /usr/lib64 /usr/lib /usr/local/lib
)
IF (LIQ_LIBRARY AND LIQ_INCLUDE_DIR)
SET(LIQ_FOUND "YES")
SET(LIQ_LIBRARIES ${LIQ_LIBRARY})
- SET(HAVE_LIBIMAGEQUANT 1)
+ SET(HAVE_LIBIMAGEQUANT 1)
ENDIF (LIQ_LIBRARY AND LIQ_INCLUDE_DIR)
IF (LIQ_FOUND)
IF (NOT LIQ_FIND_QUIETLY)
MESSAGE(STATUS "Found LIQ: ${LIQ_LIBRARY} ${LIQ_INCLUDE_DIR}")
ENDIF (NOT LIQ_FIND_QUIETLY)
-ELSE (LIQ_FOUND)
- # if existing library not found, then download and build it
- IF (NOT WIN32 OR CYGWIN OR MINGW) # MSVC's C compiler is too old to compile libimagequant
- IF (CMAKE_VERSION VERSION_GREATER "2.8.1")
- MESSAGE(STATUS "LIQ will be built")
- INCLUDE(ExternalProject)
- EXTERNALPROJECT_ADD(
- libimagequant
- URL "http://pngquant.org/libimagequant-2.0.0-src.tar.bz2"
- SOURCE_DIR libimagequant
- BUILD_IN_SOURCE 1
- INSTALL_DIR libimagequant
- INSTALL_COMMAND true
- CONFIGURE_COMMAND true
- BUILD_COMMAND make static CFLAGSADD='-fPIC'
- )
-
- SET(LIQ_FOUND "SORTOF")
- SET(LIQ_BUILD "YES")
- SET(LIQ_LIBRARIES "${PROJECT_BINARY_DIR}/libimagequant/libimagequant.a")
- SET(LIQ_INCLUDE_DIR "${PROJECT_BINARY_DIR}/libimagequant/")
- SET(HAVE_LIBIMAGEQUANT 1)
- ENDIF(CMAKE_VERSION VERSION_GREATER "2.8.1")
- ENDIF(NOT WIN32 OR CYGWIN OR MINGW)
ENDIF (LIQ_FOUND)
MARK_AS_ADVANCED(LIQ_INCLUDE_DIR LIQ_LIBRARIES LIQ_BUILD)
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindPNG.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindPNG.cmake
deleted file mode 100644
index a44affcfcc0..00000000000
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindPNG.cmake
+++ /dev/null
@@ -1,93 +0,0 @@
-# - Find the native PNG includes and library
-#
-# This module searches libpng, the library for working with PNG images.
-#
-# It defines the following variables
-# PNG_INCLUDE_DIRS, where to find png.h, etc.
-# PNG_LIBRARIES, the libraries to link against to use PNG.
-# PNG_DEFINITIONS - You should add_definitons(${PNG_DEFINITIONS}) before compiling code that includes png library files.
-# PNG_FOUND, If false, do not try to use PNG.
-# PNG_VERSION_STRING - the version of the PNG library found (since CMake 2.8.8)
-# Also defined, but not for general use are
-# PNG_LIBRARY, where to find the PNG library.
-# For backward compatiblity the variable PNG_INCLUDE_DIR is also set. It has the same value as PNG_INCLUDE_DIRS.
-#
-# Since PNG depends on the ZLib compression library, none of the above will be
-# defined unless ZLib can be found.
-
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * The names of Kitware, Inc., the Insight Consortium, or the names of
-# any consortium members, or of any contributors, may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-if(PNG_FIND_QUIETLY)
- set(_FIND_ZLIB_ARG QUIET)
-endif()
-find_package(ZLIB ${_FIND_ZLIB_ARG})
-
-if(ZLIB_FOUND)
- find_path(PNG_PNG_INCLUDE_DIR png.h
- /usr/local/include/libpng # OpenBSD
- )
-
- set(PNG_NAMES ${PNG_NAMES} png libpng png15 libpng15 png15d libpng15d png14 libpng14 png14d libpng14d png12 libpng12 png12d libpng12d libpng_a)
- find_library(PNG_LIBRARY NAMES ${PNG_NAMES} )
-
- if (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
- # png.h includes zlib.h. Sigh.
- set(PNG_INCLUDE_DIRS ${PNG_PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
- set(PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS} ) # for backward compatiblity
- set(PNG_LIBRARIES ${PNG_LIBRARY} ${ZLIB_LIBRARY})
-
- if (CYGWIN)
- if(BUILD_SHARED_LIBS)
- # No need to define PNG_USE_DLL here, because it's default for Cygwin.
- else()
- set (PNG_DEFINITIONS -DPNG_STATIC)
- endif()
- endif ()
-
- endif ()
-
- if (PNG_PNG_INCLUDE_DIR AND EXISTS "${PNG_PNG_INCLUDE_DIR}/png.h")
- file(STRINGS "${PNG_PNG_INCLUDE_DIR}/png.h" png_version_str REGEX "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\".+\"")
-
- string(REGEX REPLACE "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\"([^\"]+)\".*" "\\1" PNG_VERSION_STRING "${png_version_str}")
- unset(png_version_str)
- endif ()
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set PNG_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(PNG
- REQUIRED_VARS PNG_LIBRARY PNG_PNG_INCLUDE_DIR
- VERSION_VAR PNG_VERSION_STRING)
-
-mark_as_advanced(PNG_PNG_INCLUDE_DIR PNG_LIBRARY )
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindPTHREAD.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindPTHREAD.cmake
index 0627c6d0a44..0331e17562f 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindPTHREAD.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/FindPTHREAD.cmake
@@ -1,92 +1,90 @@
-#############################################################################
-#
-# $Id: FindPTHREAD.cmake 4056 2013-01-05 13:04:42Z fspindle $
-#
-# This file is part of the ViSP software.
-# Copyright (C) 2005 - 2013 by INRIA. All rights reserved.
-#
-# This software is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# ("GPL") version 2 as published by the Free Software Foundation.
-# See the file LICENSE.txt at the root directory of this source
-# distribution for additional information about the GNU GPL.
-#
-# For using ViSP with software that can not be combined with the GNU
-# GPL, please contact INRIA about acquiring a ViSP Professional
-# Edition License.
-#
-# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
-#
-# This software was developed at:
-# INRIA Rennes - Bretagne Atlantique
-# Campus Universitaire de Beaulieu
-# 35042 Rennes Cedex
-# France
-# http://www.irisa.fr/lagadic
-#
-# If you have questions regarding the use of this file, please contact
-# INRIA at visp@inria.fr
-#
-# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-#
-# Description:
-# Try to find pthread library.
-# Once run this will define:
-#
-# PTHREAD_FOUND
-# PTHREAD_INCLUDE_DIRS
-# PTHREAD_LIBRARIES
-#
-# Authors:
-# Fabien Spindler
-#
-#############################################################################
-
-
- FIND_PATH(PTHREAD_INCLUDE_DIR pthread.h
- "$ENV{PTHREAD_HOME}/include"
- "$ENV{PTHREAD_DIR}/include"
- /usr/include
- "C:/MinGW/include"
- )
- #MESSAGE("DBG PTHREAD_INCLUDE_DIR=${PTHREAD_INCLUDE_DIR}")
-
- # pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2 are comming from web
- FIND_LIBRARY(PTHREAD_LIBRARY
- NAMES pthread pthreadGC2 pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2
- PATHS
- "$ENV{PTHREAD_HOME}/lib"
- "$ENV{PTHREAD_DIR}/lib"
- /usr/lib
- /usr/local/lib
- /lib
- "C:/MinGW/lib"
- )
-
- #MESSAGE(STATUS "DBG PTHREAD_LIBRARY=${PTHREAD_LIBRARY}")
-
- ## --------------------------------
-
- IF(PTHREAD_LIBRARY)
- SET(PTHREAD_LIBRARIES ${PTHREAD_LIBRARY})
- ELSE(PTHREAD_LIBRARY)
- #MESSAGE(SEND_ERROR "pthread library not found.")
- ENDIF(PTHREAD_LIBRARY)
-
- IF(NOT PTHREAD_INCLUDE_DIR)
- #MESSAGE(SEND_ERROR "pthread include dir not found.")
- ENDIF(NOT PTHREAD_INCLUDE_DIR)
-
- IF(PTHREAD_LIBRARIES AND PTHREAD_INCLUDE_DIR)
- SET(PTHREAD_INCLUDE_DIRS ${PTHREAD_INCLUDE_DIR})
- SET(PTHREAD_FOUND TRUE)
- ELSE(PTHREAD_LIBRARIES AND PTHREAD_INCLUDE_DIR)
- SET(PTHREAD_FOUND FALSE)
- ENDIF(PTHREAD_LIBRARIES AND PTHREAD_INCLUDE_DIR)
-
- MARK_AS_ADVANCED(
- PTHREAD_INCLUDE_DIR
- PTHREAD_LIBRARY
- )
- #MESSAGE(STATUS "PTHREAD_FOUND : ${PTHREAD_FOUND}")
+#############################################################################
+#
+# This file is part of the ViSP software.
+# Copyright (C) 2005 - 2013 by INRIA. All rights reserved.
+#
+# This software is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# ("GPL") version 2 as published by the Free Software Foundation.
+# See the file LICENSE.txt at the root directory of this source
+# distribution for additional information about the GNU GPL.
+#
+# For using ViSP with software that can not be combined with the GNU
+# GPL, please contact INRIA about acquiring a ViSP Professional
+# Edition License.
+#
+# See http://www.irisa.fr/lagadic/visp/visp.html for more information.
+#
+# This software was developed at:
+# INRIA Rennes - Bretagne Atlantique
+# Campus Universitaire de Beaulieu
+# 35042 Rennes Cedex
+# France
+# http://www.irisa.fr/lagadic
+#
+# If you have questions regarding the use of this file, please contact
+# INRIA at visp@inria.fr
+#
+# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Description:
+# Try to find pthread library.
+# Once run this will define:
+#
+# PTHREAD_FOUND
+# PTHREAD_INCLUDE_DIRS
+# PTHREAD_LIBRARIES
+#
+# Authors:
+# Fabien Spindler
+#
+#############################################################################
+
+
+ FIND_PATH(PTHREAD_INCLUDE_DIR pthread.h
+ "$ENV{PTHREAD_HOME}/include"
+ "$ENV{PTHREAD_DIR}/include"
+ /usr/include
+ "C:/MinGW/include"
+ )
+ #MESSAGE("DBG PTHREAD_INCLUDE_DIR=${PTHREAD_INCLUDE_DIR}")
+
+ # pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2 are comming from web
+ FIND_LIBRARY(PTHREAD_LIBRARY
+ NAMES pthread pthreadGC2 pthreadVSE pthreadGCE pthreadGC pthreadVC1 pthreadVC2
+ PATHS
+ "$ENV{PTHREAD_HOME}/lib"
+ "$ENV{PTHREAD_DIR}/lib"
+ /usr/lib
+ /usr/local/lib
+ /lib
+ "C:/MinGW/lib"
+ )
+
+ #MESSAGE(STATUS "DBG PTHREAD_LIBRARY=${PTHREAD_LIBRARY}")
+
+ ## --------------------------------
+
+ IF(PTHREAD_LIBRARY)
+ SET(PTHREAD_LIBRARIES ${PTHREAD_LIBRARY})
+ ELSE(PTHREAD_LIBRARY)
+ #MESSAGE(SEND_ERROR "pthread library not found.")
+ ENDIF(PTHREAD_LIBRARY)
+
+ IF(NOT PTHREAD_INCLUDE_DIR)
+ #MESSAGE(SEND_ERROR "pthread include dir not found.")
+ ENDIF(NOT PTHREAD_INCLUDE_DIR)
+
+ IF(PTHREAD_LIBRARIES AND PTHREAD_INCLUDE_DIR)
+ SET(PTHREAD_INCLUDE_DIRS ${PTHREAD_INCLUDE_DIR})
+ SET(PTHREAD_FOUND TRUE)
+ ELSE(PTHREAD_LIBRARIES AND PTHREAD_INCLUDE_DIR)
+ SET(PTHREAD_FOUND FALSE)
+ ENDIF(PTHREAD_LIBRARIES AND PTHREAD_INCLUDE_DIR)
+
+ MARK_AS_ADVANCED(
+ PTHREAD_INCLUDE_DIR
+ PTHREAD_LIBRARY
+ )
+ #MESSAGE(STATUS "PTHREAD_FOUND : ${PTHREAD_FOUND}")
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindPackageHandleStandardArgs.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindPackageHandleStandardArgs.cmake
deleted file mode 100644
index de124acce43..00000000000
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindPackageHandleStandardArgs.cmake
+++ /dev/null
@@ -1,317 +0,0 @@
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> ... )
-#
-# This function is intended to be used in FindXXX.cmake modules files.
-# It handles the REQUIRED, QUIET and version-related arguments to find_package().
-# It also sets the <UPPERCASED_NAME>_FOUND variable.
-# The package is considered found if all variables <var1>... listed contain
-# valid results, e.g. valid filepaths.
-#
-# There are two modes of this function. The first argument in both modes is
-# the name of the Find-module where it is called (in original casing).
-#
-# The first simple mode looks like this:
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> (DEFAULT_MSG|"Custom failure message") <var1>...<varN> )
-# If the variables <var1> to <varN> are all valid, then <UPPERCASED_NAME>_FOUND
-# will be set to TRUE.
-# If DEFAULT_MSG is given as second argument, then the function will generate
-# itself useful success and error messages. You can also supply a custom error message
-# for the failure case. This is not recommended.
-#
-# The second mode is more powerful and also supports version checking:
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS <var1>...<varN>]
-# [VERSION_VAR <versionvar>]
-# [HANDLE_COMPONENTS]
-# [CONFIG_MODE]
-# [FAIL_MESSAGE "Custom failure message"] )
-#
-# As above, if <var1> through <varN> are all valid, <UPPERCASED_NAME>_FOUND
-# will be set to TRUE.
-# After REQUIRED_VARS the variables which are required for this package are listed.
-# Following VERSION_VAR the name of the variable can be specified which holds
-# the version of the package which has been found. If this is done, this version
-# will be checked against the (potentially) specified required version used
-# in the find_package() call. The EXACT keyword is also handled. The default
-# messages include information about the required version and the version
-# which has been actually found, both if the version is ok or not.
-# If the package supports components, use the HANDLE_COMPONENTS option to enable
-# handling them. In this case, find_package_handle_standard_args() will report
-# which components have been found and which are missing, and the <NAME>_FOUND
-# variable will be set to FALSE if any of the required components (i.e. not the
-# ones listed after OPTIONAL_COMPONENTS) are missing.
-# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for
-# a find_package(... NO_MODULE) call. In this case VERSION_VAR will be set
-# to <NAME>_VERSION and the macro will automatically check whether the
-# Config module was found.
-# Via FAIL_MESSAGE a custom failure message can be specified, if this is not
-# used, the default message will be displayed.
-#
-# Example for mode 1:
-#
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-#
-# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and
-# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
-# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
-# independent whether QUIET was used or not.
-# If it is found, success will be reported, including the content of <var1>.
-# On repeated Cmake runs, the same message won't be printed again.
-#
-# Example for mode 2:
-#
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS BISON_EXECUTABLE
-# VERSION_VAR BISON_VERSION)
-# In this case, BISON is considered to be found if the variable(s) listed
-# after REQUIRED_VAR are all valid, i.e. BISON_EXECUTABLE in this case.
-# Also the version of BISON will be checked by using the version contained
-# in BISON_VERSION.
-# Since no FAIL_MESSAGE is given, the default messages will be printed.
-#
-# Another example for mode 2:
-#
-# find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(Automoc4 CONFIG_MODE)
-# In this case, FindAutmoc4.cmake wraps a call to find_package(Automoc4 NO_MODULE)
-# and adds an additional search directory for automoc4.
-# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
-# success/error message.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# * The names of Kitware, Inc., the Insight Consortium, or the names of
-# any consortium members, or of any contributors, may not be used to
-# endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-include(FindPackageMessage)
-include(CMakeParseArguments)
-
-# internal helper macro
-macro(_FPHSA_FAILURE_MESSAGE _msg)
- if (${_NAME}_FIND_REQUIRED)
- message(FATAL_ERROR "${_msg}")
- else ()
- if (NOT ${_NAME}_FIND_QUIETLY)
- message(STATUS "${_msg}")
- endif ()
- endif ()
-endmacro()
-
-
-# internal helper macro to generate the failure message when used in CONFIG_MODE:
-macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
- # <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
- if(${_NAME}_CONFIG)
- _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
- else()
- # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
- # List them all in the error message:
- if(${_NAME}_CONSIDERED_CONFIGS)
- set(configsText "")
- list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
- math(EXPR configsCount "${configsCount} - 1")
- foreach(currentConfigIndex RANGE ${configsCount})
- list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
- list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
- set(configsText "${configsText} ${filename} (version ${version})\n")
- endforeach()
- if (${_NAME}_NOT_FOUND_MESSAGE)
- set(configsText "${configsText} Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n")
- endif()
- _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
-
- else()
- # Simple case: No Config-file was found at all:
- _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
- endif()
- endif()
-endmacro()
-
-
-function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
-
-# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
-# new extended or in the "old" mode:
- set(options CONFIG_MODE HANDLE_COMPONENTS)
- set(oneValueArgs FAIL_MESSAGE VERSION_VAR)
- set(multiValueArgs REQUIRED_VARS)
- set(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} )
- list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
-
- if(${INDEX} EQUAL -1)
- set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
- set(FPHSA_REQUIRED_VARS ${ARGN})
- set(FPHSA_VERSION_VAR)
- else()
-
- CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN})
-
- if(FPHSA_UNPARSED_ARGUMENTS)
- message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
- endif()
-
- if(NOT FPHSA_FAIL_MESSAGE)
- set(FPHSA_FAIL_MESSAGE "DEFAULT_MSG")
- endif()
- endif()
-
-# now that we collected all arguments, process them
-
- if("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
- set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
- endif()
-
- # In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
- # when it successfully found the config-file, including version checking:
- if(FPHSA_CONFIG_MODE)
- list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
- list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
- set(FPHSA_VERSION_VAR ${_NAME}_VERSION)
- endif()
-
- if(NOT FPHSA_REQUIRED_VARS)
- message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
- endif()
-
- list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
-
- string(TOUPPER ${_NAME} _NAME_UPPER)
- string(TOLOWER ${_NAME} _NAME_LOWER)
-
- # collect all variables which were not found, so they can be printed, so the
- # user knows better what went wrong (#6375)
- set(MISSING_VARS "")
- set(DETAILS "")
- set(${_NAME_UPPER}_FOUND TRUE)
- # check if all passed variables are valid
- foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
- if(NOT ${_CURRENT_VAR})
- set(${_NAME_UPPER}_FOUND FALSE)
- set(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
- else()
- set(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
- endif()
- endforeach()
-
- # component handling
- unset(FOUND_COMPONENTS_MSG)
- unset(MISSING_COMPONENTS_MSG)
-
- if(FPHSA_HANDLE_COMPONENTS)
- foreach(comp ${${_NAME}_FIND_COMPONENTS})
- if(${_NAME}_${comp}_FOUND)
-
- if(NOT DEFINED FOUND_COMPONENTS_MSG)
- set(FOUND_COMPONENTS_MSG "found components: ")
- endif()
- set(FOUND_COMPONENTS_MSG "${FOUND_COMPONENTS_MSG} ${comp}")
-
- else()
-
- if(NOT DEFINED MISSING_COMPONENTS_MSG)
- set(MISSING_COMPONENTS_MSG "missing components: ")
- endif()
- set(MISSING_COMPONENTS_MSG "${MISSING_COMPONENTS_MSG} ${comp}")
-
- if(${_NAME}_FIND_REQUIRED_${comp})
- set(${_NAME_UPPER}_FOUND FALSE)
- set(MISSING_VARS "${MISSING_VARS} ${comp}")
- endif()
-
- endif()
- endforeach()
- set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
- set(DETAILS "${DETAILS}[c${COMPONENT_MSG}]")
- endif()
-
- # version handling:
- set(VERSION_MSG "")
- set(VERSION_OK TRUE)
- set(VERSION ${${FPHSA_VERSION_VAR}} )
- if (${_NAME}_FIND_VERSION)
-
- if(VERSION)
-
- if(${_NAME}_FIND_VERSION_EXACT) # exact version required
- if (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
- set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
- set(VERSION_OK FALSE)
- else ()
- set(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
- endif ()
-
- else() # minimum version specified:
- if ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
- set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
- set(VERSION_OK FALSE)
- else ()
- set(VERSION_MSG "(found suitable version \"${VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")")
- endif ()
- endif()
-
- else()
-
- # if the package was not found, but a version was given, add that to the output:
- if(${_NAME}_FIND_VERSION_EXACT)
- set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
- else()
- set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
- endif()
-
- endif()
- else ()
- if(VERSION)
- set(VERSION_MSG "(found version \"${VERSION}\")")
- endif()
- endif ()
-
- if(VERSION_OK)
- set(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
- else()
- set(${_NAME_UPPER}_FOUND FALSE)
- endif()
-
-
- # print the result:
- if (${_NAME_UPPER}_FOUND)
- FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
- else ()
-
- if(FPHSA_CONFIG_MODE)
- _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
- else()
- if(NOT VERSION_OK)
- _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
- else()
- _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}")
- endif()
- endif()
-
- endif ()
-
- set(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE)
-
-endfunction()
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindJPEG.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindRAQM.cmake
index bb310d65dcb..ffb908b600b 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindJPEG.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/FindRAQM.cmake
@@ -1,14 +1,14 @@
-# - Find JPEG
-# Find the native JPEG includes and library
+# - Find the native RAQM includes and library
+#
+
# This module defines
-# JPEG_INCLUDE_DIR, where to find jpeglib.h, etc.
-# JPEG_LIBRARIES, the libraries needed to use JPEG.
-# JPEG_FOUND, If false, do not try to use JPEG.
-# also defined, but not for general use are
-# JPEG_LIBRARY, where to find the JPEG library.
-
-#=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
+# RAQM_INCLUDE_DIR, where to find raqm.h, etc.
+# RAQM_LIBRARIES, the libraries to link against to use RAQM.
+# RAQM_FOUND, If false, do not try to use RAQM.
+# Also defined, but not for general use are
+# RAQM_LIBRARY, where to find the RAQM library.
+
+# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -16,16 +16,16 @@
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
-#
+#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
-#
+#
# * The names of Kitware, Inc., the Insight Consortium, or the names of
# any consortium members, or of any contributors, may not be used to
# endorse or promote products derived from this software without
# specific prior written permission.
-#
+#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -37,24 +37,33 @@
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-find_path(JPEG_INCLUDE_DIR jpeglib.h)
+SET(RAQM_FOUND "NO")
-set(JPEG_NAMES ${JPEG_NAMES} jpeg libjpeg_a)
-find_library(JPEG_LIBRARY NAMES ${JPEG_NAMES} )
+FIND_PATH(RAQM_INCLUDE_DIR raqm.h
+ /usr/local/include
+ /usr/include
+)
-# handle the QUIETLY and REQUIRED arguments and set JPEG_FOUND to TRUE if
-# all listed variables are TRUE
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(JPEG DEFAULT_MSG JPEG_LIBRARY JPEG_INCLUDE_DIR)
+SET(RAQM_NAMES ${RAQM_NAMES} raqm)
+FIND_LIBRARY(RAQM_LIBRARY
+ NAMES ${RAQM_NAMES}
+ PATH /usr/local/lib /usr/lib
+)
-if(JPEG_FOUND)
- set(JPEG_LIBRARIES ${JPEG_LIBRARY})
-endif()
+IF (RAQM_LIBRARY AND RAQM_INCLUDE_DIR)
+ SET(RAQM_FOUND "YES")
+ SET(HAVE_LIBRAQM 1)
+ SET(RAQM_LIBRARIES ${RAQM_LIBRARY})
+ENDIF (RAQM_LIBRARY AND RAQM_INCLUDE_DIR)
-# Deprecated declarations.
-set (NATIVE_JPEG_INCLUDE_PATH ${JPEG_INCLUDE_DIR} )
-if(JPEG_LIBRARY)
- get_filename_component (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
-endif()
+IF (RAQM_FOUND)
+ IF (NOT RAQM_FIND_QUIETLY)
+ MESSAGE(STATUS "Find RAQM: ${RAQM_LIBRARY}")
+ ENDIF (NOT RAQM_FIND_QUIETLY)
+ELSE (RAQM_FOUDN)
+ IF (RAQM_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find RAQM library")
+ ENDIF (RAQM_FIND_REQUIRED)
+ENDIF (RAQM_FOUND)
-mark_as_advanced(JPEG_LIBRARY JPEG_INCLUDE_DIR )
+MARK_AS_ADVANCED(RAQM_INCLUDE_DIR RAQM_LIBRARY)
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindWEBP.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindWEBP.cmake
index f7b89c3875d..1fc8bf8e592 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindWEBP.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/FindWEBP.cmake
@@ -2,9 +2,8 @@
#
# This module defines
-# WEBP_INCLUDE_DIR, where to find png.h, etc.
+# WEBP_INCLUDE_DIR, where to find decode.h, etc.
# WEBP_LIBRARIES, the libraries to link against to use WEBP.
-# WEBP_DEFINITIONS - You should ADD_DEFINITONS(${WEBP_DEFINITIONS}) before compiling code that includes png library files.
# WEBP_FOUND, If false, do not try to use WEBP.
# also defined, but not for general use are
# WEBP_LIBRARY, where to find the WEBP library.
@@ -17,16 +16,16 @@
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
-#
+#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
-#
+#
# * The names of Kitware, Inc., the Insight Consortium, or the names of
# any consortium members, or of any contributors, may not be used to
# endorse or promote products derived from this software without
# specific prior written permission.
-#
+#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/FindXPM.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/FindXPM.cmake
index 9b59feaa10e..2cb0c221825 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/FindXPM.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/FindXPM.cmake
@@ -2,9 +2,9 @@
#
# This module defines
-# XPM_INCLUDE_DIR, where to find png.h, etc.
+# XPM_INCLUDE_DIR, where to find xpm.h, etc.
# XPM_LIBRARIES, the libraries to link against to use XPM.
-# XPM_DEFINITIONS - You should ADD_DEFINITONS(${XPM_DEFINITIONS}) before compiling code that includes png library files.
+# XPM_DEFINITIONS - You should ADD_DEFINITONS(${XPM_DEFINITIONS}) before compiling code that includes xpm library files.
# XPM_FOUND, If false, do not try to use XPM.
# also defined, but not for general use are
# XPM_LIBRARY, where to find the XPM library.
@@ -17,16 +17,16 @@
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
-#
+#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
-#
+#
# * The names of Kitware, Inc., the Insight Consortium, or the names of
# any consortium members, or of any contributors, may not be used to
# endorse or promote products derived from this software without
# specific prior written permission.
-#
+#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.c b/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.c
index 2be51745ac8..0bc34d9cbc7 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.c
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.c
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2006 Alan W. Irwin
*
* This file is part of PLplot.
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.cmake
index b1a1b908223..dabf6b221dc 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/TestForHighBitCharacters.cmake
@@ -19,11 +19,11 @@
# Check if ctype.h macros work on characters with the high bit set.
if(NOT DEFINED CMAKE_HIGH_BIT_CHARACTERS)
- message(STATUS
+ message(STATUS
"Check for whether ctype.h macros work on characters with the\n"
" high bit set."
)
- try_compile(CMAKE_HIGH_BIT_CHARACTERS
+ try_compile(CMAKE_HIGH_BIT_CHARACTERS
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/CMakeModules/TestForHighBitCharacters.c
OUTPUT_VARIABLE OUTPUT)
diff --git a/Build/source/libs/gd/libgd-src/cmake/modules/gd.cmake b/Build/source/libs/gd/libgd-src/cmake/modules/gd.cmake
index bef21f94f36..963b4aeed59 100644
--- a/Build/source/libs/gd/libgd-src/cmake/modules/gd.cmake
+++ b/Build/source/libs/gd/libgd-src/cmake/modules/gd.cmake
@@ -7,7 +7,11 @@ MACRO(ADD_GD_TESTS)
FOREACH(test_name ${TESTS_FILES})
SET(test_prog_name "test_${TEST_PREFIX}_${test_name}")
add_executable(${test_prog_name} "${test_name}.c")
- target_link_libraries (${test_prog_name} gdTest ${ARGV0})
+ IF(WIN32)
+ target_link_libraries (${test_prog_name} gdTest ${ARGV0})
+ ELSE(WIN32)
+ target_link_libraries (${test_prog_name} gdTest m ${ARGV0})
+ ENDIF(WIN32)
add_test(NAME ${test_prog_name} COMMAND ${test_prog_name})
ENDFOREACH(test_name)
ENDMACRO(ADD_GD_TESTS)
diff --git a/Build/source/libs/gd/libgd-src/config/Makefile.am b/Build/source/libs/gd/libgd-src/config/Makefile.am
index 5c2db7069cf..122287ee57e 100644
--- a/Build/source/libs/gd/libgd-src/config/Makefile.am
+++ b/Build/source/libs/gd/libgd-src/config/Makefile.am
@@ -1,7 +1,5 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
-EXTRA_DIST = gdlib-config.in gdlib.pc.in getver.pl
-
-bin_SCRIPTS = gdlib-config
+EXTRA_DIST = gdlib.pc.cmake gdlib.pc.in getver.pl
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gdlib.pc
diff --git a/Build/source/libs/gd/libgd-src/config/gdlib-config.in b/Build/source/libs/gd/libgd-src/config/gdlib-config.in
deleted file mode 100644
index 6e4e4944747..00000000000
--- a/Build/source/libs/gd/libgd-src/config/gdlib-config.in
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/sh
-#
-# Return information about the local GD library installation
-#
-# Modeled after pdflib-config
-
-echo "gdlib-config: warning: this script is deprecated;" \
- "please use the pkg-config file instead." >&2
-
-# installation directories
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-bindir=@bindir@
-
-usage()
-{
- cat <<EOF
-Print information on GD library's version, configuration, and use.
-Usage: gdlib-config [options]
-Options:
- --libdir # directory where GD library is installed
- --includedir # directory where GD library headers are installed
- --version # complete GD library version string
- --majorversion # GD library major version number
- --minorversion # GD library minor version number
- --revision # GD library revision version number
- --ldflags # options required for linking against GD library
- --libs # libs required for linking against GD library
- --cflags # options required for compiling GD library apps
- --includes # same as --cflags
- --features # lists features compiled into gd, separated by spaces.
- # Currently (as of @VERSION@) the optional features
- # are GD_PNG, GD_JPEG, GD_XPM, GD_FREETYPE, and
- # GD_FONTCONFIG. When these features are reported by
- # --features, it is safe to include calls to the
- # related functions in your code.
- --all # print a summary of all GD library configure options
-EOF
- exit $1
-}
-
-if test $# -eq 0; then
- usage 1 1>&2
-fi
-
-while test $# -gt 0; do
- case "$1" in
- -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
-
- case $1 in
- --libdir)
- echo $libdir
- ;;
- --includedir)
- echo $includedir
- ;;
- --version)
- echo @VERSION@
- ;;
- --majorversion)
- echo @GDLIB_MAJOR@
- ;;
- --minorversion)
- echo @GDLIB_MINOR@
- ;;
- --revision)
- echo @GDLIB_REVISION@
- ;;
- --ldflags)
- echo @LDFLAGS@
- ;;
- --libs)
- echo -lgd @LIBS@ @LIBICONV@
- ;;
- --cflags|--includes)
- echo -I@includedir@
- ;;
- --features)
- echo @FEATURES@
- ;;
- --all)
- echo "GD library @VERSION@"
- echo "includedir: $includedir"
- echo "cflags: -I@includedir@"
- echo "ldflags: @LDFLAGS@"
- echo "libs: @LIBS@ @LIBICONV@"
- echo "libdir: $libdir"
- echo "features: @FEATURES@"
- ;;
- *)
- usage 1 1>&2
- ;;
- esac
- shift
-done
diff --git a/Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake b/Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake
new file mode 100644
index 00000000000..fb828882682
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/config/gdlib.pc.cmake
@@ -0,0 +1,9 @@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+Name: gd
+Description: GD graphics library
+Version: @GDLIB_VERSION@
+Cflags: -I${includedir}
+Libs.private: @LIBGD_DEP_LIBS@
+Libs: -L${libdir} -lgd
diff --git a/Build/source/libs/gd/libgd-src/config/getver.pl b/Build/source/libs/gd/libgd-src/config/getver.pl
index 38389522fb9..52f1b5888f2 100644
--- a/Build/source/libs/gd/libgd-src/config/getver.pl
+++ b/Build/source/libs/gd/libgd-src/config/getver.pl
@@ -8,11 +8,14 @@
use strict;
+use FindBin;
+
my $key = shift;
my @version_parts = ();
+my $dir = $FindBin::Bin;
-open FH, "<src/gd.h" # old-style filehandle for max. portability
- or die "Unable to open 'version.h' for reading.\n";
+open FH, "<$dir/../src/gd.h" # old-style filehandle for max. portability
+ or die "Unable to open 'gd.h' for reading.\n";
while(<FH>) {
next unless m{version605b5d1778};
diff --git a/Build/source/libs/gd/libgd-src/configure.ac b/Build/source/libs/gd/libgd-src/configure.ac
index 7663cccf06e..5d2805915af 100644
--- a/Build/source/libs/gd/libgd-src/configure.ac
+++ b/Build/source/libs/gd/libgd-src/configure.ac
@@ -18,46 +18,21 @@ AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_HOST
-# This is not used anywhere. However, Makefile.netware searches
-# through configure for these definitions to find the version numbers.
-# (Assuming anyone still uses Netware, that should be changed to use
-# gd.h via getver.pl instead.)
-GDLIB_MAJOR=gd_MAJOR
-GDLIB_MINOR=gd_MINOR
-GDLIB_REVISION=gd_REVISION
-GDLIB_EXTRA=gd_EXTRA
-GDLIB_VERSION=gd_PKG_VERSION
-
-AC_SUBST(GDLIB_MAJOR)
-AC_SUBST(GDLIB_MINOR)
-AC_SUBST(GDLIB_REVISION)
-AC_SUBST(GDLIB_EXTRA)
-AC_SUBST(GDLIB_VERSION)
-
-# Dynamic library version information
-# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
-
-GDLIB_LT_CURRENT=3
-dnl This is the version where the soname (current above) changes. We use it
-dnl to reset the revision base back to zero. It's a bit of a pain, but some
-dnl systems restrict the revision range below to [0..255] (like OS X).
-GDLIB_PREV_MAJOR=2
-GDLIB_PREV_MINOR=2
-dnl This isn't 100% correct, but it tends to be a close enough approximation
-dnl for how we manage the codebase. It's rare to do a release that doesn't
-dnl modify the library since this project is centered around the library.
-GDLIB_LT_REVISION=$(( ((GDLIB_MAJOR - GDLIB_PREV_MAJOR) << 6) | ((GDLIB_MINOR - GDLIB_PREV_MINOR) << 3) | GDLIB_REVISION ))
-GDLIB_LT_AGE=0
+dnl Keep the libtool version details in an external script so cmake can
+dnl access the values too.
+define([lt_gv], [config/getlib.sh ]$1)
+m4_define([gd_LT_CURRENT], esyscmd(lt_gv(CURRENT)))
+m4_define([gd_LT_REVISION], esyscmd(lt_gv(REVISION)))
+m4_define([gd_LT_AGE], esyscmd(lt_gv(AGE)))
+
+GDLIB_LT_CURRENT=gd_LT_CURRENT
+GDLIB_LT_REVISION=gd_LT_REVISION
+GDLIB_LT_AGE=gd_LT_AGE
+
AC_SUBST(GDLIB_LT_CURRENT)
AC_SUBST(GDLIB_LT_REVISION)
AC_SUBST(GDLIB_LT_AGE)
-#Expanded by tests later in this file. TBB 2.0.26
-#2.0.28: GIF is standard now. Doesn't depend on anything else,
-#so we always build it.
-FEATURES="GD_GIF GD_GIFANIM GD_OPENPOLYGON"
-AC_SUBST(FEATURES)
-
AM_INIT_AUTOMAKE([1.11 foreign dist-xz -Wall -Werror subdir-objects])
AC_CONFIG_HEADERS([src/config.h:src/config.hin])
@@ -85,13 +60,8 @@ dnl Keep in sync with cmake/modules/AC_HEADER_STDC.cmake.
AC_HEADER_STDC
AC_CHECK_HEADERS_ONCE(m4_flatten([
dirent.h
- errno.h
inttypes.h
- limits.h
- stddef.h
stdint.h
- stdlib.h
- string.h
strings.h
unistd.h
sys/stat.h
@@ -114,14 +84,12 @@ AC_CHECK_HEADERS(iconv.h,
AC_MSG_RESULT(no))])
# Checks for typedefs, structures, and compiler characteristics.
-#AC_C_CONST
#AC_TYPE_SIZE_T
# Checks for library functions.
#AC_FUNC_ERROR_AT_LINE
#AC_FUNC_MALLOC
#AC_FUNC_REALLOC
-#AC_FUNC_VPRINTF
#AC_CHECK_FUNCS([floor memset sqrt strchr strdup strtol])
dnl do we need to specify -lm explicitly?
@@ -130,6 +98,21 @@ AC_CHECK_FUNC(sin,,[AC_CHECK_LIB(m,sin)])
AX_PTHREAD()
AX_OPENMP()
+dnl We should default this to off in future releases.
+AC_MSG_CHECKING([whether to support gd image formats])
+AC_ARG_ENABLE([gd-formats],
+ [AS_HELP_STRING([--disable-gd-formats], [Disable support for the legacy/testing gd image formats])],
+ [gd_enable_gd_formats=$enableval],
+ [gd_enable_gd_formats=yes])
+AC_MSG_RESULT([$gd_enable_gd_formats])
+if test "$gd_enable_gd_formats" = yes; then
+ gd_ac_value=1
+else
+ gd_ac_value=0
+fi
+AC_DEFINE_UNQUOTED([ENABLE_GD_FORMATS], [$gd_ac_value], [Whether to support gd image formats])
+AM_CONDITIONAL([ENABLE_GD_FORMATS], test "$gd_enable_gd_formats" = yes)
+
dnl Helper macro for working with external libraries.
dnl GD_LIB_CHECK([SYM], [FEATURE], [name], [...test...])
dnl $1 - upper case symbol
@@ -173,7 +156,6 @@ m4_define([GD_LIB_CHECK], [dnl
if test "$gd_found_lib" = "yes"; then
AC_DEFINE([HAVE_$1], [1], [Define if you have $3])
- AS_VAR_APPEND([FEATURES], [" GD_$2"])
dnl Merge the flags into the main LIBS/CPPFLAGS.
$1][_LIBS="$gd_lib_ldflags $][$1][_LIBS"
$1][_CFLAGS="$gd_lib_cflags $][$1][_CFLAGS"
@@ -233,6 +215,14 @@ if test "$gd_with_LIBFREETYPE" = "yes"; then
AC_DEFINE([HAVE_FT2BUILD_H], [1], [Define if you have the ft2build.h header.])
fi
+dnl Check for Raqm support.
+GD_LIB_PKG_CHECK([LIBRAQM], [RAQM], [raqm], [raqm], [
+ AC_CHECK_LIB([raqm], [raqm_create], [dnl
+ AS_VAR_APPEND([LIBRAQM_LIBS], [" -lraqm -lfreetype"])
+ gd_found_lib=yes
+ ])
+])
+
dnl Check for fontconfig support.
GD_LIB_PKG_CHECK([LIBFONTCONFIG], [FONTCONFIG], [fontconfig], [fontconfig], [
AC_CHECK_LIB([fontconfig], [FcInit], [dnl
@@ -242,7 +232,7 @@ GD_LIB_PKG_CHECK([LIBFONTCONFIG], [FONTCONFIG], [fontconfig], [fontconfig], [
])
dnl Check for jpeg support.
-GD_LIB_CHECK([LIBJPEG], [JPEG], [jpeg], [
+GD_LIB_PKG_CHECK([LIBJPEG], [JPEG], [jpeg], [libjpeg], [
AC_CHECK_LIB([jpeg], [jpeg_set_defaults], [dnl
AS_VAR_APPEND([LIBJPEG_LIBS], [" -ljpeg"])
gd_found_lib=yes
@@ -310,6 +300,7 @@ dnl report configuration
AC_MSG_RESULT([
** Configuration summary for $PACKAGE $VERSION:
+ Support for gd/gd2 images: $gd_enable_gd_formats
Support for Zlib: $gd_with_LIBZ
Support for PNG library: $gd_with_LIBPNG
Support for JPEG library: $gd_with_LIBJPEG
@@ -319,6 +310,7 @@ AC_MSG_RESULT([
Support for Fontconfig library: $gd_with_LIBFONTCONFIG
Support for Xpm library: $gd_with_LIBXPM
Support for liq library: $gd_with_LIBIMAGEQUANT
+ Support for complex text: $gd_with_LIBRAQM
Support for pthreads: $ax_pthread_ok
])
@@ -326,7 +318,6 @@ AC_CONFIG_FILES([Makefile
src/Makefile
tests/Makefile
config/Makefile
- config/gdlib-config
config/gdlib.pc])
AC_OUTPUT
diff --git a/Build/source/libs/gd/libgd-src/docs/INSTALL b/Build/source/libs/gd/libgd-src/docs/INSTALL
index a1e89e18ad2..63bf0760eda 100644
--- a/Build/source/libs/gd/libgd-src/docs/INSTALL
+++ b/Build/source/libs/gd/libgd-src/docs/INSTALL
@@ -367,4 +367,3 @@ operates.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
-
diff --git a/Build/source/libs/gd/libgd-src/docs/NEWS.historic b/Build/source/libs/gd/libgd-src/docs/NEWS.historic
index 8bf38434add..057d33bdaeb 100644
--- a/Build/source/libs/gd/libgd-src/docs/NEWS.historic
+++ b/Build/source/libs/gd/libgd-src/docs/NEWS.historic
@@ -12,7 +12,7 @@ GD 2.0.36 (2007-11-xx)
(Pierre, Mark Fisher)
88, Fixed support of PNG grayscale image with alpha channel (Pierre)
95, Added Netware builds script (Guenter)
- 97, ease the creation of regexp to match symbols/functions in the sources
+ 97, ease the creation of regexp to match symbols/functions in the sources
(Guenter)
100, spurious horizontal line drawn by gdImageFilledPolygon (Takeshi Abe)
101, _gdCreateFromFile() can crash if gdImageCreate fails (Mattias Bengtsson)
@@ -37,17 +37,17 @@ GD 2.0.36 (2007-11-xx)
198, Fixed useFontConfig() to work as documented (Mojca Miklavec, Ethan Merritt)
GD 2.0.35 (2007-06-21)
-41, Fix valgrind error in gdImageFillTiled (Nuno Lopes)
+41, Fix valgrind error in gdImageFillTiled (Nuno Lopes)
45, Add missing custom cmake macros (required for the tests suite)
51, Avoid signature buffer copy in gd_gif_c (Nuno Lopes)
-48, Race condition in gdImageStringFTEx (Antony Dogval, Pierre
+48, Race condition in gdImageStringFTEx (Antony Dogval, Pierre
Scott MacVicar)
52, Reading GIF images is not thread safe (static usage in private
functions) (Roman Nemecek, Nuno Lopes, Pierre)
60, GIF Local palette is read twice
-66, GIF, Use local frame dimension when possible instead of the
+66, GIF, Use local frame dimension when possible instead of the
logical screen size (Pierre)
-68, OpenVMS build support, see VMS/README.VMS for the details
+68, OpenVMS build support, see VMS/README.VMS for the details
(Alexey Chupahin)
70, GIF, do not try to use the global colmap if it does not exist
(Nuno Lopes, Pierre)
@@ -58,7 +58,7 @@ GD 2.0.35 (2007-06-21)
(Pierre)
86, Possible infinite loop in libgd/gd_png.c, flaw found by Xavier Roche
(Pierre)
-87, Fixed segfault when an invalid color index is present in a GIF
+87, Fixed segfault when an invalid color index is present in a GIF
image data, reported by Elliot <wccode at gmail dot com> (Pierre)
89, Possible integer overflow in gdImageCreateTrueColor (Pierre)
94, gdImageCreateXbm can crash if gdImageCreate fails (Pierre)
diff --git a/Build/source/libs/gd/libgd-src/docs/README.CMAKE b/Build/source/libs/gd/libgd-src/docs/README.CMAKE
index 213a181d5d2..2be204560df 100644
--- a/Build/source/libs/gd/libgd-src/docs/README.CMAKE
+++ b/Build/source/libs/gd/libgd-src/docs/README.CMAKE
@@ -10,13 +10,17 @@ $ cmake -DBUILD_TEST=1 <options> ..
$ make
The available options are:
+ENABLE_GD_FORMATS=1
ENABLE_PNG=1
+ENABLE_LIQ=1
ENABLE_JPEG=1
ENABLE_TIFF=1
+ENABLE_ICONV=1
ENABLE_FREETYPE=1
ENABLE_FONTCONFIG=1
ENABLE_XPM=1
ENABLE_WEBP=1
+ENABLE_RAQM=1
You can optionally run our tests suite using:
$ ctest .
diff --git a/Build/source/libs/gd/libgd-src/docs/README.JPN b/Build/source/libs/gd/libgd-src/docs/README.JPN
index 65db00b5534..db128aad6fb 100644
--- a/Build/source/libs/gd/libgd-src/docs/README.JPN
+++ b/Build/source/libs/gd/libgd-src/docs/README.JPN
@@ -1,39 +1,38 @@
- gd $B%i%$%V%i%j$GF|K\8lJ8;zNs$r;H$&>e$G$NCm0U;v9`(B
+ gd ライブラリã§æ—¥æœ¬èªžæ–‡å­—列を使ã†ä¸Šã§ã®æ³¨æ„事項
- $B;32l@5?M(B (ma@yama-ga.com)
+ 山賀正人 (ma@yama-ga.com)
-gd-1.7.0 $B$+$i$O$=$N$^$^$G(B gdImageStringTTF() $B$KBP$7$F(B
-SJIS encoding $B$N%U%)%s%H$,;HMQ$G$-$^$9!#(B
+gd-1.7.0 ã‹ã‚‰ã¯ãã®ã¾ã¾ã§ gdImageStringTTF() ã«å¯¾ã—ã¦
+SJIS encoding ã®ãƒ•ã‚©ãƒ³ãƒˆãŒä½¿ç”¨ã§ãã¾ã™ã€‚
- $B"((B Unicode encoding $B$N%U%)%s%H$KBP$7$F$OF|K\8lJ8;zNs$r(B UTF-8 $B$G(B
- $B;XDj$9$l$PF|K\8l$,I=<($G$-$^$9!#(B
+ ※ Unicode encoding ã®ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã—ã¦ã¯æ—¥æœ¬èªžæ–‡å­—列を UTF-8 ã§
+ 指定ã™ã‚Œã°æ—¥æœ¬èªžãŒè¡¨ç¤ºã§ãã¾ã™ã€‚
-$B$D$^$j(B gdImageStringTTF() $B$G(B SJIS encoding $B$N%U%)%s%H$r;XDj$9$k$H(B
-$BJ8;zNs$OL5>r7o$KF|K\8l$G$"$k$H2r<a$5$l!"4A;z%3!<%I(B (EUC, SJIS, 7bit JIS)
-$B$,<+F0H=JL$5$l$FE,@Z$K=hM}$5$l$^$9!#(B
+ã¤ã¾ã‚Š gdImageStringTTF() 㧠SJIS encoding ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’指定ã™ã‚‹ã¨
+文字列ã¯ç„¡æ¡ä»¶ã«æ—¥æœ¬èªžã§ã‚ã‚‹ã¨è§£é‡ˆã•ã‚Œã€æ¼¢å­—コード (EUC, SJIS, 7bit JIS)
+ãŒè‡ªå‹•åˆ¤åˆ¥ã•ã‚Œã¦é©åˆ‡ã«å‡¦ç†ã•ã‚Œã¾ã™ã€‚
-$B99$K(B UNICODE encoding $B$N%U%)%s%H$KBP$7$F$b(B JIS $B7O$NF|K\8l(B (EUC, SJIS, 7bit JIS)
-$B$r;HMQ$9$k>l9g$O!"%3%s%Q%$%k;~$K(B -DJISX0208 $B$rIU$1$F%3%s%Q%$%k$7$F$/$@$5$$!#(B
-$B$3$&$9$k$H(B gdImageStringTTF() $B$G;XDj$5$l$?J8;zNs$K(B ASCII $B0J30$NJ8;z$,$"$k$H(B
-$BL5>r7o$KF|K\8lJ8;zNs$G$"$k$H2r<a$5$l!"4A;z%3!<%I$r<+F0H=JL8e$K(B
-$BE,@Z$K=hM}$5$l$^$9!#(B
+æ›´ã« UNICODE encoding ã®ãƒ•ã‚©ãƒ³ãƒˆã«å¯¾ã—ã¦ã‚‚ JIS ç³»ã®æ—¥æœ¬èªž (EUC, SJIS, 7bit JIS)
+を使用ã™ã‚‹å ´åˆã¯ã€ã‚³ãƒ³ãƒ‘イル時㫠-DJISX0208 を付ã‘ã¦ã‚³ãƒ³ãƒ‘イルã—ã¦ãã ã•ã„。
+ã“ã†ã™ã‚‹ã¨ gdImageStringTTF() ã§æŒ‡å®šã•ã‚ŒãŸæ–‡å­—列㫠ASCII 以外ã®æ–‡å­—ãŒã‚ã‚‹ã¨
+ç„¡æ¡ä»¶ã«æ—¥æœ¬èªžæ–‡å­—列ã§ã‚ã‚‹ã¨è§£é‡ˆã•ã‚Œã€æ¼¢å­—コードを自動判別後ã«
+é©åˆ‡ã«å‡¦ç†ã•ã‚Œã¾ã™ã€‚
-$B$?$@$7$3$N>l9g$O(B UTF-8 $B$NF|K\8lJ8;zNs$r07$($J$/$J$j$^$9$N$G!"(B
-$B$4MxMQ$N4D6-Ey$K1~$8$F(B -DJISX0208 $B$rIU$1$k$+H]$+$r7h$a$F$/$@$5$$!#(B
+ãŸã ã—ã“ã®å ´åˆã¯ UTF-8 ã®æ—¥æœ¬èªžæ–‡å­—列を扱ãˆãªããªã‚Šã¾ã™ã®ã§ã€
+ã”利用ã®ç’°å¢ƒç­‰ã«å¿œã˜ã¦ -DJISX0208 を付ã‘ã‚‹ã‹å¦ã‹ã‚’決ã‚ã¦ãã ã•ã„。
-$B4A;z%3!<%I$NJQ49$K(B OS $BIUB0$N(B iconv() $B$r;H$&>l9g$O(B
-CFLAGS $B$K(B -DHAVE_ICONV $B$rIU$1$F%3%s%Q%$%k$7$F$/$@$5$$!#(B
-$B$3$N>l9g$K(B -DHAVE_STDARG_H $B$H(B -DHAVE_ERRNO_H $B$bIU$1$F$*$/$H(B
-$B4A;z%3!<%IJQ49$N:]$K%(%i!<$,H/@8$7$?>l9g$KE,@Z$J%a%C%;!<%8$r(B
-$BI=<($9$k$h$&$K$J$j$^$9!#(B
+漢字コードã®å¤‰æ›ã« OS 付属㮠iconv() を使ã†å ´åˆã¯
+CFLAGS ã« -DHAVE_ICONV を付ã‘ã¦ã‚³ãƒ³ãƒ‘イルã—ã¦ãã ã•ã„。
+漢字コード変æ›ã®éš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã«é©åˆ‡ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’
+表示ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
-$B!y(B EUC $B$+(B SJIS $B$+H=JL$G$-$J$+$C$?>l9g$N4A;z%3!<%I$NH=JLJ}K!(B
+☆ EUC ã‹ SJIS ã‹åˆ¤åˆ¥ã§ããªã‹ã£ãŸå ´åˆã®æ¼¢å­—コードã®åˆ¤åˆ¥æ–¹æ³•
- (1) $B4D6-JQ?t(B LC_ALL, LC_CTYPE, LANG $B$r$3$N=gHV$G%A%'%C%/$9$k(B
- (2) $B4D6-JQ?t$+$i$bH=JL$G$-$J$+$C$?>l9g$O(B UNIX $B$J$i$P(B EUC$B!"(B
- Win32 $B$J$i$P(B SJIS $B$H8+$J$9(B
+ (1) 環境変数 LC_ALL, LC_CTYPE, LANG ã‚’ã“ã®é †ç•ªã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹
+ (2) 環境変数ã‹ã‚‰ã‚‚判別ã§ããªã‹ã£ãŸå ´åˆã¯ UNIX ãªã‚‰ã° EUCã€
+ Win32 ãªã‚‰ã° SJIS ã¨è¦‹ãªã™
-$B%3%s%Q%$%k;~$K(B -DSJISPRE $B$rIU$1$F%3%s%Q%$%k$9$l$P!"(BUNIX $B$G$"$C$F$b(B
-SJIS $B$rM%@h$9$k$h$&$K$J$j$^$9!#(B
+コンパイル時㫠-DSJISPRE を付ã‘ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚Œã°ã€UNIX ã§ã‚ã£ã¦ã‚‚
+SJIS を優先ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
diff --git a/Build/source/libs/gd/libgd-src/docs/README.TESTING b/Build/source/libs/gd/libgd-src/docs/README.TESTING
index 65ce58b833b..8a8a102586e 100644
--- a/Build/source/libs/gd/libgd-src/docs/README.TESTING
+++ b/Build/source/libs/gd/libgd-src/docs/README.TESTING
@@ -25,7 +25,7 @@ export CMAKE_LIBRARY_PATH=/path/to/the/gd/lib
then call cmake using:
-$ cmake -DUSE_EXT_GD=1 -DBUILD_TEST=1
+$ cmake -DUSE_EXT_GD=1 -DBUILD_TEST=1
$ make
and finally:
@@ -33,18 +33,18 @@ $ ctest .
I will certainly add a nice CMake option to give prefix later.
-What to do if tests fail on your platform and you use the last GD release?
+What to do if tests fail on your platform and you use the last GD release?
either from your favorite distributions or from http://www.libgd.org or git?
-If you use a packaged version of the GD Library (installed from RPM, deb or
+If you use a packaged version of the GD Library (installed from RPM, deb or
ports, gentoo packages or any other packages format or distribution), please try
to run the tests using the source releases available at:
-http://www.libgd.org/Downloads
+https://github.com/libgd/libgd/releases
If the tests fail using our source release, please report a bug here:
-http://bugs.libgd.org
+https://github.com/libgd/libgd/issues
You can attach the two files available in:
@@ -65,6 +65,9 @@ timeout the default timeout is 5 seconds. Some test may
Some features rely on floating point arithmetic and results may vary from
one architecture to another.
Examples:
-on i686, gdimagerotate/bug00067 will fail. The result is still visually
+On i686, gdimagerotate/bug00067 will fail. The result is still visually
acceptable but i686 default arithmetic mode will generate different results.
Adding "-msse -mfpmath=sse" to CFLAGS will solve this difference.
+On s390, ppc64, and aarch64, gdimagecopyresampled/bug00201 will fail.
+The result is still visually acceptable.
+Adding "-ffp-contract=off" to CFLAGS will solve this difference.
diff --git a/Build/source/libs/gd/libgd-src/docs/README.TXT b/Build/source/libs/gd/libgd-src/docs/README.TXT
index 39725dd62c1..6a4d918267b 100644
--- a/Build/source/libs/gd/libgd-src/docs/README.TXT
+++ b/Build/source/libs/gd/libgd-src/docs/README.TXT
@@ -55,7 +55,7 @@ you can use the following command line options:
--with-xpm=DIR
Dto. for xpm library.
-
+
--with-tiff=DIR
Dto. for TIFF library.
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html
deleted file mode 100644
index c7c0be192e8..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-c.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd.c"></a>gd.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd.c" >gd.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Error_Handling" >Error Handling</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdSetErrorMethod" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdSetErrorMethod</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdClearErrorMethod" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdClearErrorMethod</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Creation_and_Destruction" >Creation and Destruction</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreate" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCreate</a></td><td class=SDescription>gdImageCreate is called to create palette-based images, with no more than 256 colors. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateTrueColor" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a></td><td class=SDescription><a href="#gdImageCreateTrueColor" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> is called to create truecolor images, with an essentially unlimited number of colors. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageDestroy" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">gdImageDestroy</a></td><td class=SDescription><a href="#gdImageDestroy" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageDestroy</a> is used to free the memory associated with an image. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Color" >Color</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorClosest" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageColorClosest</a></td><td class=SDescription>Gets the closest color of the image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorClosestAlpha" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdImageColorClosestAlpha</a></td><td class=SDescription>Gets the closest color of the image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorClosestHWB" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link10')" onMouseOut="HideTip('tt8')">gdImageColorClosestHWB</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorExact" id=link11 onMouseOver="ShowTip(event, 'tt9', 'link11')" onMouseOut="HideTip('tt9')">gdImageColorExact</a></td><td class=SDescription>Gets the exact color of the image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorExactAlpha" id=link12 onMouseOver="ShowTip(event, 'tt10', 'link12')" onMouseOut="HideTip('tt10')">gdImageColorExactAlpha</a></td><td class=SDescription>Gets the exact color of the image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorAllocate" id=link13 onMouseOver="ShowTip(event, 'tt11', 'link13')" onMouseOut="HideTip('tt11')">gdImageColorAllocate</a></td><td class=SDescription>Allocates a color</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorAllocateAlpha" id=link14 onMouseOver="ShowTip(event, 'tt12', 'link14')" onMouseOut="HideTip('tt12')">gdImageColorAllocateAlpha</a></td><td class=SDescription>Allocates a color</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorResolve" id=link15 onMouseOver="ShowTip(event, 'tt13', 'link15')" onMouseOut="HideTip('tt13')">gdImageColorResolve</a></td><td class=SDescription>gdImageColorResolve is an alternative for the code fragment</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorResolveAlpha" id=link16 onMouseOver="ShowTip(event, 'tt14', 'link16')" onMouseOut="HideTip('tt14')">gdImageColorResolveAlpha</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorDeallocate" id=link17 onMouseOver="ShowTip(event, 'tt15', 'link17')" onMouseOut="HideTip('tt15')">gdImageColorDeallocate</a></td><td class=SDescription>Removes a palette entry</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorTransparent" id=link18 onMouseOver="ShowTip(event, 'tt16', 'link18')" onMouseOut="HideTip('tt16')">gdImageColorTransparent</a></td><td class=SDescription>Sets the transparent color of the image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImagePaletteCopy" id=link19 onMouseOver="ShowTip(event, 'tt17', 'link19')" onMouseOut="HideTip('tt17')">gdImagePaletteCopy</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorReplace" id=link20 onMouseOver="ShowTip(event, 'tt18', 'link20')" onMouseOut="HideTip('tt18')">gdImageColorReplace</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorReplaceThreshold" id=link21 onMouseOver="ShowTip(event, 'tt19', 'link21')" onMouseOut="HideTip('tt19')">gdImageColorReplaceThreshold</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColorReplaceArray" id=link22 onMouseOver="ShowTip(event, 'tt20', 'link22')" onMouseOut="HideTip('tt20')">gdImageColorReplaceArray</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageColorReplaceCallback" id=link23 onMouseOver="ShowTip(event, 'tt21', 'link23')" onMouseOut="HideTip('tt21')">gdImageColorReplaceCallback</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Pixels" >Pixels</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetPixel" id=link24 onMouseOver="ShowTip(event, 'tt22', 'link24')" onMouseOut="HideTip('tt22')">gdImageSetPixel</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGetPixel" id=link25 onMouseOver="ShowTip(event, 'tt23', 'link25')" onMouseOut="HideTip('tt23')">gdImageGetPixel</a></td><td class=SDescription>Gets a pixel color as stored in the image.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGetTrueColorPixel" id=link26 onMouseOver="ShowTip(event, 'tt24', 'link26')" onMouseOut="HideTip('tt24')">gdImageGetTrueColorPixel</a></td><td class=SDescription>Gets a pixel color always as truecolor value.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Primitives" >Primitives</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageAABlend" id=link27 onMouseOver="ShowTip(event, 'tt25', 'link27')" onMouseOut="HideTip('tt25')">gdImageAABlend</a></td><td class=SDescription>NO-OP, kept for library compatibility.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageLine" id=link28 onMouseOver="ShowTip(event, 'tt26', 'link28')" onMouseOut="HideTip('tt26')">gdImageLine</a></td><td class=SDescription>Bresenham as presented in Foley &amp; Van Dam.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageDashedLine" id=link29 onMouseOver="ShowTip(event, 'tt27', 'link29')" onMouseOut="HideTip('tt27')">gdImageDashedLine</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageBoundsSafe" id=link30 onMouseOver="ShowTip(event, 'tt28', 'link30')" onMouseOut="HideTip('tt28')">gdImageBoundsSafe</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageChar" id=link31 onMouseOver="ShowTip(event, 'tt29', 'link31')" onMouseOut="HideTip('tt29')">gdImageChar</a></td><td class=SDescription>Draws a single character.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCharUp" id=link32 onMouseOver="ShowTip(event, 'tt30', 'link32')" onMouseOut="HideTip('tt30')">gdImageCharUp</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageString" id=link33 onMouseOver="ShowTip(event, 'tt31', 'link33')" onMouseOut="HideTip('tt31')">gdImageString</a></td><td class=SDescription>Draws a character string.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageStringUp" id=link34 onMouseOver="ShowTip(event, 'tt32', 'link34')" onMouseOut="HideTip('tt32')">gdImageStringUp</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageString16" id=link35 onMouseOver="ShowTip(event, 'tt33', 'link35')" onMouseOut="HideTip('tt33')">gdImageString16</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageStringUp16" id=link36 onMouseOver="ShowTip(event, 'tt34', 'link36')" onMouseOut="HideTip('tt34')">gdImageStringUp16</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageArc" id=link37 onMouseOver="ShowTip(event, 'tt35', 'link37')" onMouseOut="HideTip('tt35')">gdImageArc</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFilledArc" id=link38 onMouseOver="ShowTip(event, 'tt36', 'link38')" onMouseOut="HideTip('tt36')">gdImageFilledArc</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageEllipse" id=link39 onMouseOver="ShowTip(event, 'tt37', 'link39')" onMouseOut="HideTip('tt37')">gdImageEllipse</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFilledEllipse" id=link40 onMouseOver="ShowTip(event, 'tt38', 'link40')" onMouseOut="HideTip('tt38')">gdImageFilledEllipse</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFillToBorder" id=link41 onMouseOver="ShowTip(event, 'tt39', 'link41')" onMouseOut="HideTip('tt39')">gdImageFillToBorder</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFill" id=link42 onMouseOver="ShowTip(event, 'tt40', 'link42')" onMouseOut="HideTip('tt40')">gdImageFill</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageRectangle" id=link43 onMouseOver="ShowTip(event, 'tt41', 'link43')" onMouseOut="HideTip('tt41')">gdImageRectangle</a></td><td class=SDescription>Draws a rectangle.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFilledRectangle" id=link44 onMouseOver="ShowTip(event, 'tt42', 'link44')" onMouseOut="HideTip('tt42')">gdImageFilledRectangle</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Cloning_and_Copying" >Cloning and Copying</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageClone" id=link45 onMouseOver="ShowTip(event, 'tt43', 'link45')" onMouseOut="HideTip('tt43')">gdImageClone</a></td><td class=SDescription>Clones an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCopy" id=link46 onMouseOver="ShowTip(event, 'tt44', 'link46')" onMouseOut="HideTip('tt44')">gdImageCopy</a></td><td class=SDescription>Copy an area of an image to another image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyMerge" id=link47 onMouseOver="ShowTip(event, 'tt45', 'link47')" onMouseOut="HideTip('tt45')">gdImageCopyMerge</a></td><td class=SDescription>Copy an area of an image to another image ignoring alpha</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCopyMergeGray" id=link48 onMouseOver="ShowTip(event, 'tt46', 'link48')" onMouseOut="HideTip('tt46')">gdImageCopyMergeGray</a></td><td class=SDescription>Copy an area of an image to another image ignoring alpha</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyResized" id=link49 onMouseOver="ShowTip(event, 'tt47', 'link49')" onMouseOut="HideTip('tt47')">gdImageCopyResized</a></td><td class=SDescription>Copy a resized area from an image to another image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCopyRotated" id=link50 onMouseOver="ShowTip(event, 'tt48', 'link50')" onMouseOut="HideTip('tt48')">gdImageCopyRotated</a></td><td class=SDescription>Copy a rotated area from an image to another image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyResampled" id=link51 onMouseOver="ShowTip(event, 'tt49', 'link51')" onMouseOut="HideTip('tt49')">gdImageCopyResampled</a></td><td class=SDescription>Copy a resampled area from an image to another image</td></tr><tr class="SGroup"><td class=SEntry><a href="#Polygons" >Polygons</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePolygon" id=link52 onMouseOver="ShowTip(event, 'tt50', 'link52')" onMouseOut="HideTip('tt50')">gdImagePolygon</a></td><td class=SDescription>Draws a closed polygon</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageOpenPolygon" id=link53 onMouseOver="ShowTip(event, 'tt51', 'link53')" onMouseOut="HideTip('tt51')">gdImageOpenPolygon</a></td><td class=SDescription>Draws an open polygon</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFilledPolygon" id=link54 onMouseOver="ShowTip(event, 'tt52', 'link54')" onMouseOut="HideTip('tt52')">gdImageFilledPolygon</a></td><td class=SDescription>Draws a filled polygon</td></tr><tr class="SGroup"><td class=SEntry><a href="#other" >other</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetStyle" id=link55 onMouseOver="ShowTip(event, 'tt53', 'link55')" onMouseOut="HideTip('tt53')">gdImageSetStyle</a></td><td class=SDescription>Sets the style for following drawing operations</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetThickness" id=link56 onMouseOver="ShowTip(event, 'tt54', 'link56')" onMouseOut="HideTip('tt54')">gdImageSetThickness</a></td><td class=SDescription>Sets the thickness for following drawing operations</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetBrush" id=link57 onMouseOver="ShowTip(event, 'tt55', 'link57')" onMouseOut="HideTip('tt55')">gdImageSetBrush</a></td><td class=SDescription>Sets the brush for following drawing operations</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetTile" id=link58 onMouseOver="ShowTip(event, 'tt56', 'link58')" onMouseOut="HideTip('tt56')">gdImageSetTile</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetAntiAliased" id=link59 onMouseOver="ShowTip(event, 'tt57', 'link59')" onMouseOut="HideTip('tt57')">gdImageSetAntiAliased</a></td><td class=SDescription>Set the color for subsequent anti-aliased drawing</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetAntiAliasedDontBlend" id=link60 onMouseOver="ShowTip(event, 'tt58', 'link60')" onMouseOut="HideTip('tt58')">gdImageSetAntiAliasedDontBlend</a></td><td class=SDescription>Set the color and &ldquo;dont_blend&rdquo; color for subsequent anti-aliased drawing</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageInterlace" id=link61 onMouseOver="ShowTip(event, 'tt59', 'link61')" onMouseOut="HideTip('tt59')">gdImageInterlace</a></td><td class=SDescription>Sets whether an image is interlaced</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCompare" id=link62 onMouseOver="ShowTip(event, 'tt60', 'link62')" onMouseOut="HideTip('tt60')">gdImageCompare</a></td><td class=SDescription>Compare two images</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdAlphaBlend" id=link63 onMouseOver="ShowTip(event, 'tt61', 'link63')" onMouseOut="HideTip('tt61')">gdAlphaBlend</a></td><td class=SDescription>Blend two colors</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdLayerOverlay" id=link64 onMouseOver="ShowTip(event, 'tt62', 'link64')" onMouseOut="HideTip('tt62')">gdLayerOverlay</a></td><td class=SDescription>Overlay two colors</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdLayerMultiply" id=link65 onMouseOver="ShowTip(event, 'tt63', 'link65')" onMouseOut="HideTip('tt63')">gdLayerMultiply</a></td><td class=SDescription>Overlay two colors with multiply effect</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageAlphaBlending" id=link66 onMouseOver="ShowTip(event, 'tt64', 'link66')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></td><td class=SDescription>Set the effect for subsequent drawing operations</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSaveAlpha" id=link67 onMouseOver="ShowTip(event, 'tt65', 'link67')" onMouseOut="HideTip('tt65')">gdImageSaveAlpha</a></td><td class=SDescription>Sets the save alpha flag</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetClip" id=link68 onMouseOver="ShowTip(event, 'tt66', 'link68')" onMouseOut="HideTip('tt66')">gdImageSetClip</a></td><td class=SDescription>Sets the clipping rectangle</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGetClip" id=link69 onMouseOver="ShowTip(event, 'tt67', 'link69')" onMouseOut="HideTip('tt67')">gdImageGetClip</a></td><td class=SDescription>Gets the current clipping rectangle</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSetResolution" id=link70 onMouseOver="ShowTip(event, 'tt68', 'link70')" onMouseOut="HideTip('tt68')">gdImageSetResolution</a></td><td class=SDescription>Sets the resolution of an image.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePaletteToTrueColor" id=link71 onMouseOver="ShowTip(event, 'tt69', 'link71')" onMouseOut="HideTip('tt69')">gdImagePaletteToTrueColor</a></td><td class=SDescription>Convert a palette image to true color</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Error_Handling"></a>Error Handling</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdSetErrorMethod"></a>gdSetErrorMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdSetErrorMethod(</td><td class="PType prettyprint " nowrap>gdErrorMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>error_method</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdClearErrorMethod"></a>gdClearErrorMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdClearErrorMethod(</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Creation_and_Destruction"></a>Creation and Destruction</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreate"></a>gdImageCreate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>gdImageCreate is called to create palette-based images, with no more than 256 colors.&nbsp; The image must eventually be destroyed using gdImageDestroy().</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sx</td><td class=CDLDescription>The image width.</td></tr><tr><td class=CDLEntry>sy</td><td class=CDLDescription>The image height.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-im = gdImageCreate(64, 64);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote><h4 class=CHeading>See Also</h4><p><a href="#gdImageCreateTrueColor" class=LFunction id=link72 onMouseOver="ShowTip(event, 'tt4', 'link72')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a></p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateTrueColor"></a>gdImageCreateTrueColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateTrueColor" class=LFunction id=link73 onMouseOver="ShowTip(event, 'tt4', 'link73')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> is called to create truecolor images, with an essentially unlimited number of colors.&nbsp; Invoke <a href="#gdImageCreateTrueColor" class=LFunction id=link74 onMouseOver="ShowTip(event, 'tt4', 'link74')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> with the x and y dimensions of the desired image.&nbsp; <a href="#gdImageCreateTrueColor" class=LFunction id=link75 onMouseOver="ShowTip(event, 'tt4', 'link75')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link76 onMouseOver="ShowTip(event, 'tt70', 'link76')" onMouseOut="HideTip('tt70')">gdImagePtr</a> to the new image, or NULL if unable to allocate the image.&nbsp; The image must eventually be destroyed using &lt;gdImageDestroy&gt;().</p><p>Truecolor images are always filled with black at creation time.&nbsp; There is no concept of a &ldquo;background&rdquo; color index.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>sx</td><td class=CDLDescription>The image width.</td></tr><tr><td class=CDLEntry>sy</td><td class=CDLDescription>The image height.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-im = gdImageCreateTrueColor(64, 64);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote><h4 class=CHeading>See Also</h4><p><a href="#gdImageCreateTrueColor" class=LFunction id=link77 onMouseOver="ShowTip(event, 'tt4', 'link77')" onMouseOut="HideTip('tt4')">gdImageCreateTrueColor</a></p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageDestroy"></a>gdImageDestroy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageDestroy" class=LFunction id=link78 onMouseOver="ShowTip(event, 'tt5', 'link78')" onMouseOut="HideTip('tt5')">gdImageDestroy</a> is used to free the memory associated with an image.&nbsp; It is important to invoke <a href="#gdImageDestroy" class=LFunction id=link79 onMouseOver="ShowTip(event, 'tt5', 'link79')" onMouseOut="HideTip('tt5')">gdImageDestroy</a> before exiting your program or assigning a new image to a <a href="gd-h.html#gdImagePtr" class=LType id=link80 onMouseOver="ShowTip(event, 'tt70', 'link80')" onMouseOut="HideTip('tt70')">gdImagePtr</a> variable.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>Pointer to the gdImage to delete.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-im = gdImageCreate(10, 10);
-// ... Use the image ...
-// Now destroy it
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color"></a>Color</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorClosest"></a>gdImageColorClosest</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosest (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the closest color of the image</p><p>This is a simplified variant of <a href="#gdImageColorClosestAlpha" class=LFunction id=link81 onMouseOver="ShowTip(event, 'tt7', 'link81')" onMouseOut="HideTip('tt7')">gdImageColorClosestAlpha</a> where the alpha channel is always opaque.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The closest color already available in the palette for palette images; the color value of the given components for truecolor images.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorExact" class=LFunction id=link82 onMouseOver="ShowTip(event, 'tt9', 'link82')" onMouseOut="HideTip('tt9')">gdImageColorExact</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorClosestAlpha"></a>gdImageColorClosestAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the closest color of the image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>The value of the alpha component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The closest color already available in the palette for palette images; the color value of the given components for truecolor images.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorExactAlpha" class=LFunction id=link83 onMouseOver="ShowTip(event, 'tt10', 'link83')" onMouseOut="HideTip('tt10')">gdImageColorExactAlpha</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorClosestHWB"></a>gdImageColorClosestHWB</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestHWB (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorExact"></a>gdImageColorExact</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExact (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the exact color of the image</p><p>This is a simplified variant of <a href="#gdImageColorExactAlpha" class=LFunction id=link84 onMouseOver="ShowTip(event, 'tt10', 'link84')" onMouseOut="HideTip('tt10')">gdImageColorExactAlpha</a> where the alpha channel is always opaque.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The exact color already available in the palette for palette images; if there is no exact color, -1 is returned.&nbsp; For truecolor images the color value of the given components is returned.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorClosest" class=LFunction id=link85 onMouseOver="ShowTip(event, 'tt6', 'link85')" onMouseOut="HideTip('tt6')">gdImageColorClosest</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorExactAlpha"></a>gdImageColorExactAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the exact color of the image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>The value of the alpha component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The exact color already available in the palette for palette images; if there is no exact color, -1 is returned.&nbsp; For truecolor images the color value of the given components is returned.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorClosestAlpha" class=LFunction id=link86 onMouseOver="ShowTip(event, 'tt7', 'link86')" onMouseOut="HideTip('tt7')">gdImageColorClosestAlpha</a></li><li><a href="gd-h.html#gdTrueColorAlpha" class=LMacro id=link87 onMouseOver="ShowTip(event, 'tt71', 'link87')" onMouseOut="HideTip('tt71')">gdTrueColorAlpha</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorAllocate"></a>gdImageColorAllocate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Allocates a color</p><p>This is a simplified variant of <a href="#gdImageColorAllocateAlpha" class=LFunction id=link88 onMouseOver="ShowTip(event, 'tt12', 'link88')" onMouseOut="HideTip('tt12')">gdImageColorAllocateAlpha</a> where the alpha channel is always opaque.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The color value.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorDeallocate" class=LFunction id=link89 onMouseOver="ShowTip(event, 'tt15', 'link89')" onMouseOut="HideTip('tt15')">gdImageColorDeallocate</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorAllocateAlpha"></a>gdImageColorAllocateAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocateAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Allocates a color</p><p>This is typically used for palette images, but can be used for truecolor images as well.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>The value of the red component.</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The value of the green component.</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The value of the blue component.</td></tr></table><h4 class=CHeading>Returns</h4><p>The color value.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorDeallocate" class=LFunction id=link90 onMouseOver="ShowTip(event, 'tt15', 'link90')" onMouseOut="HideTip('tt15')">gdImageColorDeallocate</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorResolve"></a>gdImageColorResolve</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolve (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>gdImageColorResolve is an alternative for the code fragment</p><blockquote><pre class="prettyprint">if ((color=gdImageColorExact(im,R,G,B)) &lt; 0)
- if ((color=gdImageColorAllocate(im,R,G,B)) &lt; 0)
- color=gdImageColorClosest(im,R,G,B);</pre></blockquote><p>in a single function.&nbsp; Its advantage is that it is guaranteed to return a color index in one search over the color table.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorResolveAlpha"></a>gdImageColorResolveAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorDeallocate"></a>gdImageColorDeallocate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorDeallocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes a palette entry</p><p>This is a no-op for truecolor images.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The palette index.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageColorAllocate" class=LFunction id=link91 onMouseOver="ShowTip(event, 'tt11', 'link91')" onMouseOut="HideTip('tt11')">gdImageColorAllocate</a></li><li><a href="#gdImageColorAllocateAlpha" class=LFunction id=link92 onMouseOver="ShowTip(event, 'tt12', 'link92')" onMouseOut="HideTip('tt12')">gdImageColorAllocateAlpha</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorTransparent"></a>gdImageColorTransparent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the transparent color of the image</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdImageGetTransparent" class=LMacro id=link93 onMouseOver="ShowTip(event, 'tt72', 'link93')" onMouseOut="HideTip('tt72')">gdImageGetTransparent</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePaletteCopy"></a>gdImagePaletteCopy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>from</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplace"></a>gdImageColorReplace</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplaceThreshold"></a>gdImageColorReplaceThreshold</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceThreshold (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplaceArray"></a>gdImageColorReplaceArray</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceArray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>len,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColorReplaceCallback"></a>gdImageColorReplaceCallback</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceCallback (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdCallbackImageColor&nbsp;</td><td class="PParameter prettyprint " nowrap>callback</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Pixels"></a>Pixels</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetPixel"></a>gdImageSetPixel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetPixel"></a>gdImageGetPixel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a pixel color as stored in the image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageGetTrueColorPixel" class=LFunction id=link94 onMouseOver="ShowTip(event, 'tt24', 'link94')" onMouseOut="HideTip('tt24')">gdImageGetTrueColorPixel</a></li><li><a href="gd-h.html#gdImagePalettePixel" class=LMacro id=link95 onMouseOver="ShowTip(event, 'tt73', 'link95')" onMouseOut="HideTip('tt73')">gdImagePalettePixel</a></li><li><a href="gd-h.html#gdImageTrueColorPixel" class=LMacro id=link96 onMouseOver="ShowTip(event, 'tt74', 'link96')" onMouseOut="HideTip('tt74')">gdImageTrueColorPixel</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetTrueColorPixel"></a>gdImageGetTrueColorPixel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets a pixel color always as truecolor value.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageGetPixel" class=LFunction id=link97 onMouseOver="ShowTip(event, 'tt23', 'link97')" onMouseOut="HideTip('tt23')">gdImageGetPixel</a></li><li><a href="gd-h.html#gdImageTrueColorPixel" class=LMacro id=link98 onMouseOver="ShowTip(event, 'tt74', 'link98')" onMouseOut="HideTip('tt74')">gdImageTrueColorPixel</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Primitives"></a>Primitives</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageAABlend"></a>gdImageAABlend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAABlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>NO-OP, kept for library compatibility.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageLine"></a>gdImageLine</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Bresenham as presented in Foley &amp; Van Dam.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageDashedLine"></a>gdImageDashedLine</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDashedLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBoundsSafe"></a>gdImageBoundsSafe</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBoundsSafe (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageChar"></a>gdImageChar</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a single character.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to draw onto.</td></tr><tr><td class=CDLEntry>f</td><td class=CDLDescription>The raster font.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The character.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>Variants</h4><ul><li><a href="#gdImageCharUp" class=LFunction id=link99 onMouseOver="ShowTip(event, 'tt30', 'link99')" onMouseOut="HideTip('tt30')">gdImageCharUp</a></li></ul><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdFontPtr" class=LType id=link100 onMouseOver="ShowTip(event, 'tt75', 'link100')" onMouseOut="HideTip('tt75')">gdFontPtr</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCharUp"></a>gdImageCharUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCharUp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageString"></a>gdImageString</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a character string.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to draw onto.</td></tr><tr><td class=CDLEntry>f</td><td class=CDLDescription>The raster font.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y coordinate of the upper left pixel.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The character string.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>Variants</h4><ul><li><a href="#gdImageStringUp" class=LFunction id=link101 onMouseOver="ShowTip(event, 'tt32', 'link101')" onMouseOut="HideTip('tt32')">gdImageStringUp</a></li><li><a href="#gdImageString16" class=LFunction id=link102 onMouseOver="ShowTip(event, 'tt33', 'link102')" onMouseOut="HideTip('tt33')">gdImageString16</a></li><li><a href="#gdImageStringUp16" class=LFunction id=link103 onMouseOver="ShowTip(event, 'tt34', 'link103')" onMouseOut="HideTip('tt34')">gdImageStringUp16</a></li></ul><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdFontPtr" class=LType id=link104 onMouseOver="ShowTip(event, 'tt75', 'link104')" onMouseOut="HideTip('tt75')">gdFontPtr</a></li><li><a href="gdft-c.html#gdImageStringTTF" class=LFunction id=link105 onMouseOver="ShowTip(event, 'tt76', 'link105')" onMouseOut="HideTip('tt76')">gdImageStringTTF</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringUp"></a>gdImageStringUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageString16"></a>gdImageString16</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringUp16"></a>gdImageStringUp16</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageArc"></a>gdImageArc</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledArc"></a>gdImageFilledArc</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>style</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageEllipse"></a>gdImageEllipse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageEllipse(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledEllipse"></a>gdImageFilledEllipse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledEllipse (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFillToBorder"></a>gdImageFillToBorder</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFillToBorder (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>border,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFill"></a>gdImageFill</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFill(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>nc</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageRectangle"></a>gdImageRectangle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a rectangle.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x1</td><td class=CDLDescription>The x-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>y1</td><td class=CDLDescription>The y-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>x2</td><td class=CDLDescription>The x-coordinate of the lower right corner.</td></tr><tr><td class=CDLEntry>y2</td><td class=CDLDescription>The y-coordinate of the lower right corner.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The color.</td></tr></table><p>Note that x1,y1 and x2,y2 may be swapped, i.e. the former may designate the lower right corner and the latter the upper left corner.&nbsp; The behavior for specifying other corners is undefined.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageFilledRectangle" class=LFunction id=link106 onMouseOver="ShowTip(event, 'tt42', 'link106')" onMouseOut="HideTip('tt42')">gdImageFilledRectangle</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledRectangle"></a>gdImageFilledRectangle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Cloning_and_Copying"></a>Cloning and Copying</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageClone"></a>gdImageClone</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageClone (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Clones an image</p><p>Creates an exact duplicate of the given image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr></table><h4 class=CHeading>Returns</h4><p>The cloned image on success, NULL on failure.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopy"></a>gdImageCopy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy an area of an image to another image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>The width of the area to copy.</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>The height of the area to copy.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopyMerge" class=LFunction id=link107 onMouseOver="ShowTip(event, 'tt45', 'link107')" onMouseOut="HideTip('tt45')">gdImageCopyMerge</a></li><li><a href="#gdImageCopyMergeGray" class=LFunction id=link108 onMouseOver="ShowTip(event, 'tt46', 'link108')" onMouseOut="HideTip('tt46')">gdImageCopyMergeGray</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyMerge"></a>gdImageCopyMerge</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMerge (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy an area of an image to another image ignoring alpha</p><p>The source area will be copied to the destination are by merging the pixels.</p><h4 class=CHeading>Note</h4><p>This function is a substitute for real alpha channel operations, so it doesn&rsquo;t pay attention to the alpha channel.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>The width of the area to copy.</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>The height of the area to copy.</td></tr><tr><td class=CDLEntry>pct</td><td class=CDLDescription>The percentage in range 0..100.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopy" class=LFunction id=link109 onMouseOver="ShowTip(event, 'tt44', 'link109')" onMouseOut="HideTip('tt44')">gdImageCopy</a></li><li><a href="#gdImageCopyMergeGray" class=LFunction id=link110 onMouseOver="ShowTip(event, 'tt46', 'link110')" onMouseOut="HideTip('tt46')">gdImageCopyMergeGray</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyMergeGray"></a>gdImageCopyMergeGray</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMergeGray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy an area of an image to another image ignoring alpha</p><p>The source area will be copied to the grayscaled destination area by merging the pixels.</p><h4 class=CHeading>Note</h4><p>This function is a substitute for real alpha channel operations, so it doesn&rsquo;t pay attention to the alpha channel.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>The width of the area to copy.</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>The height of the area to copy.</td></tr><tr><td class=CDLEntry>pct</td><td class=CDLDescription>The percentage of the source color intensity in range 0..100.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopy" class=LFunction id=link111 onMouseOver="ShowTip(event, 'tt44', 'link111')" onMouseOut="HideTip('tt44')">gdImageCopy</a></li><li><a href="#gdImageCopyMerge" class=LFunction id=link112 onMouseOver="ShowTip(event, 'tt45', 'link112')" onMouseOut="HideTip('tt45')">gdImageCopyMerge</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyResized"></a>gdImageCopyResized</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy a resized area from an image to another image</p><p>If the source and destination area differ in size, the area will be resized using nearest-neighbor interpolation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>dstW</td><td class=CDLDescription>The width of the area to copy to.</td></tr><tr><td class=CDLEntry>dstH</td><td class=CDLDescription>The height of the area to copy to.</td></tr><tr><td class=CDLEntry>srcW</td><td class=CDLDescription>The width of the area to copy from.</td></tr><tr><td class=CDLEntry>srcH</td><td class=CDLDescription>The height of the area to copy from.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopyResampled" class=LFunction id=link113 onMouseOver="ShowTip(event, 'tt49', 'link113')" onMouseOut="HideTip('tt49')">gdImageCopyResampled</a></li><li><a href="gd_interpolation-c.html#gdImageScale" class=LFunction id=link114 onMouseOver="ShowTip(event, 'tt77', 'link114')" onMouseOut="HideTip('tt77')">gdImageScale</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyRotated"></a>gdImageCopyRotated</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy a rotated area from an image to another image</p><p>The area is counter-clockwise rotated using nearest-neighbor interpolation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the center of the area to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the center of the area to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcW</td><td class=CDLDescription>The width of the area to copy from.</td></tr><tr><td class=CDLEntry>srcH</td><td class=CDLDescription>The height of the area to copy from.</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>The angle in degrees.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_interpolation-c.html#gdImageRotateInterpolated" class=LFunction id=link115 onMouseOver="ShowTip(event, 'tt78', 'link115')" onMouseOut="HideTip('tt78')">gdImageRotateInterpolated</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyResampled"></a>gdImageCopyResampled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Copy a resampled area from an image to another image</p><p>If the source and destination area differ in size, the area will be resized using bilinear interpolation for truecolor images, and nearest-neighbor interpolation for palette images.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The destination image.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy to.</td></tr><tr><td class=CDLEntry>srcX</td><td class=CDLDescription>The x-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>srcY</td><td class=CDLDescription>The y-coordinate of the upper left corner to copy from.</td></tr><tr><td class=CDLEntry>dstW</td><td class=CDLDescription>The width of the area to copy to.</td></tr><tr><td class=CDLEntry>dstH</td><td class=CDLDescription>The height of the area to copy to.</td></tr><tr><td class=CDLEntry>srcW</td><td class=CDLDescription>The width of the area to copy from.</td></tr><tr><td class=CDLEntry>srcH</td><td class=CDLDescription>The height of the area to copy from.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCopyResized" class=LFunction id=link116 onMouseOver="ShowTip(event, 'tt47', 'link116')" onMouseOut="HideTip('tt47')">gdImageCopyResized</a></li><li><a href="gd_interpolation-c.html#gdImageScale" class=LFunction id=link117 onMouseOver="ShowTip(event, 'tt77', 'link117')" onMouseOut="HideTip('tt77')">gdImageScale</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Polygons"></a>Polygons</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePolygon"></a>gdImagePolygon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a closed polygon</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>p</td><td class=CDLDescription>The vertices as array of <a href="gd-h.html#gdPoint" class=LType >gdPoint</a>s.</td></tr><tr><td class=CDLEntry>n</td><td class=CDLDescription>The number of vertices.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageOpenPolygon" class=LFunction id=link118 onMouseOver="ShowTip(event, 'tt51', 'link118')" onMouseOut="HideTip('tt51')">gdImageOpenPolygon</a></li><li><a href="#gdImageFilledPolygon" class=LFunction id=link119 onMouseOver="ShowTip(event, 'tt52', 'link119')" onMouseOut="HideTip('tt52')">gdImageFilledPolygon</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageOpenPolygon"></a>gdImageOpenPolygon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws an open polygon</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>p</td><td class=CDLDescription>The vertices as array of <a href="gd-h.html#gdPoint" class=LType >gdPoint</a>s.</td></tr><tr><td class=CDLEntry>n</td><td class=CDLDescription>The number of vertices.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImagePolygon" class=LFunction id=link120 onMouseOver="ShowTip(event, 'tt50', 'link120')" onMouseOut="HideTip('tt50')">gdImagePolygon</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFilledPolygon"></a>gdImageFilledPolygon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draws a filled polygon</p><p>The polygon is filled using the even-odd fillrule what can leave unfilled regions inside of self-intersecting polygons.&nbsp; This behavior might change in a future version.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>p</td><td class=CDLDescription>The vertices as array of <a href="gd-h.html#gdPoint" class=LType >gdPoint</a>s.</td></tr><tr><td class=CDLEntry>n</td><td class=CDLDescription>The number of vertices.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImagePolygon" class=LFunction id=link121 onMouseOver="ShowTip(event, 'tt50', 'link121')" onMouseOut="HideTip('tt50')">gdImagePolygon</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="other"></a>other</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetStyle"></a>gdImageSetStyle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the style for following drawing operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>style</td><td class=CDLDescription>An array of color values.</td></tr><tr><td class=CDLEntry>noOfPixel</td><td class=CDLDescription>The number of color values.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetThickness"></a>gdImageSetThickness</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetThickness (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>thickness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the thickness for following drawing operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>thickness</td><td class=CDLDescription>The thickness in pixels.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetBrush"></a>gdImageSetBrush</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>brush</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the brush for following drawing operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>brush</td><td class=CDLDescription>The brush image.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetTile"></a>gdImageSetTile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetTile (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>tile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetAntiAliased"></a>gdImageSetAntiAliased</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliased (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the color for subsequent anti-aliased drawing</p><p>If <a href="gd-h.html#gdAntiAliased" class=LConstant id=link122 onMouseOver="ShowTip(event, 'tt79', 'link122')" onMouseOut="HideTip('tt79')">gdAntiAliased</a> is passed as color to drawing operations that support anti-aliased drawing (such as <a href="#gdImageLine" class=LFunction id=link123 onMouseOver="ShowTip(event, 'tt26', 'link123')" onMouseOut="HideTip('tt26')">gdImageLine</a> and <a href="#gdImagePolygon" class=LFunction id=link124 onMouseOver="ShowTip(event, 'tt50', 'link124')" onMouseOut="HideTip('tt50')">gdImagePolygon</a>), the actual color to be used can be set with this function.</p><h4 class=CHeading>Example: draw an anti-aliased blue line</h4><blockquote><pre>gdImageSetAntiAliased(im, gdTrueColorAlpha(0, 0, gdBlueMax, gdAlphaOpaque));
-gdImageLine(im, 10,10, 20,20, gdAntiAliased);</pre></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageSetAntiAliasedDontBlend" class=LFunction id=link125 onMouseOver="ShowTip(event, 'tt58', 'link125')" onMouseOut="HideTip('tt58')">gdImageSetAntiAliasedDontBlend</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetAntiAliasedDontBlend"></a>gdImageSetAntiAliasedDontBlend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliasedDontBlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dont_blend</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the color and &ldquo;dont_blend&rdquo; color for subsequent anti-aliased drawing</p><p>This extended variant of <a href="#gdImageSetAntiAliased" class=LFunction id=link126 onMouseOver="ShowTip(event, 'tt57', 'link126')" onMouseOut="HideTip('tt57')">gdImageSetAntiAliased</a> allows to also specify a (background) color that will not be blended in anti-aliased drawing operations.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr><tr><td class=CDLEntry>dont_blend</td><td class=CDLDescription>Whether to blend.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageInterlace"></a>gdImageInterlace</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageInterlace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets whether an image is interlaced</p><p>This is relevant only when saving the image in a format that supports interlacing.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>interlaceArg</td><td class=CDLDescription>Whether the image is interlaced.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdImageGetInterlaced" class=LMacro id=link127 onMouseOver="ShowTip(event, 'tt80', 'link127')" onMouseOut="HideTip('tt80')">gdImageGetInterlaced</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCompare"></a>gdImageCompare</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageCompare (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Compare two images</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im1</td><td class=CDLDescription>An image.</td></tr><tr><td class=CDLEntry>im2</td><td class=CDLDescription>Another image.</td></tr></table><h4 class=CHeading>Returns</h4><p>A bitmask of <a href="gd-h.html#Image_Comparison" class=LGroup >Image Comparison</a> flags where each set flag signals which attributes of the images are different.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAlphaBlend"></a>gdAlphaBlend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Blend two colors</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The color to blend onto.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The color to blend.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageAlphaBlending" class=LFunction id=link128 onMouseOver="ShowTip(event, 'tt64', 'link128')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></li><li><a href="#gdLayerOverlay" class=LFunction id=link129 onMouseOver="ShowTip(event, 'tt62', 'link129')" onMouseOut="HideTip('tt62')">gdLayerOverlay</a></li><li><a href="#gdLayerMultiply" class=LFunction id=link130 onMouseOver="ShowTip(event, 'tt63', 'link130')" onMouseOut="HideTip('tt63')">gdLayerMultiply</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdLayerOverlay"></a>gdLayerOverlay</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Overlay two colors</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The color to overlay onto.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The color to overlay.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageAlphaBlending" class=LFunction id=link131 onMouseOver="ShowTip(event, 'tt64', 'link131')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></li><li><a href="#gdAlphaBlend" class=LFunction id=link132 onMouseOver="ShowTip(event, 'tt61', 'link132')" onMouseOut="HideTip('tt61')">gdAlphaBlend</a></li><li><a href="#gdLayerMultiply" class=LFunction id=link133 onMouseOver="ShowTip(event, 'tt63', 'link133')" onMouseOut="HideTip('tt63')">gdLayerMultiply</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdLayerMultiply"></a>gdLayerMultiply</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Overlay two colors with multiply effect</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>The color to overlay onto.</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>The color to overlay.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageAlphaBlending" class=LFunction id=link134 onMouseOver="ShowTip(event, 'tt64', 'link134')" onMouseOut="HideTip('tt64')">gdImageAlphaBlending</a></li><li><a href="#gdAlphaBlend" class=LFunction id=link135 onMouseOver="ShowTip(event, 'tt61', 'link135')" onMouseOut="HideTip('tt61')">gdAlphaBlend</a></li><li><a href="#gdLayerOverlay" class=LFunction id=link136 onMouseOver="ShowTip(event, 'tt62', 'link136')" onMouseOut="HideTip('tt62')">gdLayerOverlay</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageAlphaBlending"></a>gdImageAlphaBlending</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the effect for subsequent drawing operations</p><p>Note that the effect is used for truecolor images only.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>alphaBlendingArg</td><td class=CDLDescription>The effect.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#Effects" class=LGroup id=link137 onMouseOver="ShowTip(event, 'tt81', 'link137')" onMouseOut="HideTip('tt81')">Effects</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSaveAlpha"></a>gdImageSaveAlpha</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSaveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>saveAlphaArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the save alpha flag</p><p>The save alpha flag specifies whether the alpha channel of the pixels should be saved.&nbsp; This is supported only for image formats that support full alpha transparency, e.g.&nbsp; PNG.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetClip"></a>gdImageSetClip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the clipping rectangle</p><p>The clipping rectangle restricts the drawing area for following drawing operations.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x1</td><td class=CDLDescription>The x-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>y1</td><td class=CDLDescription>The y-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>x2</td><td class=CDLDescription>The x-coordinate of the lower right corner.</td></tr><tr><td class=CDLEntry>y2</td><td class=CDLDescription>The y-coordinate of the lower right corner.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageGetClip" class=LFunction id=link138 onMouseOver="ShowTip(event, 'tt67', 'link138')" onMouseOut="HideTip('tt67')">gdImageGetClip</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetClip"></a>gdImageGetClip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x2P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y2P</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the current clipping rectangle</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x1P</td><td class=CDLDescription>(out) The x-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>y1P</td><td class=CDLDescription>(out) The y-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>x2P</td><td class=CDLDescription>(out) The x-coordinate of the lower right corner.</td></tr><tr><td class=CDLEntry>y2P</td><td class=CDLDescription>(out) The y-coordinate of the lower right corner.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageSetClip" class=LFunction id=link139 onMouseOver="ShowTip(event, 'tt66', 'link139')" onMouseOut="HideTip('tt66')">gdImageSetClip</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetResolution"></a>gdImageSetResolution</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the resolution of an image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>res_x</td><td class=CDLDescription>The horizontal resolution in DPI.</td></tr><tr><td class=CDLEntry>res_y</td><td class=CDLDescription>The vertical resolution in DPI.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdImageResolutionX" class=LMacro id=link140 onMouseOver="ShowTip(event, 'tt82', 'link140')" onMouseOut="HideTip('tt82')">gdImageResolutionX</a></li><li><a href="gd-h.html#gdImageResolutionY" class=LMacro id=link141 onMouseOver="ShowTip(event, 'tt83', 'link141')" onMouseOut="HideTip('tt83')">gdImageResolutionY</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePaletteToTrueColor"></a>gdImagePaletteToTrueColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePaletteToTrueColor(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Convert a palette image to true color</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero if the conversion succeeded, zero otherwise.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd_topal-c.html#gdImageTrueColorToPalette" class=LFunction id=link142 onMouseOver="ShowTip(event, 'tt84', 'link142')" onMouseOut="HideTip('tt84')">gdImageTrueColorToPalette</a></li></ul></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd.c</div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdSetErrorMethod(</td><td class="PType prettyprint " nowrap>gdErrorMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>error_method</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdClearErrorMethod(</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreate is called to create palette-based images, with no more than 256 colors. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosest (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestHWB (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExact (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocateAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolve (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageColorResolve is an alternative for the code fragment</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorDeallocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Removes a palette entry</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the transparent color of the image</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>from</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceThreshold (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceArray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>len,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceCallback (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdCallbackImageColor&nbsp;</td><td class="PParameter prettyprint " nowrap>callback</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color as stored in the image.</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color always as truecolor value.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAABlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>NO-OP, kept for library compatibility.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Bresenham as presented in Foley &amp; Van Dam.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDashedLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBoundsSafe (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCharUp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>style</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageEllipse(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledEllipse (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFillToBorder (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>border,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFill(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>nc</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a rectangle.</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageClone (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Clones an image</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMerge (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMergeGray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resized area from an image to another image</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a rotated area from an image to another image</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resampled area from an image to another image</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a closed polygon</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws an open polygon</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a filled polygon</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the style for following drawing operations</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetThickness (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>thickness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the thickness for following drawing operations</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>brush</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the brush for following drawing operations</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetTile (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>tile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliased (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliasedDontBlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dont_blend</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color and &ldquo;dont_blend&rdquo; color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageInterlace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageCompare (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Compare two images</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Blend two colors</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors with multiply effect</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the effect for subsequent drawing operations</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSaveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>saveAlphaArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the save alpha flag</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the clipping rectangle</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x2P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y2P</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current clipping rectangle</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the resolution of an image.</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePaletteToTrueColor(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert a palette image to true color</div></div><div class=CToolTip id="tt70"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt71"><div class=CMacro>Compose a truecolor value from its components</div></div><div class=CToolTip id="tt72"><div class=CMacro>Gets the transparent color of the image.</div></div><div class=CToolTip id="tt73"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt74"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt75"><div class=CType>A font structure, containing the bitmaps of all characters in a font. </div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringTTF (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Alias of gdImageStringFT.</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_height</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Scale an image</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>bgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Rotate an image</div></div><div class=CToolTip id="tt79"><div class=CConstant>draw anti aliased</div></div><div class=CToolTip id="tt80"><div class=CMacro>Whether an image is interlaced.</div></div><div class=CToolTip id="tt81"><div class=CGroup>The layering effect</div></div><div class=CToolTip id="tt82"><div class=CMacro>Gets the horizontal resolution in DPI.</div></div><div class=CToolTip id="tt83"><div class=CMacro>Gets the vertical resolution in DPI.</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPalette (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Converts a truecolor image to a palette image</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html
deleted file mode 100644
index 9e2e416a92e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd-h.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd.h</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd.h"></a>gd.h</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd.h" >gd.h</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Color_Decomposition" >Color Decomposition</a></td><td class=SDescription></td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdTrueColorGetAlpha" >gdTrueColorGetAlpha</a></td><td class=SDescription>Gets the alpha channel value</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdTrueColorGetRed" >gdTrueColorGetRed</a></td><td class=SDescription>Gets the red channel value</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdTrueColorGetGreen" >gdTrueColorGetGreen</a></td><td class=SDescription>Gets the green channel value</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdTrueColorGetBlue" >gdTrueColorGetBlue</a></td><td class=SDescription>Gets the blue channel value</td></tr><tr class="SGroup"><td class=SEntry><a href="#Effects" >Effects</a></td><td class=SDescription>The layering effect</td></tr><tr class="SGroup"><td class=SEntry><a href="#Color_Quantization" >Color Quantization</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent1 SMarked"><td class=SEntry><a href="#gdPaletteQuantizationMethod" >gdPaletteQuantizationMethod</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Transform" >Transform</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#gdInterpolationMethod" >gdInterpolationMethod</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdImage" >gdImage</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdImagePtr" >gdImagePtr</a></td><td class=SDescription>The data structure in which gd stores images. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdPointF" >gdPointF</a></td><td class=SDescription>Defines a point in a 2D coordinate system using floating point values. </td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdPointFPtr" >gdPointFPtr</a></td><td class=SDescription>Pointer to a <a href="#gdPointF" class=LType id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdPointF</a></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdFont" >gdFont</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdFontPtr" >gdFontPtr</a></td><td class=SDescription>A font structure, containing the bitmaps of all characters in a font. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Colors" >Colors</a></td><td class=SDescription>Colors are always of type int which is supposed to be at least 32 bit large.</td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#Special_Colors" >Special Colors</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdSource" >gdSource</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdSourcePtr" >gdSourcePtr</a></td><td class=SDescription><b>Note:</b> This interface is <b>obsolete</b> and kept only for *compatibility. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdFTStringExtra" >gdFTStringExtra</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdFTStringExtraPtr" >gdFTStringExtraPtr</a></td><td class=SDescription>A structure and associated pointer type used to pass additional parameters to the <a href="gdft-c.html#gdImageStringFTEx" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageStringFTEx</a> function. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdPoint" >gdPoint</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdPointPtr" >gdPointPtr</a></td><td class=SDescription>Represents a point in the coordinate space of the image; used by <a href="gd-c.html#gdImagePolygon" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImagePolygon</a>, <a href="gd-c.html#gdImageOpenPolygon" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageOpenPolygon</a> and <a href="gd-c.html#gdImageFilledPolygon" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdImageFilledPolygon</a> for polygon drawing.</td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdRect" >gdRect</a></td><td class=SDescription>A rectangle in the coordinate space of the image</td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdRectPtr" >gdRectPtr</a></td><td class=SDescription>A pointer to a <a href="#gdRect" class=LType id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gdRect</a></td></tr><tr class="SGroup"><td class=SEntry><a href="#Color_Composition" >Color Composition</a></td><td class=SDescription></td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdTrueColorAlpha" >gdTrueColorAlpha</a></td><td class=SDescription>Compose a truecolor value from its components</td></tr><tr class="SGroup"><td class=SEntry><a href="#GifAnim" >GifAnim</a></td><td class=SDescription>Legal values for Disposal. </td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnim" >gdImageGifAnim</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdSink" >gdSink</a></td><td class=SDescription></td></tr><tr class="SType SIndent1"><td class=SEntry><a href="#gdSinkPtr" >gdSinkPtr</a></td><td class=SDescription><b>Note:</b> This interface is <b>obsolete</b> and kept only for <b>compatibility</b>. </td></tr><tr class="SGroup"><td class=SEntry><a href="#Accessor_Macros" >Accessor Macros</a></td><td class=SDescription></td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageTrueColor" >gdImageTrueColor</a></td><td class=SDescription>Whether an image is a truecolor image.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageSX" >gdImageSX</a></td><td class=SDescription>Gets the width (in pixels) of an image.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageSY" >gdImageSY</a></td><td class=SDescription>Gets the height (in pixels) of an image.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageColorsTotal" >gdImageColorsTotal</a></td><td class=SDescription>Gets the number of colors in the palette.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageRed" >gdImageRed</a></td><td class=SDescription>Gets the red component value of a given color.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageGreen" >gdImageGreen</a></td><td class=SDescription>Gets the green component value of a given color.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageBlue" >gdImageBlue</a></td><td class=SDescription>Gets the blue component value of a given color.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageAlpha" >gdImageAlpha</a></td><td class=SDescription>Gets the alpha component value of a given color.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageGetTransparent" >gdImageGetTransparent</a></td><td class=SDescription>Gets the transparent color of the image.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageGetInterlaced" >gdImageGetInterlaced</a></td><td class=SDescription>Whether an image is interlaced.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImagePalettePixel" >gdImagePalettePixel</a></td><td class=SDescription>Gets the color of a pixel.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageTrueColorPixel" >gdImageTrueColorPixel</a></td><td class=SDescription>Gets the color of a pixel.</td></tr><tr class="SMacro SIndent1 SMarked"><td class=SEntry><a href="#gdImageResolutionX" >gdImageResolutionX</a></td><td class=SDescription>Gets the horizontal resolution in DPI.</td></tr><tr class="SMacro SIndent1"><td class=SEntry><a href="#gdImageResolutionY" >gdImageResolutionY</a></td><td class=SDescription>Gets the vertical resolution in DPI.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Crop" >Crop</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#gdCropMode" >gdCropMode</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Image_Comparison" >Image Comparison</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color_Decomposition"></a>Color Decomposition</h3></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetAlpha"></a>gdTrueColorGetAlpha</h3><div class=CBody><p>Gets the alpha channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetRed"></a>gdTrueColorGetRed</h3><div class=CBody><p>Gets the red channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetGreen"></a>gdTrueColorGetGreen</h3><div class=CBody><p>Gets the green channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorGetBlue"></a>gdTrueColorGetBlue</h3><div class=CBody><p>Gets the blue channel value</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorAlpha" class=LMacro id=link10 onMouseOver="ShowTip(event, 'tt7', 'link10')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Effects"></a>Effects</h3><div class=CBody><p>The layering effect</p><p>When pixels are drawn the new colors are &ldquo;mixed&rdquo; with the background depending on the effect.</p><p>Note that the effect does not apply to palette images, where pixels are always replaced.</p><h4 class=CHeading>Modes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>gdEffectReplace</td><td class=CDLDescription>replace pixels</td></tr><tr><td class=CDLEntry>gdEffectAlphaBlend</td><td class=CDLDescription>blend pixels, see <a href="gd-c.html#gdAlphaBlend" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt8', 'link11')" onMouseOut="HideTip('tt8')">gdAlphaBlend</a></td></tr><tr><td class=CDLEntry>gdEffectNormal</td><td class=CDLDescription>default mode; same as gdEffectAlphaBlend</td></tr><tr><td class=CDLEntry>gdEffectOverlay</td><td class=CDLDescription>overlay pixels, see <a href="gd-c.html#gdLayerOverlay" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt9', 'link12')" onMouseOut="HideTip('tt9')">gdLayerOverlay</a></td></tr><tr><td class=CDLEntry>gdEffectMultiply</td><td class=CDLDescription>overlay pixels with multiply effect, see <a href="gd-c.html#gdLayerMultiply" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt10', 'link13')" onMouseOut="HideTip('tt10')">gdLayerMultiply</a></td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageAlphaBlending" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt11', 'link14')" onMouseOut="HideTip('tt11')">gdImageAlphaBlending</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color_Quantization"></a>Color Quantization</h3></div></div>
-
-<div class="CEnumeration"><div class=CTopic><h3 class=CTitle><a name="gdPaletteQuantizationMethod"></a>gdPaletteQuantizationMethod</h3><div class=CBody><h4 class=CHeading>Constants</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GD_QUANT_DEFAULT"></a>GD_QUANT_DEFAULT</td><td class=CDLDescription>GD_QUANT_LIQ if libimagequant is available, GD_QUANT_JQUANT otherwise.</td></tr><tr><td class=CDLEntry><a name="GD_QUANT_JQUANT"></a>GD_QUANT_JQUANT</td><td class=CDLDescription>libjpeg&rsquo;s old median cut.&nbsp; Fast, but only uses 16-bit color.</td></tr><tr><td class=CDLEntry><a name="GD_QUANT_NEUQUANT"></a>GD_QUANT_NEUQUANT</td><td class=CDLDescription>NeuQuant - approximation using Kohonen neural network.</td></tr><tr><td class=CDLEntry><a name="GD_QUANT_LIQ"></a>GD_QUANT_LIQ</td><td class=CDLDescription>A combination of algorithms used in libimagequant aiming for the highest quality at cost of speed.</td></tr></table><p>Note that GD_QUANT_JQUANT does not retain the alpha channel, and GD_QUANT_NEUQUANT does not support dithering.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd_topal-c.html#gdImageTrueColorToPaletteSetMethod" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt12', 'link15')" onMouseOut="HideTip('tt12')">gdImageTrueColorToPaletteSetMethod</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Transform"></a>Transform</h3></div></div>
-
-<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="gdInterpolationMethod"></a>gdInterpolationMethod</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GD_BELL"></a>GD_BELL</td><td class=CDLDescription>Bell</td></tr><tr><td class=CDLEntry><a name="GD_BESSEL"></a>GD_BESSEL</td><td class=CDLDescription>Bessel</td></tr><tr><td class=CDLEntry><a name="GD_BILINEAR_FIXED"></a>GD_BILINEAR_FIXED</td><td class=CDLDescription>fixed point bilinear</td></tr><tr><td class=CDLEntry><a name="GD_BICUBIC"></a>GD_BICUBIC</td><td class=CDLDescription>Bicubic</td></tr><tr><td class=CDLEntry><a name="GD_BICUBIC_FIXED"></a>GD_BICUBIC_FIXED</td><td class=CDLDescription>fixed point bicubic integer</td></tr><tr><td class=CDLEntry><a name="GD_BLACKMAN"></a>GD_BLACKMAN</td><td class=CDLDescription>Blackman</td></tr><tr><td class=CDLEntry><a name="GD_BOX"></a>GD_BOX</td><td class=CDLDescription>Box</td></tr><tr><td class=CDLEntry><a name="GD_BSPLINE"></a>GD_BSPLINE</td><td class=CDLDescription>BSpline</td></tr><tr><td class=CDLEntry><a name="GD_CATMULLROM"></a>GD_CATMULLROM</td><td class=CDLDescription>Catmullrom</td></tr><tr><td class=CDLEntry><a name="GD_GAUSSIAN"></a>GD_GAUSSIAN</td><td class=CDLDescription>Gaussian</td></tr><tr><td class=CDLEntry><a name="GD_GENERALIZED_CUBIC"></a>GD_GENERALIZED_CUBIC</td><td class=CDLDescription>Generalized cubic</td></tr><tr><td class=CDLEntry><a name="GD_HERMITE"></a>GD_HERMITE</td><td class=CDLDescription>Hermite</td></tr><tr><td class=CDLEntry><a name="GD_HAMMING"></a>GD_HAMMING</td><td class=CDLDescription>Hamming</td></tr><tr><td class=CDLEntry><a name="GD_HANNING"></a>GD_HANNING</td><td class=CDLDescription>Hannig</td></tr><tr><td class=CDLEntry><a name="GD_MITCHELL"></a>GD_MITCHELL</td><td class=CDLDescription>Mitchell</td></tr><tr><td class=CDLEntry><a name="GD_NEAREST_NEIGHBOUR"></a>GD_NEAREST_NEIGHBOUR</td><td class=CDLDescription>Nearest neighbour interpolation</td></tr><tr><td class=CDLEntry><a name="GD_POWER"></a>GD_POWER</td><td class=CDLDescription>Power</td></tr><tr><td class=CDLEntry><a name="GD_QUADRATIC"></a>GD_QUADRATIC</td><td class=CDLDescription>Quadratic</td></tr><tr><td class=CDLEntry><a name="GD_SINC"></a>GD_SINC</td><td class=CDLDescription>Sinc</td></tr><tr><td class=CDLEntry><a name="GD_TRIANGLE"></a>GD_TRIANGLE</td><td class=CDLDescription>Triangle</td></tr><tr><td class=CDLEntry><a name="GD_WEIGHTED4"></a>GD_WEIGHTED4</td><td class=CDLDescription>4 pixels weighted bilinear interpolation</td></tr><tr><td class=CDLEntry><a name="GD_LINEAR"></a>GD_LINEAR</td><td class=CDLDescription>bilinear interpolation</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_interpolation-c.html#gdImageSetInterpolationMethod" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt13', 'link16')" onMouseOut="HideTip('tt13')">gdImageSetInterpolationMethod</a></li><li><a href="gd_interpolation-c.html#gdImageGetInterpolationMethod" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt14', 'link17')" onMouseOut="HideTip('tt14')">gdImageGetInterpolationMethod</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdImage"></a>gdImage</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdImagePtr"></a>gdImagePtr</h3><div class=CBody><p>The data structure in which gd stores images.&nbsp; <a href="gd-c.html#gdImageCreate" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt15', 'link18')" onMouseOut="HideTip('tt15')">gdImageCreate</a>, <a href="gd-c.html#gdImageCreateTrueColor" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt16', 'link19')" onMouseOut="HideTip('tt16')">gdImageCreateTrueColor</a> and the various image file-loading functions return a pointer to this type, and the other functions expect to receive a pointer to this type as their first argument.</p><p><b>gdImagePtr</b> is a pointer to <b>gdImage</b>.</p><h4 class=CHeading>See also</h4><p><a href="#Accessor_Macros" class=LGroup >Accessor Macros</a></p><p>(Previous versions of this library encouraged directly manipulating the contents ofthe struct but we are attempting to move away from this practice so the fields are no longer documented here.&nbsp; If you need to poke at the internals of this struct, feel free to look at <b>gd.h</b>.)</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPointF"></a>gdPointF</h3><div class=CBody><p>Defines a point in a 2D coordinate system using floating point values. x - Floating point position (increase from left to right) y - Floating point Row position (increase from top to bottom)</p></div></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPointFPtr"></a>gdPointFPtr</h3><div class=CBody><p>Pointer to a <a href="#gdPointF" class=LType id=link20 onMouseOver="ShowTip(event, 'tt1', 'link20')" onMouseOut="HideTip('tt1')">gdPointF</a></p><h4 class=CHeading>See also</h4><p><a href="gd-c.html#gdImageCreate" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt15', 'link21')" onMouseOut="HideTip('tt15')">gdImageCreate</a>, <a href="gd-c.html#gdImageCreateTrueColor" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt16', 'link22')" onMouseOut="HideTip('tt16')">gdImageCreateTrueColor</a>,</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFont"></a>gdFont</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFontPtr"></a>gdFontPtr</h3><div class=CBody><p>A font structure, containing the bitmaps of all characters in a font.&nbsp; Used to declare the characteristics of a font.&nbsp; Text-output functions expect these as their second argument, following the <a href="#gdImagePtr" class=LType id=link23 onMouseOver="ShowTip(event, 'tt17', 'link23')" onMouseOut="HideTip('tt17')">gdImagePtr</a> argument.&nbsp; <a href="gdfonts-c.html#gdFontGetSmall" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt18', 'link24')" onMouseOut="HideTip('tt18')">gdFontGetSmall</a> and <a href="gdfontl-c.html#gdFontGetLarge" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt19', 'link25')" onMouseOut="HideTip('tt19')">gdFontGetLarge</a> both return one.</p><p>You can provide your own font data by providing such a structure and the associated pixel array.&nbsp; You can determine the width and height of a single character in a font by examining the w and h members of the structure.&nbsp; If you will not be creating your own fonts, you will not need to concern yourself with the rest of the components of this structure.</p><p>Please see the files gdfontl.c and gdfontl.h for an example of the proper declaration of this structure.</p><blockquote><pre>typedef struct {
- // # of characters in font
- int nchars;
- // First character is numbered... (usually 32 = space)
- int offset;
- // Character width and height
- int w;
- int h;
- // Font data; array of characters, one row after another.
- // Easily included in code, also easily loaded from
- // data files.
- char *data;
-} gdFont;</pre></blockquote><p>gdFontPtr is a pointer to gdFont.</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Colors"></a>Colors</h3><div class=CBody><p>Colors are always of type int which is supposed to be at least 32 bit large.</p><h4 class=CHeading>Kinds of colors</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>true colors</td><td class=CDLDescription>ARGB values where the alpha channel is stored as most significant, and the blue channel as least significant byte.&nbsp; Note that the alpha channel only uses the 7 least significant bits.&nbsp; Don&rsquo;t rely on the internal representation, though, and use <a href="#gdTrueColorAlpha" class=LMacro id=link26 onMouseOver="ShowTip(event, 'tt7', 'link26')" onMouseOut="HideTip('tt7')">gdTrueColorAlpha</a> to compose a truecolor value, and <a href="#gdTrueColorGetAlpha" class=LMacro id=link27 onMouseOver="ShowTip(event, 'tt20', 'link27')" onMouseOut="HideTip('tt20')">gdTrueColorGetAlpha</a>, <a href="#gdTrueColorGetRed" class=LMacro id=link28 onMouseOver="ShowTip(event, 'tt21', 'link28')" onMouseOut="HideTip('tt21')">gdTrueColorGetRed</a>, <a href="#gdTrueColorGetGreen" class=LMacro id=link29 onMouseOver="ShowTip(event, 'tt22', 'link29')" onMouseOut="HideTip('tt22')">gdTrueColorGetGreen</a> and <a href="#gdTrueColorGetBlue" class=LMacro id=link30 onMouseOver="ShowTip(event, 'tt23', 'link30')" onMouseOut="HideTip('tt23')">gdTrueColorGetBlue</a> to access the respective channels.</td></tr><tr><td class=CDLEntry>palette indexes</td><td class=CDLDescription>The index of a color palette entry (0-255).</td></tr><tr><td class=CDLEntry>special colors</td><td class=CDLDescription>As listed in the following section.</td></tr></table></div></div></div>
-
-<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="Special_Colors"></a>Special Colors</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="gdStyled"></a>gdStyled</td><td class=CDLDescription>use the current style, see <a href="gd-c.html#gdImageSetStyle" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt24', 'link31')" onMouseOut="HideTip('tt24')">gdImageSetStyle</a></td></tr><tr><td class=CDLEntry><a name="gdBrushed"></a>gdBrushed</td><td class=CDLDescription>use the current brush, see <a href="gd-c.html#gdImageSetBrush" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt25', 'link32')" onMouseOut="HideTip('tt25')">gdImageSetBrush</a></td></tr><tr><td class=CDLEntry><a name="gdStyledBrushed"></a>gdStyledBrushed</td><td class=CDLDescription>use the current style and brush</td></tr><tr><td class=CDLEntry><a name="gdTiled"></a>gdTiled</td><td class=CDLDescription>use the current tile, see <a href="gd-c.html#gdImageSetTile" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt26', 'link33')" onMouseOut="HideTip('tt26')">gdImageSetTile</a></td></tr><tr><td class=CDLEntry><a name="gdTransparent"></a>gdTransparent</td><td class=CDLDescription>indicate transparency, what is not the same as the transparent color index; used for lines only</td></tr><tr><td class=CDLEntry><a name="gdAntiAliased"></a>gdAntiAliased</td><td class=CDLDescription>draw anti aliased</td></tr></table></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSource"></a>gdSource</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSourcePtr"></a>gdSourcePtr</h3><div class=CBody><p><b>Note:</b> This interface is <b>obsolete</b> and kept only for *compatibility.&nbsp; Use <a href="gd_io-h.html#gdIOCtx" class=LType id=link34 onMouseOver="ShowTip(event, 'tt27', 'link34')" onMouseOut="HideTip('tt27')">gdIOCtx</a> instead.</p><p>Represents a source from which a PNG can be read.&nbsp; Programmers who do not wish to read PNGs from a file can provide their own alternate input mechanism, using the <a href="gd_ss-c.html#gdImageCreateFromPngSource" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt28', 'link35')" onMouseOut="HideTip('tt28')">gdImageCreateFromPngSource</a> function.&nbsp; See the documentation of that function for an example of the proper use of this type.</p><blockquote><pre>typedef struct {
- int (*source) (void *context, char *buffer, int len);
- void *context;
-} gdSource, *gdSourcePtr;</pre></blockquote><p>The source function must return -1 on error, otherwise the number of bytes fetched.&nbsp; 0 is EOF, not an error!</p><p>&rsquo;context&rsquo; will be passed to your source function.</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFTStringExtra"></a>gdFTStringExtra</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdFTStringExtraPtr"></a>gdFTStringExtraPtr</h3><div class=CBody><p>A structure and associated pointer type used to pass additional parameters to the <a href="gdft-c.html#gdImageStringFTEx" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt2', 'link36')" onMouseOut="HideTip('tt2')">gdImageStringFTEx</a> function.&nbsp; See <a href="gdft-c.html#gdImageStringFTEx" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt2', 'link37')" onMouseOut="HideTip('tt2')">gdImageStringFTEx</a> for the structure definition.</p><p>Thanks to Wez Furlong.</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPoint"></a>gdPoint</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdPointPtr"></a>gdPointPtr</h3><div class=CBody><p>Represents a point in the coordinate space of the image; used by <a href="gd-c.html#gdImagePolygon" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt3', 'link38')" onMouseOut="HideTip('tt3')">gdImagePolygon</a>, <a href="gd-c.html#gdImageOpenPolygon" class=LFunction id=link39 onMouseOver="ShowTip(event, 'tt4', 'link39')" onMouseOut="HideTip('tt4')">gdImageOpenPolygon</a> and <a href="gd-c.html#gdImageFilledPolygon" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt5', 'link40')" onMouseOut="HideTip('tt5')">gdImageFilledPolygon</a> for polygon drawing.</p><blockquote><pre>typedef struct {
- int x, y;
-} gdPoint, *gdPointPtr;</pre></blockquote></div></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdRect"></a>gdRect</h3><div class=CBody><p>A rectangle in the coordinate space of the image</p><h4 class=CHeading>Members</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate of the upper left corner.</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>The width.</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>The height.</td></tr></table></div></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdRectPtr"></a>gdRectPtr</h3><div class=CBody><p>A pointer to a <a href="#gdRect" class=LType id=link41 onMouseOver="ShowTip(event, 'tt6', 'link41')" onMouseOut="HideTip('tt6')">gdRect</a></p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Color_Composition"></a>Color Composition</h3></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdTrueColorAlpha"></a>gdTrueColorAlpha</h3><div class=CBody><p>Compose a truecolor value from its components</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>r</td><td class=CDLDescription>The red channel (0-255)</td></tr><tr><td class=CDLEntry>g</td><td class=CDLDescription>The green channel (0-255)</td></tr><tr><td class=CDLEntry>b</td><td class=CDLDescription>The blue channel (0-255)</td></tr><tr><td class=CDLEntry>a</td><td class=CDLDescription>The alpha channel (0-127, where 127 is fully transparent, and 0 is completely opaque).</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdTrueColorGetAlpha" class=LMacro id=link42 onMouseOver="ShowTip(event, 'tt20', 'link42')" onMouseOut="HideTip('tt20')">gdTrueColorGetAlpha</a></li><li><a href="#gdTrueColorGetRed" class=LMacro id=link43 onMouseOver="ShowTip(event, 'tt21', 'link43')" onMouseOut="HideTip('tt21')">gdTrueColorGetRed</a></li><li><a href="#gdTrueColorGetGreen" class=LMacro id=link44 onMouseOver="ShowTip(event, 'tt22', 'link44')" onMouseOut="HideTip('tt22')">gdTrueColorGetGreen</a></li><li><a href="#gdTrueColorGetBlue" class=LMacro id=link45 onMouseOver="ShowTip(event, 'tt23', 'link45')" onMouseOut="HideTip('tt23')">gdTrueColorGetBlue</a></li><li><a href="gd-c.html#gdImageColorExactAlpha" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt29', 'link46')" onMouseOut="HideTip('tt29')">gdImageColorExactAlpha</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="GifAnim"></a>GifAnim</h3><div class=CBody><p>Legal values for Disposal. gdDisposalNone is always used by the built-in optimizer if previm is passed.</p></div></div></div>
-
-<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnim"></a>gdImageGifAnim</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="gdDisposalUnknown"></a>gdDisposalUnknown</td><td class=CDLDescription>Not recommended</td></tr><tr><td class=CDLEntry><a name="gdDisposalNone"></a>gdDisposalNone</td><td class=CDLDescription>Preserve previous frame</td></tr><tr><td class=CDLEntry><a name="gdDisposalRestoreBackground"></a>gdDisposalRestoreBackground</td><td class=CDLDescription>First allocated color of palette</td></tr><tr><td class=CDLEntry><a name="gdDisposalRestorePrevious"></a>gdDisposalRestorePrevious</td><td class=CDLDescription>Restore to before start of frame</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_gif_out-c.html#gdImageGifAnimAdd" class=LFunction id=link47 onMouseOver="ShowTip(event, 'tt30', 'link47')" onMouseOut="HideTip('tt30')">gdImageGifAnimAdd</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSink"></a>gdSink</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdSinkPtr"></a>gdSinkPtr</h3><div class=CBody><p><b>Note:</b> This interface is <b>obsolete</b> and kept only for <b>compatibility</b>.&nbsp; Use <a href="gd_io-h.html#gdIOCtx" class=LType id=link48 onMouseOver="ShowTip(event, 'tt27', 'link48')" onMouseOut="HideTip('tt27')">gdIOCtx</a> instead.</p><p>Represents a &ldquo;sink&rdquo; (destination) to which a PNG can be written.&nbsp; Programmers who do not wish to write PNGs to a file can provide their own alternate output mechanism, using the <a href="gd_ss-c.html#gdImagePngToSink" class=LFunction id=link49 onMouseOver="ShowTip(event, 'tt31', 'link49')" onMouseOut="HideTip('tt31')">gdImagePngToSink</a> function.&nbsp; See the documentation of that function for an example of the proper use of this type.</p><blockquote><pre>typedef struct {
- int (*sink) (void *context, char *buffer, int len);
- void *context;
-} gdSink, *gdSinkPtr;</pre></blockquote><p>The <u>sink</u> function must return -1 on error, otherwise the number of bytes written, which must be equal to len.</p><p><u>context</u> will be passed to your sink function.</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Accessor_Macros"></a>Accessor Macros</h3></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageTrueColor"></a>gdImageTrueColor</h3><div class=CBody><p>Whether an image is a truecolor image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero if the image is a truecolor image, zero for palette images.</p></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageSX"></a>gdImageSX</h3><div class=CBody><p>Gets the width (in pixels) of an image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageSY"></a>gdImageSY</h3><div class=CBody><p>Gets the height (in pixels) of an image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageColorsTotal"></a>gdImageColorsTotal</h3><div class=CBody><p>Gets the number of colors in the palette.</p><p>This macro is only valid for palette images.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image</td></tr></table></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageRed"></a>gdImageRed</h3><div class=CBody><p>Gets the red component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageGreen"></a>gdImageGreen</h3><div class=CBody><p>Gets the green component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageBlue"></a>gdImageBlue</h3><div class=CBody><p>Gets the blue component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageAlpha"></a>gdImageAlpha</h3><div class=CBody><p>Gets the alpha component value of a given color.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>c</td><td class=CDLDescription>The color.</td></tr></table></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageGetTransparent"></a>gdImageGetTransparent</h3><div class=CBody><p>Gets the transparent color of the image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageColorTransparent" class=LFunction id=link50 onMouseOver="ShowTip(event, 'tt32', 'link50')" onMouseOut="HideTip('tt32')">gdImageColorTransparent</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageGetInterlaced"></a>gdImageGetInterlaced</h3><div class=CBody><p>Whether an image is interlaced.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero for interlaced images, zero otherwise.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageInterlace" class=LFunction id=link51 onMouseOver="ShowTip(event, 'tt33', 'link51')" onMouseOut="HideTip('tt33')">gdImageInterlace</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImagePalettePixel"></a>gdImagePalettePixel</h3><div class=CBody><p>Gets the color of a pixel.</p><p>Calling this macro is only valid for palette images.&nbsp; No bounds checking is done for the coordinates.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageTrueColorPixel" class=LMacro id=link52 onMouseOver="ShowTip(event, 'tt34', 'link52')" onMouseOut="HideTip('tt34')">gdImageTrueColorPixel</a></li><li><a href="gd-c.html#gdImageGetPixel" class=LFunction id=link53 onMouseOver="ShowTip(event, 'tt35', 'link53')" onMouseOut="HideTip('tt35')">gdImageGetPixel</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageTrueColorPixel"></a>gdImageTrueColorPixel</h3><div class=CBody><p>Gets the color of a pixel.</p><p>Calling this macro is only valid for truecolor images.&nbsp; No bounds checking is done for the coordinates.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImagePalettePixel" class=LMacro id=link54 onMouseOver="ShowTip(event, 'tt36', 'link54')" onMouseOut="HideTip('tt36')">gdImagePalettePixel</a></li><li><a href="gd-c.html#gdImageGetTrueColorPixel" class=LFunction id=link55 onMouseOver="ShowTip(event, 'tt37', 'link55')" onMouseOut="HideTip('tt37')">gdImageGetTrueColorPixel</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageResolutionX"></a>gdImageResolutionX</h3><div class=CBody><p>Gets the horizontal resolution in DPI.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageResolutionY" class=LMacro id=link56 onMouseOver="ShowTip(event, 'tt38', 'link56')" onMouseOut="HideTip('tt38')">gdImageResolutionY</a></li><li><a href="gd-c.html#gdImageSetResolution" class=LFunction id=link57 onMouseOver="ShowTip(event, 'tt39', 'link57')" onMouseOut="HideTip('tt39')">gdImageSetResolution</a></li></ul></div></div></div>
-
-<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="gdImageResolutionY"></a>gdImageResolutionY</h3><div class=CBody><p>Gets the vertical resolution in DPI.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageResolutionX" class=LMacro id=link58 onMouseOver="ShowTip(event, 'tt40', 'link58')" onMouseOut="HideTip('tt40')">gdImageResolutionX</a></li><li><a href="gd-c.html#gdImageSetResolution" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt39', 'link59')" onMouseOut="HideTip('tt39')">gdImageSetResolution</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Crop"></a>Crop</h3></div></div>
-
-<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="gdCropMode"></a>gdCropMode</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="GD_CROP_DEFAULT"></a>GD_CROP_DEFAULT</td><td class=CDLDescription>Default crop mode (4 corners or background)</td></tr><tr><td class=CDLEntry><a name="GD_CROP_TRANSPARENT"></a>GD_CROP_TRANSPARENT</td><td class=CDLDescription>Crop using the transparent color</td></tr><tr><td class=CDLEntry><a name="GD_CROP_BLACK"></a>GD_CROP_BLACK</td><td class=CDLDescription>Crop black borders</td></tr><tr><td class=CDLEntry><a name="GD_CROP_WHITE"></a>GD_CROP_WHITE</td><td class=CDLDescription>Crop white borders</td></tr><tr><td class=CDLEntry><a name="GD_CROP_SIDES"></a>GD_CROP_SIDES</td><td class=CDLDescription>Crop using colors of the 4 corners</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd_crop-c.html#gdImageCropAuto" class=LFunction id=link60 onMouseOver="ShowTip(event, 'tt41', 'link60')" onMouseOut="HideTip('tt41')">gdImageCropAuto</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Image_Comparison"></a>Image Comparison</h3><div class=CBody><h4 class=CHeading>Constants</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>GD_CMP_IMAGE</td><td class=CDLDescription>Actual image IS different</td></tr><tr><td class=CDLEntry>GD_CMP_NUM_COLORS</td><td class=CDLDescription>Number of colors in pallette differ</td></tr><tr><td class=CDLEntry>GD_CMP_COLOR</td><td class=CDLDescription>Image colors differ</td></tr><tr><td class=CDLEntry>GD_CMP_SIZE_X</td><td class=CDLDescription>Image width differs</td></tr><tr><td class=CDLEntry>GD_CMP_SIZE_Y</td><td class=CDLDescription>Image heights differ</td></tr><tr><td class=CDLEntry>GD_CMP_TRANSPARENT</td><td class=CDLDescription>Transparent color differs</td></tr><tr><td class=CDLEntry>GD_CMP_BACKGROUND</td><td class=CDLDescription>Background color differs</td></tr><tr><td class=CDLEntry>GD_CMP_INTERLACE</td><td class=CDLDescription>Interlaced setting differs</td></tr><tr><td class=CDLEntry>GD_CMP_TRUECOLOR</td><td class=CDLDescription>Truecolor vs palette differs</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageCompare" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt42', 'link61')" onMouseOut="HideTip('tt42')">gdImageCompare</a></li></ul></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd.h</div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CType>Defines a point in a 2D coordinate system using floating point values. </div></div><div class=CToolTip id="tt2"><div class=CFunction>gdImageStringFTEx extends the capabilities of gdImageStringFT by providing a way to pass additional parameters.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a closed polygon</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws an open polygon</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a filled polygon</div></div><div class=CToolTip id="tt6"><div class=CType>A rectangle in the coordinate space of the image</div></div><div class=CToolTip id="tt7"><div class=CMacro>Compose a truecolor value from its components</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Blend two colors</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors with multiply effect</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the effect for subsequent drawing operations</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPaletteSetMethod (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>method,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>speed</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Selects the quantization method</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdInterpolationMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>id</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the interpolation method for subsequent operations</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Get the current interpolation method</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreate is called to create palette-based images, with no more than 256 colors. </div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. </div></div><div class=CToolTip id="tt17"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetSmall (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in small font.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetLarge (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in large font.</div></div><div class=CToolTip id="tt20"><div class=CMacro>Gets the alpha channel value</div></div><div class=CToolTip id="tt21"><div class=CMacro>Gets the red channel value</div></div><div class=CToolTip id="tt22"><div class=CMacro>Gets the green channel value</div></div><div class=CToolTip id="tt23"><div class=CMacro>Gets the blue channel value</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the style for following drawing operations</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>brush</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the brush for following drawing operations</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetTile (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>tile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt27"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngSource (</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>inSource</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng for documentation. </div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function writes GIF animation frames to GIF animation, which was initialized with gdImageGifAnimBegin. </div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngToSink (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>outSink</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the transparent color of the image</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageInterlace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt34"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color as stored in the image.</div></div><div class=CToolTip id="tt36"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color always as truecolor value.</div></div><div class=CToolTip id="tt38"><div class=CMacro>Gets the vertical resolution in DPI.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the resolution of an image.</div></div><div class=CToolTip id="tt40"><div class=CMacro>Gets the horizontal resolution in DPI.</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image automatically</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageCompare (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Compare two images</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html
deleted file mode 100644
index 487e43be691..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_bmp-c.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>BMP IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="BMP_IO"></a>BMP IO</h1><div class=CBody><p>Read and write BMP images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#BMP_IO" >BMP IO</a></td><td class=SDescription>Read and write BMP images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageBmpPtr" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageBmpPtr</a></td><td class=SDescription>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageBmp" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageBmp</a></td><td class=SDescription><a href="#gdImageBmp" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageBmp</a> outputs the specified image to the specified file in BMP format. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageBmpCtx" id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdImageBmpCtx</a></td><td class=SDescription>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link6 onMouseOver="ShowTip(event, 'tt2', 'link6')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromBmp" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageCreateFromBmp</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromBmpPtr" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageCreateFromBmpPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromBmpCtx" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdImageCreateFromBmpCtx</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBmpPtr"></a>gdImageBmpPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageBmpPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link10 onMouseOver="ShowTip(event, 'tt2', 'link10')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file.&nbsp; See <a href="#gdImageBmp" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt3', 'link11')" onMouseOut="HideTip('tt3')">gdImageBmp</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: size in bytes of the result.</td></tr><tr><td class=CDLEntry>compression</td><td class=CDLDescription>whether to apply RLE or not.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to memory containing the image data or NULL on error.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBmp"></a>gdImageBmp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmp(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageBmp" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt3', 'link12')" onMouseOut="HideTip('tt3')">gdImageBmp</a> outputs the specified image to the specified file in BMP format.&nbsp; The file must be open for writing.&nbsp; Under MSDOS and all versions of Windows, it is important to use &ldquo;wb&rdquo; as opposed to simply &ldquo;w&rdquo; as the mode when opening the file, and under Unix there is no penalty for doing so.&nbsp; <a href="#gdImageBmp" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt3', 'link13')" onMouseOut="HideTip('tt3')">gdImageBmp</a> does not close the file; your code must do so.</p><p>In addition, <a href="#gdImageBmp" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt3', 'link14')" onMouseOut="HideTip('tt3')">gdImageBmp</a> allows to specify whether RLE compression should be applied.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageBmpCtx" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt4', 'link15')" onMouseOut="HideTip('tt4')">gdImageBmpCtx</a> write via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link16 onMouseOver="ShowTip(event, 'tt2', 'link16')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file handle.</p><p><a href="#gdImageBmpPtr" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">gdImageBmpPtr</a> store the image file to memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>the output FILE* object.</td></tr><tr><td class=CDLEntry>compression</td><td class=CDLDescription>whether to apply RLE or not.</td></tr></table><h4 class=CHeading>Returns</h4><p>nothing</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBmpCtx"></a>gdImageBmpCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmpCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Outputs the given image as BMP data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">gdIOCtx</a> instead of a file.&nbsp; See <a href="#gdImageBmp" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt3', 'link19')" onMouseOut="HideTip('tt3')">gdImageBmp</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>the <a href="gd_io-h.html#gdIOCtx" class=LType id=link20 onMouseOver="ShowTip(event, 'tt2', 'link20')" onMouseOut="HideTip('tt2')">gdIOCtx</a> to write to.</td></tr><tr><td class=CDLEntry>compression</td><td class=CDLDescription>whether to apply RLE or not.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromBmp"></a>gdImageCreateFromBmp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmp(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromBmpPtr"></a>gdImageCreateFromBmpPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromBmpCtx"></a>gdImageCreateFromBmpCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile id=MSelected>BMP IO</div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageBmpPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt2"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmp(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageBmp outputs the specified image to the specified file in BMP format. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmpCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmp(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html
deleted file mode 100644
index 7ebbf70b15d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_map-c.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdColorMapLookup</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdColorMapLookup"></a>gdColorMapLookup</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdColorMapLookup(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdColorMap&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color_map,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>color_name,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdColorMapLookup</div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html
deleted file mode 100644
index 90d69c66106..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_color_match-c.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdImageColorMatch</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdImageColorMatch"></a>gdImageColorMatch</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorMatch (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Bring the palette colors in im2 to be closer to im1.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdImageColorMatch</div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html
deleted file mode 100644
index 439f1bc44a1..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_crop-c.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Cropping</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Cropping"></a>Cropping</h1><div class=CBody><p>Crop an image</p><p>Some functions to crop images, automatically (auto detection of the border color), using a given color (with or without tolerance) or using a given rectangle.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">im2 = gdImageAutoCrop(im, GD_CROP_SIDES);
-if (im2) {
- gdImageDestroy(im); // unless you need the original image subsequently
- // do something with the cropped image
-}
-gdImageDestroy(im2);</pre></blockquote><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Cropping" >Cropping</a></td><td class=SDescription>Crop an image</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCrop" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCrop</a></td><td class=SDescription>Crop an image to a given rectangle</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCropAuto" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCropAuto</a></td><td class=SDescription>Crop an image automatically</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCropThreshold" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCropThreshold</a></td><td class=SDescription>Crop an image using a given color</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCrop"></a>gdImageCrop</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCrop(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdRect&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>crop</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Crop an image to a given rectangle</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>crop</td><td class=CDLDescription>The cropping rectangle, see <a href="gd-h.html#gdRect" class=LType id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdRect</a>.</td></tr></table><h4 class=CHeading>Returns</h4><p>The newly created cropped image, or NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCropAuto" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt2', 'link5')" onMouseOut="HideTip('tt2')">gdImageCropAuto</a></li><li><a href="#gdImageCropThreshold" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt3', 'link6')" onMouseOut="HideTip('tt3')">gdImageCropThreshold</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCropAuto"></a>gdImageCropAuto</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Crop an image automatically</p><p>This function detects the cropping area according to the given <u>mode</u>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>The cropping mode, see <a href="gd-h.html#gdCropMode" class=LConstant >gdCropMode</a>.</td></tr></table><h4 class=CHeading>Returns</h4><p>The newly created cropped image, or NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCrop" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt1', 'link7')" onMouseOut="HideTip('tt1')">gdImageCrop</a></li><li><a href="#gdImageCropThreshold" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt3', 'link8')" onMouseOut="HideTip('tt3')">gdImageCropThreshold</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCropThreshold"></a>gdImageCropThreshold</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropThreshold(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Crop an image using a given color</p><p>The <u>threshold</u> defines the tolerance to be used while comparing the image color and the color to crop.&nbsp; The method used to calculate the color difference is based on the color distance in the RGB(A) cube.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>The crop color.</td></tr><tr><td class=CDLEntry>threshold</td><td class=CDLDescription>The crop threshold.</td></tr></table><h4 class=CHeading>Returns</h4><p>The newly created cropped image, or NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCrop" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">gdImageCrop</a></li><li><a href="#gdImageCropAuto" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt2', 'link10')" onMouseOut="HideTip('tt2')">gdImageCropAuto</a></li></ul></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile id=MSelected>Cropping</div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCrop(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdRect&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>crop</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image to a given rectangle</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image automatically</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropThreshold(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image using a given color</div></div><div class=CToolTip id="tt4"><div class=CType>A rectangle in the coordinate space of the image</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html
deleted file mode 100644
index 40208d43008..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filename-c.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd_filename.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_filename.c"></a>gd_filename.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_filename.c" >gd_filename.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdSupportsFileType" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdSupportsFileType</a></td><td class=SDescription>Tests if a given file type is supported by GD.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromFile" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a></td><td class=SDescription>Read an image file of any supported.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFile" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageFile</a></td><td class=SDescription>Writes an image to a file in the format indicated by the filename.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdSupportsFileType"></a>gdSupportsFileType</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdSupportsFileType(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>writing</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Tests if a given file type is supported by GD.</p><p>Given the name of an image file (which does not have to exist), returns 1 (i.e.&nbsp; TRUE) if <a href="#gdImageCreateFromFile" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a> can read a file of that type.&nbsp; This is useful if you do not know which image types were enabled at compile time.</p><p>If <u>writing</u> is true, the result will be true only if <a href="#gdImageFile" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageFile</a> can write a file of this type.</p><p>Note that filename parsing is done exactly the same as is done by <a href="#gdImageCreateFromFile" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt2', 'link6')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a> and <a href="#gdImageFile" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt3', 'link7')" onMouseOut="HideTip('tt3')">gdImageFile</a> and is subject to the same limitations.</p><p>Assuming LibGD is compiled with support for these image types, the following extensions are supported:</p><ul><li>.gif</li><li>.gd, .gd2</li><li>.wbmp</li><li>.bmp</li><li>.xbm</li><li>.tga</li><li>.png</li><li>.jpg, .jpeg</li><li>.tiff, .tif</li><li>.webp</li><li>.xpm</li></ul><p>Names are parsed case-insenstively.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>Filename with tested extension.</td></tr><tr><td class=CDLEntry>writing</td><td class=CDLDescription>Flag: true tests if writing works</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE (1) if the file type is supported, GD_FALSE (0) if not.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromFile"></a>gdImageCreateFromFile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromFile(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Read an image file of any supported.</p><p>Given the path to a file, <a href="#gdImageCreateFromFile" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt2', 'link8')" onMouseOut="HideTip('tt2')">gdImageCreateFromFile</a> will open the file, read its contents with the appropriate <u>gdImageCreateFrom*</u> function and return it.</p><p>File type is determined by the filename extension, so having an incorrect extension will probably not work.&nbsp; For example, renaming PNG image &ldquo;foo.png&rdquo; to &ldquo;foo.gif&rdquo; and then attempting to load it will fail even if GD supports both formats.&nbsp; See &lt;gdSupportsFiletype&gt; for more details.</p><p>NULL is returned on error.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>the input file name</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFile"></a>gdImageFile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageFile(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Writes an image to a file in the format indicated by the filename.</p><p>File type is determined by the extension of the file name.&nbsp; See &lt;gdSupportsFiletype&gt; for an overview of the parsing.</p><p>For file types that require extra arguments, <a href="#gdImageFile" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt3', 'link9')" onMouseOut="HideTip('tt3')">gdImageFile</a> attempts to use sane defaults:</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>&lt;gdImageGd2&gt;</td><td class=CDLDescription>chunk size = 0, compression is enabled.</td></tr><tr><td class=CDLEntry>&lt;gdImageJpeg&gt;</td><td class=CDLDescription>quality = -1 (i.e. the reasonable default)</td></tr><tr><td class=CDLEntry>&lt;gdImageWBMP&gt;</td><td class=CDLDescription>foreground is the darkest available color</td></tr></table><p>Everything else is called with the two-argument function and so will use the default values.</p><p><a href="#gdImageFile" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt3', 'link10')" onMouseOut="HideTip('tt3')">gdImageFile</a> has some rudimentary error detection and will return GD_FALSE (0) if a detectable error occurred.&nbsp; However, the image loaders do not normally return their error status so a result of GD_TRUE (1) does **not** mean the file was saved successfully.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to save.</td></tr><tr><td class=CDLEntry>filename</td><td class=CDLDescription>The path to the file to which the image is saved.</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_FALSE (0) if an error was detected, GD_TRUE (1) if not.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_filename.c</div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdSupportsFileType(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>writing</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Tests if a given file type is supported by GD.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromFile(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Read an image file of any supported.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageFile(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes an image to a file in the format indicated by the filename.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html
deleted file mode 100644
index 3a09d8b5080..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_filter-c.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Image Filters</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Image_Filters"></a>Image Filters</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Image_Filters" >Image Filters</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageScatter" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageScatter</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageScatterColor" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageScatterColor</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageScatterEx" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageScatterEx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImagePixelate" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImagePixelate</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageNegate" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdImageNegate</a></td><td class=SDescription>Invert an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGrayScale" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gdImageGrayScale</a></td><td class=SDescription>Convert an image to grayscale</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageBrightness" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gdImageBrightness</a></td><td class=SDescription>Change the brightness of an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageContrast" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">gdImageContrast</a></td><td class=SDescription>Change the contrast of an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageColor" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">gdImageColor</a></td><td class=SDescription>Change channel values of an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageConvolution" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></td><td class=SDescription>Apply a convolution matrix to an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSelectiveBlur" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">gdImageSelectiveBlur</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageEdgeDetectQuick" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">gdImageEdgeDetectQuick</a></td><td class=SDescription>Edge detection of an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGaussianBlur" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a></td><td class=SDescription><a href="#gdImageGaussianBlur" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt13', 'link14')" onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a> performs a Gaussian blur of radius 1 on the image. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageEmboss" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">gdImageEmboss</a></td><td class=SDescription>Emboss an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageMeanRemoval" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">gdImageMeanRemoval</a></td><td class=SDescription>Mean removal of an image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSmooth" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">gdImageSmooth</a></td><td class=SDescription>Smooth an image</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCopyGaussianBlurred" >gdImageCopyGaussianBlurred</a></td><td class=SDescription>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScatter"></a>gdImageScatter</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatter(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScatterColor"></a>gdImageScatterColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colors[],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>num_colors</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScatterEx"></a>gdImageScatterEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterEx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdScatterPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>scatter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePixelate"></a>gdImagePixelate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePixelate(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>block_size,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageNegate"></a>gdImageNegate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageNegate(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Invert an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGrayScale"></a>gdImageGrayScale</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGrayScale(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Convert an image to grayscale</p><p>The red, green and blue components of each pixel are replaced by their weighted sum using the same coefficients as the REC.601 luma (Y&rsquo;) calculation.&nbsp; The alpha components are retained.</p><p>For palette images the result may differ due to palette limitations.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageBrightness"></a>gdImageBrightness</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBrightness(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>brightness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Change the brightness of an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>brightness</td><td class=CDLDescription>The value to add to the color channels of all pixels.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageContrast" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt8', 'link18')" onMouseOut="HideTip('tt8')">gdImageContrast</a></li><li><a href="#gdImageColor" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt9', 'link19')" onMouseOut="HideTip('tt9')">gdImageColor</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageContrast"></a>gdImageContrast</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageContrast(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>contrast</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Change the contrast of an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>contrast</td><td class=CDLDescription>The contrast adjustment value.&nbsp; Negative values increase, postive values decrease the contrast.&nbsp; The larger the absolute value, the stronger the effect.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageBrightness" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt7', 'link20')" onMouseOut="HideTip('tt7')">gdImageBrightness</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageColor"></a>gdImageColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>red,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>green,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>blue,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Change channel values of an image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>red</td><td class=CDLDescription>The value to add to the red channel of all pixels.</td></tr><tr><td class=CDLEntry>green</td><td class=CDLDescription>The value to add to the green channel of all pixels.</td></tr><tr><td class=CDLEntry>blue</td><td class=CDLDescription>The value to add to the blue channel of all pixels.</td></tr><tr><td class=CDLEntry>alpha</td><td class=CDLDescription>The value to add to the alpha channel of all pixels.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageBrightness" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt7', 'link21')" onMouseOut="HideTip('tt7')">gdImageBrightness</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageConvolution"></a>gdImageConvolution</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageConvolution(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter[3][3],</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter_div,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Apply a convolution matrix to an image</p><p>Depending on the matrix a wide range of effects can be accomplished, e.g. blurring, sharpening, embossing and edge detection.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>filter</td><td class=CDLDescription>The 3x3 convolution matrix.</td></tr><tr><td class=CDLEntry>filter_div</td><td class=CDLDescription>The value to divide the convoluted channel values by.</td></tr><tr><td class=CDLEntry>offset</td><td class=CDLDescription>The value to add to the convoluted channel values.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageEdgeDetectQuick" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt12', 'link22')" onMouseOut="HideTip('tt12')">gdImageEdgeDetectQuick</a></li><li><a href="#gdImageGaussianBlur" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt13', 'link23')" onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a></li><li><a href="#gdImageEmboss" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt14', 'link24')" onMouseOut="HideTip('tt14')">gdImageEmboss</a></li><li><a href="#gdImageMeanRemoval" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt15', 'link25')" onMouseOut="HideTip('tt15')">gdImageMeanRemoval</a></li><li><a href="#gdImageSmooth" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt16', 'link26')" onMouseOut="HideTip('tt16')">gdImageSmooth</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSelectiveBlur"></a>gdImageSelectiveBlur</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSelectiveBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageEdgeDetectQuick"></a>gdImageEdgeDetectQuick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEdgeDetectQuick(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Edge detection of an image</p><img src="../images/edge_detect_quick.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageMeanRemoval" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt15', 'link27')" onMouseOut="HideTip('tt15')">gdImageMeanRemoval</a></li><li><a href="#gdImageConvolution" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt10', 'link28')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGaussianBlur"></a>gdImageGaussianBlur</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGaussianBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageGaussianBlur" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt13', 'link29')" onMouseOut="HideTip('tt13')">gdImageGaussianBlur</a> performs a Gaussian blur of radius 1 on the image.&nbsp; The image is modified in place.</p><p><b>NOTE:</b> You will almost certain want to use <a href="#gdImageCopyGaussianBlurred" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt17', 'link30')" onMouseOut="HideTip('tt17')">gdImageCopyGaussianBlurred</a> instead, as it allows you to change your kernel size and sigma value.&nbsp; Future versions of this function may fall back to calling it instead of <a href="#gdImageConvolution" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt10', 'link31')" onMouseOut="HideTip('tt10')">gdImageConvolution</a>, causing subtle changes so be warned.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to blur</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE (1) on success, GD_FALSE (0) on failure.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageEmboss"></a>gdImageEmboss</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEmboss(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Emboss an image</p><img src="../images/emboss.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageConvolution" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt10', 'link32')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageMeanRemoval"></a>gdImageMeanRemoval</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageMeanRemoval(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Mean removal of an image</p><img src="../images/mean_removal.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageEdgeDetectQuick" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt12', 'link33')" onMouseOut="HideTip('tt12')">gdImageEdgeDetectQuick</a></li><li><a href="#gdImageConvolution" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt10', 'link34')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSmooth"></a>gdImageSmooth</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSmooth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>weight</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Smooth an image</p><img src="../images/smooth.jpg" width="256" height="128"><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>weight</td><td class=CDLDescription>The strength of the smoothing.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageConvolution" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt10', 'link35')" onMouseOut="HideTip('tt10')">gdImageConvolution</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCopyGaussianBlurred"></a>gdImageCopyGaussianBlurred</h3><div class=CBody><p>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</p><p><u>radius</u> is a radius, not a diameter so a radius of 2 (for example) will blur across a region 5 pixels across (2 to the center, 1 for the center itself and another 2 to the other edge).</p><p><u>sigma</u> represents the &ldquo;fatness&rdquo; of the curve (lower == fatter).&nbsp; If <u>sigma</u> is less than or equal to 0, <a href="#gdImageCopyGaussianBlurred" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt17', 'link36')" onMouseOut="HideTip('tt17')">gdImageCopyGaussianBlurred</a> ignores it and instead computes an &ldquo;optimal&rdquo; value.&nbsp; Be warned that future versions of this function may compute sigma differently.</p><p>The resulting image is always truecolor.</p><h4 class=CHeading>More Details</h4><p>A Gaussian Blur is generated by replacing each pixel&rsquo;s color values with the average of the surrounding pixels&rsquo; colors.&nbsp; This region is a circle whose radius is given by argument <u>radius</u>.&nbsp; Thus, a larger radius will yield a blurrier image.</p><p>This average is not a simple mean of the values.&nbsp; Instead, values are weighted using the Gaussian function (roughly a bell curve centered around the destination pixel) giving it much more influence on the result than its neighbours.&nbsp; Thus, a fatter curve will give the center pixel more weight and make the image less blurry; lower <u>sigma</u> values will yield flatter curves.</p><p>Currently, <a href="#gdImageCopyGaussianBlurred" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt17', 'link37')" onMouseOut="HideTip('tt17')">gdImageCopyGaussianBlurred</a> computes the default sigma as</p><p>(2/3)*radius</p><p>Note, however that we reserve the right to change this if we find a better ratio.&nbsp; If you absolutely need the current sigma value, you should set it yourself.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>the source image</td></tr><tr><td class=CDLEntry>radius</td><td class=CDLDescription>the blur radius (<b>not</b> diameter--range is 2*radius + 1)</td></tr><tr><td class=CDLEntry>sigma</td><td class=CDLDescription>the sigma value or a value &lt;= 0.0 to use the computed default</td></tr></table><h4 class=CHeading>Returns</h4><p>The new image or NULL if an error occurred.&nbsp; The result is always truecolor.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">FILE *in;
-gdImagePtr result, src;
-
-in = fopen(&quot;foo.png&quot;, &quot;rb&quot;);
-src = gdImageCreateFromPng(in);
-
-result = gdImageCopyGaussianBlurred(im, src-&gt;sx / 10, -1.0);</pre></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile id=MSelected>Image Filters</div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatter(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colors[],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>num_colors</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterEx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdScatterPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>scatter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePixelate(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>block_size,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageNegate(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Invert an image</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGrayScale(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert an image to grayscale</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBrightness(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>brightness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the brightness of an image</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageContrast(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>contrast</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the contrast of an image</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>red,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>green,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>blue,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change channel values of an image</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageConvolution(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter[3][3],</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter_div,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Apply a convolution matrix to an image</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSelectiveBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEdgeDetectQuick(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Edge detection of an image</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGaussianBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGaussianBlur performs a Gaussian blur of radius 1 on the image. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEmboss(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Emboss an image</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageMeanRemoval(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Mean removal of an image</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSmooth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>weight</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Smooth an image</div></div><div class=CToolTip id="tt17"><div class=CFunction>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html
deleted file mode 100644
index 70914c519e7..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd-c.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GD IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GD_IO"></a>GD IO</h1><div class=CBody><p>Read and write GD images.</p><p>The GD image format is a proprietary image format of libgd.&nbsp; <b>It has to be</b> <b>regarded as being obsolete, and should only be used for development and</b> <b>testing purposes.</b></p><h4 class=CHeading>Structure of a GD image file</h4><ul><li>file header</li><li>color header (either truecolor or palette)</li><li>image data</li></ul><p>All numbers are stored in big-endian format.</p><h4 class=CHeading>File header structure</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>signature</td><td class=CDLDescription>1 word (&ldquo;\xFF\xFE&rdquo; for truecolor, &ldquo;\xFF\xFF&rdquo; for palette)</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>1 word</td></tr></table><h4 class=CHeading>Truecolor image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDLDescription>1 byte (always &ldquo;\001&rdquo;)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (ARGB color)</td></tr></table><h4 class=CHeading>Palette image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDLDescription>1 byte (always &ldquo;\0&rdquo;)</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>1 word (the number of used palette colors)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (ARGB color)</td></tr><tr><td class=CDLEntry>palette</td><td class=CDLDescription>256 dwords (RGBA colors)</td></tr></table><h4 class=CHeading>Image data</h4><p>Sequential pixel data; row-major from top to bottom, left to right:</p><ul><li>1 byte per pixel for palette images</li><li>1 dword (ARGB) per pixel for truecolor images</li></ul><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GD_IO" >GD IO</a></td><td class=SDescription>Read and write GD images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a></td><td class=SDescription><a href="#gdImageCreateFromGd" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> is called to load images from gd format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGdPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromGdPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGdCtx" id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageCreateFromGdCtx</a></td><td class=SDescription>Reads in a GD image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGd" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">gdImageGd</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGdPtr" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">gdImageGdPtr</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd"></a>gdImageCreateFromGd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGd" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt1', 'link8')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> is called to load images from gd format files.&nbsp; Invoke <a href="#gdImageCreateFromGd" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> with an already opened pointer to a file containing the desired image in the gd file format, which is specific to gd and intended for very fast loading.&nbsp; (It is not intended for compression; for compression, use PNG or JPEG.)</p><p><a href="#gdImageCreateFromGd" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a gd format image).&nbsp; <a href="#gdImageCreateFromGd" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a> does not close the file.&nbsp; You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromGdPtr" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt2', 'link14')" onMouseOut="HideTip('tt2')">gdImageCreateFromGdPtr</a> creates an image from GD data (i.e. the contents of a GD file) already in memory.</p><p><a href="#gdImageCreateFromGdCtx" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt3', 'link15')" onMouseOut="HideTip('tt3')">gdImageCreateFromGdCtx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link16 onMouseOver="ShowTip(event, 'tt4', 'link16')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
-FILE *in;
-in = fopen(&quot;mygd.gd&quot;, &quot;rb&quot;);
-im = gdImageCreateFromGd(in);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGdPtr"></a>gdImageCreateFromGdPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GD data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GD data (i.e. contents of a GIF file).</td></tr></table><p>Reads in GD data from memory.&nbsp; See <a href="#gdImageCreateFromGd" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGdCtx"></a>gdImageCreateFromGdCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdCtx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Reads in a GD image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link18 onMouseOver="ShowTip(event, 'tt4', 'link18')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.&nbsp; See <a href="#gdImageCreateFromGd" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt1', 'link19')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGd"></a>gdImageGd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGdPtr"></a>gdImageGdPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGdPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>GD IO</div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd is called to load images from gd format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdCtx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGdPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html
deleted file mode 100644
index 475c807dd14..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gd2-c.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GD2 IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GD2_IO"></a>GD2 IO</h1><div class=CBody><p>Read and write GD2 images.</p><p>The GD2 image format is a proprietary image format of libgd.&nbsp; <b>It has to be</b> <b>regarded as being obsolete, and should only be used for development and</b> <b>testing purposes.</b></p><h4 class=CHeading>Structure of a GD2 image file</h4><ul><li>file header</li><li>chunk headers (only for compressed data)</li><li>color header (either truecolor or palette)</li><li>chunks of image data (chunk-row-major, top to bottom, left to right)</li></ul><p>All numbers are stored in big-endian format.</p><h4 class=CHeading>File header structure</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>signature</td><td class=CDLDescription>4 bytes (always &ldquo;gd2\0&rdquo;)</td></tr><tr><td class=CDLEntry>version</td><td class=CDLDescription>1 word (e.g.&nbsp; &ldquo;\0\002&rdquo;)</td></tr><tr><td class=CDLEntry>width</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>height</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>chunk_size</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>format</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>x_chunk_count</td><td class=CDLDescription>1 word</td></tr><tr><td class=CDLEntry>y_chunk_count</td><td class=CDLDescription>1 word</td></tr></table><h4 class=CHeading>Recognized formats</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>1</td><td class=CDLDescription>raw palette image data</td></tr><tr><td class=CDLEntry>2</td><td class=CDLDescription>compressed palette image data</td></tr><tr><td class=CDLEntry>3</td><td class=CDLDescription>raw truecolor image data</td></tr><tr><td class=CDLEntry>4</td><td class=CDLDescription>compressed truecolor image data</td></tr></table><h4 class=CHeading>Chunk header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>offset</td><td class=CDLDescription>1 dword</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>1 dword</td></tr></table><p>There are x_chunk_count * y_chunk_count chunk headers.</p><h4 class=CHeading>Truecolor image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDLDescription>1 byte (always &ldquo;\001&rdquo;)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (ARGB color)</td></tr></table><h4 class=CHeading>Palette image color header</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>truecolor</td><td class=CDLDescription>1 byte (always &ldquo;\0&rdquo;)</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>1 word (the number of used palette colors)</td></tr><tr><td class=CDLEntry>transparent</td><td class=CDLDescription>1 dword (ARGB color)</td></tr><tr><td class=CDLEntry>palette</td><td class=CDLDescription>256 dwords (RGBA colors)</td></tr></table><h4 class=CHeading>Chunk structure</h4><p>Sequential pixel data of a rectangular area (chunk_size x chunk_size), row-major from top to bottom, left to right:</p><ul><li>1 byte per pixel for palette images</li><li>1 dword (ARGB) per pixel for truecolor images</li></ul><p>Depending on format, the chunk may be ZLIB compressed.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GD2_IO" >GD2 IO</a></td><td class=SDescription>Read and write GD2 images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd2" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a></td><td class=SDescription><a href="#gdImageCreateFromGd2" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> is called to load images from gd2 format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGd2Ptr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromGd2Ptr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd2Ctx" id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageCreateFromGd2Ctx</a></td><td class=SDescription>Reads in a GD2 image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGd2Part" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a></td><td class=SDescription><a href="#gdImageCreateFromGd2Part" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a> is called to load parts of images from gd2 format files. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGd2PartPtr" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageCreateFromGd2PartPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGd2PartCtx" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">gdImageCreateFromGd2PartCtx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGd2" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link10')" onMouseOut="HideTip('tt8')">gdImageGd2</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGd2Ptr" id=link11 onMouseOver="ShowTip(event, 'tt9', 'link11')" onMouseOut="HideTip('tt9')">gdImageGd2Ptr</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2"></a>gdImageCreateFromGd2</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2 (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGd2" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> is called to load images from gd2 format files.&nbsp; Invoke <a href="#gdImageCreateFromGd2" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt1', 'link13')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> with an already opened pointer to a file containing the desired image in the gd2 file format, which is specific to gd2 and intended for fast loading of parts of large images.&nbsp; (It is a compressed format, but generally not as good as maximum compression of the entire image would be.)</p><p><a href="#gdImageCreateFromGd2" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt1', 'link14')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link15 onMouseOver="ShowTip(event, 'tt10', 'link15')" onMouseOut="HideTip('tt10')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a gd format image).&nbsp; <a href="#gdImageCreateFromGd2" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt1', 'link16')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a> does not close the file.&nbsp; You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt11', 'link17')" onMouseOut="HideTip('tt11')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromGd2Ptr" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">gdImageCreateFromGd2Ptr</a> creates an image from GD data (i.e. the contents of a GD2 file) already in memory.</p><p><a href="#gdImageCreateFromGd2Ctx" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt3', 'link19')" onMouseOut="HideTip('tt3')">gdImageCreateFromGd2Ctx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link20 onMouseOver="ShowTip(event, 'tt4', 'link20')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
-FILE *in;
-in = fopen(&quot;mygd.gd2&quot;, &quot;rb&quot;);
-im = gdImageCreateFromGd2(in);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2Ptr"></a>gdImageCreateFromGd2Ptr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ptr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GD2 data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GD2 data (i.e. contents of a GIF file).</td></tr></table><p>See <a href="#gdImageCreateFromGd2" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt1', 'link21')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2Ctx"></a>gdImageCreateFromGd2Ctx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ctx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Reads in a GD2 image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link22 onMouseOver="ShowTip(event, 'tt4', 'link22')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.&nbsp; See <a href="#gdImageCreateFromGd2" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt1', 'link23')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2Part"></a>gdImageCreateFromGd2Part</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Part (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGd2Part" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt5', 'link24')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a> is called to load parts of images from gd2 format files.&nbsp; Invoked in the same way as <a href="#gdImageCreateFromGd2" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt1', 'link25')" onMouseOut="HideTip('tt1')">gdImageCreateFromGd2</a>, but with extra parameters indicating the source (x, y) and width/height of the desired image.&nbsp; <a href="#gdImageCreateFromGd2Part" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt5', 'link26')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link27 onMouseOver="ShowTip(event, 'tt10', 'link27')" onMouseOut="HideTip('tt10')">gdImagePtr</a> to the new image, or NULL if unable to load the image.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt11', 'link28')" onMouseOut="HideTip('tt11')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromGd2PartPtr" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt6', 'link29')" onMouseOut="HideTip('tt6')">gdImageCreateFromGd2PartPtr</a> creates an image from GD2 data (i.e. the contents of a GD2 file) already in memory.</p><p><a href="#gdImageCreateFromGd2Ctx" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt3', 'link30')" onMouseOut="HideTip('tt3')">gdImageCreateFromGd2Ctx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link31 onMouseOver="ShowTip(event, 'tt4', 'link31')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr><tr><td class=CDLEntry>srcx, srcy</td><td class=CDLDescription>The source X and Y coordinates</td></tr><tr><td class=CDLEntry>w, h</td><td class=CDLDescription>The resulting image&rsquo;s width and height</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2PartPtr"></a>gdImageCreateFromGd2PartPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GD data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GD data (i.e. contents of a GIF file).</td></tr><tr><td class=CDLEntry>srcx, srcy</td><td class=CDLDescription>The source X and Y coordinates</td></tr><tr><td class=CDLEntry>w, h</td><td class=CDLDescription>The resulting image&rsquo;s width and height</td></tr></table><p>Reads in part of a GD2 image file stored from memory.&nbsp; See <a href="#gdImageCreateFromGd2Part" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt5', 'link32')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGd2PartCtx"></a>gdImageCreateFromGd2PartCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>in,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>in</td><td class=CDLDescription>The data source.</td></tr><tr><td class=CDLEntry>srcx, srcy</td><td class=CDLDescription>The source X and Y coordinates</td></tr><tr><td class=CDLEntry>w, h</td><td class=CDLDescription>The resulting image&rsquo;s width and height</td></tr></table><p>Reads in part of a GD2 data image file via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link33 onMouseOver="ShowTip(event, 'tt4', 'link33')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.&nbsp; See <a href="#gdImageCreateFromGd2Part" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt5', 'link34')" onMouseOut="HideTip('tt5')">gdImageCreateFromGd2Part</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGd2"></a>gdImageGd2</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd2 (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGd2Ptr"></a>gdImageGd2Ptr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGd2Ptr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>GD2 IO</div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2 (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2 is called to load images from gd2 format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ptr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ctx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD2 image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Part (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2Part is called to load parts of images from gd2 format files. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>in,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd2 (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGd2Ptr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt10"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html
deleted file mode 100644
index 8fcf1556eb8..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_in-c.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GIF Input</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GIF_Input"></a>GIF Input</h1><div class=CBody><p>Read GIF images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GIF_Input" >GIF Input</a></td><td class=SDescription>Read GIF images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGif" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a></td><td class=SDescription><a href="#gdImageCreateFromGif" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> is called to load images from GIF format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromGifPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromGifPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromGifCtx" id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageCreateFromGifCtx</a></td><td class=SDescription>See <a href="#gdImageCreateFromGif" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt1', 'link5')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a>.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGif"></a>gdImageCreateFromGif</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGif(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fdFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromGif" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> is called to load images from GIF format files.&nbsp; Invoke <a href="#gdImageCreateFromGif" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt1', 'link7')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> with an already opened pointer to a file containing the desired image.</p><p><a href="#gdImageCreateFromGif" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt1', 'link8')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link9 onMouseOver="ShowTip(event, 'tt4', 'link9')" onMouseOut="HideTip('tt4')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a GIF image).&nbsp; <a href="#gdImageCreateFromGif" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a> does not close the file.&nbsp; You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt5', 'link11')" onMouseOut="HideTip('tt5')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromGifPtr" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt2', 'link12')" onMouseOut="HideTip('tt2')">gdImageCreateFromGifPtr</a> creates an image from GIF data (i.e. the contents of a GIF file) already in memory.</p><p><a href="#gdImageCreateFromGifCtx" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt3', 'link13')" onMouseOut="HideTip('tt3')">gdImageCreateFromGifCtx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link14 onMouseOver="ShowTip(event, 'tt6', 'link14')" onMouseOut="HideTip('tt6')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
-... inside a function ...
-FILE *in;
-in = fopen(&quot;mygif.gif&quot;, &quot;rb&quot;);
-im = gdImageCreateFromGif(in);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGifPtr"></a>gdImageCreateFromGifPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of GIF data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>GIF data (i.e. contents of a GIF file).</td></tr></table><p>See <a href="#gdImageCreateFromGif" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt1', 'link15')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromGifCtx"></a>gdImageCreateFromGifCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromGif" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt1', 'link16')" onMouseOut="HideTip('tt1')">gdImageCreateFromGif</a>.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>GIF Input</div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGif(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fdFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGif is called to load images from GIF format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromGif.</div></div><div class=CToolTip id="tt4"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt6"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html
deleted file mode 100644
index 9317873dccb..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_gif_out-c.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>GIF Output</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="GIF_Output"></a>GIF Output</h1><div class=CBody><p>Write GIF images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#GIF_Output" >GIF Output</a></td><td class=SDescription>Write GIF images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifPtr" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageGifPtr</a></td><td class=SDescription>Identical to <a href="#gdImageGif" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageGif</a> except that it returns a pointer to a memory area with the GIF data. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGif" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageGif</a></td><td class=SDescription><a href="#gdImageGif" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">gdImageGif</a> outputs the specified image to the specified file in GIF format. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifCtx" id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageGifCtx</a></td><td class=SDescription>Writes a GIF image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">gdIOCtx</a>. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimBeginPtr" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageGifAnimBeginPtr</a></td><td class=SDescription>Like <a href="#gdImageGifAnimBegin" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to a memory buffer. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnimBegin" id=link9 onMouseOver="ShowTip(event, 'tt6', 'link9')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a></td><td class=SDescription>This function must be called as the first function when creating a GIF animation. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimBeginCtx" id=link10 onMouseOver="ShowTip(event, 'tt7', 'link10')" onMouseOut="HideTip('tt7')">gdImageGifAnimBeginCtx</a></td><td class=SDescription>Like <a href="#gdImageGifAnimBegin" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt6', 'link11')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to <a href="gd_io-h.html#gdIOCtx" class=LType id=link12 onMouseOver="ShowTip(event, 'tt4', 'link12')" onMouseOut="HideTip('tt4')">gdIOCtx</a>. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnimAddPtr" id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">gdImageGifAnimAddPtr</a></td><td class=SDescription>Like <a href="#gdImageGifAnimAdd" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt9', 'link14')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimAdd" id=link15 onMouseOver="ShowTip(event, 'tt9', 'link15')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a></td><td class=SDescription>This function writes GIF animation frames to GIF animation, which was initialized with <a href="#gdImageGifAnimBegin" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt6', 'link16')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnimAddCtx" id=link17 onMouseOver="ShowTip(event, 'tt10', 'link17')" onMouseOut="HideTip('tt10')">gdImageGifAnimAddCtx</a></td><td class=SDescription>Adds an animation frame via a &lt;gdIOCtxPtr&gt;. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimEnd" id=link18 onMouseOver="ShowTip(event, 'tt11', 'link18')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a></td><td class=SDescription>Terminates the GIF file properly.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageGifAnimEndPtr" id=link19 onMouseOver="ShowTip(event, 'tt12', 'link19')" onMouseOut="HideTip('tt12')">gdImageGifAnimEndPtr</a></td><td class=SDescription>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt11', 'link20')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGifAnimEndCtx" id=link21 onMouseOver="ShowTip(event, 'tt13', 'link21')" onMouseOut="HideTip('tt13')">gdImageGifAnimEndCtx</a></td><td class=SDescription>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt11', 'link22')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a>, but writes its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link23 onMouseOver="ShowTip(event, 'tt4', 'link23')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifPtr"></a>gdImageGifPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Identical to <a href="#gdImageGif" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt2', 'link24')" onMouseOut="HideTip('tt2')">gdImageGif</a> except that it returns a pointer to a memory area with the GIF data.&nbsp; This memory must be freed by the caller when it is no longer needed.</p><p>The caller <b>must</b> invoke <a href="gdhelpers-c.html#gdFree" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt14', 'link25')" onMouseOut="HideTip('tt14')">gdFree</a>, not <u>free()</u>.&nbsp; This is because it is not guaranteed that libgd will use the same implementation of malloc, free, etc. as your proggram.</p><p>The &lsquo;size&rsquo; parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting image.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the GIF data or NULL if an error occurred.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGif"></a>gdImageGif</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGif(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageGif" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt2', 'link26')" onMouseOut="HideTip('tt2')">gdImageGif</a> outputs the specified image to the specified file in GIF format.&nbsp; The file must be open for binary writing.&nbsp; (Under MSDOS and all versions of Windows, it is important to use &ldquo;wb&rdquo; as opposed to simply &ldquo;w&rdquo; as the mode when opening the file; under Unix there is no penalty for doing so).&nbsp; <a href="#gdImageGif" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt2', 'link27')" onMouseOut="HideTip('tt2')">gdImageGif</a> does not close the file; your code must do so.</p><p>GIF does not support true color; GIF images can contain a maximum of 256 colors.&nbsp; If the image to be written is a truecolor image, such as those created with gdImageCreateTrueColor or loaded from a JPEG or a truecolor PNG image file, a palette-based temporary image will automatically be created internally using the <a href="gd_topal-c.html#gdImageCreatePaletteFromTrueColor" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt15', 'link28')" onMouseOut="HideTip('tt15')">gdImageCreatePaletteFromTrueColor</a> function.&nbsp; The original image pixels are not modified.&nbsp; This conversion produces high quality palettes but does require some CPU time.&nbsp; If you are regularly converting truecolor to palette in this way, you should consider creating your image as a palette-based image in the first place.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifCtx" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt3', 'link29')" onMouseOut="HideTip('tt3')">gdImageGifCtx</a> outputs the image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link30 onMouseOver="ShowTip(event, 'tt4', 'link30')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifPtr" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt1', 'link31')" onMouseOut="HideTip('tt1')">gdImageGifPtr</a> stores the image in a large array of bytes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>The FILE pointer to write the image to.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing</p><h4 class=CHeading>Example</h4><blockquote><pre>gdImagePtr im;
-int black, white;
-FILE *out;
-// Create the image
-im = gdImageCreate(100, 100);
-// Allocate background
-white = gdImageColorAllocate(im, 255, 255, 255);
-// Allocate drawing color
-black = gdImageColorAllocate(im, 0, 0, 0);
-// Draw rectangle
-gdImageRectangle(im, 0, 0, 99, 99, black);
-// Open output file in binary mode
-out = fopen(&quot;rect.gif&quot;, &quot;wb&quot;);
-// Write GIF
-gdImageGif(im, out);
-// Close file
-fclose(out);
-// Destroy image
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifCtx"></a>gdImageGifCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Writes a GIF image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link32 onMouseOver="ShowTip(event, 'tt4', 'link32')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.&nbsp; See <a href="#gdImageGif" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt2', 'link33')" onMouseOut="HideTip('tt2')">gdImageGif</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>The <a href="gd_io-h.html#gdIOCtx" class=LType id=link34 onMouseOver="ShowTip(event, 'tt4', 'link34')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct used to do the writing.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimBeginPtr"></a>gdImageGifAnimBeginPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimBeginPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimBegin" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt6', 'link35')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to a memory buffer.&nbsp; See <a href="#gdImageGifAnimBegin" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt6', 'link36')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.</p><p>The returned memory must be freed by the caller when it is no longer needed.&nbsp; **The caller must invoke &lt;gdFree&gt;(), not free()**, unless the caller is absolutely certain that the same implementations of malloc, free, etc. are used both at library build time and at application build time (but don&rsquo;t; it could always change).</p><p>The &lsquo;size&rsquo; parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The reference image</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size in bytes of the result.</td></tr><tr><td class=CDLEntry>GlobalCM</td><td class=CDLDescription>Global colormap flag: 1 -&gt; yes, 0 -&gt; no, -1 -&gt; do default</td></tr><tr><td class=CDLEntry>Loops</td><td class=CDLDescription>Loop count; 0 -&gt; infinite, -1 means no loop</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the resulting data (the contents of the start of the GIF) or NULL if an error occurred.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimBegin"></a>gdImageGifAnimBegin</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBegin(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>This function must be called as the first function when creating a GIF animation.&nbsp; It writes the correct GIF file headers to selected file output, and prepares for frames to be added for the animation.&nbsp; The image argument is not used to produce an image frame to the file, it is only used to establish the GIF animation frame size, interlacing options and the color palette.&nbsp; <a href="#gdImageGifAnimAdd" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt9', 'link37')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a> is used to add the first and subsequent frames to the animation, and the animation must be terminated by writing a semicolon character (;) to it or by using gdImageGifAnimEnd to do that.</p><p>The GlobalCM flag indicates if a global color map (or palette) is used in the GIF89A header.&nbsp; A nonzero value specifies that a global color map should be used to reduce the size of the animation.&nbsp; Of course, if the color maps of individual frames differ greatly, a global color map may not be a good idea.&nbsp; GlobalCM=1 means write global color map, GlobalCM=0 means do not, and GlobalCM=-1 means to do the default, which currently is to use a global color map.</p><p>If Loops is 0 or greater, the Netscape 2.0 extension for animation loop count is written.&nbsp; 0 means infinite loop count.&nbsp; -1 means that the extension is not added which results in no looping.&nbsp; -1 is the default.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifAnimBeginCtx" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt7', 'link38')" onMouseOut="HideTip('tt7')">gdImageGifAnimBeginCtx</a> outputs the image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link39 onMouseOver="ShowTip(event, 'tt4', 'link39')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifAnimBeginPtr" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt5', 'link40')" onMouseOut="HideTip('tt5')">gdImageGifAnimBeginPtr</a> stores the image in a large array of bytes.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The reference image</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>The output FILE*.</td></tr><tr><td class=CDLEntry>GlobalCM</td><td class=CDLDescription>Global colormap flag: 1 -&gt; yes, 0 -&gt; no, -1 -&gt; do default</td></tr><tr><td class=CDLEntry>Loops</td><td class=CDLDescription>Loop count; 0 -&gt; infinite, -1 means no loop</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><p>See <a href="#gdImageGifAnimBegin" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt6', 'link41')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimBeginCtx"></a>gdImageGifAnimBeginCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBeginCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimBegin" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt6', 'link42')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a> except that it outputs to <a href="gd_io-h.html#gdIOCtx" class=LType id=link43 onMouseOver="ShowTip(event, 'tt4', 'link43')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.&nbsp; See <a href="#gdImageGifAnimBegin" class=LFunction id=link44 onMouseOver="ShowTip(event, 'tt6', 'link44')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The reference image</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>Pointer to the output <a href="gd_io-h.html#gdIOCtx" class=LType id=link45 onMouseOver="ShowTip(event, 'tt4', 'link45')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</td></tr><tr><td class=CDLEntry>GlobalCM</td><td class=CDLDescription>Global colormap flag: 1 -&gt; yes, 0 -&gt; no, -1 -&gt; do default</td></tr><tr><td class=CDLEntry>Loops</td><td class=CDLDescription>Loop count; 0 -&gt; infinite, -1 means no loop</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimAddPtr"></a>gdImageGifAnimAddPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimAddPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimAdd" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt9', 'link46')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</p><p>This memory must be freed by the caller when it is no longer needed.&nbsp; **The caller must invoke &lt;gdFree&gt;(), not free(),** unless the caller is absolutely certain that the same implementations of malloc, free, etc. are used both at library build time and at application build time (but don&rsquo;t; it could always change).</p><p>The &lsquo;size&rsquo; parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to add.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting buffer.</td></tr><tr><td class=CDLEntry>LocalCM</td><td class=CDLDescription>Flag.&nbsp; If 1, use a local color map for this frame.</td></tr><tr><td class=CDLEntry>LeftOfs</td><td class=CDLDescription>Left offset of image in frame.</td></tr><tr><td class=CDLEntry>TopOfs</td><td class=CDLDescription>Top offset of image in frame.</td></tr><tr><td class=CDLEntry>Delay</td><td class=CDLDescription>Delay before next frame (in 1/100 seconds)</td></tr><tr><td class=CDLEntry>Disposal</td><td class=CDLDescription>MODE: How to treat this frame when the next one loads.</td></tr><tr><td class=CDLEntry>previm</td><td class=CDLDescription>NULL or a pointer to the previous image written.</td></tr></table><h4 class=CHeading>Returns</h4><p>Pointer to the resulting data or NULL if an error occurred.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimAdd"></a>gdImageGifAnimAdd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>This function writes GIF animation frames to GIF animation, which was initialized with <a href="#gdImageGifAnimBegin" class=LFunction id=link47 onMouseOver="ShowTip(event, 'tt6', 'link47')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.&nbsp; With <u>LeftOfs</u> and <u>TopOfs</u> you can place this frame in different offset than (0,0) inside the image screen as defined in <a href="#gdImageGifAnimBegin" class=LFunction id=link48 onMouseOver="ShowTip(event, 'tt6', 'link48')" onMouseOut="HideTip('tt6')">gdImageGifAnimBegin</a>.&nbsp; Delay between the previous frame and this frame is in 1/100s units.&nbsp; <u>Disposal</u> is usually <a href="gd-h.html#gdDisposalNone" class=LConstant id=link49 onMouseOver="ShowTip(event, 'tt16', 'link49')" onMouseOut="HideTip('tt16')">gdDisposalNone</a>, meaning that the pixels changed by this frame should remain on the display when the next frame begins to render, but can also be <a href="gd-h.html#gdDisposalUnknown" class=LConstant id=link50 onMouseOver="ShowTip(event, 'tt17', 'link50')" onMouseOut="HideTip('tt17')">gdDisposalUnknown</a> (not recommended), <a href="gd-h.html#gdDisposalRestoreBackground" class=LConstant id=link51 onMouseOver="ShowTip(event, 'tt18', 'link51')" onMouseOut="HideTip('tt18')">gdDisposalRestoreBackground</a> (restores the first allocated color of the global palette), or <a href="gd-h.html#gdDisposalRestorePrevious" class=LConstant id=link52 onMouseOver="ShowTip(event, 'tt19', 'link52')" onMouseOut="HideTip('tt19')">gdDisposalRestorePrevious</a> (restores the appearance of the affected area before the frame was rendered).&nbsp; Only <a href="gd-h.html#gdDisposalNone" class=LConstant id=link53 onMouseOver="ShowTip(event, 'tt16', 'link53')" onMouseOut="HideTip('tt16')">gdDisposalNone</a> is a sensible choice for the first frame.&nbsp; If <u>previm</u> is passed, the built-in GIF optimizer will always use <a href="gd-h.html#gdDisposalNone" class=LConstant id=link54 onMouseOver="ShowTip(event, 'tt16', 'link54')" onMouseOut="HideTip('tt16')">gdDisposalNone</a> regardless of the Disposal parameter.</p><p>Setting the <u>LocalCM</u> flag to 1 adds a local palette for this image to the animation.&nbsp; Otherwise the global palette is assumed and the user must make sure the palettes match.&nbsp; Use <a href="gd-c.html#gdImagePaletteCopy" class=LFunction id=link55 onMouseOver="ShowTip(event, 'tt20', 'link55')" onMouseOut="HideTip('tt20')">gdImagePaletteCopy</a> to do that.</p><p>Automatic optimization is activated by giving the previous image as a parameter.&nbsp; This function then compares the images and only writes the changed pixels to the new frame in animation.&nbsp; The <u>Disposal</u> parameter for optimized animations must be set to 1, also for the first frame.&nbsp; <u>LeftOfs</u> and <u>TopOfs</u> parameters are ignored for optimized frames.&nbsp; To achieve good optimization, it is usually best to use a single global color map.&nbsp; To allow <a href="#gdImageGifAnimAdd" class=LFunction id=link56 onMouseOver="ShowTip(event, 'tt9', 'link56')" onMouseOut="HideTip('tt9')">gdImageGifAnimAdd</a> to compress unchanged pixels via the use of a transparent color, the image must include a transparent color.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifAnimAddCtx" class=LFunction id=link57 onMouseOver="ShowTip(event, 'tt10', 'link57')" onMouseOut="HideTip('tt10')">gdImageGifAnimAddCtx</a> outputs its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link58 onMouseOver="ShowTip(event, 'tt4', 'link58')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifAnimAddPtr" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt8', 'link59')" onMouseOut="HideTip('tt8')">gdImageGifAnimAddPtr</a> outputs its data to a memory buffer which it returns.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to add.</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>The output FILE* being written.</td></tr><tr><td class=CDLEntry>LocalCM</td><td class=CDLDescription>Flag.&nbsp; If 1, use a local color map for this frame.</td></tr><tr><td class=CDLEntry>LeftOfs</td><td class=CDLDescription>Left offset of image in frame.</td></tr><tr><td class=CDLEntry>TopOfs</td><td class=CDLDescription>Top offset of image in frame.</td></tr><tr><td class=CDLEntry>Delay</td><td class=CDLDescription>Delay before next frame (in 1/100 seconds)</td></tr><tr><td class=CDLEntry>Disposal</td><td class=CDLDescription>MODE: How to treat this frame when the next one loads.</td></tr><tr><td class=CDLEntry>previm</td><td class=CDLDescription>NULL or a pointer to the previous image written.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">{
-gdImagePtr im, im2, im3;
-int black, white, trans;
-FILE *out;
-
-im = gdImageCreate(100, 100); // Create the image
-white = gdImageColorAllocate(im, 255, 255, 255); // Allocate background
-black = gdImageColorAllocate(im, 0, 0, 0); // Allocate drawing color
-trans = gdImageColorAllocate(im, 1, 1, 1); // trans clr for compression
-gdImageRectangle(im, 0, 0, 10, 10, black); // Draw rectangle
-
-out = fopen(&quot;anim.gif&quot;, &quot;wb&quot;);// Open output file in binary mode
-gdImageGifAnimBegin(im, out, 1, 3);// Write GIF hdr, global clr map,loops
-// Write the first frame. No local color map. Delay = 1s
-gdImageGifAnimAdd(im, out, 0, 0, 0, 100, 1, NULL);
-
-// construct the second frame
-im2 = gdImageCreate(100, 100);
-(void)gdImageColorAllocate(im2, 255, 255, 255); // White background
-gdImagePaletteCopy (im2, im); // Make sure the palette is identical
-gdImageRectangle(im2, 0, 0, 15, 15, black); // Draw something
-// Allow animation compression with transparent pixels
-gdImageColorTransparent (im2, trans);
-gdImageGifAnimAdd(im2, out, 0, 0, 0, 100, 1, im); // Add second frame
-
-// construct the third frame
-im3 = gdImageCreate(100, 100);
-(void)gdImageColorAllocate(im3, 255, 255, 255); // white background
-gdImagePaletteCopy (im3, im); // Make sure the palette is identical
-gdImageRectangle(im3, 0, 0, 15, 20, black); // Draw something
-// Allow animation compression with transparent pixels
-gdImageColorTransparent (im3, trans);
-// Add the third frame, compressing against the second one
-gdImageGifAnimAdd(im3, out, 0, 0, 0, 100, 1, im2);
-gdImageGifAnimEnd(out); // End marker, same as putc(';', out);
-fclose(out); // Close file
-
-// Destroy images
-gdImageDestroy(im);
-gdImageDestroy(im2);
-gdImageDestroy(im3);
-}</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimAddCtx"></a>gdImageGifAnimAddCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAddCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds an animation frame via a &lt;gdIOCtxPtr&gt;.&nbsp; See gdImageGifAnimAdd&gt;.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to add.</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>The output &lt;gdIOCtxPtr&gt;.</td></tr><tr><td class=CDLEntry>LocalCM</td><td class=CDLDescription>Flag.&nbsp; If 1, use a local color map for this frame.</td></tr><tr><td class=CDLEntry>LeftOfs</td><td class=CDLDescription>Left offset of image in frame.</td></tr><tr><td class=CDLEntry>TopOfs</td><td class=CDLDescription>Top offset of image in frame.</td></tr><tr><td class=CDLEntry>Delay</td><td class=CDLDescription>Delay before next frame (in 1/100 seconds)</td></tr><tr><td class=CDLEntry>Disposal</td><td class=CDLDescription>MODE: How to treat this frame when the next one loads.</td></tr><tr><td class=CDLEntry>previm</td><td class=CDLDescription>NULL or a pointer to the previous image written.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimEnd"></a>gdImageGifAnimEnd</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEnd(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Terminates the GIF file properly.</p><p>(Previous versions of this function&rsquo;s documentation suggested just manually writing a semicolon (&lsquo;;&rsquo;) instead since that is all this function does.&nbsp; While that has no longer changed, we now suggest that you do not do this and instead always call <a href="#gdImageGifAnimEnd" class=LFunction id=link60 onMouseOver="ShowTip(event, 'tt11', 'link60')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a> (or equivalent) since later versions could possibly do more or different things.)</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageGifAnimEndCtx" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt13', 'link61')" onMouseOut="HideTip('tt13')">gdImageGifAnimEndCtx</a> outputs its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link62 onMouseOver="ShowTip(event, 'tt4', 'link62')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageGifAnimEndPtr" class=LFunction id=link63 onMouseOver="ShowTip(event, 'tt12', 'link63')" onMouseOut="HideTip('tt12')">gdImageGifAnimEndPtr</a> outputs its data to a memory buffer which it returns.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>the destination FILE*.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimEndPtr"></a>gdImageGifAnimEndPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimEndPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link64 onMouseOver="ShowTip(event, 'tt11', 'link64')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a> (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</p><p>This memory must be freed by the caller when it is no longer needed.&nbsp; **The caller must invoke &lt;gdFree&gt;(), not free(),** unless the caller is absolutely certain that the same implementations of malloc, free, etc. are used both at library build time and at application build time (but don&rsquo;t; it could always change).</p><p>The &lsquo;size&rsquo; parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting buffer.</td></tr></table><h4 class=CHeading>Returns</h4><p>Pointer to the resulting data or NULL if an error occurred.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGifAnimEndCtx"></a>gdImageGifAnimEndCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEndCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Like <a href="#gdImageGifAnimEnd" class=LFunction id=link65 onMouseOver="ShowTip(event, 'tt11', 'link65')" onMouseOut="HideTip('tt11')">gdImageGifAnimEnd</a>, but writes its data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link66 onMouseOver="ShowTip(event, 'tt4', 'link66')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>out</td><td class=CDLDescription>the destination <a href="gd_io-h.html#gdIOCtx" class=LType id=link67 onMouseOver="ShowTip(event, 'tt4', 'link67')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile id=MSelected>GIF Output</div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageGif except that it returns a pointer to a memory area with the GIF data. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGif(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGif outputs the specified image to the specified file in GIF format. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes a GIF image via a gdIOCtx. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimBeginPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to a memory buffer. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBegin(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function must be called as the first function when creating a GIF animation. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBeginCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to gdIOCtx. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimAddPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimAdd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function writes GIF animation frames to GIF animation, which was initialized with gdImageGifAnimBegin. </div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAddCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds an animation frame via a gdIOCtxPtr. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEnd(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Terminates the GIF file properly.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimEndPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEndCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd, but writes its data via a gdIOCtx.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdFree (</td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ptr</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory that has been allocated by libgd functions.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreatePaletteFromTrueColor (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt16"><div class=CConstant>Preserve previous frame</div></div><div class=CToolTip id="tt17"><div class=CConstant>Not recommended</div></div><div class=CToolTip id="tt18"><div class=CConstant>First allocated color of palette</div></div><div class=CToolTip id="tt19"><div class=CConstant>Restore to before start of frame</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>from</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html
deleted file mode 100644
index e510fc616ff..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_interpolation-c.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd_interpolation.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_interpolation.c"></a>gd_interpolation.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_interpolation.c" >gd_interpolation.c</a></td><td class=SDescription></td></tr><tr class="SFunction SMarked"><td class=SEntry><a href="#gdImageScale" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageScale</a></td><td class=SDescription>Scale an image</td></tr><tr class="SFunction"><td class=SEntry><a href="#gdImageRotateInterpolated" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageRotateInterpolated</a></td><td class=SDescription>Rotate an image</td></tr><tr class="SGroup"><td class=SEntry><a href="#Affine_Transformation" >Affine Transformation</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdTransformAffineGetImage" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdTransformAffineGetImage</a></td><td class=SDescription>Applies an affine transformation to a region and return an image containing the complete transformation.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdTransformAffineCopy" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdTransformAffineCopy</a></td><td class=SDescription>Applies an affine transformation to a region and copy the result in a destination to the given position.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdTransformAffineBoundingBox" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdTransformAffineBoundingBox</a></td><td class=SDescription>Returns the bounding box of an affine transformation applied to a rectangular area <a href="gd-h.html#gdRect" class=LType id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gdRect</a></td></tr><tr class="SGroup"><td class=SEntry><a href="#Interpolation_Method" >Interpolation Method</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSetInterpolationMethod" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gdImageSetInterpolationMethod</a></td><td class=SDescription>Set the interpolation method for subsequent operations</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageGetInterpolationMethod" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">gdImageGetInterpolationMethod</a></td><td class=SDescription>Get the current interpolation method</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageScale"></a>gdImageScale</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_height</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Scale an image</p><p>Creates a new image, scaled to the requested size using the current <a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a>.</p><p>Note that GD_WEIGHTED4 is not yet supported by this function.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>new_width</td><td class=CDLDescription>The new width.</td></tr><tr><td class=CDLEntry>new_height</td><td class=CDLDescription>The new height.</td></tr></table><h4 class=CHeading>Returns</h4><p>The scaled image on success, NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageCopyResized" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">gdImageCopyResized</a></li><li><a href="gd-c.html#gdImageCopyResampled" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">gdImageCopyResampled</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageRotateInterpolated"></a>gdImageRotateInterpolated</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>bgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Rotate an image</p><p>Creates a new image, counter-clockwise rotated by the requested angle using the current <a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a>.&nbsp; Non-square angles will add a border with bgcolor.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>The source image.</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>The angle in degrees.</td></tr><tr><td class=CDLEntry>bgcolor</td><td class=CDLDescription>The color to fill the added background with.</td></tr></table><h4 class=CHeading>Returns</h4><p>The rotated image on success, NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageCopyRotated" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">gdImageCopyRotated</a></li></ul></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Affine_Transformation"></a>Affine Transformation</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdTransformAffineGetImage"></a>gdTransformAffineGetImage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineGetImage(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src_area,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Applies an affine transformation to a region and return an image containing the complete transformation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Pointer to a gdImagePtr to store the created image, NULL when the creation or the transformation failed</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>Source image</td></tr><tr><td class=CDLEntry>src_area</td><td class=CDLDescription>rectangle defining the source region to transform</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>Y position in the destination image</td></tr><tr><td class=CDLEntry>affine</td><td class=CDLDescription>The desired affine transformation</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdTransformAffineCopy"></a>gdTransformAffineCopy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineCopy(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src_region,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Applies an affine transformation to a region and copy the result in a destination to the given position.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Image to draw the transformed image</td></tr><tr><td class=CDLEntry>src</td><td class=CDLDescription>Source image</td></tr><tr><td class=CDLEntry>dstX</td><td class=CDLDescription>X position in the destination image</td></tr><tr><td class=CDLEntry>dstY</td><td class=CDLDescription>Y position in the destination image</td></tr><tr><td class=CDLEntry>src_area</td><td class=CDLDescription>Rectangular region to rotate in the src image</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdTransformAffineBoundingBox"></a>gdTransformAffineBoundingBox</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineBoundingBox(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>bbox</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the bounding box of an affine transformation applied to a rectangular area <a href="gd-h.html#gdRect" class=LType id=link12 onMouseOver="ShowTip(event, 'tt6', 'link12')" onMouseOut="HideTip('tt6')">gdRect</a></p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>src</td><td class=CDLDescription>Rectangular source area for the affine transformation</td></tr><tr><td class=CDLEntry>affine</td><td class=CDLDescription>the affine transformation</td></tr><tr><td class=CDLEntry>bbox</td><td class=CDLDescription>the resulting bounding box</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Interpolation_Method"></a>Interpolation Method</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSetInterpolationMethod"></a>gdImageSetInterpolationMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdInterpolationMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>id</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the interpolation method for subsequent operations</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>id</td><td class=CDLDescription>The interpolation method.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero on success, zero on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a></li><li><a href="#gdImageGetInterpolationMethod" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">gdImageGetInterpolationMethod</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageGetInterpolationMethod"></a>gdImageGetInterpolationMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Get the current interpolation method</p><p>This is here so that the value can be read via a language or VM with an FFI but no (portable) way to extract the value from the struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>Returns</h4><p>The current interpolation method.</p><h4 class=CHeading>See also</h4><ul><li><a href="gd-h.html#gdInterpolationMethod" class=LConstant >gdInterpolationMethod</a></li><li><a href="#gdImageSetInterpolationMethod" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt7', 'link14')" onMouseOut="HideTip('tt7')">gdImageSetInterpolationMethod</a></li></ul></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_interpolation.c</div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_height</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Scale an image</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>bgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Rotate an image</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineGetImage(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src_area,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and return an image containing the complete transformation.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineCopy(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src_region,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and copy the result in a destination to the given position.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineBoundingBox(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>bbox</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the bounding box of an affine transformation applied to a rectangular area gdRect</div></div><div class=CToolTip id="tt6"><div class=CType>A rectangle in the coordinate space of the image</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdInterpolationMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>id</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the interpolation method for subsequent operations</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Get the current interpolation method</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resized area from an image to another image</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resampled area from an image to another image</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a rotated area from an image to another image</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html
deleted file mode 100644
index 3e38bde0431..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io-h.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd_io.h</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_io.h"></a>gd_io.h</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_io.h" >gd_io.h</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Types" >Types</a></td><td class=SDescription></td></tr><tr class="SType SIndent1 SMarked"><td class=SEntry><a href="#gdIOCtx" >gdIOCtx</a></td><td class=SDescription>gdIOCtx structures hold function pointers for doing image IO.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Types"></a>Types</h3></div></div>
-
-<div class="CType"><div class=CTopic><h3 class=CTitle><a name="gdIOCtx"></a>gdIOCtx</h3><div class=CBody><p>gdIOCtx structures hold function pointers for doing image IO.</p><p>Most of the gd functions that read and write files, such as <a href="gd_png-c.html#gdImagePng" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImagePng</a> also have variants that accept a <a href="#gdIOCtx" class=LType id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdIOCtx</a> structure; see <a href="gd_png-c.html#gdImagePngCtx" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImagePngCtx</a> and <a href="gd_jpeg-c.html#gdImageCreateFromJpegCtx" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageCreateFromJpegCtx</a>.</p><p>Those who wish to provide their own custom routines to read and write images can populate a gdIOCtx structure with functions of their own devising to to read and write data.&nbsp; For image reading, the only mandatory functions are getC and getBuf, which must return the number of characters actually read, or a negative value on error or EOF.&nbsp; These functions must read the number of characters requested unless at the end of the file.</p><p>For image writing, the only mandatory functions are putC and putBuf, which return the number of characters written; these functions must write the number of characters requested except in the event of an error.&nbsp; The seek and tell functions are only required in conjunction with the gd2 file format, which supports quick loading of partial images.&nbsp; The gd_free function will not be invoked when calling the standard Ctx functions; it is an implementation convenience when adding new data types to gd.&nbsp; For examples, see gd_png.c, gd_gd2.c, gd_jpeg.c, etc., all of which rely on gdIOCtx to implement the standard image read and write functions.</p><blockquote><pre>typedef struct gdIOCtx
-{
- int (*getC) (struct gdIOCtx *);
- int (*getBuf) (struct gdIOCtx *, void *, int wanted);
-
- void (*putC) (struct gdIOCtx *, int);
- int (*putBuf) (struct gdIOCtx *, const void *, int wanted);
-
- // seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
- int (*seek) (struct gdIOCtx *, const int);
- long (*tell) (struct gdIOCtx *);
-
- void (*gd_free) (struct gdIOCtx *);
-} gdIOCtx;</pre></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_io.h</div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePng (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngEx with compression of -1.</div></div><div class=CToolTip id="tt2"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngCtxEx with compression of -1. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html
deleted file mode 100644
index 49f4a205f9a..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_dp-c.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd_io_dp.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_io_dp.c"></a>gd_io_dp.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_io_dp.c" >gd_io_dp.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdNewDynamicCtx" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdNewDynamicCtx</a></td><td class=SDescription>Return data as a dynamic pointer.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdNewDynamicCtxEx" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdNewDynamicCtxEx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdDPExtractData" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdDPExtractData</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdNewDynamicCtx"></a>gdNewDynamicCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Return data as a dynamic pointer.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdNewDynamicCtxEx"></a>gdNewDynamicCtxEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtxEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>freeOKFlag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdDPExtractData"></a>gdDPExtractData</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdDPExtractData (</td><td class="PTypePrefix prettyprint " nowrap>struct&nbsp;</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_io_dp.c</div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtxEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>freeOKFlag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdDPExtractData (</td><td class="PTypePrefix prettyprint " nowrap>struct&nbsp;</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html
deleted file mode 100644
index c7359e5f8be..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_file-c.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdNewFileCtx</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdNewFileCtx"></a>gdNewFileCtx</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewFileCtx(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>f</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Return data as a dynamic pointer.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdNewFileCtx</div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html
deleted file mode 100644
index 5eb71e57b6e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_io_ss-c.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdNewSSCtx</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdNewSSCtx"></a>gdNewSSCtx</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewSSCtx(</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>snk</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Return data as a dynamic pointer.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdNewSSCtx</div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html
deleted file mode 100644
index 64b571c2488..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_jpeg-c.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JPEG IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="JPEG_IO"></a>JPEG IO</h1><div class=CBody><p>Read and write JPEG images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#JPEG_IO" >JPEG IO</a></td><td class=SDescription>Read and write JPEG images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageJpeg" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageJpeg</a></td><td class=SDescription><a href="#gdImageJpeg" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> outputs the specified image to the specified file in JPEG format. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageJpegPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageJpegPtr</a></td><td class=SDescription>Identical to <a href="#gdImageJpeg" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> except that it returns a pointer to a memory area with the JPEG data. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageJpegCtx" id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageJpegCtx</a></td><td class=SDescription>Write the image as JPEG data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">gdIOCtx</a>. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromJpeg" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a></td><td class=SDescription>See <a href="#gdImageCreateFromJpegEx" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromJpegEx" id=link9 onMouseOver="ShowTip(event, 'tt6', 'link9')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a></td><td class=SDescription><a href="#gdImageCreateFromJpegEx" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt6', 'link10')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> is called to load truecolor images from JPEG format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromJpegPtr" id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">gdImageCreateFromJpegPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromJpegPtrEx" id=link12 onMouseOver="ShowTip(event, 'tt8', 'link12')" onMouseOut="HideTip('tt8')">gdImageCreateFromJpegPtrEx</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromJpegCtx" id=link13 onMouseOver="ShowTip(event, 'tt9', 'link13')" onMouseOut="HideTip('tt9')">gdImageCreateFromJpegCtx</a></td><td class=SDescription>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt5', 'link14')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromJpegCtxEx" id=link15 onMouseOver="ShowTip(event, 'tt10', 'link15')" onMouseOut="HideTip('tt10')">gdImageCreateFromJpegCtxEx</a></td><td class=SDescription>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt5', 'link16')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageJpeg"></a>gdImageJpeg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpeg(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageJpeg" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> outputs the specified image to the specified file in JPEG format.&nbsp; The file must be open for writing.&nbsp; Under MSDOS and all versions of Windows, it is important to use &ldquo;wb&rdquo; as opposed to simply &ldquo;w&rdquo; as the mode when opening the file, and under Unix there is no penalty for doing so.&nbsp; <a href="#gdImageJpeg" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt1', 'link18')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> does not close the file; your code must do so.</p><p>If <u>quality</u> is negative, the default IJG JPEG quality value (which should yield a good general quality / size tradeoff for most situations) is used.&nbsp; Otherwise, for practical purposes, <u>quality</u> should be a value in the range 0-95, higher quality values usually implying both higher quality and larger image sizes.</p><p>If you have set image interlacing using <a href="gd-c.html#gdImageInterlace" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt11', 'link19')" onMouseOut="HideTip('tt11')">gdImageInterlace</a>, this function will interpret that to mean you wish to output a progressive JPEG.&nbsp; Some programs (e.g., Web browsers) can display progressive JPEGs incrementally; this can be useful when browsing over a relatively slow communications link, for example.&nbsp; Progressive JPEGs can also be slightly smaller than sequential (non-progressive) JPEGs.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageJpegCtx" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt3', 'link20')" onMouseOut="HideTip('tt3')">gdImageJpegCtx</a> stores the image using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link21 onMouseOver="ShowTip(event, 'tt4', 'link21')" onMouseOut="HideTip('tt4')">gdIOCtx</a> struct.</p><p><a href="#gdImageJpegPtr" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt2', 'link22')" onMouseOut="HideTip('tt2')">gdImageJpegPtr</a> stores the image to RAM.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to save</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>The FILE pointer to write to.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Compression quality (0-95, 0 means use the default).</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-int black, white;
-FILE *out;
-// Create the image
-im = gdImageCreate(100, 100);
-// Allocate background
-white = gdImageColorAllocate(im, 255, 255, 255);
-// Allocate drawing color
-black = gdImageColorAllocate(im, 0, 0, 0);
-// Draw rectangle
-gdImageRectangle(im, 0, 0, 99, 99, black);
-// Open output file in binary mode
-out = fopen(&quot;rect.jpg&quot;, &quot;wb&quot;);
-// Write JPEG using default quality
-gdImageJpeg(im, out, -1);
-// Close file
-fclose(out);
-// Destroy image
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageJpegPtr"></a>gdImageJpegPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageJpegPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Identical to <a href="#gdImageJpeg" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt1', 'link23')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> except that it returns a pointer to a memory area with the JPEG data.&nbsp; This memory must be freed by the caller when it is no longer needed.</p><p>The caller <b>must</b> invoke <a href="gdhelpers-c.html#gdFree" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt12', 'link24')" onMouseOut="HideTip('tt12')">gdFree</a>, not free().&nbsp; This is because it is not guaranteed that libgd will use the same implementation of malloc, free, etc. as your proggram.</p><p>The &lsquo;size&rsquo; parameter receives the total size of the block of memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: the size of the resulting image.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Compression quality.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the JPEG data or NULL if an error occurred.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageJpegCtx"></a>gdImageJpegCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpegCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Write the image as JPEG data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link25 onMouseOver="ShowTip(event, 'tt4', 'link25')" onMouseOut="HideTip('tt4')">gdIOCtx</a>.&nbsp; See <a href="#gdImageJpeg" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt1', 'link26')" onMouseOut="HideTip('tt1')">gdImageJpeg</a> for more details.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write.</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>The output sink.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Image quality.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpeg"></a>gdImageCreateFromJpeg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpeg(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromJpegEx" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt6', 'link27')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegEx"></a>gdImageCreateFromJpegEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegEx(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromJpegEx" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt6', 'link28')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> is called to load truecolor images from JPEG format files.&nbsp; Invoke <a href="#gdImageCreateFromJpegEx" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt6', 'link29')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> with an already opened pointer to a file containing the desired image.&nbsp; <a href="#gdImageCreateFromJpegEx" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt6', 'link30')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link31 onMouseOver="ShowTip(event, 'tt13', 'link31')" onMouseOut="HideTip('tt13')">gdImagePtr</a> to the new truecolor image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a JPEG image).&nbsp; <a href="#gdImageCreateFromJpegEx" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt6', 'link32')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a> does not close the file.</p><p>You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt14', 'link33')" onMouseOut="HideTip('tt14')">gdImageDestroy</a>.</p><p><b>The returned image is always a truecolor image.</b></p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromJpegPtrEx" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt8', 'link34')" onMouseOut="HideTip('tt8')">gdImageCreateFromJpegPtrEx</a> creates an image from JPEG data already in memory.</p><p><a href="#gdImageCreateFromJpegCtxEx" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt10', 'link35')" onMouseOut="HideTip('tt10')">gdImageCreateFromJpegCtxEx</a> reads its data via the function pointers in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link36 onMouseOver="ShowTip(event, 'tt4', 'link36')" onMouseOut="HideTip('tt4')">gdIOCtx</a> structure.</p><p><a href="#gdImageCreateFromJpeg" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt5', 'link37')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>, <a href="#gdImageCreateFromJpegPtr" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt7', 'link38')" onMouseOut="HideTip('tt7')">gdImageCreateFromJpegPtr</a> and <a href="#gdImageCreateFromJpegCtx" class=LFunction id=link39 onMouseOver="ShowTip(event, 'tt9', 'link39')" onMouseOut="HideTip('tt9')">gdImageCreateFromJpegCtx</a> are equivalent to calling their <u>Ex</u>-named counterparts with an ignore_warning set to 1 (i.e.&nbsp; TRUE).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer.</td></tr><tr><td class=CDLEntry>ignore_warning</td><td class=CDLDescription>Flag.&nbsp; If true, ignores recoverable warnings.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new <b>truecolor</b> image.&nbsp; This will need to be destroyed with <a href="gd-c.html#gdImageDestroy" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt14', 'link40')" onMouseOut="HideTip('tt14')">gdImageDestroy</a> once it is no longer needed.</p><p>On error, returns NULL.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-FILE *in;
-in = fopen(&quot;myjpeg.jpg&quot;, &quot;rb&quot;);
-im = gdImageCreateFromJpegEx(in, GD_TRUE);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegPtr"></a>gdImageCreateFromJpegPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of JPEG data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to JPEG data.</td></tr></table><p>See <a href="#gdImageCreateFromJpegEx" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt6', 'link41')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegPtrEx"></a>gdImageCreateFromJpegPtrEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtrEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of JPEG data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to JPEG data.</td></tr><tr><td class=CDLEntry>ignore_warning</td><td class=CDLDescription>if true, ignore recoverable warnings</td></tr></table><p>See <a href="#gdImageCreateFromJpegEx" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt6', 'link42')" onMouseOut="HideTip('tt6')">gdImageCreateFromJpegEx</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegCtx"></a>gdImageCreateFromJpegCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link43 onMouseOver="ShowTip(event, 'tt5', 'link43')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromJpegCtxEx"></a>gdImageCreateFromJpegCtxEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtxEx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromJpeg" class=LFunction id=link44 onMouseOver="ShowTip(event, 'tt5', 'link44')" onMouseOut="HideTip('tt5')">gdImageCreateFromJpeg</a>.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile id=MSelected>JPEG IO</div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpeg(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageJpeg outputs the specified image to the specified file in JPEG format. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageJpegPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageJpeg except that it returns a pointer to a memory area with the JPEG data. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpegCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as JPEG data via a gdIOCtx. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpeg(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpegEx.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegEx(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromJpegEx is called to load truecolor images from JPEG format files. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtrEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtxEx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageInterlace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdFree (</td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ptr</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory that has been allocated by libgd functions.</div></div><div class=CToolTip id="tt13"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html
deleted file mode 100644
index db4e2792000..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_matrix-c.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Matrix</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Matrix"></a>Matrix</h1><div class=CBody><p>Group: Affine Matrix</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Matrix" >Matrix</a></td><td class=SDescription>Group: Affine Matrix</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineApplyToPointF" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdAffineApplyToPointF</a></td><td class=SDescription>Applies an affine transformation to a point (floating point gdPointF)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineInvert" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdAffineInvert</a></td><td class=SDescription>Find the inverse of an affine transformation.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineFlip" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdAffineFlip</a></td><td class=SDescription>Flip an affine transformation horizontally or vertically.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineConcat" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdAffineConcat</a></td><td class=SDescription>Concat (Multiply) two affine transformation matrices.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineIdentity" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdAffineIdentity</a></td><td class=SDescription>Set up the identity matrix.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineScale" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">gdAffineScale</a></td><td class=SDescription>Set up a scaling matrix.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineRotate" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">gdAffineRotate</a></td><td class=SDescription>Set up a rotation affine transform.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineShearHorizontal" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">gdAffineShearHorizontal</a></td><td class=SDescription>Set up a horizontal shearing matrix || becomes \\.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineShearVertical" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">gdAffineShearVertical</a></td><td class=SDescription>Set up a vertical shearing matrix, columns are untouched.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineTranslate" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">gdAffineTranslate</a></td><td class=SDescription>Set up a translation matrix.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#gdAffineRectilinear" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">gdAffineRectilinear</a></td><td class=SDescription>Determines whether the affine transformation is axis aligned. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#gdAffineEqual" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">gdAffineEqual</a></td><td class=SDescription>Determines whether two affine transformations are equal. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineApplyToPointF"></a>gdAffineApplyToPointF</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineApplyToPointF (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Applies an affine transformation to a point (floating point gdPointF)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting point</td></tr><tr><td class=CDLEntry>affine</td><td class=CDLDescription>Source Point</td></tr><tr><td class=CDLEntry>flip_horz</td><td class=CDLDescription>affine matrix</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineInvert"></a>gdAffineInvert</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineInvert (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Find the inverse of an affine transformation.</p><p>All non-degenerate affine transforms are invertible.&nbsp; Applying the inverted matrix will restore the original values.&nbsp; Multiplying &lt;src&gt; by &lt;dst&gt; (commutative) will return the identity affine (rounding error possible).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>src_affine</td><td class=CDLDescription>Original affine matrix</td></tr><tr><td class=CDLEntry>flip_horz</td><td class=CDLDescription>Whether or not to flip horizontally</td></tr><tr><td class=CDLEntry>flip_vert</td><td class=CDLDescription>Whether or not to flip vertically</td></tr></table><h4 class=CHeading>See also</h4><p><a href="#gdAffineIdentity" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt5', 'link13')" onMouseOut="HideTip('tt5')">gdAffineIdentity</a></p><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineFlip"></a>gdAffineFlip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineFlip (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_h,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_v</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Flip an affine transformation horizontally or vertically.</p><p>Flips the affine transform, giving GD_FALSE for &lt;flip_horz&gt; and &lt;flip_vert&gt; will clone the affine matrix.&nbsp; GD_TRUE for both will copy a 180° rotation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>src_affine</td><td class=CDLDescription>Original affine matrix</td></tr><tr><td class=CDLEntry>flip_h</td><td class=CDLDescription>Whether or not to flip horizontally</td></tr><tr><td class=CDLEntry>flip_v</td><td class=CDLDescription>Whether or not to flip vertically</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineConcat"></a>gdAffineConcat</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineConcat (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Concat (Multiply) two affine transformation matrices.</p><p>Concats two affine transforms together, i.e. the result will be the equivalent of doing first the transformation m1 and then m2.&nbsp; All parameters can be the same matrix (safe to call using the same array for all three arguments).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>m1</td><td class=CDLDescription>First affine matrix</td></tr><tr><td class=CDLEntry>m2</td><td class=CDLDescription>Second affine matrix</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineIdentity"></a>gdAffineIdentity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineIdentity (</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up the identity matrix.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineScale"></a>gdAffineScale</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineScale (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a scaling matrix.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>scale_x</td><td class=CDLDescription>X scale factor</td></tr><tr><td class=CDLEntry>scale_y</td><td class=CDLDescription>Y scale factor</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineRotate"></a>gdAffineRotate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRotate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a rotation affine transform.</p><p>Like the other angle in libGD, in which increasing y moves downward, this is a counterclockwise rotation.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>Rotation angle in degrees</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineShearHorizontal"></a>gdAffineShearHorizontal</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearHorizontal(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a horizontal shearing matrix || becomes \\.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>Shear angle in degrees</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineShearVertical"></a>gdAffineShearVertical</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearVertical(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a vertical shearing matrix, columns are untouched.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>Shear angle in degrees</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineTranslate"></a>gdAffineTranslate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineTranslate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up a translation matrix.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>dst</td><td class=CDLDescription>Where to store the resulting affine transform</td></tr><tr><td class=CDLEntry>offset_x</td><td class=CDLDescription>Horizontal translation amount</td></tr><tr><td class=CDLEntry>offset_y</td><td class=CDLDescription>Vertical translation amount</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineRectilinear"></a>gdAffineRectilinear</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRectilinear (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Determines whether the affine transformation is axis aligned.&nbsp; A tolerance has been implemented using GD_EPSILON.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>m</td><td class=CDLDescription>The affine transformation</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE if the affine is rectilinear or GD_FALSE</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdAffineEqual"></a>gdAffineEqual</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineEqual (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Determines whether two affine transformations are equal.&nbsp; A tolerance has been implemented using GD_EPSILON.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>m1</td><td class=CDLDescription>The first affine transformation</td></tr><tr><td class=CDLEntry>m2</td><td class=CDLDescription>The first affine transformation</td></tr></table><h4 class=CHeading>Returns</h4><p>GD_TRUE on success or GD_FALSE</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile id=MSelected>Matrix</div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineApplyToPointF (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a point (floating point gdPointF)</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineInvert (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Find the inverse of an affine transformation.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineFlip (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_h,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_v</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an affine transformation horizontally or vertically.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineConcat (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Concat (Multiply) two affine transformation matrices.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineIdentity (</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up the identity matrix.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineScale (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a scaling matrix.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRotate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a rotation affine transform.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearHorizontal(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a horizontal shearing matrix || becomes \\.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearVertical(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a vertical shearing matrix, columns are untouched.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineTranslate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a translation matrix.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRectilinear (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether the affine transformation is axis aligned. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineEqual (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether two affine transformations are equal. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html
deleted file mode 100644
index ce237974559..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_nnquant-c.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdImageNeuQuant</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdImageNeuQuant"></a>gdImageNeuQuant</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageNeuQuant(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sample_factor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a new palette image from a truecolor image</p><p>This is the same as calling <a href="gd_topal-c.html#gdImageCreatePaletteFromTrueColor" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreatePaletteFromTrueColor</a> with the quantization method <a href="gd-h.html#GD_QUANT_NEUQUANT" class=LConstant id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">GD_QUANT_NEUQUANT</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>max_color</td><td class=CDLDescription>The number of desired palette entries.</td></tr><tr><td class=CDLEntry>sample_factor</td><td class=CDLDescription>The quantization precision between 1 (highest quality) and 10 (fastest).</td></tr></table><h4 class=CHeading>Returns</h4><p>A newly create palette image; NULL on failure.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdImageNeuQuant</div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreatePaletteFromTrueColor (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt2"><div class=CConstant>NeuQuant - approximation using Kohonen neural network.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_png-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_png-c.html
deleted file mode 100644
index c40669e3a49..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_png-c.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>PNG IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="PNG_IO"></a>PNG IO</h1><div class=CBody><p>Read and write PNG images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#PNG_IO" >PNG IO</a></td><td class=SDescription>Read and write PNG images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromPng" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a></td><td class=SDescription><a href="#gdImageCreateFromPng" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a> is called to load images from PNG format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromPngPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromPngPtr</a></td><td class=SDescription>See <a href="#gdImageCreateFromPng" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromPngCtx" id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageCreateFromPngCtx</a></td><td class=SDescription>See <a href="#gdImageCreateFromPng" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImagePngEx" id=link7 onMouseOver="ShowTip(event, 'tt4', 'link7')" onMouseOut="HideTip('tt4')">gdImagePngEx</a></td><td class=SDescription><a href="#gdImagePngEx" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt4', 'link8')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> outputs the specified image to the specified file in PNG format. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePng" id=link9 onMouseOver="ShowTip(event, 'tt5', 'link9')" onMouseOut="HideTip('tt5')">gdImagePng</a></td><td class=SDescription>Equivalent to calling <a href="#gdImagePngEx" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt4', 'link10')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> with compression of -1.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImagePngPtr" id=link11 onMouseOver="ShowTip(event, 'tt6', 'link11')" onMouseOut="HideTip('tt6')">gdImagePngPtr</a></td><td class=SDescription>Equivalent to calling <a href="#gdImagePngPtrEx" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt7', 'link12')" onMouseOut="HideTip('tt7')">gdImagePngPtrEx</a> with compression of -1.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePngPtrEx" id=link13 onMouseOver="ShowTip(event, 'tt7', 'link13')" onMouseOut="HideTip('tt7')">gdImagePngPtrEx</a></td><td class=SDescription>Identical to <a href="#gdImagePngEx" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt4', 'link14')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> except that it returns a pointer to a memory area with the PNG data. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImagePngCtx" id=link15 onMouseOver="ShowTip(event, 'tt8', 'link15')" onMouseOut="HideTip('tt8')">gdImagePngCtx</a></td><td class=SDescription>Equivalent to calling <a href="#gdImagePngCtxEx" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt9', 'link16')" onMouseOut="HideTip('tt9')">gdImagePngCtxEx</a> with compression of -1. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePngCtxEx" id=link17 onMouseOver="ShowTip(event, 'tt9', 'link17')" onMouseOut="HideTip('tt9')">gdImagePngCtxEx</a></td><td class=SDescription>Outputs the given image as PNG data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link18 onMouseOver="ShowTip(event, 'tt10', 'link18')" onMouseOut="HideTip('tt10')">gdIOCtx</a> instead of a file. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromPng"></a>gdImageCreateFromPng</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPng (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromPng" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt1', 'link19')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a> is called to load images from PNG format files.&nbsp; Invoke <a href="#gdImageCreateFromPng" class=LFunction id=link20 onMouseOver="ShowTip(event, 'tt1', 'link20')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a> with an already opened pointer to a FILE containing the desired image.&nbsp; <a href="#gdImageCreateFromPng" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt1', 'link21')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link22 onMouseOver="ShowTip(event, 'tt11', 'link22')" onMouseOut="HideTip('tt11')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a PNG image).&nbsp; <a href="#gdImageCreateFromPng" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt1', 'link23')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a> does not close the file.&nbsp; You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using gdImageDestroy().</p><p>If the PNG image being loaded is a truecolor image, the resulting gdImagePtr will refer to a truecolor image.&nbsp; If the PNG image being loaded is a palette or grayscale image, the resulting gdImagePtr will refer to a palette image. gd retains only 8 bits of resolution for each of the red, green and blue channels, and only 7 bits of resolution for the alpha channel.&nbsp; The former restriction affects only a handful of very rare 48-bit color and 16-bit grayscale PNG images.&nbsp; The second restriction affects all semitransparent PNG images, but the difference is essentially invisible to the eye.&nbsp; 7 bits of alpha channel resolution is, in practice, quite a lot.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromPngPtr" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt2', 'link24')" onMouseOut="HideTip('tt2')">gdImageCreateFromPngPtr</a> creates an image from PNG data (i.e. the contents of a PNG file) already in memory.</p><p><a href="#gdImageCreateFromPngCtx" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt3', 'link25')" onMouseOut="HideTip('tt3')">gdImageCreateFromPngCtx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link26 onMouseOver="ShowTip(event, 'tt10', 'link26')" onMouseOut="HideTip('tt10')">gdIOCtx</a> struct.</p><p><a href="gd_ss-c.html#gdImageCreateFromPngSource" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt12', 'link27')" onMouseOut="HideTip('tt12')">gdImageCreateFromPngSource</a> is similar to <a href="#gdImageCreateFromPngCtx" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt3', 'link28')" onMouseOut="HideTip('tt3')">gdImageCreateFromPngCtx</a> but uses the old <a href="gd-h.html#gdSource" class=LType >gdSource</a> interface.&nbsp; It is <b>obsolete</b>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-... inside a function ...
-FILE *in;
-in = fopen(&quot;mypng.png&quot;, &quot;rb&quot;);
-im = gdImageCreateFromPng(in);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromPngPtr"></a>gdImageCreateFromPngPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromPng" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt1', 'link29')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromPngCtx"></a>gdImageCreateFromPngCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromPng" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt1', 'link30')" onMouseOut="HideTip('tt1')">gdImageCreateFromPng</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePngEx"></a>gdImagePngEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImagePngEx" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt4', 'link31')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> outputs the specified image to the specified file in PNG format.&nbsp; The file must be open for writing.&nbsp; Under MSDOS and all versions of Windows, it is important to use &ldquo;wb&rdquo; as opposed to simply &ldquo;w&rdquo; as the mode when opening the file, and under Unix there is no penalty for doing so.&nbsp; <a href="#gdImagePngEx" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt4', 'link32')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> does not close the file; your code must do so.</p><p>In addition, <a href="#gdImagePngEx" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt4', 'link33')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> allows the level of compression to be specified.&nbsp; A compression level of 0 means &ldquo;no compression.&rdquo;&nbsp; A compression level of 1 means &ldquo;compressed, but as quickly as possible.&rdquo;&nbsp; A compression level of 9 means &ldquo;compressed as much as possible to produce the smallest possible file.&rdquo;&nbsp; A compression level of -1 will use the default compression level at the time zlib was compiled on your system.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImagePng" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt5', 'link34')" onMouseOut="HideTip('tt5')">gdImagePng</a> is equivalent to calling <a href="#gdImagePngEx" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt4', 'link35')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> with compression of -1.</p><p><a href="#gdImagePngCtx" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt8', 'link36')" onMouseOut="HideTip('tt8')">gdImagePngCtx</a> and <a href="#gdImagePngCtxEx" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt9', 'link37')" onMouseOut="HideTip('tt9')">gdImagePngCtxEx</a> write via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link38 onMouseOver="ShowTip(event, 'tt10', 'link38')" onMouseOut="HideTip('tt10')">gdIOCtx</a> instead of a file handle.</p><p><a href="#gdImagePngPtr" class=LFunction id=link39 onMouseOver="ShowTip(event, 'tt6', 'link39')" onMouseOut="HideTip('tt6')">gdImagePngPtr</a> and <a href="#gdImagePngPtrEx" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt7', 'link40')" onMouseOut="HideTip('tt7')">gdImagePngPtrEx</a> store the image file to memory.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to write</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>the output FILE* object.</td></tr><tr><td class=CDLEntry>level</td><td class=CDLDescription>compression level: 0 -&gt; none, 1-9 -&gt; level, -1 -&gt; default</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-int black, white;
-FILE *out;
-
-im = gdImageCreate(100, 100); // Create the image
-white = gdImageColorAllocate(im, 255, 255, 255); // Alloc background
-black = gdImageColorAllocate(im, 0, 0, 0); // Allocate drawing color
-gdImageRectangle(im, 0, 0, 99, 99, black); // Draw rectangle
-out = fopen(&quot;rect.png&quot;, &quot;wb&quot;); // Open output file (binary)
-gdImagePngEx(im, out, 9); // Write PNG, max compression
-fclose(out); // Close file
-gdImageDestroy(im); // Destroy image</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePng"></a>gdImagePng</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePng (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Equivalent to calling <a href="#gdImagePngEx" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt4', 'link41')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> with compression of -1.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>the output FILE*.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePngPtr"></a>gdImagePngPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Equivalent to calling <a href="#gdImagePngPtrEx" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt7', 'link42')" onMouseOut="HideTip('tt7')">gdImagePngPtrEx</a> with compression of -1.</p><p>See <a href="#gdImagePngEx" class=LFunction id=link43 onMouseOver="ShowTip(event, 'tt4', 'link43')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> for more information.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: size in bytes of the result.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to memory containing the image data or NULL on error.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePngPtrEx"></a>gdImagePngPtrEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Identical to <a href="#gdImagePngEx" class=LFunction id=link44 onMouseOver="ShowTip(event, 'tt4', 'link44')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> except that it returns a pointer to a memory area with the PNG data.&nbsp; This memory must be freed by the caller when it is no longer needed.&nbsp; **The caller must invoke gdFree(), not free()**</p><p>The &lsquo;size&rsquo; parameter receives the total size of the block of memory.</p><p>See <a href="#gdImagePngEx" class=LFunction id=link45 onMouseOver="ShowTip(event, 'tt4', 'link45')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> for more information.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>Output: size in bytes of the result.</td></tr><tr><td class=CDLEntry>level</td><td class=CDLDescription>compression level: 0 -&gt; none, 1-9 -&gt; level, -1 -&gt; default</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to memory containing the image data or NULL on error.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePngCtx"></a>gdImagePngCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Equivalent to calling <a href="#gdImagePngCtxEx" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt9', 'link46')" onMouseOut="HideTip('tt9')">gdImagePngCtxEx</a> with compression of -1.&nbsp; See <a href="#gdImagePngEx" class=LFunction id=link47 onMouseOver="ShowTip(event, 'tt4', 'link47')" onMouseOut="HideTip('tt4')">gdImagePngEx</a> for more information.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>the <a href="gd_io-h.html#gdIOCtx" class=LType id=link48 onMouseOver="ShowTip(event, 'tt10', 'link48')" onMouseOut="HideTip('tt10')">gdIOCtx</a> to write to.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePngCtxEx"></a>gdImagePngCtxEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtxEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Outputs the given image as PNG data, but using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link49 onMouseOver="ShowTip(event, 'tt10', 'link49')" onMouseOut="HideTip('tt10')">gdIOCtx</a> instead of a file.&nbsp; See &lt;gdIamgePnEx&gt;.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>the image to save.</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>the <a href="gd_io-h.html#gdIOCtx" class=LType id=link50 onMouseOver="ShowTip(event, 'tt10', 'link50')" onMouseOut="HideTip('tt10')">gdIOCtx</a> to write to.</td></tr><tr><td class=CDLEntry>level</td><td class=CDLDescription>compression level: 0 -&gt; none, 1-9 -&gt; level, -1 -&gt; default</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>PNG IO</div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPng (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromPng is called to load images from PNG format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImagePngEx outputs the specified image to the specified file in PNG format. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePng (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngEx with compression of -1.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngPtrEx with compression of -1.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImagePngEx except that it returns a pointer to a memory area with the PNG data. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngCtxEx with compression of -1. </div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtxEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as PNG data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt10"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt11"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngSource (</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>inSource</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng for documentation. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_ss-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_ss-c.html
deleted file mode 100644
index 1d9b38f1b3d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_ss-c.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd_ss.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_ss.c"></a>gd_ss.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_ss.c" >gd_ss.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImagePngToSink" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImagePngToSink</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromPngSource" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCreateFromPngSource</a></td><td class=SDescription>See <a href="gd_png-c.html#gdImageCreateFromPng" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCreateFromPng</a> for documentation. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImagePngToSink"></a>gdImagePngToSink</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngToSink (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>outSink</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromPngSource"></a>gdImageCreateFromPngSource</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngSource (</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>inSource</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="gd_png-c.html#gdImageCreateFromPng" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">gdImageCreateFromPng</a> for documentation.&nbsp; This is obsolete; use <a href="gd_png-c.html#gdImageCreateFromPngCtx" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdImageCreateFromPngCtx</a> instead.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_ss.c</div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngToSink (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>outSink</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngSource (</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>inSource</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng for documentation. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPng (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromPng is called to load images from PNG format files. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tga-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tga-c.html
deleted file mode 100644
index 919b92b6f58..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tga-c.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>TGA Input</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="TGA_Input"></a>TGA Input</h1><div class=CBody><p>Read TGA images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#TGA_Input" >TGA Input</a></td><td class=SDescription>Read TGA images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromTga" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromTga</a></td><td class=SDescription>Creates a gdImage from a TGA file</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromTgaPtr" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCreateFromTgaPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromTgaCtx" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCreateFromTgaCtx</a></td><td class=SDescription>Creates a gdImage from a gdIOCtx referencing a TGA binary file.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromTga"></a>gdImageCreateFromTga</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTga(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fp</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a gdImage from a TGA file</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>Pointer to TGA binary file</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromTgaPtr"></a>gdImageCreateFromTgaPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromTgaCtx"></a>gdImageCreateFromTgaCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a gdImage from a gdIOCtx referencing a TGA binary file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>ctx</td><td class=CDLDescription>Pointer to a gdIOCtx structure</td></tr></table></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>TGA Input</div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTga(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fp</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a gdImage from a TGA file</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a gdImage from a gdIOCtx referencing a TGA binary file.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tiff-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tiff-c.html
deleted file mode 100644
index 6d0a6a60b6c..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_tiff-c.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>TIFF IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="TIFF_IO"></a>TIFF IO</h1><div class=CBody><p>Read and write TIFF images.</p><p>There is only most basic support for the TIFF format available for now; for instance, multiple pages are not yet supported.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#TIFF_IO" >TIFF IO</a></td><td class=SDescription>Read and write TIFF images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageTiffCtx" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageTiffCtx</a></td><td class=SDescription>Write the gd image as a tiff file.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromTiffCtx" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCreateFromTiffCtx</a></td><td class=SDescription>Create a gdImage from a TIFF file input from an gdIOCtx.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromTIFF" >gdImageCreateFromTIFF</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromTiffPtr" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCreateFromTiffPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageTiff" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageTiff</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageTiffPtr" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdImageTiffPtr</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageTiffCtx"></a>gdImageTiffCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiffCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Write the gd image as a tiff file.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>image</td><td class=CDLDescription>gd image structure;</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>the stream where to write</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromTiffCtx"></a>gdImageCreateFromTiffCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Create a gdImage from a TIFF file input from an gdIOCtx.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromTIFF"></a>gdImageCreateFromTIFF</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromTiffPtr"></a>gdImageCreateFromTiffPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageTiff"></a>gdImageTiff</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiff(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageTiffPtr"></a>gdImageTiffPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageTiffPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile id=MSelected>TIFF IO</div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiffCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the gd image as a tiff file.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Create a gdImage from a TIFF file input from an gdIOCtx.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiff(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageTiffPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_topal-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_topal-c.html
deleted file mode 100644
index 6dc4cb423aa..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_topal-c.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Color Quantization</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Color_Quantization"></a>Color Quantization</h1><div class=CBody><p>Functions for truecolor to palette conversion</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Color_Quantization" >Color Quantization</a></td><td class=SDescription>Functions for truecolor to palette conversion</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageTrueColorToPaletteSetMethod" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageTrueColorToPaletteSetMethod</a></td><td class=SDescription>Selects the quantization method</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageTrueColorToPaletteSetQuality" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageTrueColorToPaletteSetQuality</a></td><td class=SDescription>Chooses a quality range for quantization</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreatePaletteFromTrueColor" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageCreatePaletteFromTrueColor</a></td><td class=SDescription>Creates a new palette image from a truecolor image</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageTrueColorToPalette" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageTrueColorToPalette</a></td><td class=SDescription>Converts a truecolor image to a palette image</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageTrueColorToPaletteSetMethod"></a>gdImageTrueColorToPaletteSetMethod</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPaletteSetMethod (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>method,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>speed</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Selects the quantization method</p><p>That quantization method is used for all subsequent <a href="#gdImageTrueColorToPalette" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdImageTrueColorToPalette</a> and <a href="#gdImageCreatePaletteFromTrueColor" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt3', 'link6')" onMouseOut="HideTip('tt3')">gdImageCreatePaletteFromTrueColor</a> calls.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>method</td><td class=CDLDescription>The quantization method, see <a href="gd-h.html#gdPaletteQuantizationMethod" class=LType >gdPaletteQuantizationMethod</a>.</td></tr><tr><td class=CDLEntry>speed</td><td class=CDLDescription>The quantization speed between 1 (highest quality) and 10 (fastest).&nbsp; 0 selects a method-specific default (recommended).</td></tr></table><h4 class=CHeading>Returns</h4><p>Zero if the given method is invalid or not available; non-zero otherwise.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageTrueColorToPaletteSetQuality" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt2', 'link7')" onMouseOut="HideTip('tt2')">gdImageTrueColorToPaletteSetQuality</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageTrueColorToPaletteSetQuality"></a>gdImageTrueColorToPaletteSetQuality</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTrueColorToPaletteSetQuality (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>min_quality,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Chooses a quality range for quantization</p><p>That quality range is used in all subsequent calls to <a href="#gdImageTrueColorToPalette" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt4', 'link8')" onMouseOut="HideTip('tt4')">gdImageTrueColorToPalette</a> and <a href="#gdImageCreatePaletteFromTrueColor" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt3', 'link9')" onMouseOut="HideTip('tt3')">gdImageCreatePaletteFromTrueColor</a> if the quantization method is <a href="gd-h.html#GD_QUANT_LIQ" class=LConstant id=link10 onMouseOver="ShowTip(event, 'tt5', 'link10')" onMouseOut="HideTip('tt5')">GD_QUANT_LIQ</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>min_quality</td><td class=CDLDescription>The minimum quality in range 1-100 (1 = ugly, 100 = perfect).&nbsp; If the palette cannot represent the image with at least min_quality, then no conversion is done.</td></tr><tr><td class=CDLEntry>max_quality</td><td class=CDLDescription>The maximum quality in range 1-100 (1 = ugly, 100 = perfect), which must be higher than the min_quality.&nbsp; If the palette can represent the image with a quality better than max_quality, then fewer colors than requested will be used.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreatePaletteFromTrueColor"></a>gdImageCreatePaletteFromTrueColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreatePaletteFromTrueColor (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates a new palette image from a truecolor image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>dither</td><td class=CDLDescription>Whether dithering should be applied.</td></tr><tr><td class=CDLEntry>colorsWanted</td><td class=CDLDescription>The number of desired palette entries.</td></tr></table><h4 class=CHeading>Returns</h4><p>A newly create palette image; NULL on failure.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCreatePaletteFromTrueColor" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt3', 'link11')" onMouseOut="HideTip('tt3')">gdImageCreatePaletteFromTrueColor</a></li><li><a href="#gdImageTrueColorToPaletteSetMethod" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt1', 'link12')" onMouseOut="HideTip('tt1')">gdImageTrueColorToPaletteSetMethod</a></li><li><a href="gd_nnquant-c.html#gdImageNeuQuant" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt6', 'link13')" onMouseOut="HideTip('tt6')">gdImageNeuQuant</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageTrueColorToPalette"></a>gdImageTrueColorToPalette</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPalette (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Converts a truecolor image to a palette image</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr><tr><td class=CDLEntry>dither</td><td class=CDLDescription>Whether dithering should be applied.</td></tr><tr><td class=CDLEntry>colorsWanted</td><td class=CDLDescription>The number of desired palette entries.</td></tr></table><h4 class=CHeading>Returns</h4><p>Non-zero if the conversion succeeded, zero otherwise.</p><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageCreatePaletteFromTrueColor" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt3', 'link14')" onMouseOut="HideTip('tt3')">gdImageCreatePaletteFromTrueColor</a></li><li><a href="#gdImageTrueColorToPaletteSetMethod" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt1', 'link15')" onMouseOut="HideTip('tt1')">gdImageTrueColorToPaletteSetMethod</a></li><li><a href="gd-c.html#gdImagePaletteToTrueColor" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt7', 'link16')" onMouseOut="HideTip('tt7')">gdImagePaletteToTrueColor</a></li></ul></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile id=MSelected>Color Quantization</div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPaletteSetMethod (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>method,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>speed</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Selects the quantization method</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTrueColorToPaletteSetQuality (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>min_quality,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Chooses a quality range for quantization</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreatePaletteFromTrueColor (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPalette (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Converts a truecolor image to a palette image</div></div><div class=CToolTip id="tt5"><div class=CConstant>A combination of algorithms used in libimagequant aiming for the highest quality at cost of speed.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageNeuQuant(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sample_factor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePaletteToTrueColor(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert a palette image to true color</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_transform-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_transform-c.html
deleted file mode 100644
index a537859b2c8..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_transform-c.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Transformations</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Transformations"></a>Transformations</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Transformations" >Transformations</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFlipVertical" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageFlipVertical</a></td><td class=SDescription>Flip an image vertically</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageFlipHorizontal" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageFlipHorizontal</a></td><td class=SDescription>Flip an image horizontally</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageFlipBoth" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageFlipBoth</a></td><td class=SDescription>Flip an image vertically and horizontally</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFlipVertical"></a>gdImageFlipVertical</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipVertical(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Flip an image vertically</p><p>The image is mirrored upside-down.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageFlipHorizontal" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">gdImageFlipHorizontal</a></li><li><a href="#gdImageFlipBoth" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageFlipBoth</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFlipHorizontal"></a>gdImageFlipHorizontal</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipHorizontal(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Flip an image horizontally</p><p>The image is mirrored left-right.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageFlipVertical" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">gdImageFlipVertical</a></li><li><a href="#gdImageFlipBoth" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt3', 'link7')" onMouseOut="HideTip('tt3')">gdImageFlipBoth</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageFlipBoth"></a>gdImageFlipBoth</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipBoth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Flip an image vertically and horizontally</p><p>The image is mirrored upside-down and left-right.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageFlipVertical" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt1', 'link8')" onMouseOut="HideTip('tt1')">gdImageFlipVertical</a></li><li><a href="#gdImageFlipHorizontal" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt2', 'link9')" onMouseOut="HideTip('tt2')">gdImageFlipHorizontal</a></li></ul></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile id=MSelected>Transformations</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipVertical(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image vertically</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipHorizontal(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image horizontally</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipBoth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image vertically and horizontally</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_version-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_version-c.html
deleted file mode 100644
index a54d8dbbcc8..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_version-c.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gd_version.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gd_version.c"></a>gd_version.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gd_version.c" >gd_version.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdMajorVersion" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdMajorVersion</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdMinorVersion" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdMinorVersion</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdReleaseVersion" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdReleaseVersion</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdExtraVersion" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdExtraVersion</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdVersionString" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">gdVersionString</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdMajorVersion"></a>gdMajorVersion</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMajorVersion()</td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdMinorVersion"></a>gdMinorVersion</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMinorVersion()</td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdReleaseVersion"></a>gdReleaseVersion</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdReleaseVersion()</td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdExtraVersion"></a>gdExtraVersion</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdExtraVersion()</td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdVersionString"></a>gdVersionString</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdVersionString()</td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile id=MSelected>gd_version.c</div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMajorVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMinorVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdReleaseVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdExtraVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdVersionString()</td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_wbmp-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_wbmp-c.html
deleted file mode 100644
index 49fd40b3eb6..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_wbmp-c.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>WBMP IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="WBMP_IO"></a>WBMP IO</h1><div class=CBody><p>Read and write WBMP images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#WBMP_IO" >WBMP IO</a></td><td class=SDescription>Read and write WBMP images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageWBMPCtx" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageWBMPCtx</a></td><td class=SDescription>Write the image as a wbmp file</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromWBMPCtx" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCreateFromWBMPCtx</a></td><td class=SDescription>Reads in a WBMP image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdIOCtx</a> struct. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromWBMP" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a></td><td class=SDescription><a href="#gdImageCreateFromWBMP" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a> is called to load images from WBMP format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromWBMPPtr" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">gdImageCreateFromWBMPPtr</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageWBMP" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">gdImageWBMP</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageWBMPPtr" id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">gdImageWBMPPtr</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWBMPCtx"></a>gdImageWBMPCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMPCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Write the image as a wbmp file</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>image</td><td class=CDLDescription>gd image structure</td></tr><tr><td class=CDLEntry>fg</td><td class=CDLDescription>the index of the foreground color. any other value will be considered as background and will not be written</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>the stream where to write</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromWBMPCtx"></a>gdImageCreateFromWBMPCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Reads in a WBMP image via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link9 onMouseOver="ShowTip(event, 'tt3', 'link9')" onMouseOut="HideTip('tt3')">gdIOCtx</a> struct.&nbsp; See <a href="#gdImageCreateFromWBMP" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt4', 'link10')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromWBMP"></a>gdImageCreateFromWBMP</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMP(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromWBMP" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt4', 'link11')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a> is called to load images from WBMP format files.&nbsp; Invoke <a href="#gdImageCreateFromWBMP" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt4', 'link12')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a> with an already opened pointer to a file containing the desired image.&nbsp; <a href="#gdImageCreateFromWBMP" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt4', 'link13')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a> returns a gdImagePtr to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a WBMP image).&nbsp; <a href="#gdImageCreateFromWBMP" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt4', 'link14')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a> does not close the file.&nbsp; You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt8', 'link15')" onMouseOut="HideTip('tt8')">gdImageDestroy</a>.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageCreateFromWBMPPtr" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt5', 'link16')" onMouseOut="HideTip('tt5')">gdImageCreateFromWBMPPtr</a> creates an image from WBMP data (i.e. the contents of a WBMP file) already in memory.</p><p><a href="#gdImageCreateFromWBMPCtx" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt2', 'link17')" onMouseOut="HideTip('tt2')">gdImageCreateFromWBMPCtx</a> reads in an image using the functions in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link18 onMouseOver="ShowTip(event, 'tt3', 'link18')" onMouseOut="HideTip('tt3')">gdIOCtx</a> struct.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-FILE *in;
-in = fopen(&quot;mywbmp.wbmp&quot;, &quot;rb&quot;);
-im = gdImageCreateFromWBMP(in);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromWBMPPtr"></a>gdImageCreateFromWBMPPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of WBMP data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>WBMP data (i.e. contents of a WBMP file).</td></tr></table><p>See <a href="#gdImageCreateFromWBMP" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt4', 'link19')" onMouseOut="HideTip('tt4')">gdImageCreateFromWBMP</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWBMP"></a>gdImageWBMP</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMP(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWBMPPtr"></a>gdImageWBMPPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWBMPPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>WBMP IO</div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMPCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as a wbmp file</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a WBMP image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt3"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMP(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromWBMP is called to load images from WBMP format files. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMP(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWBMPPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_webp-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_webp-c.html
deleted file mode 100644
index 732d47cb060..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_webp-c.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>WebP IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="WebP_IO"></a>WebP IO</h1><div class=CBody><p>Read and write WebP images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#WebP_IO" >WebP IO</a></td><td class=SDescription>Read and write WebP images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromWebp" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a></td><td class=SDescription><a href="#gdImageCreateFromWebp" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a> is called to load truecolor images from WebP format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageCreateFromWebpPtr" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromWebpPtr</a></td><td class=SDescription>See <a href="#gdImageCreateFromWebp" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromWebpCtx" id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImageCreateFromWebpCtx</a></td><td class=SDescription>See <a href="#gdImageCreateFromWebp" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageWebpCtx" id=link7 onMouseOver="ShowTip(event, 'tt4', 'link7')" onMouseOut="HideTip('tt4')">gdImageWebpCtx</a></td><td class=SDescription>Write the image as WebP data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link8 onMouseOver="ShowTip(event, 'tt5', 'link8')" onMouseOut="HideTip('tt5')">gdIOCtx</a>. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageWebpEx" id=link9 onMouseOver="ShowTip(event, 'tt6', 'link9')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a></td><td class=SDescription><a href="#gdImageWebpEx" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt6', 'link10')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a> outputs the specified image to the specified file in WebP format. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageWebp" id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">gdImageWebp</a></td><td class=SDescription>Variant of <a href="#gdImageWebpEx" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt6', 'link12')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a> which uses the default quality (-1).</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageWebpPtr" id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">gdImageWebpPtr</a></td><td class=SDescription>See <a href="#gdImageWebpEx" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt6', 'link14')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageWebpPtrEx" id=link15 onMouseOver="ShowTip(event, 'tt9', 'link15')" onMouseOut="HideTip('tt9')">gdImageWebpPtrEx</a></td><td class=SDescription>See <a href="#gdImageWebpEx" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt6', 'link16')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a>.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromWebp"></a>gdImageCreateFromWebp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebp (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromWebp" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a> is called to load truecolor images from WebP format files.&nbsp; Invoke <a href="#gdImageCreateFromWebp" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt1', 'link18')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a> with an already opened pointer to a file containing the desired image.&nbsp; <a href="#gdImageCreateFromWebp" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt1', 'link19')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link20 onMouseOver="ShowTip(event, 'tt10', 'link20')" onMouseOut="HideTip('tt10')">gdImagePtr</a> to the new truecolor image, or NULL if unable to load the image (most often because the file is corrupt or does not contain a WebP image).&nbsp; <a href="#gdImageCreateFromWebp" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt1', 'link21')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a> does not close the file.</p><p>You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt11', 'link22')" onMouseOut="HideTip('tt11')">gdImageDestroy</a>.</p><p><b>The returned image is always a truecolor image.</b></p><h4 class=CHeading>Variants</h4><p><a href="gd_jpeg-c.html#gdImageCreateFromJpegPtr" class=LFunction id=link23 onMouseOver="ShowTip(event, 'tt12', 'link23')" onMouseOut="HideTip('tt12')">gdImageCreateFromJpegPtr</a> creates an image from WebP data already in memory.</p><p><a href="gd_jpeg-c.html#gdImageCreateFromJpegCtx" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt13', 'link24')" onMouseOut="HideTip('tt13')">gdImageCreateFromJpegCtx</a> reads its data via the function pointers in a <a href="gd_io-h.html#gdIOCtx" class=LType id=link25 onMouseOver="ShowTip(event, 'tt5', 'link25')" onMouseOut="HideTip('tt5')">gdIOCtx</a> structure.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>infile</td><td class=CDLDescription>The input FILE pointer.</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new <b>truecolor</b> image.&nbsp; This will need to be destroyed with <a href="gd-c.html#gdImageDestroy" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt11', 'link26')" onMouseOut="HideTip('tt11')">gdImageDestroy</a> once it is no longer needed.</p><p>On error, returns NULL.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromWebpPtr"></a>gdImageCreateFromWebpPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromWebp" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt1', 'link27')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of WebP data in bytes.</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to WebP data.</td></tr></table></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromWebpCtx"></a>gdImageCreateFromWebpCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageCreateFromWebp" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt1', 'link28')" onMouseOut="HideTip('tt1')">gdImageCreateFromWebp</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWebpCtx"></a>gdImageWebpCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Write the image as WebP data via a <a href="gd_io-h.html#gdIOCtx" class=LType id=link29 onMouseOver="ShowTip(event, 'tt5', 'link29')" onMouseOut="HideTip('tt5')">gdIOCtx</a>.&nbsp; See <a href="#gdImageWebpEx" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt6', 'link30')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a> for more details.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to write.</td></tr><tr><td class=CDLEntry>outfile</td><td class=CDLDescription>The output sink.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Image quality.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWebpEx"></a>gdImageWebpEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageWebpEx" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt6', 'link31')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a> outputs the specified image to the specified file in WebP format.&nbsp; The file must be open for writing.&nbsp; Under MSDOS and all versions of Windows, it is important to use &ldquo;wb&rdquo; as opposed to simply &ldquo;w&rdquo; as the mode when opening the file, and under Unix there is no penalty for doing so.&nbsp; <a href="#gdImageWebpEx" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt6', 'link32')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a> does not close the file; your code must do so.</p><p>If <u>quality</u> is -1, a reasonable quality value (which should yield a good general quality / size tradeoff for most situations) is used.&nbsp; Otherwise <u>quality</u> should be a value in the range 0-100, higher quality values usually implying both higher quality and larger image sizes.</p><h4 class=CHeading>Variants</h4><p><a href="#gdImageWebpCtx" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt4', 'link33')" onMouseOut="HideTip('tt4')">gdImageWebpCtx</a> stores the image using a <a href="gd_io-h.html#gdIOCtx" class=LType id=link34 onMouseOver="ShowTip(event, 'tt5', 'link34')" onMouseOut="HideTip('tt5')">gdIOCtx</a> struct.</p><p><a href="#gdImageWebpPtrEx" class=LFunction id=link35 onMouseOver="ShowTip(event, 'tt9', 'link35')" onMouseOut="HideTip('tt9')">gdImageWebpPtrEx</a> stores the image to RAM.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to save.</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>The FILE pointer to write to.</td></tr><tr><td class=CDLEntry>quality</td><td class=CDLDescription>Compression quality (0-100).</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWebp"></a>gdImageWebp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Variant of <a href="#gdImageWebpEx" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt6', 'link36')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a> which uses the default quality (-1).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to save</td></tr><tr><td class=CDLEntry>outFile</td><td class=CDLDescription>The FILE pointer to write to.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWebpPtr"></a>gdImageWebpPtr</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageWebpEx" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt6', 'link37')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageWebpPtrEx"></a>gdImageWebpPtrEx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>See <a href="#gdImageWebpEx" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt6', 'link38')" onMouseOut="HideTip('tt6')">gdImageWebpEx</a>.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>WebP IO</div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebp (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromWebp is called to load truecolor images from WebP format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromWebp.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromWebp.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as WebP data via a gdIOCtx. </div></div><div class=CToolTip id="tt5"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageWebpEx outputs the specified image to the specified file in WebP format. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Variant of gdImageWebpEx which uses the default quality (-1).</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageWebpEx.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageWebpEx.</div></div><div class=CToolTip id="tt10"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_xbm-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_xbm-c.html
deleted file mode 100644
index 6680c1cb66b..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gd_xbm-c.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XBM IO</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="XBM_IO"></a>XBM IO</h1><div class=CBody><p>Read and write XBM images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#XBM_IO" >XBM IO</a></td><td class=SDescription>Read and write XBM images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromXbm" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromXbm</a></td><td class=SDescription><a href="#gdImageCreateFromXbm" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">gdImageCreateFromXbm</a> is called to load images from X bitmap format files. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageXbmCtx" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageXbmCtx</a></td><td class=SDescription>Writes an image to an IO context in X11 bitmap format.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromXbm"></a>gdImageCreateFromXbm</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXbm(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="#gdImageCreateFromXbm" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">gdImageCreateFromXbm</a> is called to load images from X bitmap format files.&nbsp; Invoke <a href="#gdImageCreateFromXbm" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt1', 'link5')" onMouseOut="HideTip('tt1')">gdImageCreateFromXbm</a> with an already opened pointer to a file containing the desired image.&nbsp; <a href="#gdImageCreateFromXbm" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">gdImageCreateFromXbm</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link7 onMouseOver="ShowTip(event, 'tt3', 'link7')" onMouseOut="HideTip('tt3')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain an X bitmap format image).&nbsp; <a href="#gdImageCreateFromXbm" class=LFunction id=link8 onMouseOver="ShowTip(event, 'tt1', 'link8')" onMouseOut="HideTip('tt1')">gdImageCreateFromXbm</a> does not close the file.</p><p>You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt4', 'link9')" onMouseOut="HideTip('tt4')">gdImageDestroy</a>.</p><p>X11 X bitmaps (which define a char[]) as well as X10 X bitmaps (which define a short[]) are supported.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>fd</td><td class=CDLDescription>The input FILE pointer</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-FILE *in;
-in = fopen(&quot;myxbm.xbm&quot;, &quot;rb&quot;);
-im = gdImageCreateFromXbm(in);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageXbmCtx"></a>gdImageXbmCtx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageXbmCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>file_name,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Writes an image to an IO context in X11 bitmap format.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>image</td><td class=CDLDescription>The <a href="gd-h.html#gdImagePtr" class=LType id=link10 onMouseOver="ShowTip(event, 'tt3', 'link10')" onMouseOut="HideTip('tt3')">gdImagePtr</a> to write.</td></tr><tr><td class=CDLEntry>file_name</td><td class=CDLDescription>The prefix of the XBM&rsquo;s identifiers.&nbsp; Illegal characters are automatically stripped.</td></tr><tr><td class=CDLEntry>gd</td><td class=CDLDescription>Which color to use as forground color.&nbsp; All pixels with another color are unset.</td></tr><tr><td class=CDLEntry>out</td><td class=CDLDescription>The <a href="gd_io-h.html#gdIOCtx" class=LType id=link11 onMouseOver="ShowTip(event, 'tt5', 'link11')" onMouseOut="HideTip('tt5')">gdIOCtx</a> to write the image file to.</td></tr></table></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>XBM IO</div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXbm(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromXbm is called to load images from X bitmap format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageXbmCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>file_name,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes an image to an IO context in X11 bitmap format.</div></div><div class=CToolTip id="tt3"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt5"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontg-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontg-c.html
deleted file mode 100644
index 9e1a01a5a64..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontg-c.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Giant Font</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Giant_Font"></a>Giant Font</h1><div class=CBody><p>A very large ISO-8859-2 raster font (9x15 pixels).</p><p>The font is supposed to be used with <a href="gd-c.html#gdImageChar" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageChar</a> and <a href="gd-c.html#gdImageString" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageString</a> and their variants.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Giant_Font" >Giant Font</a></td><td class=SDescription>A very large ISO-8859-2 raster font (9x15 pixels).</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFontGetGiant" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdFontGetGiant</a></td><td class=SDescription>Returns the built-in giant font.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFontGetGiant"></a>gdFontGetGiant</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetGiant (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the built-in giant font.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile id=MSelected>Giant Font</div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([2], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetGiant (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in giant font.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontl-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontl-c.html
deleted file mode 100644
index 630b33b37f6..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontl-c.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Large Font</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Large_Font"></a>Large Font</h1><div class=CBody><p>A large ISO-8859-2 raster font (8x16 pixels).</p><p>The font is supposed to be used with <a href="gd-c.html#gdImageChar" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageChar</a> and <a href="gd-c.html#gdImageString" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageString</a> and their variants.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Large_Font" >Large Font</a></td><td class=SDescription>A large ISO-8859-2 raster font (8x16 pixels).</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFontGetLarge" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdFontGetLarge</a></td><td class=SDescription>Returns the built-in large font.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFontGetLarge"></a>gdFontGetLarge</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetLarge (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the built-in large font.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile id=MSelected>Large Font</div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([2], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetLarge (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in large font.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontmb-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontmb-c.html
deleted file mode 100644
index bdc04b248b8..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontmb-c.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Medium Bold Font</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Medium_Bold_Font"></a>Medium Bold Font</h1><div class=CBody><p>A medium bold ISO-8859-2 raster font (7x13 pixels).</p><p>The font is supposed to be used with <a href="gd-c.html#gdImageChar" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageChar</a> and <a href="gd-c.html#gdImageString" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageString</a> and their variants.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Medium_Bold_Font" >Medium Bold Font</a></td><td class=SDescription>A medium bold ISO-8859-2 raster font (7x13 pixels).</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFontGetMediumBold" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdFontGetMediumBold</a></td><td class=SDescription>Returns the built-in medium bold font.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFontGetMediumBold"></a>gdFontGetMediumBold</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetMediumBold (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the built-in medium bold font.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile id=MSelected>Medium Bold Font</div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([2], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetMediumBold (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in medium bold font.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfonts-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfonts-c.html
deleted file mode 100644
index 3cb17f370f0..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfonts-c.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Small Font</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Small_Font"></a>Small Font</h1><div class=CBody><p>A small ISO-8859-2 raster font (7x13 pixels).</p><p>The font is supposed to be used with <a href="gd-c.html#gdImageChar" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageChar</a> and <a href="gd-c.html#gdImageString" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageString</a> and their variants.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Small_Font" >Small Font</a></td><td class=SDescription>A small ISO-8859-2 raster font (7x13 pixels).</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFontGetSmall" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdFontGetSmall</a></td><td class=SDescription>Returns the built-in small font.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFontGetSmall"></a>gdFontGetSmall</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetSmall (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the built-in small font.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile id=MSelected>Small Font</div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([2], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetSmall (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in small font.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontt-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontt-c.html
deleted file mode 100644
index fd6e07a8473..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfontt-c.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Tiny Font</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Tiny_Font"></a>Tiny Font</h1><div class=CBody><p>A very small ISO-8859-2 raster font (5x8 pixels).</p><p>The font is supposed to be used with <a href="gd-c.html#gdImageChar" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageChar</a> and <a href="gd-c.html#gdImageString" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageString</a> and their variants.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Tiny_Font" >Tiny Font</a></td><td class=SDescription>A very small ISO-8859-2 raster font (5x8 pixels).</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFontGetTiny" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdFontGetTiny</a></td><td class=SDescription>Returns the built-in tiny font.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFontGetTiny"></a>gdFontGetTiny</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetTiny (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the built-in tiny font.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile id=MSelected>Tiny Font</div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([2], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetTiny (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in tiny font.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdft-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdft-c.html
deleted file mode 100644
index 8b590817e2e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdft-c.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>FreeType font rendering</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="FreeType_font_rendering"></a>FreeType font rendering</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#FreeType_font_rendering" >FreeType font rendering</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageStringTTF" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageStringTTF</a></td><td class=SDescription>Alias of <a href="#gdImageStringFT" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageStringFT</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdFreeFontCache" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdFreeFontCache</a></td><td class=SDescription>Alias of <a href="#gdFontCacheShutdown" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdFontCacheShutdown</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFontCacheShutdown" id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">gdFontCacheShutdown</a></td><td class=SDescription>Shut down the font cache and free the allocated resources.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageStringFT" id=link6 onMouseOver="ShowTip(event, 'tt2', 'link6')" onMouseOut="HideTip('tt2')">gdImageStringFT</a></td><td class=SDescription>Render an UTF-8 string onto a gd image.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFontCacheSetup" id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">gdFontCacheSetup</a></td><td class=SDescription>Set up the font cache.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageStringFTEx" >gdImageStringFTEx</a></td><td class=SDescription>gdImageStringFTEx extends the capabilities of gdImageStringFT by providing a way to pass additional parameters.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdFTUseFontConfig" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">gdFTUseFontConfig</a></td><td class=SDescription>Enable or disable fontconfig by default.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringTTF"></a>gdImageStringTTF</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringTTF (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Alias of <a href="#gdImageStringFT" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt2', 'link9')" onMouseOut="HideTip('tt2')">gdImageStringFT</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFreeFontCache"></a>gdFreeFontCache</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFreeFontCache ()</td></tr></table></blockquote><p>Alias of <a href="#gdFontCacheShutdown" class=LFunction id=link10 onMouseOver="ShowTip(event, 'tt4', 'link10')" onMouseOut="HideTip('tt4')">gdFontCacheShutdown</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFontCacheShutdown"></a>gdFontCacheShutdown</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFontCacheShutdown ()</td></tr></table></blockquote><p>Shut down the font cache and free the allocated resources.</p><h4 class=CHeading>Important</h4><p>This function has to be called whenever FreeType operations have been invoked, to avoid resource leaks.&nbsp; It doesn&rsquo;t harm to call this function multiple times.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringFT"></a>gdImageStringFT</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringFT (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render an UTF-8 string onto a gd image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to draw onto.</td></tr><tr><td class=CDLEntry>brect</td><td class=CDLDescription>The bounding rectangle as array of 8 integers where each pair represents the x- and y-coordinate of a point.&nbsp; The points specify the lower left, lower right, upper right and upper left corner.</td></tr><tr><td class=CDLEntry>fg</td><td class=CDLDescription>The font color.</td></tr><tr><td class=CDLEntry>fontlist</td><td class=CDLDescription>The semicolon delimited list of font filenames to look for.</td></tr><tr><td class=CDLEntry>ptsize</td><td class=CDLDescription>The height of the font in typographical points (pt).</td></tr><tr><td class=CDLEntry>angle</td><td class=CDLDescription>The angle in radian to rotate the font counter-clockwise.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>The x-coordinate of the basepoint (roughly the lower left corner) of the first letter.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The y-coordinate of the basepoint (roughly the lower left corner) of the first letter.</td></tr><tr><td class=CDLEntry>string</td><td class=CDLDescription>The string to render.</td></tr></table><h4 class=CHeading>Variant</h4><ul><li><a href="#gdImageStringFTEx" class=LFunction id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">gdImageStringFTEx</a></li></ul><h4 class=CHeading>See also</h4><ul><li><a href="gd-c.html#gdImageString" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt8', 'link12')" onMouseOut="HideTip('tt8')">gdImageString</a></li></ul></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFontCacheSetup"></a>gdFontCacheSetup</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFontCacheSetup (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set up the font cache.</p><p>This is called automatically from the string rendering functions, if it has not already been called.&nbsp; So there&rsquo;s no need to call this function explicitly.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringFTEx"></a>gdImageStringFTEx</h3><div class=CBody><p>gdImageStringFTEx extends the capabilities of gdImageStringFT by providing a way to pass additional parameters.</p><p>If the strex parameter is not null, it must point to a gdFTStringExtra structure.&nbsp; As of gd 2.0.5, this structure is defined as follows:</p><blockquote><pre class="prettyprint">typedef struct {
- // logical OR of gdFTEX_ values
- int flags;
-
- // fine tune line spacing for '\n'
- double linespacing;
-
- // Preferred character mapping
- int charmap;
-
- // Rendering resolution
- int hdpi;
- int vdpi;
- char *xshow;
- char *fontpath;
-} gdFTStringExtra, *gdFTStringExtraPtr;</pre></blockquote><p>To output multiline text with a specific line spacing, include gdFTEX_LINESPACE in the setting of flags:</p><blockquote><pre>flags |= gdFTEX_LINESPACE;</pre></blockquote><p>And also set linespacing to the desired spacing, expressed as a multiple of the font height.&nbsp; Thus a line spacing of 1.0 is the minimum to guarantee that lines of text do not collide.</p><p>If gdFTEX_LINESPACE is not present, or strex is null, or gdImageStringFT is called, linespacing defaults to 1.05.</p><p>To specify a preference for Unicode, Shift_JIS Big5 character encoding, set or To output multiline text with a specific line spacing, include gdFTEX_CHARMAP in the setting of flags:</p><blockquote><pre>flags |= gdFTEX_CHARMAP;</pre></blockquote><p>And set charmap to the desired value, which can be any of gdFTEX_Unicode, gdFTEX_Shift_JIS, gdFTEX_Big5, or gdFTEX_Adobe_Custom.&nbsp; If you do not specify a preference, Unicode will be tried first.&nbsp; If the preferred character mapping is not found in the font, other character mappings are attempted.</p><p>GD operates on the assumption that the output image will be rendered to a computer screen.&nbsp; By default, gd passes a resolution of 96 dpi to the freetype text rendering engine.&nbsp; This influences the &ldquo;hinting&rdquo; decisions made by the renderer.&nbsp; To specify a different resolution, set hdpi and vdpi accordingly (in dots per inch) and add gdFTEX_RESOLUTION to flags:</p><blockquote><pre>flags | gdFTEX_RESOLUTION;</pre></blockquote><p>GD 2.0.29 and later will normally attempt to apply kerning tables, if fontconfig is available, to adjust the relative positions of consecutive characters more ideally for that pair of characters.&nbsp; This can be turn off by specifying the gdFTEX_DISABLE_KERNING flag:</p><blockquote><pre>flags | gdFTEX_DISABLE_KERNING;</pre></blockquote><p>GD 2.0.29 and later can return a vector of individual character position advances, occasionally useful in applications that must know exactly where each character begins.&nbsp; This is returned in the xshow element of the gdFTStringExtra structure if the gdFTEX_XSHOW flag is set:</p><blockquote><pre>flags | gdFTEX_XSHOW;</pre></blockquote><p>The caller is responsible for calling gdFree() on the xshow element after the call if gdFTEX_XSHOW is set.</p><p>GD 2.0.29 and later can also return the path to the actual font file used if the gdFTEX_RETURNFONTPATHNAME flag is set.&nbsp; This is useful because GD 2.0.29 and above are capable of selecting a font automatically based on a fontconfig font pattern when fontconfig is available.&nbsp; This information is returned in the fontpath element of the gdFTStringExtra structure.</p><blockquote><pre>flags | gdFTEX_RETURNFONTPATHNAME;</pre></blockquote><p>The caller is responsible for calling gdFree() on the fontpath element after the call if gdFTEX_RETURNFONTPATHNAME is set.</p><p>GD 2.0.29 and later can use fontconfig to resolve font names, including fontconfig patterns, if the gdFTEX_FONTCONFIG flag is set.&nbsp; As a convenience, this behavior can be made the default by calling <a href="#gdFTUseFontConfig" class=LFunction id=link13 onMouseOver="ShowTip(event, 'tt6', 'link13')" onMouseOut="HideTip('tt6')">gdFTUseFontConfig</a> with a nonzero value.&nbsp; In that situation it is not necessary to set the gdFTEX_FONTCONFIG flag on every call; however explicit font path names can still be used if the gdFTEX_FONTPATHNAME flag is set:</p><blockquote><pre>flags | gdFTEX_FONTPATHNAME;</pre></blockquote><p>Unless <a href="#gdFTUseFontConfig" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt6', 'link14')" onMouseOut="HideTip('tt6')">gdFTUseFontConfig</a> has been called with a nonzero value, GD 2.0.29 and later will still expect the fontlist argument to the freetype text output functions to be a font file name or list thereof as in previous versions.&nbsp; If you do not wish to make fontconfig the default, it is still possible to force the use of fontconfig for a single call to the freetype text output functions by setting the gdFTEX_FONTCONFIG flag:</p><blockquote><pre>flags | gdFTEX_FONTCONFIG;</pre></blockquote><p>GD 2.0.29 and above can use fontconfig to resolve font names, including fontconfig patterns, if the gdFTEX_FONTCONFIG flag is set.&nbsp; As a convenience, this behavior can be made the default by calling <a href="#gdFTUseFontConfig" class=LFunction id=link15 onMouseOver="ShowTip(event, 'tt6', 'link15')" onMouseOut="HideTip('tt6')">gdFTUseFontConfig</a> with a nonzero value.&nbsp; In that situation it is not necessary to set the gdFTEX_FONTCONFIG flag on every call; however explicit font path names can still be used if the gdFTEX_FONTPATHNAME flag is set:</p><blockquote><pre>flags | gdFTEX_FONTPATHNAME;</pre></blockquote><p>For more information, see <a href="#gdImageStringFT" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt2', 'link16')" onMouseOut="HideTip('tt2')">gdImageStringFT</a>.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdFTUseFontConfig"></a>gdFTUseFontConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFTUseFontConfig(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Enable or disable fontconfig by default.</p><p>If GD is built without libfontconfig support, this function is a NOP.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>flag</td><td class=CDLDescription>Zero to disable, nonzero to enable.</td></tr></table><h4 class=CHeading>See also</h4><ul><li><a href="#gdImageStringFTEx" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt7', 'link17')" onMouseOut="HideTip('tt7')">gdImageStringFTEx</a></li></ul></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile id=MSelected>FreeType font rendering</div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringTTF (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Alias of gdImageStringFT.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringFT (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render an UTF-8 string onto a gd image.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFreeFontCache ()</td></tr></table></blockquote>Alias of gdFontCacheShutdown.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFontCacheShutdown ()</td></tr></table></blockquote>Shut down the font cache and free the allocated resources.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFontCacheSetup (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up the font cache.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFTUseFontConfig(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Enable or disable fontconfig by default.</div></div><div class=CToolTip id="tt7"><div class=CFunction>gdImageStringFTEx extends the capabilities of gdImageStringFT by providing a way to pass additional parameters.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfx-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfx-c.html
deleted file mode 100644
index 0568dfa06a8..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdfx-c.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>/parent/libgd/docs/naturaldocs/tmp/gdfx.c</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdfx.c"></a>gdfx.c</h1><div class=CBody><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#gdfx.c" >gdfx.c</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageStringFTCircle" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageStringFTCircle</a></td><td class=SDescription>Draw text curved along the top and bottom of a circular area of an image.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#gdImageSquareToCircle" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageSquareToCircle</a></td><td class=SDescription>Apply polar coordinate transformation to an image.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageSharpen" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">gdImageSharpen</a></td><td class=SDescription>Sharpen an image.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageStringFTCircle"></a>gdImageStringFTCircle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char* gdImageStringFTCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>radius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>textRadius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fillPortion,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>font,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>points,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>top,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>bottom,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Draw text curved along the top and bottom of a circular area of an image.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image to draw onto.</td></tr><tr><td class=CDLEntry>cx</td><td class=CDLDescription>The x-coordinate of the center of the circular area.</td></tr><tr><td class=CDLEntry>cy</td><td class=CDLDescription>The y-coordinate of the center of the circular area.</td></tr><tr><td class=CDLEntry>radius</td><td class=CDLDescription>The radius of the circular area.</td></tr><tr><td class=CDLEntry>textRadius</td><td class=CDLDescription>The height of each character; if textRadius is 1/2 of radius, characters extend halfway from the edge to the center.</td></tr><tr><td class=CDLEntry>fillPortion</td><td class=CDLDescription>The percentage of the 180 degrees of the circular area assigned to each section of text, that is actually occupied by text.&nbsp; The value has to be in range 0.0 to 1.0, with useful values from about 0.4 to 0.9; 0.9 looks better than 1.0 which is rather crowded.</td></tr><tr><td class=CDLEntry>font</td><td class=CDLDescription>The fontlist that is passed to <a href="gdft-c.html#gdImageStringFT" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">gdImageStringFT</a>.</td></tr><tr><td class=CDLEntry>points</td><td class=CDLDescription>The point size, which functions as a hint.&nbsp; Although the size of the text is determined by radius, textRadius and fillPortion, a point size that &lsquo;hints&rsquo; appropriately should be passed.&nbsp; If it&rsquo;s known that the text will be large, a large point size such as 24.0 should be passed to get the best results.</td></tr><tr><td class=CDLEntry>top</td><td class=CDLDescription>The text to draw clockwise at the top of the circular area.</td></tr><tr><td class=CDLEntry>bottom</td><td class=CDLDescription>The text to draw counterclockwise at the bottom of the circular area.</td></tr><tr><td class=CDLEntry>fgcolor</td><td class=CDLDescription>The font color.</td></tr></table><h4 class=CHeading>Returns</h4><p>NULL on success, or an error string on failure.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSquareToCircle"></a>gdImageSquareToCircle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageSquareToCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>radius</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Apply polar coordinate transformation to an image.</p><p>The X axis of the original will be remapped to theta (angle) and the Y axis of the original will be remapped to rho (distance from center).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>im</td><td class=CDLDescription>The image, which must be square, i.e. width == height.</td></tr><tr><td class=CDLEntry>radius</td><td class=CDLDescription>The radius of the new image, i.e. width == height == radius * 2.</td></tr></table><h4 class=CHeading>Returns</h4><p>The transformed image, or NULL on failure.</p></div></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageSharpen"></a>gdImageSharpen</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSharpen (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sharpen an image.</p><p>Uses a simple 3x3 convolution kernel and makes use of separability.&nbsp; It&rsquo;s faster, but less flexible, than full-blown unsharp masking.&nbsp; Silently does nothing to non-truecolor images and for pct&lt;0, as it&rsquo;s not a useful blurring function.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pct</td><td class=CDLDescription>The sharpening percentage, which can be greater than 100.</td></tr></table><h4 class=CHeading>Author</h4><p>Paul Troughton (paul&lt;dot&gt;troughton&lt;at&gt;ieee&lt;dot&gt;org)</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdfx.c</div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char* gdImageStringFTCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>radius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>textRadius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fillPortion,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>font,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>points,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>top,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>bottom,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draw text curved along the top and bottom of a circular area of an image.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageSquareToCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>radius</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Apply polar coordinate transformation to an image.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSharpen (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sharpen an image.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringFT (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render an UTF-8 string onto a gd image.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdhelpers-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdhelpers-c.html
deleted file mode 100644
index 907dcb9f73d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdhelpers-c.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>gdFree</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFunction"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="gdFree"></a>gdFree</h1><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdFree (</td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ptr</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Frees memory that has been allocated by libgd functions.</p><p>Unless more specialized functions exists (for instance, <a href="gd-c.html#gdImageDestroy" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageDestroy</a>), all memory that has been allocated by public libgd functions has to be freed by calling <a href="#gdFree" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdFree</a>, and not by free(3), because libgd internally doesn&rsquo;t use alloc(3) and friends but rather its own allocation functions, which are, however, not publicly available.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>ptr</td><td class=CDLDescription>Pointer to the memory space to free.&nbsp; If it is NULL, no operation is performed.</td></tr></table><h4 class=CHeading>Returns</h4><p>Nothing.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile id=MSelected>gdFree</div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdFree (</td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ptr</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory that has been allocated by libgd functions.</div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdxpm-c.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdxpm-c.html
deleted file mode 100644
index 80ef49fc1a2..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/gdxpm-c.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XPM Input</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="XPM_Input"></a>XPM Input</h1><div class=CBody><p>Read XPM images.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#XPM_Input" >XPM Input</a></td><td class=SDescription>Read XPM images.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#gdImageCreateFromXpm" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">gdImageCreateFromXpm</a></td><td class=SDescription><a href="gd_xbm-c.html#gdImageCreateFromXbm" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">gdImageCreateFromXbm</a> is called to load images from XPM X Window System color bitmap format files. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
-
-<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>
-
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="gdImageCreateFromXpm"></a>gdImageCreateFromXpm</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXpm(</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p><a href="gd_xbm-c.html#gdImageCreateFromXbm" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">gdImageCreateFromXbm</a> is called to load images from XPM X Window System color bitmap format files.&nbsp; This function is available only if HAVE_XPM is selected in the Makefile and the Xpm library is linked with the application.&nbsp; Unlike most gd file functions, the Xpm functions <b>require filenames</b>, not file pointers.&nbsp; <a href="#gdImageCreateFromXpm" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">gdImageCreateFromXpm</a> returns a <a href="gd-h.html#gdImagePtr" class=LType id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">gdImagePtr</a> to the new image, or NULL if unable to load the image (most often because the file is corrupt or does not contain an XPM bitmap format image).&nbsp; You can inspect the sx and sy members of the image to determine its size.&nbsp; The image must eventually be destroyed using <a href="gd-c.html#gdImageDestroy" class=LFunction id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">gdImageDestroy</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>filename</td><td class=CDLDescription>The input filename (<b>not</b> FILE pointer)</td></tr></table><h4 class=CHeading>Returns</h4><p>A pointer to the new image or NULL if an error occurred.</p><h4 class=CHeading>Example</h4><blockquote><pre class="prettyprint">gdImagePtr im;
-FILE *in;
-in = fopen(&quot;myxpm.xpm&quot;, &quot;rb&quot;);
-im = gdImageCreateFromXpm(in);
-fclose(in);
-// ... Use the image ...
-gdImageDestroy(im);</pre></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile id=MSelected>XPM Input</div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([1], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXpm(</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromXbm is called to load images from XPM X Window System color bitmap format files. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXbm(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromXbm is called to load images from X bitmap format files. </div></div><div class=CToolTip id="tt3"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/license-txt.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/license-txt.html
deleted file mode 100644
index 21ae1561d6d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/license-txt.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>License</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="License"></a>License</h1><div class=CBody><h4 class=CHeading>Credits and license terms</h4><p>In order to resolve any possible confusion regarding the authorship of gd, the following copyright statement covers all of the authors who have required such a statement.&nbsp; If you are aware of any oversights in this copyright notice, please contact Pierre-A.&nbsp; Joye who will be pleased to correct them.</p><ul><li>Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Cold Spring Harbor Laboratory.&nbsp; Funded under Grant P41-RR02188 by the National Institutes of Health.</li><li>Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Boutell.Com, Inc.</li><li>Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, 2003, 2004 Philip Warner.</li><li>Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, 2004 Greg Roelofs.</li><li>Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, 2003, 2004 John Ellson (<a href="#" onClick="location.href='mai' + 'lto:' + 'ell' + 'son' + '@' + 'graphv' + 'iz.org'; return false;" class=LEMail>ell<span style="display: none">.nosp@m.</span>son<span>@</span>graphv<span style="display: none">.nosp@m.</span>iz.org</a>).</li><li>Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John Ellson (<a href="#" onClick="location.href='mai' + 'lto:' + 'ell' + 'son' + '@' + 'graphv' + 'iz.org'; return false;" class=LEMail>ell<span style="display: none">.nosp@m.</span>son<span>@</span>graphv<span style="display: none">.nosp@m.</span>iz.org</a>).</li><li>Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Pierre-Alain Joye (<a href="#" onClick="location.href='mai' + 'lto:' + 'pie' + 'rre' + '@' + 'libg' + 'd.org'; return false;" class=LEMail>pie<span style="display: none">.nosp@m.</span>rre<span>@</span>libg<span style="display: none">.nosp@m.</span>d.org</a>).</li><li>Portions relating to JPEG and to color quantization copyright 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright &copy; 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas G.&nbsp; Lane.&nbsp; This software is based in part on the work of the Independent JPEG Group.&nbsp; See the file README-JPEG.TXT for more information.</li><li>Portions relating to GIF compression copyright 1989 by Jef Poskanzer and David Rowley, with modifications for thread safety by Thomas Boutell.</li><li>Portions relating to GIF decompression copyright 1990, 1991, 1993 by David Koblas, with modifications for thread safety by Thomas Boutell.</li><li>Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 Maurice Szmurlo and Johan Van den Brande.</li><li>Portions relating to GIF animations copyright 2004 Jaakko Hyvätti (<a href="#" onClick="location.href='mai' + 'lto:' + 'jaakko.'&nbsp; + 'hyvatti' + '@' + 'iki' + '.fi'; return false;" class=LEMail>jaakko.<span style="display: none">.nosp@m.</span>hyvatti<span>@</span>iki<span style="display: none">.nosp@m.</span>.fi</a>)</li></ul><p>Permission has been granted to copy, distribute and modify gd in any context without fee, including a commercial application, provided that this notice is present in user-accessible supporting documentation.</p><p>This does not affect your ownership of the derived work itself, and the intent is to assure proper credit for the authors of gd, not to interfere with your productive use of gd.&nbsp; If you have questions, ask.&nbsp; &ldquo;Derived works&rdquo; includes all programs that utilize the library.&nbsp; Credit must be given in user-accessible documentation.</p><p>This software is provided &ldquo;AS IS.&rdquo;&nbsp; The copyright holders disclaim all warranties, either express or implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to this code and accompanying documentation.</p><p>Although their code does not appear in the current release, the authors wish to thank David Koblas, David Rowley, and Hutchison Avenue Software Corporation for their prior contributions.</p></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile id=MSelected>License</div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/preamble-txt.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/preamble-txt.html
deleted file mode 100644
index ddafb0102aa..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/files/preamble-txt.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>About LibGD 2.2.5</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="About_LibGD_2.2.5"></a>About LibGD 2.2.5</h1><div class=CBody><h4 class=CHeading>What is gd?</h4><p>gd is a graphics library.&nbsp; It allows your code to quickly draw images complete with lines, arcs, text, multiple colors, cut and paste from other images, and flood fills, and write out the result as a PNG or JPEG file.&nbsp; This is particularly useful in World Wide Web applications, where PNG and JPEG are two of the formats accepted for inline images by most browsers.</p><p>gd is not a paint program.&nbsp; If you are looking for a paint program, you are looking in the wrong place.&nbsp; If you are not a programmer, you are looking in the wrong place, unless you are installing a required library in order to run an application.</p><p>gd does not provide for every possible desirable graphics operation.&nbsp; It is not necessary or desirable for gd to become a kitchen-sink graphics package, but version 2.0 does include most frequently requested features, including both truecolor and palette images, resampling (smooth resizing of truecolor images) and so forth.</p><h4 class=CHeading>gd basics: using gd in your program</h4><p>gd lets you create PNG or JPEG images on the fly.&nbsp; To use gd in your program, include the file gd.h, and link with the gd library and the other required libraries; the syntax for most Unix flavors is:</p><blockquote><pre>-lgd -lpng -lz -ljpeg -lfreetype -lm</pre></blockquote><p>Assuming that all of these libraries are available.</p><p>If you want to use the provided simple fonts, include gdfontt.h, gdfonts.h, gdfontmb.h, gdfontl.h and/or gdfontg.h.&nbsp; For more impressive results, install FreeType 2.x and use the gdImageStringFT function.&nbsp; If you are not using the provided Makefile and/or a library-based approach, be sure to include the source modules as well in your project.</p><p>Here is a short example program.&nbsp; (For a more advanced example, see gddemo.c, included in the distribution. gddemo.c is NOT the same program; it demonstrates additional features!)</p><blockquote><pre>/* Bring in gd library functions */
-#include &quot;gd.h&quot;
-
-/* Bring in standard I/O so we can output the PNG to a file */
-#include &lt;stdio.h&gt;
-
-int main() {
- /* Declare the image */
- gdImagePtr im;
- /* Declare output files */
- FILE *pngout, *jpegout;
- /* Declare color indexes */
- int black;
- int white;
-
- /* Allocate the image: 64 pixels across by 64 pixels tall */
- im = gdImageCreate(64, 64);
-
- /* Allocate the color black (red, green and blue all minimum).
- Since this is the first color in a new image, it will
- be the background color. */
- black = gdImageColorAllocate(im, 0, 0, 0);
-
- /* Allocate the color white (red, green and blue all maximum). */
- white = gdImageColorAllocate(im, 255, 255, 255);
-
- /* Draw a line from the upper left to the lower right,
- using white color index. */
- gdImageLine(im, 0, 0, 63, 63, white);
-
- /* Open a file for writing. &quot;wb&quot; means &quot;write binary&quot;, important
- under MSDOS, harmless under Unix. */
- pngout = fopen(&quot;test.png&quot;, &quot;wb&quot;);
-
- /* Do the same for a JPEG-format file. */
- jpegout = fopen(&quot;test.jpg&quot;, &quot;wb&quot;);
-
- /* Output the image to the disk file in PNG format. */
- gdImagePng(im, pngout);
-
- /* Output the same image in JPEG format, using the default
- JPEG quality setting. */
- gdImageJpeg(im, jpegout, -1);
-
- /* Close the files. */
- fclose(pngout);
- fclose(jpegout);
-
- /* Destroy the image in memory. */
- gdImageDestroy(im);
-}</pre></blockquote></div></div></div>
-
-</div><!--Content-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile id=MSelected>About LibGD 2.<wbr>3.0-dev</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([], 4);// --></script></div><!--Menu-->
-
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/edge_detect_quick.jpg b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/edge_detect_quick.jpg
deleted file mode 100644
index 015fd4f562a..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/edge_detect_quick.jpg
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/emboss.jpg b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/emboss.jpg
deleted file mode 100644
index b818fd56d74..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/emboss.jpg
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/mean_removal.jpg b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/mean_removal.jpg
deleted file mode 100644
index d3f9c1191c8..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/mean_removal.jpg
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/smooth.jpg b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/smooth.jpg
deleted file mode 100644
index e6987b8ee49..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/images/smooth.jpg
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index.html
deleted file mode 100644
index d426aa1c9ae..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index.html
+++ /dev/null
@@ -1 +0,0 @@
-<html><head><meta http-equiv="Refresh" CONTENT="0; URL=files/preamble-txt.html"></head></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Constants.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Constants.html
deleted file mode 100644
index e9535f760a4..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Constants.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Constant Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Constant Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; <a href="#S">S</a> &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BELL" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>GD_BELL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BESSEL" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>GD_BESSEL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BICUBIC" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>GD_BICUBIC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BICUBIC_FIXED" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>GD_BICUBIC_FIXED</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BILINEAR_FIXED" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>GD_BILINEAR_FIXED</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BLACKMAN" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>GD_BLACKMAN</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BOX" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>GD_BOX</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BSPLINE" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>GD_BSPLINE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CATMULLROM" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>GD_CATMULLROM</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_BLACK" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>GD_CROP_BLACK</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_DEFAULT" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>GD_CROP_DEFAULT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_SIDES" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>GD_CROP_SIDES</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_TRANSPARENT" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>GD_CROP_TRANSPARENT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_WHITE" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>GD_CROP_WHITE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_GAUSSIAN" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>GD_GAUSSIAN</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_GENERALIZED_CUBIC" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>GD_GENERALIZED_CUBIC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_HAMMING" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>GD_HAMMING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_HANNING" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>GD_HANNING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_HERMITE" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>GD_HERMITE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_LINEAR" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>GD_LINEAR</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_MITCHELL" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>GD_MITCHELL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_NEAREST_NEIGHBOUR" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>GD_NEAREST_NEIGHBOUR</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_POWER" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>GD_POWER</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUADRATIC" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>GD_QUADRATIC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_DEFAULT" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>GD_QUANT_DEFAULT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_JQUANT" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>GD_QUANT_JQUANT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_LIQ" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>GD_QUANT_LIQ</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_NEUQUANT" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>GD_QUANT_NEUQUANT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_SINC" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>GD_SINC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_TRIANGLE" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>GD_TRIANGLE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_WEIGHTED4" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>GD_WEIGHTED4</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdAntiAliased" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>gdAntiAliased</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdBrushed" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>gdBrushed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdCropMode" class=ISymbol>gdCropMode</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalNone" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>gdDisposalNone</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalRestoreBackground" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>gdDisposalRestoreBackground</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalRestorePrevious" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>gdDisposalRestorePrevious</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalUnknown" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>gdDisposalUnknown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGifAnim" class=ISymbol>gdImageGifAnim</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdInterpolationMethod" class=ISymbol>gdInterpolationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdStyled" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>gdStyled</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdStyledBrushed" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>gdStyledBrushed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTiled" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>gdTiled</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTransparent" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>gdTransparent</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Special_Colors" class=ISymbol>Special Colors</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CConstant>Bell</div></div><div class=CToolTip id="tt2"><div class=CConstant>Bessel</div></div><div class=CToolTip id="tt3"><div class=CConstant>Bicubic</div></div><div class=CToolTip id="tt4"><div class=CConstant>fixed point bicubic integer</div></div><div class=CToolTip id="tt5"><div class=CConstant>fixed point bilinear</div></div><div class=CToolTip id="tt6"><div class=CConstant>Blackman</div></div><div class=CToolTip id="tt7"><div class=CConstant>Box</div></div><div class=CToolTip id="tt8"><div class=CConstant>BSpline</div></div><div class=CToolTip id="tt9"><div class=CConstant>Catmullrom</div></div><div class=CToolTip id="tt10"><div class=CConstant>Crop black borders</div></div><div class=CToolTip id="tt11"><div class=CConstant>Default crop mode (4 corners or background)</div></div><div class=CToolTip id="tt12"><div class=CConstant>Crop using colors of the 4 corners</div></div><div class=CToolTip id="tt13"><div class=CConstant>Crop using the transparent color</div></div><div class=CToolTip id="tt14"><div class=CConstant>Crop white borders</div></div><div class=CToolTip id="tt15"><div class=CConstant>Gaussian</div></div><div class=CToolTip id="tt16"><div class=CConstant>Generalized cubic</div></div><div class=CToolTip id="tt17"><div class=CConstant>Hamming</div></div><div class=CToolTip id="tt18"><div class=CConstant>Hannig</div></div><div class=CToolTip id="tt19"><div class=CConstant>Hermite</div></div><div class=CToolTip id="tt20"><div class=CConstant>bilinear interpolation</div></div><div class=CToolTip id="tt21"><div class=CConstant>Mitchell</div></div><div class=CToolTip id="tt22"><div class=CConstant>Nearest neighbour interpolation</div></div><div class=CToolTip id="tt23"><div class=CConstant>Power</div></div><div class=CToolTip id="tt24"><div class=CConstant>Quadratic</div></div><div class=CToolTip id="tt25"><div class=CConstant>GD_QUANT_LIQ if libimagequant is available, GD_QUANT_JQUANT otherwise.</div></div><div class=CToolTip id="tt26"><div class=CConstant>libjpeg&rsquo;s old median cut. </div></div><div class=CToolTip id="tt27"><div class=CConstant>A combination of algorithms used in libimagequant aiming for the highest quality at cost of speed.</div></div><div class=CToolTip id="tt28"><div class=CConstant>NeuQuant - approximation using Kohonen neural network.</div></div><div class=CToolTip id="tt29"><div class=CConstant>Sinc</div></div><div class=CToolTip id="tt30"><div class=CConstant>Triangle</div></div><div class=CToolTip id="tt31"><div class=CConstant>4 pixels weighted bilinear interpolation</div></div><div class=CToolTip id="tt32"><div class=CConstant>draw anti aliased</div></div><div class=CToolTip id="tt33"><div class=CConstant>use the current brush, see gdImageSetBrush</div></div><div class=CToolTip id="tt34"><div class=CConstant>Preserve previous frame</div></div><div class=CToolTip id="tt35"><div class=CConstant>First allocated color of palette</div></div><div class=CToolTip id="tt36"><div class=CConstant>Restore to before start of frame</div></div><div class=CToolTip id="tt37"><div class=CConstant>Not recommended</div></div><div class=CToolTip id="tt38"><div class=CConstant>use the current style, see gdImageSetStyle</div></div><div class=CToolTip id="tt39"><div class=CConstant>use the current style and brush</div></div><div class=CToolTip id="tt40"><div class=CConstant>use the current tile, see gdImageSetTile</div></div><div class=CToolTip id="tt41"><div class=CConstant>indicate transparency, what is not the same as the transparent color index; used for lines only</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex id=MSelected>Constants</div></div><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Files.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Files.html
deleted file mode 100644
index fd736d4db9e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Files.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>File Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>File Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; D &middot; E &middot; <a href="#F">F</a> &middot; <a href="#G">G</a> &middot; H &middot; <a href="#I">I</a> &middot; <a href="#J">J</a> &middot; K &middot; <a href="#L">L</a> &middot; <a href="#M">M</a> &middot; N &middot; O &middot; <a href="#P">P</a> &middot; Q &middot; R &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; V &middot; <a href="#W">W</a> &middot; <a href="#X">X</a> &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="B"></a>B</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#BMP_IO" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>BMP IO</a></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#Color_Quantization" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>Color Quantization</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#Cropping" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>Cropping</a></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#FreeType_font_rendering" class=ISymbol>FreeType font rendering</a></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#GD_IO" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>GD IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gd.c" class=ISymbol>gd.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gd.h" class=ISymbol>gd.h</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gd_filename.c" class=ISymbol>gd_filename.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gd_interpolation.c" class=ISymbol>gd_interpolation.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io-h.html#gd_io.h" class=ISymbol>gd_io.h</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gd_io_dp.c" class=ISymbol>gd_io_dp.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_ss-c.html#gd_ss.c" class=ISymbol>gd_ss.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gd_version.c" class=ISymbol>gd_version.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#GD2_IO" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>GD2 IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdfx.c" class=ISymbol>gdfx.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontg-c.html#Giant_Font" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>Giant Font</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#GIF_Input" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>GIF Input</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#GIF_Output" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>GIF Output</a></td></tr><tr><td class=IHeading><a name="I"></a>I</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#Image_Filters" class=ISymbol>Image Filters</a></td></tr><tr><td class=IHeading><a name="J"></a>J</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#JPEG_IO" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>JPEG IO</a></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontl-c.html#Large_Font" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>Large Font</a></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontmb-c.html#Medium_Bold_Font" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>Medium Bold Font</a></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#PNG_IO" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>PNG IO</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfonts-c.html#Small_Font" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>Small Font</a></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#TGA_Input" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>TGA Input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#TIFF_IO" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>TIFF IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontt-c.html#Tiny_Font" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>Tiny Font</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#Transformations" class=ISymbol>Transformations</a></td></tr><tr><td class=IHeading><a name="W"></a>W</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#WBMP_IO" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>WBMP IO</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#WebP_IO" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>WebP IO</a></td></tr><tr><td class=IHeading><a name="X"></a>X</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_xbm-c.html#XBM_IO" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>XBM IO</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdxpm-c.html#XPM_Input" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>XPM Input</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFile>Read and write BMP images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt2"><div class=CFile>Functions for truecolor to palette conversion</div></div><div class=CToolTip id="tt3"><div class=CFile>Crop an image</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt4"><div class=CFile>Read and write GD images.</div></div><div class=CToolTip id="tt5"><div class=CFile>Read and write GD2 images.</div></div><div class=CToolTip id="tt6"><div class=CFile>A very large ISO-8859-2 raster font (9x15 pixels).</div></div><div class=CToolTip id="tt7"><div class=CFile>Read GIF images.</div></div><div class=CToolTip id="tt8"><div class=CFile>Write GIF images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt9"><div class=CFile>Read and write JPEG images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt10"><div class=CFile>A large ISO-8859-2 raster font (8x16 pixels).</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt11"><div class=CFile>A medium bold ISO-8859-2 raster font (7x13 pixels).</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt12"><div class=CFile>Read and write PNG images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt13"><div class=CFile>A small ISO-8859-2 raster font (7x13 pixels).</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt14"><div class=CFile>Read TGA images.</div></div><div class=CToolTip id="tt15"><div class=CFile>Read and write TIFF images.</div></div><div class=CToolTip id="tt16"><div class=CFile>A very small ISO-8859-2 raster font (5x8 pixels).</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt17"><div class=CFile>Read and write WBMP images.</div></div><div class=CToolTip id="tt18"><div class=CFile>Read and write WebP images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt19"><div class=CFile>Read and write XBM images.</div></div><div class=CToolTip id="tt20"><div class=CFile>Read XPM images.</div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Files</div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Functions.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Functions.html
deleted file mode 100644
index 4e2a359a3dd..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Functions.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineApplyToPointF" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>gdAffineApplyToPointF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineConcat" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>gdAffineConcat</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineEqual" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>gdAffineEqual</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineFlip" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>gdAffineFlip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineIdentity" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>gdAffineIdentity</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineInvert" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>gdAffineInvert</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRectilinear" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>gdAffineRectilinear</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRotate" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>gdAffineRotate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineScale" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>gdAffineScale</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearHorizontal" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>gdAffineShearHorizontal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearVertical" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>gdAffineShearVertical</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineTranslate" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>gdAffineTranslate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdAlphaBlend" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>gdAlphaBlend</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdClearErrorMethod" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>gdClearErrorMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_color_map-c.html#gdColorMapLookup" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>gdColorMapLookup</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gdDPExtractData" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>gdDPExtractData</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdExtraVersion" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>gdExtraVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFontCacheSetup" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>gdFontCacheSetup</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFontCacheShutdown" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>gdFontCacheShutdown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontg-c.html#gdFontGetGiant" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>gdFontGetGiant</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontl-c.html#gdFontGetLarge" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>gdFontGetLarge</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontmb-c.html#gdFontGetMediumBold" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>gdFontGetMediumBold</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfonts-c.html#gdFontGetSmall" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>gdFontGetSmall</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontt-c.html#gdFontGetTiny" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>gdFontGetTiny</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdhelpers-c.html#gdFree" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>gdFree</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFreeFontCache" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>gdFreeFontCache</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFTUseFontConfig" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>gdFTUseFontConfig</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageAABlend" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>gdImageAABlend</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageAlphaBlending" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>gdImageAlphaBlending</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageArc" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>gdImageArc</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmp" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>gdImageBmp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpCtx" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>gdImageBmpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpPtr" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>gdImageBmpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageBoundsSafe" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>gdImageBoundsSafe</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageBrightness" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>gdImageBrightness</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageChar" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>gdImageChar</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCharUp" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>gdImageCharUp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageClone" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>gdImageClone</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageColor" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>gdImageColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorAllocate" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>gdImageColorAllocate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorAllocateAlpha" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>gdImageColorAllocateAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorClosest" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>gdImageColorClosest</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorClosestAlpha" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>gdImageColorClosestAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorClosestHWB" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>gdImageColorClosestHWB</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorDeallocate" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>gdImageColorDeallocate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorExact" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>gdImageColorExact</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorExactAlpha" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>gdImageColorExactAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_color_match-c.html#gdImageColorMatch" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>gdImageColorMatch</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplace" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>gdImageColorReplace</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceArray" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>gdImageColorReplaceArray</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceCallback" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>gdImageColorReplaceCallback</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceThreshold" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>gdImageColorReplaceThreshold</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorResolve" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>gdImageColorResolve</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorResolveAlpha" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>gdImageColorResolveAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorTransparent" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>gdImageColorTransparent</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCompare" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>gdImageCompare</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageContrast" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>gdImageContrast</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageConvolution" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>gdImageConvolution</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopy" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>gdImageCopy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageCopyGaussianBlurred" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>gdImageCopyGaussianBlurred</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyMerge" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>gdImageCopyMerge</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyMergeGray" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>gdImageCopyMergeGray</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyResampled" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>gdImageCopyResampled</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyResized" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>gdImageCopyResized</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyRotated" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>gdImageCopyRotated</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCreate" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>gdImageCreate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmp" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>gdImageCreateFromBmp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpCtx" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>gdImageCreateFromBmpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpPtr" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>gdImageCreateFromBmpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gdImageCreateFromFile" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>gdImageCreateFromFile</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGd" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>gdImageCreateFromGd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>gdImageCreateFromGd2</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ctx" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>gdImageCreateFromGd2Ctx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Part" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>gdImageCreateFromGd2Part</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartCtx" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>gdImageCreateFromGd2PartCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartPtr" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>gdImageCreateFromGd2PartPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ptr" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>gdImageCreateFromGd2Ptr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdCtx" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>gdImageCreateFromGdCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdPtr" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>gdImageCreateFromGdPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGif" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>gdImageCreateFromGif</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifCtx" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>gdImageCreateFromGifCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifPtr" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>gdImageCreateFromGifPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpeg" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>gdImageCreateFromJpeg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtx" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>gdImageCreateFromJpegCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtxEx" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>gdImageCreateFromJpegCtxEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegEx" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>gdImageCreateFromJpegEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtr" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>gdImageCreateFromJpegPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtrEx" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>gdImageCreateFromJpegPtrEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPng" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>gdImageCreateFromPng</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngCtx" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>gdImageCreateFromPngCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngPtr" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>gdImageCreateFromPngPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_ss-c.html#gdImageCreateFromPngSource" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>gdImageCreateFromPngSource</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTga" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>gdImageCreateFromTga</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaCtx" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>gdImageCreateFromTgaCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaPtr" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>gdImageCreateFromTgaPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTIFF" class=ISymbol>gdImageCreateFromTIFF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffCtx" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>gdImageCreateFromTiffCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffPtr" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>gdImageCreateFromTiffPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMP" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>gdImageCreateFromWBMP</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPCtx" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>gdImageCreateFromWBMPCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPPtr" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>gdImageCreateFromWBMPPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebp" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>gdImageCreateFromWebp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpCtx" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>gdImageCreateFromWebpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpPtr" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>gdImageCreateFromWebpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_xbm-c.html#gdImageCreateFromXbm" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>gdImageCreateFromXbm</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdxpm-c.html#gdImageCreateFromXpm" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>gdImageCreateFromXpm</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageCreatePaletteFromTrueColor" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>gdImageCreatePaletteFromTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCreateTrueColor" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>gdImageCreateTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#gdImageCrop" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>gdImageCrop</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#gdImageCropAuto" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>gdImageCropAuto</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#gdImageCropThreshold" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>gdImageCropThreshold</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageDashedLine" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>gdImageDashedLine</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageDestroy" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>gdImageDestroy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageEdgeDetectQuick" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>gdImageEdgeDetectQuick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageEllipse" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>gdImageEllipse</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageEmboss" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>gdImageEmboss</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gdImageFile" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>gdImageFile</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFill" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>gdImageFill</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledArc" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=ISymbol>gdImageFilledArc</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledEllipse" id=link119 onMouseOver="ShowTip(event, 'tt119', 'link119')" onMouseOut="HideTip('tt119')" class=ISymbol>gdImageFilledEllipse</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledPolygon" id=link120 onMouseOver="ShowTip(event, 'tt120', 'link120')" onMouseOut="HideTip('tt120')" class=ISymbol>gdImageFilledPolygon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledRectangle" id=link121 onMouseOver="ShowTip(event, 'tt121', 'link121')" onMouseOut="HideTip('tt121')" class=ISymbol>gdImageFilledRectangle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFillToBorder" id=link122 onMouseOver="ShowTip(event, 'tt122', 'link122')" onMouseOut="HideTip('tt122')" class=ISymbol>gdImageFillToBorder</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipBoth" id=link123 onMouseOver="ShowTip(event, 'tt123', 'link123')" onMouseOut="HideTip('tt123')" class=ISymbol>gdImageFlipBoth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipHorizontal" id=link124 onMouseOver="ShowTip(event, 'tt124', 'link124')" onMouseOut="HideTip('tt124')" class=ISymbol>gdImageFlipHorizontal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipVertical" id=link125 onMouseOver="ShowTip(event, 'tt125', 'link125')" onMouseOut="HideTip('tt125')" class=ISymbol>gdImageFlipVertical</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageGaussianBlur" id=link126 onMouseOver="ShowTip(event, 'tt126', 'link126')" onMouseOut="HideTip('tt126')" class=ISymbol>gdImageGaussianBlur</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageGd" id=link127 onMouseOver="ShowTip(event, 'tt127', 'link127')" onMouseOut="HideTip('tt127')" class=ISymbol>gdImageGd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2" id=link128 onMouseOver="ShowTip(event, 'tt128', 'link128')" onMouseOut="HideTip('tt128')" class=ISymbol>gdImageGd2</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2Ptr" id=link129 onMouseOver="ShowTip(event, 'tt129', 'link129')" onMouseOut="HideTip('tt129')" class=ISymbol>gdImageGd2Ptr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageGdPtr" id=link130 onMouseOver="ShowTip(event, 'tt130', 'link130')" onMouseOut="HideTip('tt130')" class=ISymbol>gdImageGdPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageGetClip" id=link131 onMouseOver="ShowTip(event, 'tt131', 'link131')" onMouseOut="HideTip('tt131')" class=ISymbol>gdImageGetClip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageGetInterpolationMethod" id=link132 onMouseOver="ShowTip(event, 'tt132', 'link132')" onMouseOut="HideTip('tt132')" class=ISymbol>gdImageGetInterpolationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageGetPixel" id=link133 onMouseOver="ShowTip(event, 'tt133', 'link133')" onMouseOut="HideTip('tt133')" class=ISymbol>gdImageGetPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageGetTrueColorPixel" id=link134 onMouseOver="ShowTip(event, 'tt134', 'link134')" onMouseOut="HideTip('tt134')" class=ISymbol>gdImageGetTrueColorPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGif" id=link135 onMouseOver="ShowTip(event, 'tt135', 'link135')" onMouseOut="HideTip('tt135')" class=ISymbol>gdImageGif</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAdd" id=link136 onMouseOver="ShowTip(event, 'tt136', 'link136')" onMouseOut="HideTip('tt136')" class=ISymbol>gdImageGifAnimAdd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddCtx" id=link137 onMouseOver="ShowTip(event, 'tt137', 'link137')" onMouseOut="HideTip('tt137')" class=ISymbol>gdImageGifAnimAddCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddPtr" id=link138 onMouseOver="ShowTip(event, 'tt138', 'link138')" onMouseOut="HideTip('tt138')" class=ISymbol>gdImageGifAnimAddPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBegin" id=link139 onMouseOver="ShowTip(event, 'tt139', 'link139')" onMouseOut="HideTip('tt139')" class=ISymbol>gdImageGifAnimBegin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginCtx" id=link140 onMouseOver="ShowTip(event, 'tt140', 'link140')" onMouseOut="HideTip('tt140')" class=ISymbol>gdImageGifAnimBeginCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginPtr" id=link141 onMouseOver="ShowTip(event, 'tt141', 'link141')" onMouseOut="HideTip('tt141')" class=ISymbol>gdImageGifAnimBeginPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEnd" id=link142 onMouseOver="ShowTip(event, 'tt142', 'link142')" onMouseOut="HideTip('tt142')" class=ISymbol>gdImageGifAnimEnd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndCtx" id=link143 onMouseOver="ShowTip(event, 'tt143', 'link143')" onMouseOut="HideTip('tt143')" class=ISymbol>gdImageGifAnimEndCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndPtr" id=link144 onMouseOver="ShowTip(event, 'tt144', 'link144')" onMouseOut="HideTip('tt144')" class=ISymbol>gdImageGifAnimEndPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifCtx" id=link145 onMouseOver="ShowTip(event, 'tt145', 'link145')" onMouseOut="HideTip('tt145')" class=ISymbol>gdImageGifCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifPtr" id=link146 onMouseOver="ShowTip(event, 'tt146', 'link146')" onMouseOut="HideTip('tt146')" class=ISymbol>gdImageGifPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageGrayScale" id=link147 onMouseOver="ShowTip(event, 'tt147', 'link147')" onMouseOut="HideTip('tt147')" class=ISymbol>gdImageGrayScale</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageInterlace" id=link148 onMouseOver="ShowTip(event, 'tt148', 'link148')" onMouseOut="HideTip('tt148')" class=ISymbol>gdImageInterlace</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpeg" id=link149 onMouseOver="ShowTip(event, 'tt149', 'link149')" onMouseOut="HideTip('tt149')" class=ISymbol>gdImageJpeg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegCtx" id=link150 onMouseOver="ShowTip(event, 'tt150', 'link150')" onMouseOut="HideTip('tt150')" class=ISymbol>gdImageJpegCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegPtr" id=link151 onMouseOver="ShowTip(event, 'tt151', 'link151')" onMouseOut="HideTip('tt151')" class=ISymbol>gdImageJpegPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageLine" id=link152 onMouseOver="ShowTip(event, 'tt152', 'link152')" onMouseOut="HideTip('tt152')" class=ISymbol>gdImageLine</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageMeanRemoval" id=link153 onMouseOver="ShowTip(event, 'tt153', 'link153')" onMouseOut="HideTip('tt153')" class=ISymbol>gdImageMeanRemoval</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageNegate" id=link154 onMouseOver="ShowTip(event, 'tt154', 'link154')" onMouseOut="HideTip('tt154')" class=ISymbol>gdImageNegate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_nnquant-c.html#gdImageNeuQuant" id=link155 onMouseOver="ShowTip(event, 'tt155', 'link155')" onMouseOut="HideTip('tt155')" class=ISymbol>gdImageNeuQuant</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageOpenPolygon" id=link156 onMouseOver="ShowTip(event, 'tt156', 'link156')" onMouseOut="HideTip('tt156')" class=ISymbol>gdImageOpenPolygon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImagePaletteCopy" id=link157 onMouseOver="ShowTip(event, 'tt157', 'link157')" onMouseOut="HideTip('tt157')" class=ISymbol>gdImagePaletteCopy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImagePaletteToTrueColor" id=link158 onMouseOver="ShowTip(event, 'tt158', 'link158')" onMouseOut="HideTip('tt158')" class=ISymbol>gdImagePaletteToTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImagePixelate" id=link159 onMouseOver="ShowTip(event, 'tt159', 'link159')" onMouseOut="HideTip('tt159')" class=ISymbol>gdImagePixelate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePng" id=link160 onMouseOver="ShowTip(event, 'tt160', 'link160')" onMouseOut="HideTip('tt160')" class=ISymbol>gdImagePng</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtx" id=link161 onMouseOver="ShowTip(event, 'tt161', 'link161')" onMouseOut="HideTip('tt161')" class=ISymbol>gdImagePngCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtxEx" id=link162 onMouseOver="ShowTip(event, 'tt162', 'link162')" onMouseOut="HideTip('tt162')" class=ISymbol>gdImagePngCtxEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngEx" id=link163 onMouseOver="ShowTip(event, 'tt163', 'link163')" onMouseOut="HideTip('tt163')" class=ISymbol>gdImagePngEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtr" id=link164 onMouseOver="ShowTip(event, 'tt164', 'link164')" onMouseOut="HideTip('tt164')" class=ISymbol>gdImagePngPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtrEx" id=link165 onMouseOver="ShowTip(event, 'tt165', 'link165')" onMouseOut="HideTip('tt165')" class=ISymbol>gdImagePngPtrEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_ss-c.html#gdImagePngToSink" id=link166 onMouseOver="ShowTip(event, 'tt166', 'link166')" onMouseOut="HideTip('tt166')" class=ISymbol>gdImagePngToSink</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImagePolygon" id=link167 onMouseOver="ShowTip(event, 'tt167', 'link167')" onMouseOut="HideTip('tt167')" class=ISymbol>gdImagePolygon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageRectangle" id=link168 onMouseOver="ShowTip(event, 'tt168', 'link168')" onMouseOut="HideTip('tt168')" class=ISymbol>gdImageRectangle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageRotateInterpolated" id=link169 onMouseOver="ShowTip(event, 'tt169', 'link169')" onMouseOut="HideTip('tt169')" class=ISymbol>gdImageRotateInterpolated</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSaveAlpha" id=link170 onMouseOver="ShowTip(event, 'tt170', 'link170')" onMouseOut="HideTip('tt170')" class=ISymbol>gdImageSaveAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageScale" id=link171 onMouseOver="ShowTip(event, 'tt171', 'link171')" onMouseOut="HideTip('tt171')" class=ISymbol>gdImageScale</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageScatter" id=link172 onMouseOver="ShowTip(event, 'tt172', 'link172')" onMouseOut="HideTip('tt172')" class=ISymbol>gdImageScatter</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterColor" id=link173 onMouseOver="ShowTip(event, 'tt173', 'link173')" onMouseOut="HideTip('tt173')" class=ISymbol>gdImageScatterColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterEx" id=link174 onMouseOver="ShowTip(event, 'tt174', 'link174')" onMouseOut="HideTip('tt174')" class=ISymbol>gdImageScatterEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageSelectiveBlur" id=link175 onMouseOver="ShowTip(event, 'tt175', 'link175')" onMouseOut="HideTip('tt175')" class=ISymbol>gdImageSelectiveBlur</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliased" id=link176 onMouseOver="ShowTip(event, 'tt176', 'link176')" onMouseOut="HideTip('tt176')" class=ISymbol>gdImageSetAntiAliased</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliasedDontBlend" id=link177 onMouseOver="ShowTip(event, 'tt177', 'link177')" onMouseOut="HideTip('tt177')" class=ISymbol>gdImageSetAntiAliasedDontBlend</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetBrush" id=link178 onMouseOver="ShowTip(event, 'tt178', 'link178')" onMouseOut="HideTip('tt178')" class=ISymbol>gdImageSetBrush</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetClip" id=link179 onMouseOver="ShowTip(event, 'tt179', 'link179')" onMouseOut="HideTip('tt179')" class=ISymbol>gdImageSetClip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageSetInterpolationMethod" id=link180 onMouseOver="ShowTip(event, 'tt180', 'link180')" onMouseOut="HideTip('tt180')" class=ISymbol>gdImageSetInterpolationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetPixel" id=link181 onMouseOver="ShowTip(event, 'tt181', 'link181')" onMouseOut="HideTip('tt181')" class=ISymbol>gdImageSetPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetResolution" id=link182 onMouseOver="ShowTip(event, 'tt182', 'link182')" onMouseOut="HideTip('tt182')" class=ISymbol>gdImageSetResolution</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetStyle" id=link183 onMouseOver="ShowTip(event, 'tt183', 'link183')" onMouseOut="HideTip('tt183')" class=ISymbol>gdImageSetStyle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetThickness" id=link184 onMouseOver="ShowTip(event, 'tt184', 'link184')" onMouseOut="HideTip('tt184')" class=ISymbol>gdImageSetThickness</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetTile" id=link185 onMouseOver="ShowTip(event, 'tt185', 'link185')" onMouseOut="HideTip('tt185')" class=ISymbol>gdImageSetTile</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdImageSharpen" id=link186 onMouseOver="ShowTip(event, 'tt186', 'link186')" onMouseOut="HideTip('tt186')" class=ISymbol>gdImageSharpen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageSmooth" id=link187 onMouseOver="ShowTip(event, 'tt187', 'link187')" onMouseOut="HideTip('tt187')" class=ISymbol>gdImageSmooth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdImageSquareToCircle" id=link188 onMouseOver="ShowTip(event, 'tt188', 'link188')" onMouseOut="HideTip('tt188')" class=ISymbol>gdImageSquareToCircle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageString" id=link189 onMouseOver="ShowTip(event, 'tt189', 'link189')" onMouseOut="HideTip('tt189')" class=ISymbol>gdImageString</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageString16" id=link190 onMouseOver="ShowTip(event, 'tt190', 'link190')" onMouseOut="HideTip('tt190')" class=ISymbol>gdImageString16</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdImageStringFT" id=link191 onMouseOver="ShowTip(event, 'tt191', 'link191')" onMouseOut="HideTip('tt191')" class=ISymbol>gdImageStringFT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdImageStringFTCircle" id=link192 onMouseOver="ShowTip(event, 'tt192', 'link192')" onMouseOut="HideTip('tt192')" class=ISymbol>gdImageStringFTCircle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdImageStringFTEx" id=link193 onMouseOver="ShowTip(event, 'tt193', 'link193')" onMouseOut="HideTip('tt193')" class=ISymbol>gdImageStringFTEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdImageStringTTF" id=link194 onMouseOver="ShowTip(event, 'tt194', 'link194')" onMouseOut="HideTip('tt194')" class=ISymbol>gdImageStringTTF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageStringUp" id=link195 onMouseOver="ShowTip(event, 'tt195', 'link195')" onMouseOut="HideTip('tt195')" class=ISymbol>gdImageStringUp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageStringUp16" id=link196 onMouseOver="ShowTip(event, 'tt196', 'link196')" onMouseOut="HideTip('tt196')" class=ISymbol>gdImageStringUp16</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiff" id=link197 onMouseOver="ShowTip(event, 'tt197', 'link197')" onMouseOut="HideTip('tt197')" class=ISymbol>gdImageTiff</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffCtx" id=link198 onMouseOver="ShowTip(event, 'tt198', 'link198')" onMouseOut="HideTip('tt198')" class=ISymbol>gdImageTiffCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffPtr" id=link199 onMouseOver="ShowTip(event, 'tt199', 'link199')" onMouseOut="HideTip('tt199')" class=ISymbol>gdImageTiffPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPalette" id=link200 onMouseOver="ShowTip(event, 'tt200', 'link200')" onMouseOut="HideTip('tt200')" class=ISymbol>gdImageTrueColorToPalette</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetMethod" id=link201 onMouseOver="ShowTip(event, 'tt201', 'link201')" onMouseOut="HideTip('tt201')" class=ISymbol>gdImageTrueColorToPaletteSetMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetQuality" id=link202 onMouseOver="ShowTip(event, 'tt202', 'link202')" onMouseOut="HideTip('tt202')" class=ISymbol>gdImageTrueColorToPaletteSetQuality</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMP" id=link203 onMouseOver="ShowTip(event, 'tt203', 'link203')" onMouseOut="HideTip('tt203')" class=ISymbol>gdImageWBMP</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPCtx" id=link204 onMouseOver="ShowTip(event, 'tt204', 'link204')" onMouseOut="HideTip('tt204')" class=ISymbol>gdImageWBMPCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPPtr" id=link205 onMouseOver="ShowTip(event, 'tt205', 'link205')" onMouseOut="HideTip('tt205')" class=ISymbol>gdImageWBMPPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebp" id=link206 onMouseOver="ShowTip(event, 'tt206', 'link206')" onMouseOut="HideTip('tt206')" class=ISymbol>gdImageWebp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpCtx" id=link207 onMouseOver="ShowTip(event, 'tt207', 'link207')" onMouseOut="HideTip('tt207')" class=ISymbol>gdImageWebpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpEx" id=link208 onMouseOver="ShowTip(event, 'tt208', 'link208')" onMouseOut="HideTip('tt208')" class=ISymbol>gdImageWebpEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtr" id=link209 onMouseOver="ShowTip(event, 'tt209', 'link209')" onMouseOut="HideTip('tt209')" class=ISymbol>gdImageWebpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtrEx" id=link210 onMouseOver="ShowTip(event, 'tt210', 'link210')" onMouseOut="HideTip('tt210')" class=ISymbol>gdImageWebpPtrEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_xbm-c.html#gdImageXbmCtx" id=link211 onMouseOver="ShowTip(event, 'tt211', 'link211')" onMouseOut="HideTip('tt211')" class=ISymbol>gdImageXbmCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdLayerMultiply" id=link212 onMouseOver="ShowTip(event, 'tt212', 'link212')" onMouseOut="HideTip('tt212')" class=ISymbol>gdLayerMultiply</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdLayerOverlay" id=link213 onMouseOver="ShowTip(event, 'tt213', 'link213')" onMouseOut="HideTip('tt213')" class=ISymbol>gdLayerOverlay</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdMajorVersion" id=link214 onMouseOver="ShowTip(event, 'tt214', 'link214')" onMouseOut="HideTip('tt214')" class=ISymbol>gdMajorVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdMinorVersion" id=link215 onMouseOver="ShowTip(event, 'tt215', 'link215')" onMouseOut="HideTip('tt215')" class=ISymbol>gdMinorVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtx" id=link216 onMouseOver="ShowTip(event, 'tt216', 'link216')" onMouseOut="HideTip('tt216')" class=ISymbol>gdNewDynamicCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtxEx" id=link217 onMouseOver="ShowTip(event, 'tt217', 'link217')" onMouseOut="HideTip('tt217')" class=ISymbol>gdNewDynamicCtxEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_file-c.html#gdNewFileCtx" id=link218 onMouseOver="ShowTip(event, 'tt218', 'link218')" onMouseOut="HideTip('tt218')" class=ISymbol>gdNewFileCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_ss-c.html#gdNewSSCtx" id=link219 onMouseOver="ShowTip(event, 'tt219', 'link219')" onMouseOut="HideTip('tt219')" class=ISymbol>gdNewSSCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdReleaseVersion" id=link220 onMouseOver="ShowTip(event, 'tt220', 'link220')" onMouseOut="HideTip('tt220')" class=ISymbol>gdReleaseVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdSetErrorMethod" id=link221 onMouseOver="ShowTip(event, 'tt221', 'link221')" onMouseOut="HideTip('tt221')" class=ISymbol>gdSetErrorMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gdSupportsFileType" id=link222 onMouseOver="ShowTip(event, 'tt222', 'link222')" onMouseOut="HideTip('tt222')" class=ISymbol>gdSupportsFileType</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineBoundingBox" id=link223 onMouseOver="ShowTip(event, 'tt223', 'link223')" onMouseOut="HideTip('tt223')" class=ISymbol>gdTransformAffineBoundingBox</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineCopy" id=link224 onMouseOver="ShowTip(event, 'tt224', 'link224')" onMouseOut="HideTip('tt224')" class=ISymbol>gdTransformAffineCopy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineGetImage" id=link225 onMouseOver="ShowTip(event, 'tt225', 'link225')" onMouseOut="HideTip('tt225')" class=ISymbol>gdTransformAffineGetImage</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdVersionString" id=link226 onMouseOver="ShowTip(event, 'tt226', 'link226')" onMouseOut="HideTip('tt226')" class=ISymbol>gdVersionString</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineApplyToPointF (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a point (floating point gdPointF)</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineConcat (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Concat (Multiply) two affine transformation matrices.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineEqual (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether two affine transformations are equal. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineFlip (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_h,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_v</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an affine transformation horizontally or vertically.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineIdentity (</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up the identity matrix.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineInvert (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Find the inverse of an affine transformation.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRectilinear (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether the affine transformation is axis aligned. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRotate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a rotation affine transform.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineScale (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a scaling matrix.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearHorizontal(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a horizontal shearing matrix || becomes \\.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearVertical(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a vertical shearing matrix, columns are untouched.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineTranslate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a translation matrix.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Blend two colors</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdClearErrorMethod(</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdColorMapLookup(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdColorMap&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color_map,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>color_name,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdDPExtractData (</td><td class="PTypePrefix prettyprint " nowrap>struct&nbsp;</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdExtraVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFontCacheSetup (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up the font cache.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFontCacheShutdown ()</td></tr></table></blockquote>Shut down the font cache and free the allocated resources.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetGiant (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in giant font.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetLarge (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in large font.</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetMediumBold (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in medium bold font.</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetSmall (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in small font.</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetTiny (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in tiny font.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdFree (</td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ptr</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory that has been allocated by libgd functions.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFreeFontCache ()</td></tr></table></blockquote>Alias of gdFontCacheShutdown.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFTUseFontConfig(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Enable or disable fontconfig by default.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAABlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>NO-OP, kept for library compatibility.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the effect for subsequent drawing operations</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmp(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageBmp outputs the specified image to the specified file in BMP format. </div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmpCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageBmpPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBoundsSafe (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBrightness(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>brightness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the brightness of an image</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCharUp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageClone (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Clones an image</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>red,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>green,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>blue,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change channel values of an image</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocateAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosest (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestHWB (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorDeallocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Removes a palette entry</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExact (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorMatch (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Bring the palette colors in im2 to be closer to im1.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceArray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>len,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceCallback (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdCallbackImageColor&nbsp;</td><td class="PParameter prettyprint " nowrap>callback</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceThreshold (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolve (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageColorResolve is an alternative for the code fragment</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the transparent color of the image</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageCompare (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Compare two images</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageContrast(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>contrast</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the contrast of an image</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageConvolution(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter[3][3],</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter_div,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Apply a convolution matrix to an image</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image</div></div><div class=CToolTip id="tt60"><div class=CFunction>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMerge (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMergeGray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resampled area from an image to another image</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resized area from an image to another image</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a rotated area from an image to another image</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreate is called to create palette-based images, with no more than 256 colors. </div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmp(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromFile(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Read an image file of any supported.</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd is called to load images from gd format files. </div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2 (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2 is called to load images from gd2 format files. </div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ctx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD2 image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Part (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2Part is called to load parts of images from gd2 format files. </div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>in,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ptr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdCtx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt79"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGif(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fdFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGif is called to load images from GIF format files. </div></div><div class=CToolTip id="tt81"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromGif.</div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpeg(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpegEx.</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtxEx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegEx(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromJpegEx is called to load truecolor images from JPEG format files. </div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt88"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtrEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt89"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPng (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromPng is called to load images from PNG format files. </div></div><div class=CToolTip id="tt90"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng.</div></div><div class=CToolTip id="tt91"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng.</div></div><div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngSource (</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>inSource</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng for documentation. </div></div><div class=CToolTip id="tt93"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTga(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fp</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a gdImage from a TGA file</div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a gdImage from a gdIOCtx referencing a TGA binary file.</div></div><div class=CToolTip id="tt95"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Create a gdImage from a TIFF file input from an gdIOCtx.</div></div><div class=CToolTip id="tt97"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt98"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMP(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromWBMP is called to load images from WBMP format files. </div></div><div class=CToolTip id="tt99"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a WBMP image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt101"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebp (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromWebp is called to load truecolor images from WebP format files. </div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromWebp.</div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromWebp.</div></div><div class=CToolTip id="tt104"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXbm(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromXbm is called to load images from X bitmap format files. </div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXpm(</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromXbm is called to load images from XPM X Window System color bitmap format files. </div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreatePaletteFromTrueColor (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. </div></div><div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCrop(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdRect&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>crop</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image to a given rectangle</div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image automatically</div></div><div class=CToolTip id="tt110"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropThreshold(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image using a given color</div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDashedLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEdgeDetectQuick(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Edge detection of an image</div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageEllipse(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEmboss(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Emboss an image</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageFile(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes an image to a file in the format indicated by the filename.</div></div><div class=CToolTip id="tt117"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFill(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>nc</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt118"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>style</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt119"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledEllipse (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt120"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a filled polygon</div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFillToBorder (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>border,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipBoth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image vertically and horizontally</div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipHorizontal(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image horizontally</div></div><div class=CToolTip id="tt125"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipVertical(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image vertically</div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGaussianBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGaussianBlur performs a Gaussian blur of radius 1 on the image. </div></div><div class=CToolTip id="tt127"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt128"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd2 (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt129"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGd2Ptr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt130"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGdPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt131"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x2P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y2P</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current clipping rectangle</div></div><div class=CToolTip id="tt132"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Get the current interpolation method</div></div><div class=CToolTip id="tt133"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color as stored in the image.</div></div><div class=CToolTip id="tt134"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color always as truecolor value.</div></div><div class=CToolTip id="tt135"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGif(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGif outputs the specified image to the specified file in GIF format. </div></div><div class=CToolTip id="tt136"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function writes GIF animation frames to GIF animation, which was initialized with gdImageGifAnimBegin. </div></div><div class=CToolTip id="tt137"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAddCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds an animation frame via a gdIOCtxPtr. </div></div><div class=CToolTip id="tt138"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimAddPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimAdd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt139"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBegin(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function must be called as the first function when creating a GIF animation. </div></div><div class=CToolTip id="tt140"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBeginCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to gdIOCtx. </div></div><div class=CToolTip id="tt141"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimBeginPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to a memory buffer. </div></div><div class=CToolTip id="tt142"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEnd(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Terminates the GIF file properly.</div></div><div class=CToolTip id="tt143"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEndCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd, but writes its data via a gdIOCtx.</div></div><div class=CToolTip id="tt144"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimEndPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt145"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes a GIF image via a gdIOCtx. </div></div><div class=CToolTip id="tt146"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageGif except that it returns a pointer to a memory area with the GIF data. </div></div><div class=CToolTip id="tt147"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGrayScale(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert an image to grayscale</div></div><div class=CToolTip id="tt148"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageInterlace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt149"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpeg(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageJpeg outputs the specified image to the specified file in JPEG format. </div></div><div class=CToolTip id="tt150"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpegCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as JPEG data via a gdIOCtx. </div></div><div class=CToolTip id="tt151"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageJpegPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageJpeg except that it returns a pointer to a memory area with the JPEG data. </div></div><div class=CToolTip id="tt152"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Bresenham as presented in Foley &amp; Van Dam.</div></div><div class=CToolTip id="tt153"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageMeanRemoval(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Mean removal of an image</div></div><div class=CToolTip id="tt154"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageNegate(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Invert an image</div></div><div class=CToolTip id="tt155"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageNeuQuant(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sample_factor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt156"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws an open polygon</div></div><div class=CToolTip id="tt157"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>from</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt158"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePaletteToTrueColor(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert a palette image to true color</div></div><div class=CToolTip id="tt159"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePixelate(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>block_size,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt160"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePng (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngEx with compression of -1.</div></div><div class=CToolTip id="tt161"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngCtxEx with compression of -1. </div></div><div class=CToolTip id="tt162"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtxEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as PNG data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt163"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImagePngEx outputs the specified image to the specified file in PNG format. </div></div><div class=CToolTip id="tt164"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngPtrEx with compression of -1.</div></div><div class=CToolTip id="tt165"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImagePngEx except that it returns a pointer to a memory area with the PNG data. </div></div><div class=CToolTip id="tt166"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngToSink (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>outSink</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt167"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a closed polygon</div></div><div class=CToolTip id="tt168"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a rectangle.</div></div><div class=CToolTip id="tt169"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>bgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Rotate an image</div></div><div class=CToolTip id="tt170"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSaveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>saveAlphaArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the save alpha flag</div></div><div class=CToolTip id="tt171"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_height</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Scale an image</div></div><div class=CToolTip id="tt172"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatter(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt173"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colors[],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>num_colors</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt174"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterEx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdScatterPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>scatter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt175"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSelectiveBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt176"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliased (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt177"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliasedDontBlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dont_blend</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color and &ldquo;dont_blend&rdquo; color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt178"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>brush</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the brush for following drawing operations</div></div><div class=CToolTip id="tt179"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the clipping rectangle</div></div><div class=CToolTip id="tt180"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdInterpolationMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>id</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the interpolation method for subsequent operations</div></div><div class=CToolTip id="tt181"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt182"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the resolution of an image.</div></div><div class=CToolTip id="tt183"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the style for following drawing operations</div></div><div class=CToolTip id="tt184"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetThickness (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>thickness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the thickness for following drawing operations</div></div><div class=CToolTip id="tt185"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetTile (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>tile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt186"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSharpen (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sharpen an image.</div></div><div class=CToolTip id="tt187"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSmooth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>weight</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Smooth an image</div></div><div class=CToolTip id="tt188"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageSquareToCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>radius</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Apply polar coordinate transformation to an image.</div></div><div class=CToolTip id="tt189"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><div class=CToolTip id="tt190"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt191"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringFT (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render an UTF-8 string onto a gd image.</div></div><div class=CToolTip id="tt192"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char* gdImageStringFTCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>radius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>textRadius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fillPortion,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>font,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>points,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>top,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>bottom,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draw text curved along the top and bottom of a circular area of an image.</div></div><div class=CToolTip id="tt193"><div class=CFunction>gdImageStringFTEx extends the capabilities of gdImageStringFT by providing a way to pass additional parameters.</div></div><div class=CToolTip id="tt194"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringTTF (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Alias of gdImageStringFT.</div></div><div class=CToolTip id="tt195"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt196"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt197"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiff(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt198"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiffCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the gd image as a tiff file.</div></div><div class=CToolTip id="tt199"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageTiffPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt200"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPalette (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Converts a truecolor image to a palette image</div></div><div class=CToolTip id="tt201"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPaletteSetMethod (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>method,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>speed</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Selects the quantization method</div></div><div class=CToolTip id="tt202"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTrueColorToPaletteSetQuality (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>min_quality,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Chooses a quality range for quantization</div></div><div class=CToolTip id="tt203"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMP(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt204"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMPCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as a wbmp file</div></div><div class=CToolTip id="tt205"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWBMPPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt206"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Variant of gdImageWebpEx which uses the default quality (-1).</div></div><div class=CToolTip id="tt207"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as WebP data via a gdIOCtx. </div></div><div class=CToolTip id="tt208"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageWebpEx outputs the specified image to the specified file in WebP format. </div></div><div class=CToolTip id="tt209"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageWebpEx.</div></div><div class=CToolTip id="tt210"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageWebpEx.</div></div><div class=CToolTip id="tt211"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageXbmCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>file_name,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes an image to an IO context in X11 bitmap format.</div></div><div class=CToolTip id="tt212"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors with multiply effect</div></div><div class=CToolTip id="tt213"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors</div></div><div class=CToolTip id="tt214"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMajorVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt215"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMinorVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt216"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt217"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtxEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>freeOKFlag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt218"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewFileCtx(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>f</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt219"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewSSCtx(</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>snk</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt220"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdReleaseVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt221"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdSetErrorMethod(</td><td class="PType prettyprint " nowrap>gdErrorMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>error_method</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt222"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdSupportsFileType(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>writing</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Tests if a given file type is supported by GD.</div></div><div class=CToolTip id="tt223"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineBoundingBox(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>bbox</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the bounding box of an affine transformation applied to a rectangular area gdRect</div></div><div class=CToolTip id="tt224"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineCopy(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src_region,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and copy the result in a destination to the given position.</div></div><div class=CToolTip id="tt225"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineGetImage(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src_area,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and return an image containing the complete transformation.</div></div><div class=CToolTip id="tt226"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdVersionString()</td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General.html
deleted file mode 100644
index 8eddc8fa1d4..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; <a href="#Numbers">0-9</a> &middot; <a href="#A">A</a> &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; D &middot; <a href="#E">E</a> &middot; <a href="#F">F</a> &middot; <a href="General2.html#G">G</a> &middot; H &middot; <a href="General3.html#I">I</a> &middot; <a href="General3.html#J">J</a> &middot; K &middot; <a href="General3.html#L">L</a> &middot; <a href="General3.html#M">M</a> &middot; N &middot; <a href="General3.html#O">O</a> &middot; <a href="General3.html#P">P</a> &middot; Q &middot; R &middot; <a href="General3.html#S">S</a> &middot; <a href="General3.html#T">T</a> &middot; U &middot; V &middot; <a href="General3.html#W">W</a> &middot; <a href="General3.html#X">X</a> &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="Numbers"></a>0-9</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/preamble-txt.html#About_LibGD_2.2.5" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>5</a>, <span class=IParent>About LibGD 2::<wbr>2</span></td></tr><tr><td class=IHeading><a name="A"></a>A</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Accessor_Macros" class=ISymbol>Accessor Macros</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#Affine_Transformation" class=ISymbol>Affine Transformation</a></td></tr><tr><td class=IHeading><a name="B"></a>B</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#BMP_IO" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>BMP IO</a></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#Cloning_and_Copying" class=ISymbol>Cloning and Copying</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#Color" class=ISymbol>Color</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Color_Composition" class=ISymbol>Color Composition</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Color_Decomposition" class=ISymbol>Color Decomposition</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Color Quantization</span><div class=ISubIndex><a href="../files/gd-h.html#Color_Quantization" class=IFile>gd.h</a><a href="../files/gd_topal-c.html#Color_Quantization" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=IFile>gd_topal.c</a></div></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Colors" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>Colors</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#Creation_and_Destruction" class=ISymbol>Creation and Destruction</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Crop" class=ISymbol>Crop</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#Cropping" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>Cropping</a></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Effects" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>Effects</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#Error_Handling" class=ISymbol>Error Handling</a></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#FreeType_font_rendering" class=ISymbol>FreeType font rendering</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Functions</span><div class=ISubIndex><a href="../files/gd_bmp-c.html#Functions" class=IFile>gd_bmp.c</a><a href="../files/gd_crop-c.html#Functions" class=IFile>gd_crop.c</a><a href="../files/gd_filename-c.html#Functions" class=IFile>gd_filename.c</a><a href="../files/gd_filter-c.html#Functions" class=IFile>gd_filter.c</a><a href="../files/gd_gd-c.html#Functions" class=IFile>gd_gd.c</a><a href="../files/gd_gd2-c.html#Functions" class=IFile>gd_gd2.c</a><a href="../files/gd_gif_in-c.html#Functions" class=IFile>gd_gif_in.c</a><a href="../files/gd_gif_out-c.html#Functions" class=IFile>gd_gif_out.c</a><a href="../files/gd_io_dp-c.html#Functions" class=IFile>gd_io_dp.c</a><a href="../files/gd_jpeg-c.html#Functions" class=IFile>gd_jpeg.c</a><a href="../files/gd_matrix-c.html#Functions" class=IFile>gd_matrix.c</a><a href="../files/gd_png-c.html#Functions" class=IFile>gd_png.c</a><a href="../files/gd_ss-c.html#Functions" class=IFile>gd_ss.c</a><a href="../files/gd_tga-c.html#Functions" class=IFile>gd_tga.c</a><a href="../files/gd_tiff-c.html#Functions" class=IFile>gd_tiff.c</a><a href="../files/gd_topal-c.html#Functions" class=IFile>gd_topal.c</a><a href="../files/gd_transform-c.html#Functions" class=IFile>gd_transform.c</a><a href="../files/gd_version-c.html#Functions" class=IFile>gd_version.c</a><a href="../files/gd_wbmp-c.html#Functions" class=IFile>gd_wbmp.c</a><a href="../files/gd_webp-c.html#Functions" class=IFile>gd_webp.c</a><a href="../files/gd_xbm-c.html#Functions" class=IFile>gd_xbm.c</a><a href="../files/gdfontg-c.html#Functions" class=IFile>gdfontg.c</a><a href="../files/gdfontl-c.html#Functions" class=IFile>gdfontl.c</a><a href="../files/gdfontmb-c.html#Functions" class=IFile>gdfontmb.c</a><a href="../files/gdfonts-c.html#Functions" class=IFile>gdfonts.c</a><a href="../files/gdfontt-c.html#Functions" class=IFile>gdfontt.c</a><a href="../files/gdft-c.html#Functions" class=IFile>gdft.c</a><a href="../files/gdfx-c.html#Functions" class=IFile>gdfx.c</a><a href="../files/gdxpm-c.html#Functions" class=IFile>gdxpm.c</a></div></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CSection>gd is a graphics library. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt2"><div class=CFile>Read and write BMP images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt3"><div class=CFile>Functions for truecolor to palette conversion</div></div><div class=CToolTip id="tt4"><div class=CGroup>Colors are always of type int which is supposed to be at least 32 bit large.</div></div><div class=CToolTip id="tt5"><div class=CFile>Crop an image</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt6"><div class=CGroup>The layering effect</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General2.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General2.html
deleted file mode 100644
index 3e6d3eb4f3f..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General2.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; <a href="General.html#Numbers">0-9</a> &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; D &middot; <a href="General.html#E">E</a> &middot; <a href="General.html#F">F</a> &middot; <a href="#G">G</a> &middot; H &middot; <a href="General3.html#I">I</a> &middot; <a href="General3.html#J">J</a> &middot; K &middot; <a href="General3.html#L">L</a> &middot; <a href="General3.html#M">M</a> &middot; N &middot; <a href="General3.html#O">O</a> &middot; <a href="General3.html#P">P</a> &middot; Q &middot; R &middot; <a href="General3.html#S">S</a> &middot; <a href="General3.html#T">T</a> &middot; U &middot; V &middot; <a href="General3.html#W">W</a> &middot; <a href="General3.html#X">X</a> &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#GD_IO" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>GD IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gd.c" class=ISymbol>gd.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gd.h" class=ISymbol>gd.h</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BELL" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>GD_BELL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BESSEL" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>GD_BESSEL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BICUBIC" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>GD_BICUBIC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BICUBIC_FIXED" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>GD_BICUBIC_FIXED</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BILINEAR_FIXED" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>GD_BILINEAR_FIXED</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BLACKMAN" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>GD_BLACKMAN</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BOX" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>GD_BOX</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_BSPLINE" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>GD_BSPLINE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CATMULLROM" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>GD_CATMULLROM</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_BLACK" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>GD_CROP_BLACK</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_DEFAULT" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>GD_CROP_DEFAULT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_SIDES" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>GD_CROP_SIDES</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_TRANSPARENT" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>GD_CROP_TRANSPARENT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_CROP_WHITE" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>GD_CROP_WHITE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gd_filename.c" class=ISymbol>gd_filename.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_GAUSSIAN" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>GD_GAUSSIAN</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_GENERALIZED_CUBIC" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>GD_GENERALIZED_CUBIC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_HAMMING" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>GD_HAMMING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_HANNING" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>GD_HANNING</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_HERMITE" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>GD_HERMITE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gd_interpolation.c" class=ISymbol>gd_interpolation.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io-h.html#gd_io.h" class=ISymbol>gd_io.h</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gd_io_dp.c" class=ISymbol>gd_io_dp.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_LINEAR" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>GD_LINEAR</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_MITCHELL" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>GD_MITCHELL</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_NEAREST_NEIGHBOUR" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>GD_NEAREST_NEIGHBOUR</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_POWER" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>GD_POWER</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUADRATIC" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>GD_QUADRATIC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_DEFAULT" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>GD_QUANT_DEFAULT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_JQUANT" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>GD_QUANT_JQUANT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_LIQ" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>GD_QUANT_LIQ</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_QUANT_NEUQUANT" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>GD_QUANT_NEUQUANT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_SINC" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>GD_SINC</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_ss-c.html#gd_ss.c" class=ISymbol>gd_ss.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_TRIANGLE" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')" class=ISymbol>GD_TRIANGLE</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gd_version.c" class=ISymbol>gd_version.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GD_WEIGHTED4" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')" class=ISymbol>GD_WEIGHTED4</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#GD2_IO" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')" class=ISymbol>GD2 IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineApplyToPointF" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')" class=ISymbol>gdAffineApplyToPointF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineConcat" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')" class=ISymbol>gdAffineConcat</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineEqual" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')" class=ISymbol>gdAffineEqual</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineFlip" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')" class=ISymbol>gdAffineFlip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineIdentity" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')" class=ISymbol>gdAffineIdentity</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineInvert" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')" class=ISymbol>gdAffineInvert</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRectilinear" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')" class=ISymbol>gdAffineRectilinear</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRotate" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')" class=ISymbol>gdAffineRotate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineScale" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')" class=ISymbol>gdAffineScale</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearHorizontal" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')" class=ISymbol>gdAffineShearHorizontal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearVertical" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')" class=ISymbol>gdAffineShearVertical</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#gdAffineTranslate" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')" class=ISymbol>gdAffineTranslate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdAlphaBlend" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')" class=ISymbol>gdAlphaBlend</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdAntiAliased" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')" class=ISymbol>gdAntiAliased</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdBrushed" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')" class=ISymbol>gdBrushed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdClearErrorMethod" id=link55 onMouseOver="ShowTip(event, 'tt55', 'link55')" onMouseOut="HideTip('tt55')" class=ISymbol>gdClearErrorMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_color_map-c.html#gdColorMapLookup" id=link56 onMouseOver="ShowTip(event, 'tt56', 'link56')" onMouseOut="HideTip('tt56')" class=ISymbol>gdColorMapLookup</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdCropMode" class=ISymbol>gdCropMode</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalNone" id=link57 onMouseOver="ShowTip(event, 'tt57', 'link57')" onMouseOut="HideTip('tt57')" class=ISymbol>gdDisposalNone</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalRestoreBackground" id=link58 onMouseOver="ShowTip(event, 'tt58', 'link58')" onMouseOut="HideTip('tt58')" class=ISymbol>gdDisposalRestoreBackground</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalRestorePrevious" id=link59 onMouseOver="ShowTip(event, 'tt59', 'link59')" onMouseOut="HideTip('tt59')" class=ISymbol>gdDisposalRestorePrevious</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdDisposalUnknown" id=link60 onMouseOver="ShowTip(event, 'tt60', 'link60')" onMouseOut="HideTip('tt60')" class=ISymbol>gdDisposalUnknown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gdDPExtractData" id=link61 onMouseOver="ShowTip(event, 'tt61', 'link61')" onMouseOut="HideTip('tt61')" class=ISymbol>gdDPExtractData</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdExtraVersion" id=link62 onMouseOver="ShowTip(event, 'tt62', 'link62')" onMouseOut="HideTip('tt62')" class=ISymbol>gdExtraVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFont" class=ISymbol>gdFont</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFontCacheSetup" id=link63 onMouseOver="ShowTip(event, 'tt63', 'link63')" onMouseOut="HideTip('tt63')" class=ISymbol>gdFontCacheSetup</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFontCacheShutdown" id=link64 onMouseOver="ShowTip(event, 'tt64', 'link64')" onMouseOut="HideTip('tt64')" class=ISymbol>gdFontCacheShutdown</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontg-c.html#gdFontGetGiant" id=link65 onMouseOver="ShowTip(event, 'tt65', 'link65')" onMouseOut="HideTip('tt65')" class=ISymbol>gdFontGetGiant</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontl-c.html#gdFontGetLarge" id=link66 onMouseOver="ShowTip(event, 'tt66', 'link66')" onMouseOut="HideTip('tt66')" class=ISymbol>gdFontGetLarge</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontmb-c.html#gdFontGetMediumBold" id=link67 onMouseOver="ShowTip(event, 'tt67', 'link67')" onMouseOut="HideTip('tt67')" class=ISymbol>gdFontGetMediumBold</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfonts-c.html#gdFontGetSmall" id=link68 onMouseOver="ShowTip(event, 'tt68', 'link68')" onMouseOut="HideTip('tt68')" class=ISymbol>gdFontGetSmall</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontt-c.html#gdFontGetTiny" id=link69 onMouseOver="ShowTip(event, 'tt69', 'link69')" onMouseOut="HideTip('tt69')" class=ISymbol>gdFontGetTiny</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFontPtr" id=link70 onMouseOver="ShowTip(event, 'tt70', 'link70')" onMouseOut="HideTip('tt70')" class=ISymbol>gdFontPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdhelpers-c.html#gdFree" id=link71 onMouseOver="ShowTip(event, 'tt71', 'link71')" onMouseOut="HideTip('tt71')" class=ISymbol>gdFree</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFreeFontCache" id=link72 onMouseOver="ShowTip(event, 'tt72', 'link72')" onMouseOut="HideTip('tt72')" class=ISymbol>gdFreeFontCache</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFTStringExtra" class=ISymbol>gdFTStringExtra</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFTStringExtraPtr" id=link73 onMouseOver="ShowTip(event, 'tt73', 'link73')" onMouseOut="HideTip('tt73')" class=ISymbol>gdFTStringExtraPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdFTUseFontConfig" id=link74 onMouseOver="ShowTip(event, 'tt74', 'link74')" onMouseOut="HideTip('tt74')" class=ISymbol>gdFTUseFontConfig</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdfx.c" class=ISymbol>gdfx.c</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImage" class=ISymbol>gdImage</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageAABlend" id=link75 onMouseOver="ShowTip(event, 'tt75', 'link75')" onMouseOut="HideTip('tt75')" class=ISymbol>gdImageAABlend</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageAlpha" id=link76 onMouseOver="ShowTip(event, 'tt76', 'link76')" onMouseOut="HideTip('tt76')" class=ISymbol>gdImageAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageAlphaBlending" id=link77 onMouseOver="ShowTip(event, 'tt77', 'link77')" onMouseOut="HideTip('tt77')" class=ISymbol>gdImageAlphaBlending</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageArc" id=link78 onMouseOver="ShowTip(event, 'tt78', 'link78')" onMouseOut="HideTip('tt78')" class=ISymbol>gdImageArc</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageBlue" id=link79 onMouseOver="ShowTip(event, 'tt79', 'link79')" onMouseOut="HideTip('tt79')" class=ISymbol>gdImageBlue</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmp" id=link80 onMouseOver="ShowTip(event, 'tt80', 'link80')" onMouseOut="HideTip('tt80')" class=ISymbol>gdImageBmp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpCtx" id=link81 onMouseOver="ShowTip(event, 'tt81', 'link81')" onMouseOut="HideTip('tt81')" class=ISymbol>gdImageBmpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpPtr" id=link82 onMouseOver="ShowTip(event, 'tt82', 'link82')" onMouseOut="HideTip('tt82')" class=ISymbol>gdImageBmpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageBoundsSafe" id=link83 onMouseOver="ShowTip(event, 'tt83', 'link83')" onMouseOut="HideTip('tt83')" class=ISymbol>gdImageBoundsSafe</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageBrightness" id=link84 onMouseOver="ShowTip(event, 'tt84', 'link84')" onMouseOut="HideTip('tt84')" class=ISymbol>gdImageBrightness</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageChar" id=link85 onMouseOver="ShowTip(event, 'tt85', 'link85')" onMouseOut="HideTip('tt85')" class=ISymbol>gdImageChar</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCharUp" id=link86 onMouseOver="ShowTip(event, 'tt86', 'link86')" onMouseOut="HideTip('tt86')" class=ISymbol>gdImageCharUp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageClone" id=link87 onMouseOver="ShowTip(event, 'tt87', 'link87')" onMouseOut="HideTip('tt87')" class=ISymbol>gdImageClone</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageColor" id=link88 onMouseOver="ShowTip(event, 'tt88', 'link88')" onMouseOut="HideTip('tt88')" class=ISymbol>gdImageColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorAllocate" id=link89 onMouseOver="ShowTip(event, 'tt89', 'link89')" onMouseOut="HideTip('tt89')" class=ISymbol>gdImageColorAllocate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorAllocateAlpha" id=link90 onMouseOver="ShowTip(event, 'tt90', 'link90')" onMouseOut="HideTip('tt90')" class=ISymbol>gdImageColorAllocateAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorClosest" id=link91 onMouseOver="ShowTip(event, 'tt91', 'link91')" onMouseOut="HideTip('tt91')" class=ISymbol>gdImageColorClosest</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorClosestAlpha" id=link92 onMouseOver="ShowTip(event, 'tt92', 'link92')" onMouseOut="HideTip('tt92')" class=ISymbol>gdImageColorClosestAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorClosestHWB" id=link93 onMouseOver="ShowTip(event, 'tt93', 'link93')" onMouseOut="HideTip('tt93')" class=ISymbol>gdImageColorClosestHWB</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorDeallocate" id=link94 onMouseOver="ShowTip(event, 'tt94', 'link94')" onMouseOut="HideTip('tt94')" class=ISymbol>gdImageColorDeallocate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorExact" id=link95 onMouseOver="ShowTip(event, 'tt95', 'link95')" onMouseOut="HideTip('tt95')" class=ISymbol>gdImageColorExact</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorExactAlpha" id=link96 onMouseOver="ShowTip(event, 'tt96', 'link96')" onMouseOut="HideTip('tt96')" class=ISymbol>gdImageColorExactAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_color_match-c.html#gdImageColorMatch" id=link97 onMouseOver="ShowTip(event, 'tt97', 'link97')" onMouseOut="HideTip('tt97')" class=ISymbol>gdImageColorMatch</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplace" id=link98 onMouseOver="ShowTip(event, 'tt98', 'link98')" onMouseOut="HideTip('tt98')" class=ISymbol>gdImageColorReplace</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceArray" id=link99 onMouseOver="ShowTip(event, 'tt99', 'link99')" onMouseOut="HideTip('tt99')" class=ISymbol>gdImageColorReplaceArray</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceCallback" id=link100 onMouseOver="ShowTip(event, 'tt100', 'link100')" onMouseOut="HideTip('tt100')" class=ISymbol>gdImageColorReplaceCallback</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceThreshold" id=link101 onMouseOver="ShowTip(event, 'tt101', 'link101')" onMouseOut="HideTip('tt101')" class=ISymbol>gdImageColorReplaceThreshold</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorResolve" id=link102 onMouseOver="ShowTip(event, 'tt102', 'link102')" onMouseOut="HideTip('tt102')" class=ISymbol>gdImageColorResolve</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorResolveAlpha" id=link103 onMouseOver="ShowTip(event, 'tt103', 'link103')" onMouseOut="HideTip('tt103')" class=ISymbol>gdImageColorResolveAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageColorsTotal" id=link104 onMouseOver="ShowTip(event, 'tt104', 'link104')" onMouseOut="HideTip('tt104')" class=ISymbol>gdImageColorsTotal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageColorTransparent" id=link105 onMouseOver="ShowTip(event, 'tt105', 'link105')" onMouseOut="HideTip('tt105')" class=ISymbol>gdImageColorTransparent</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCompare" id=link106 onMouseOver="ShowTip(event, 'tt106', 'link106')" onMouseOut="HideTip('tt106')" class=ISymbol>gdImageCompare</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageContrast" id=link107 onMouseOver="ShowTip(event, 'tt107', 'link107')" onMouseOut="HideTip('tt107')" class=ISymbol>gdImageContrast</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageConvolution" id=link108 onMouseOver="ShowTip(event, 'tt108', 'link108')" onMouseOut="HideTip('tt108')" class=ISymbol>gdImageConvolution</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopy" id=link109 onMouseOver="ShowTip(event, 'tt109', 'link109')" onMouseOut="HideTip('tt109')" class=ISymbol>gdImageCopy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageCopyGaussianBlurred" id=link110 onMouseOver="ShowTip(event, 'tt110', 'link110')" onMouseOut="HideTip('tt110')" class=ISymbol>gdImageCopyGaussianBlurred</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyMerge" id=link111 onMouseOver="ShowTip(event, 'tt111', 'link111')" onMouseOut="HideTip('tt111')" class=ISymbol>gdImageCopyMerge</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyMergeGray" id=link112 onMouseOver="ShowTip(event, 'tt112', 'link112')" onMouseOut="HideTip('tt112')" class=ISymbol>gdImageCopyMergeGray</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyResampled" id=link113 onMouseOver="ShowTip(event, 'tt113', 'link113')" onMouseOut="HideTip('tt113')" class=ISymbol>gdImageCopyResampled</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyResized" id=link114 onMouseOver="ShowTip(event, 'tt114', 'link114')" onMouseOut="HideTip('tt114')" class=ISymbol>gdImageCopyResized</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCopyRotated" id=link115 onMouseOver="ShowTip(event, 'tt115', 'link115')" onMouseOut="HideTip('tt115')" class=ISymbol>gdImageCopyRotated</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCreate" id=link116 onMouseOver="ShowTip(event, 'tt116', 'link116')" onMouseOut="HideTip('tt116')" class=ISymbol>gdImageCreate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmp" id=link117 onMouseOver="ShowTip(event, 'tt117', 'link117')" onMouseOut="HideTip('tt117')" class=ISymbol>gdImageCreateFromBmp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpCtx" id=link118 onMouseOver="ShowTip(event, 'tt118', 'link118')" onMouseOut="HideTip('tt118')" class=ISymbol>gdImageCreateFromBmpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpPtr" id=link119 onMouseOver="ShowTip(event, 'tt119', 'link119')" onMouseOut="HideTip('tt119')" class=ISymbol>gdImageCreateFromBmpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gdImageCreateFromFile" id=link120 onMouseOver="ShowTip(event, 'tt120', 'link120')" onMouseOut="HideTip('tt120')" class=ISymbol>gdImageCreateFromFile</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGd" id=link121 onMouseOver="ShowTip(event, 'tt121', 'link121')" onMouseOut="HideTip('tt121')" class=ISymbol>gdImageCreateFromGd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2" id=link122 onMouseOver="ShowTip(event, 'tt122', 'link122')" onMouseOut="HideTip('tt122')" class=ISymbol>gdImageCreateFromGd2</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ctx" id=link123 onMouseOver="ShowTip(event, 'tt123', 'link123')" onMouseOut="HideTip('tt123')" class=ISymbol>gdImageCreateFromGd2Ctx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Part" id=link124 onMouseOver="ShowTip(event, 'tt124', 'link124')" onMouseOut="HideTip('tt124')" class=ISymbol>gdImageCreateFromGd2Part</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartCtx" id=link125 onMouseOver="ShowTip(event, 'tt125', 'link125')" onMouseOut="HideTip('tt125')" class=ISymbol>gdImageCreateFromGd2PartCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartPtr" id=link126 onMouseOver="ShowTip(event, 'tt126', 'link126')" onMouseOut="HideTip('tt126')" class=ISymbol>gdImageCreateFromGd2PartPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ptr" id=link127 onMouseOver="ShowTip(event, 'tt127', 'link127')" onMouseOut="HideTip('tt127')" class=ISymbol>gdImageCreateFromGd2Ptr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdCtx" id=link128 onMouseOver="ShowTip(event, 'tt128', 'link128')" onMouseOut="HideTip('tt128')" class=ISymbol>gdImageCreateFromGdCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdPtr" id=link129 onMouseOver="ShowTip(event, 'tt129', 'link129')" onMouseOut="HideTip('tt129')" class=ISymbol>gdImageCreateFromGdPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGif" id=link130 onMouseOver="ShowTip(event, 'tt130', 'link130')" onMouseOut="HideTip('tt130')" class=ISymbol>gdImageCreateFromGif</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifCtx" id=link131 onMouseOver="ShowTip(event, 'tt131', 'link131')" onMouseOut="HideTip('tt131')" class=ISymbol>gdImageCreateFromGifCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifPtr" id=link132 onMouseOver="ShowTip(event, 'tt132', 'link132')" onMouseOut="HideTip('tt132')" class=ISymbol>gdImageCreateFromGifPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpeg" id=link133 onMouseOver="ShowTip(event, 'tt133', 'link133')" onMouseOut="HideTip('tt133')" class=ISymbol>gdImageCreateFromJpeg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtx" id=link134 onMouseOver="ShowTip(event, 'tt134', 'link134')" onMouseOut="HideTip('tt134')" class=ISymbol>gdImageCreateFromJpegCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtxEx" id=link135 onMouseOver="ShowTip(event, 'tt135', 'link135')" onMouseOut="HideTip('tt135')" class=ISymbol>gdImageCreateFromJpegCtxEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegEx" id=link136 onMouseOver="ShowTip(event, 'tt136', 'link136')" onMouseOut="HideTip('tt136')" class=ISymbol>gdImageCreateFromJpegEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtr" id=link137 onMouseOver="ShowTip(event, 'tt137', 'link137')" onMouseOut="HideTip('tt137')" class=ISymbol>gdImageCreateFromJpegPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtrEx" id=link138 onMouseOver="ShowTip(event, 'tt138', 'link138')" onMouseOut="HideTip('tt138')" class=ISymbol>gdImageCreateFromJpegPtrEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPng" id=link139 onMouseOver="ShowTip(event, 'tt139', 'link139')" onMouseOut="HideTip('tt139')" class=ISymbol>gdImageCreateFromPng</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngCtx" id=link140 onMouseOver="ShowTip(event, 'tt140', 'link140')" onMouseOut="HideTip('tt140')" class=ISymbol>gdImageCreateFromPngCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngPtr" id=link141 onMouseOver="ShowTip(event, 'tt141', 'link141')" onMouseOut="HideTip('tt141')" class=ISymbol>gdImageCreateFromPngPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_ss-c.html#gdImageCreateFromPngSource" id=link142 onMouseOver="ShowTip(event, 'tt142', 'link142')" onMouseOut="HideTip('tt142')" class=ISymbol>gdImageCreateFromPngSource</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTga" id=link143 onMouseOver="ShowTip(event, 'tt143', 'link143')" onMouseOut="HideTip('tt143')" class=ISymbol>gdImageCreateFromTga</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaCtx" id=link144 onMouseOver="ShowTip(event, 'tt144', 'link144')" onMouseOut="HideTip('tt144')" class=ISymbol>gdImageCreateFromTgaCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaPtr" id=link145 onMouseOver="ShowTip(event, 'tt145', 'link145')" onMouseOut="HideTip('tt145')" class=ISymbol>gdImageCreateFromTgaPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTIFF" class=ISymbol>gdImageCreateFromTIFF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffCtx" id=link146 onMouseOver="ShowTip(event, 'tt146', 'link146')" onMouseOut="HideTip('tt146')" class=ISymbol>gdImageCreateFromTiffCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffPtr" id=link147 onMouseOver="ShowTip(event, 'tt147', 'link147')" onMouseOut="HideTip('tt147')" class=ISymbol>gdImageCreateFromTiffPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMP" id=link148 onMouseOver="ShowTip(event, 'tt148', 'link148')" onMouseOut="HideTip('tt148')" class=ISymbol>gdImageCreateFromWBMP</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPCtx" id=link149 onMouseOver="ShowTip(event, 'tt149', 'link149')" onMouseOut="HideTip('tt149')" class=ISymbol>gdImageCreateFromWBMPCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPPtr" id=link150 onMouseOver="ShowTip(event, 'tt150', 'link150')" onMouseOut="HideTip('tt150')" class=ISymbol>gdImageCreateFromWBMPPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebp" id=link151 onMouseOver="ShowTip(event, 'tt151', 'link151')" onMouseOut="HideTip('tt151')" class=ISymbol>gdImageCreateFromWebp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpCtx" id=link152 onMouseOver="ShowTip(event, 'tt152', 'link152')" onMouseOut="HideTip('tt152')" class=ISymbol>gdImageCreateFromWebpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpPtr" id=link153 onMouseOver="ShowTip(event, 'tt153', 'link153')" onMouseOut="HideTip('tt153')" class=ISymbol>gdImageCreateFromWebpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_xbm-c.html#gdImageCreateFromXbm" id=link154 onMouseOver="ShowTip(event, 'tt154', 'link154')" onMouseOut="HideTip('tt154')" class=ISymbol>gdImageCreateFromXbm</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdxpm-c.html#gdImageCreateFromXpm" id=link155 onMouseOver="ShowTip(event, 'tt155', 'link155')" onMouseOut="HideTip('tt155')" class=ISymbol>gdImageCreateFromXpm</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageCreatePaletteFromTrueColor" id=link156 onMouseOver="ShowTip(event, 'tt156', 'link156')" onMouseOut="HideTip('tt156')" class=ISymbol>gdImageCreatePaletteFromTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageCreateTrueColor" id=link157 onMouseOver="ShowTip(event, 'tt157', 'link157')" onMouseOut="HideTip('tt157')" class=ISymbol>gdImageCreateTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#gdImageCrop" id=link158 onMouseOver="ShowTip(event, 'tt158', 'link158')" onMouseOut="HideTip('tt158')" class=ISymbol>gdImageCrop</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#gdImageCropAuto" id=link159 onMouseOver="ShowTip(event, 'tt159', 'link159')" onMouseOut="HideTip('tt159')" class=ISymbol>gdImageCropAuto</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_crop-c.html#gdImageCropThreshold" id=link160 onMouseOver="ShowTip(event, 'tt160', 'link160')" onMouseOut="HideTip('tt160')" class=ISymbol>gdImageCropThreshold</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageDashedLine" id=link161 onMouseOver="ShowTip(event, 'tt161', 'link161')" onMouseOut="HideTip('tt161')" class=ISymbol>gdImageDashedLine</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageDestroy" id=link162 onMouseOver="ShowTip(event, 'tt162', 'link162')" onMouseOut="HideTip('tt162')" class=ISymbol>gdImageDestroy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageEdgeDetectQuick" id=link163 onMouseOver="ShowTip(event, 'tt163', 'link163')" onMouseOut="HideTip('tt163')" class=ISymbol>gdImageEdgeDetectQuick</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageEllipse" id=link164 onMouseOver="ShowTip(event, 'tt164', 'link164')" onMouseOut="HideTip('tt164')" class=ISymbol>gdImageEllipse</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageEmboss" id=link165 onMouseOver="ShowTip(event, 'tt165', 'link165')" onMouseOut="HideTip('tt165')" class=ISymbol>gdImageEmboss</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gdImageFile" id=link166 onMouseOver="ShowTip(event, 'tt166', 'link166')" onMouseOut="HideTip('tt166')" class=ISymbol>gdImageFile</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFill" id=link167 onMouseOver="ShowTip(event, 'tt167', 'link167')" onMouseOut="HideTip('tt167')" class=ISymbol>gdImageFill</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledArc" id=link168 onMouseOver="ShowTip(event, 'tt168', 'link168')" onMouseOut="HideTip('tt168')" class=ISymbol>gdImageFilledArc</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledEllipse" id=link169 onMouseOver="ShowTip(event, 'tt169', 'link169')" onMouseOut="HideTip('tt169')" class=ISymbol>gdImageFilledEllipse</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledPolygon" id=link170 onMouseOver="ShowTip(event, 'tt170', 'link170')" onMouseOut="HideTip('tt170')" class=ISymbol>gdImageFilledPolygon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFilledRectangle" id=link171 onMouseOver="ShowTip(event, 'tt171', 'link171')" onMouseOut="HideTip('tt171')" class=ISymbol>gdImageFilledRectangle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageFillToBorder" id=link172 onMouseOver="ShowTip(event, 'tt172', 'link172')" onMouseOut="HideTip('tt172')" class=ISymbol>gdImageFillToBorder</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipBoth" id=link173 onMouseOver="ShowTip(event, 'tt173', 'link173')" onMouseOut="HideTip('tt173')" class=ISymbol>gdImageFlipBoth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipHorizontal" id=link174 onMouseOver="ShowTip(event, 'tt174', 'link174')" onMouseOut="HideTip('tt174')" class=ISymbol>gdImageFlipHorizontal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipVertical" id=link175 onMouseOver="ShowTip(event, 'tt175', 'link175')" onMouseOut="HideTip('tt175')" class=ISymbol>gdImageFlipVertical</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageGaussianBlur" id=link176 onMouseOver="ShowTip(event, 'tt176', 'link176')" onMouseOut="HideTip('tt176')" class=ISymbol>gdImageGaussianBlur</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageGd" id=link177 onMouseOver="ShowTip(event, 'tt177', 'link177')" onMouseOut="HideTip('tt177')" class=ISymbol>gdImageGd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2" id=link178 onMouseOver="ShowTip(event, 'tt178', 'link178')" onMouseOut="HideTip('tt178')" class=ISymbol>gdImageGd2</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2Ptr" id=link179 onMouseOver="ShowTip(event, 'tt179', 'link179')" onMouseOut="HideTip('tt179')" class=ISymbol>gdImageGd2Ptr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gd-c.html#gdImageGdPtr" id=link180 onMouseOver="ShowTip(event, 'tt180', 'link180')" onMouseOut="HideTip('tt180')" class=ISymbol>gdImageGdPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageGetClip" id=link181 onMouseOver="ShowTip(event, 'tt181', 'link181')" onMouseOut="HideTip('tt181')" class=ISymbol>gdImageGetClip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGetInterlaced" id=link182 onMouseOver="ShowTip(event, 'tt182', 'link182')" onMouseOut="HideTip('tt182')" class=ISymbol>gdImageGetInterlaced</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageGetInterpolationMethod" id=link183 onMouseOver="ShowTip(event, 'tt183', 'link183')" onMouseOut="HideTip('tt183')" class=ISymbol>gdImageGetInterpolationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageGetPixel" id=link184 onMouseOver="ShowTip(event, 'tt184', 'link184')" onMouseOut="HideTip('tt184')" class=ISymbol>gdImageGetPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGetTransparent" id=link185 onMouseOver="ShowTip(event, 'tt185', 'link185')" onMouseOut="HideTip('tt185')" class=ISymbol>gdImageGetTransparent</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageGetTrueColorPixel" id=link186 onMouseOver="ShowTip(event, 'tt186', 'link186')" onMouseOut="HideTip('tt186')" class=ISymbol>gdImageGetTrueColorPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGif" id=link187 onMouseOver="ShowTip(event, 'tt187', 'link187')" onMouseOut="HideTip('tt187')" class=ISymbol>gdImageGif</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGifAnim" class=ISymbol>gdImageGifAnim</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAdd" id=link188 onMouseOver="ShowTip(event, 'tt188', 'link188')" onMouseOut="HideTip('tt188')" class=ISymbol>gdImageGifAnimAdd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddCtx" id=link189 onMouseOver="ShowTip(event, 'tt189', 'link189')" onMouseOut="HideTip('tt189')" class=ISymbol>gdImageGifAnimAddCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddPtr" id=link190 onMouseOver="ShowTip(event, 'tt190', 'link190')" onMouseOut="HideTip('tt190')" class=ISymbol>gdImageGifAnimAddPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBegin" id=link191 onMouseOver="ShowTip(event, 'tt191', 'link191')" onMouseOut="HideTip('tt191')" class=ISymbol>gdImageGifAnimBegin</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginCtx" id=link192 onMouseOver="ShowTip(event, 'tt192', 'link192')" onMouseOut="HideTip('tt192')" class=ISymbol>gdImageGifAnimBeginCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginPtr" id=link193 onMouseOver="ShowTip(event, 'tt193', 'link193')" onMouseOut="HideTip('tt193')" class=ISymbol>gdImageGifAnimBeginPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEnd" id=link194 onMouseOver="ShowTip(event, 'tt194', 'link194')" onMouseOut="HideTip('tt194')" class=ISymbol>gdImageGifAnimEnd</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndCtx" id=link195 onMouseOver="ShowTip(event, 'tt195', 'link195')" onMouseOut="HideTip('tt195')" class=ISymbol>gdImageGifAnimEndCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndPtr" id=link196 onMouseOver="ShowTip(event, 'tt196', 'link196')" onMouseOut="HideTip('tt196')" class=ISymbol>gdImageGifAnimEndPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifCtx" id=link197 onMouseOver="ShowTip(event, 'tt197', 'link197')" onMouseOut="HideTip('tt197')" class=ISymbol>gdImageGifCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifPtr" id=link198 onMouseOver="ShowTip(event, 'tt198', 'link198')" onMouseOut="HideTip('tt198')" class=ISymbol>gdImageGifPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageGrayScale" id=link199 onMouseOver="ShowTip(event, 'tt199', 'link199')" onMouseOut="HideTip('tt199')" class=ISymbol>gdImageGrayScale</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGreen" id=link200 onMouseOver="ShowTip(event, 'tt200', 'link200')" onMouseOut="HideTip('tt200')" class=ISymbol>gdImageGreen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageInterlace" id=link201 onMouseOver="ShowTip(event, 'tt201', 'link201')" onMouseOut="HideTip('tt201')" class=ISymbol>gdImageInterlace</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpeg" id=link202 onMouseOver="ShowTip(event, 'tt202', 'link202')" onMouseOut="HideTip('tt202')" class=ISymbol>gdImageJpeg</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegCtx" id=link203 onMouseOver="ShowTip(event, 'tt203', 'link203')" onMouseOut="HideTip('tt203')" class=ISymbol>gdImageJpegCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegPtr" id=link204 onMouseOver="ShowTip(event, 'tt204', 'link204')" onMouseOut="HideTip('tt204')" class=ISymbol>gdImageJpegPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageLine" id=link205 onMouseOver="ShowTip(event, 'tt205', 'link205')" onMouseOut="HideTip('tt205')" class=ISymbol>gdImageLine</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageMeanRemoval" id=link206 onMouseOver="ShowTip(event, 'tt206', 'link206')" onMouseOut="HideTip('tt206')" class=ISymbol>gdImageMeanRemoval</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageNegate" id=link207 onMouseOver="ShowTip(event, 'tt207', 'link207')" onMouseOut="HideTip('tt207')" class=ISymbol>gdImageNegate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_nnquant-c.html#gdImageNeuQuant" id=link208 onMouseOver="ShowTip(event, 'tt208', 'link208')" onMouseOut="HideTip('tt208')" class=ISymbol>gdImageNeuQuant</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageOpenPolygon" id=link209 onMouseOver="ShowTip(event, 'tt209', 'link209')" onMouseOut="HideTip('tt209')" class=ISymbol>gdImageOpenPolygon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImagePaletteCopy" id=link210 onMouseOver="ShowTip(event, 'tt210', 'link210')" onMouseOut="HideTip('tt210')" class=ISymbol>gdImagePaletteCopy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImagePalettePixel" id=link211 onMouseOver="ShowTip(event, 'tt211', 'link211')" onMouseOut="HideTip('tt211')" class=ISymbol>gdImagePalettePixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImagePaletteToTrueColor" id=link212 onMouseOver="ShowTip(event, 'tt212', 'link212')" onMouseOut="HideTip('tt212')" class=ISymbol>gdImagePaletteToTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImagePixelate" id=link213 onMouseOver="ShowTip(event, 'tt213', 'link213')" onMouseOut="HideTip('tt213')" class=ISymbol>gdImagePixelate</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePng" id=link214 onMouseOver="ShowTip(event, 'tt214', 'link214')" onMouseOut="HideTip('tt214')" class=ISymbol>gdImagePng</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtx" id=link215 onMouseOver="ShowTip(event, 'tt215', 'link215')" onMouseOut="HideTip('tt215')" class=ISymbol>gdImagePngCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtxEx" id=link216 onMouseOver="ShowTip(event, 'tt216', 'link216')" onMouseOut="HideTip('tt216')" class=ISymbol>gdImagePngCtxEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngEx" id=link217 onMouseOver="ShowTip(event, 'tt217', 'link217')" onMouseOut="HideTip('tt217')" class=ISymbol>gdImagePngEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtr" id=link218 onMouseOver="ShowTip(event, 'tt218', 'link218')" onMouseOut="HideTip('tt218')" class=ISymbol>gdImagePngPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtrEx" id=link219 onMouseOver="ShowTip(event, 'tt219', 'link219')" onMouseOut="HideTip('tt219')" class=ISymbol>gdImagePngPtrEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_ss-c.html#gdImagePngToSink" id=link220 onMouseOver="ShowTip(event, 'tt220', 'link220')" onMouseOut="HideTip('tt220')" class=ISymbol>gdImagePngToSink</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImagePolygon" id=link221 onMouseOver="ShowTip(event, 'tt221', 'link221')" onMouseOut="HideTip('tt221')" class=ISymbol>gdImagePolygon</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImagePtr" id=link222 onMouseOver="ShowTip(event, 'tt222', 'link222')" onMouseOut="HideTip('tt222')" class=ISymbol>gdImagePtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageRectangle" id=link223 onMouseOver="ShowTip(event, 'tt223', 'link223')" onMouseOut="HideTip('tt223')" class=ISymbol>gdImageRectangle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageRed" id=link224 onMouseOver="ShowTip(event, 'tt224', 'link224')" onMouseOut="HideTip('tt224')" class=ISymbol>gdImageRed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageResolutionX" id=link225 onMouseOver="ShowTip(event, 'tt225', 'link225')" onMouseOut="HideTip('tt225')" class=ISymbol>gdImageResolutionX</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageResolutionY" id=link226 onMouseOver="ShowTip(event, 'tt226', 'link226')" onMouseOut="HideTip('tt226')" class=ISymbol>gdImageResolutionY</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageRotateInterpolated" id=link227 onMouseOver="ShowTip(event, 'tt227', 'link227')" onMouseOut="HideTip('tt227')" class=ISymbol>gdImageRotateInterpolated</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSaveAlpha" id=link228 onMouseOver="ShowTip(event, 'tt228', 'link228')" onMouseOut="HideTip('tt228')" class=ISymbol>gdImageSaveAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageScale" id=link229 onMouseOver="ShowTip(event, 'tt229', 'link229')" onMouseOut="HideTip('tt229')" class=ISymbol>gdImageScale</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageScatter" id=link230 onMouseOver="ShowTip(event, 'tt230', 'link230')" onMouseOut="HideTip('tt230')" class=ISymbol>gdImageScatter</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterColor" id=link231 onMouseOver="ShowTip(event, 'tt231', 'link231')" onMouseOut="HideTip('tt231')" class=ISymbol>gdImageScatterColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterEx" id=link232 onMouseOver="ShowTip(event, 'tt232', 'link232')" onMouseOut="HideTip('tt232')" class=ISymbol>gdImageScatterEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageSelectiveBlur" id=link233 onMouseOver="ShowTip(event, 'tt233', 'link233')" onMouseOut="HideTip('tt233')" class=ISymbol>gdImageSelectiveBlur</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliased" id=link234 onMouseOver="ShowTip(event, 'tt234', 'link234')" onMouseOut="HideTip('tt234')" class=ISymbol>gdImageSetAntiAliased</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliasedDontBlend" id=link235 onMouseOver="ShowTip(event, 'tt235', 'link235')" onMouseOut="HideTip('tt235')" class=ISymbol>gdImageSetAntiAliasedDontBlend</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetBrush" id=link236 onMouseOver="ShowTip(event, 'tt236', 'link236')" onMouseOut="HideTip('tt236')" class=ISymbol>gdImageSetBrush</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetClip" id=link237 onMouseOver="ShowTip(event, 'tt237', 'link237')" onMouseOut="HideTip('tt237')" class=ISymbol>gdImageSetClip</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdImageSetInterpolationMethod" id=link238 onMouseOver="ShowTip(event, 'tt238', 'link238')" onMouseOut="HideTip('tt238')" class=ISymbol>gdImageSetInterpolationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetPixel" id=link239 onMouseOver="ShowTip(event, 'tt239', 'link239')" onMouseOut="HideTip('tt239')" class=ISymbol>gdImageSetPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetResolution" id=link240 onMouseOver="ShowTip(event, 'tt240', 'link240')" onMouseOut="HideTip('tt240')" class=ISymbol>gdImageSetResolution</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetStyle" id=link241 onMouseOver="ShowTip(event, 'tt241', 'link241')" onMouseOut="HideTip('tt241')" class=ISymbol>gdImageSetStyle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetThickness" id=link242 onMouseOver="ShowTip(event, 'tt242', 'link242')" onMouseOut="HideTip('tt242')" class=ISymbol>gdImageSetThickness</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageSetTile" id=link243 onMouseOver="ShowTip(event, 'tt243', 'link243')" onMouseOut="HideTip('tt243')" class=ISymbol>gdImageSetTile</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdImageSharpen" id=link244 onMouseOver="ShowTip(event, 'tt244', 'link244')" onMouseOut="HideTip('tt244')" class=ISymbol>gdImageSharpen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#gdImageSmooth" id=link245 onMouseOver="ShowTip(event, 'tt245', 'link245')" onMouseOut="HideTip('tt245')" class=ISymbol>gdImageSmooth</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdImageSquareToCircle" id=link246 onMouseOver="ShowTip(event, 'tt246', 'link246')" onMouseOut="HideTip('tt246')" class=ISymbol>gdImageSquareToCircle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageString" id=link247 onMouseOver="ShowTip(event, 'tt247', 'link247')" onMouseOut="HideTip('tt247')" class=ISymbol>gdImageString</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageString16" id=link248 onMouseOver="ShowTip(event, 'tt248', 'link248')" onMouseOut="HideTip('tt248')" class=ISymbol>gdImageString16</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdImageStringFT" id=link249 onMouseOver="ShowTip(event, 'tt249', 'link249')" onMouseOut="HideTip('tt249')" class=ISymbol>gdImageStringFT</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfx-c.html#gdImageStringFTCircle" id=link250 onMouseOver="ShowTip(event, 'tt250', 'link250')" onMouseOut="HideTip('tt250')" class=ISymbol>gdImageStringFTCircle</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdImageStringFTEx" id=link251 onMouseOver="ShowTip(event, 'tt251', 'link251')" onMouseOut="HideTip('tt251')" class=ISymbol>gdImageStringFTEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdft-c.html#gdImageStringTTF" id=link252 onMouseOver="ShowTip(event, 'tt252', 'link252')" onMouseOut="HideTip('tt252')" class=ISymbol>gdImageStringTTF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageStringUp" id=link253 onMouseOver="ShowTip(event, 'tt253', 'link253')" onMouseOut="HideTip('tt253')" class=ISymbol>gdImageStringUp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdImageStringUp16" id=link254 onMouseOver="ShowTip(event, 'tt254', 'link254')" onMouseOut="HideTip('tt254')" class=ISymbol>gdImageStringUp16</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageSX" id=link255 onMouseOver="ShowTip(event, 'tt255', 'link255')" onMouseOut="HideTip('tt255')" class=ISymbol>gdImageSX</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageSY" id=link256 onMouseOver="ShowTip(event, 'tt256', 'link256')" onMouseOut="HideTip('tt256')" class=ISymbol>gdImageSY</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiff" id=link257 onMouseOver="ShowTip(event, 'tt257', 'link257')" onMouseOut="HideTip('tt257')" class=ISymbol>gdImageTiff</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffCtx" id=link258 onMouseOver="ShowTip(event, 'tt258', 'link258')" onMouseOut="HideTip('tt258')" class=ISymbol>gdImageTiffCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffPtr" id=link259 onMouseOver="ShowTip(event, 'tt259', 'link259')" onMouseOut="HideTip('tt259')" class=ISymbol>gdImageTiffPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageTrueColor" id=link260 onMouseOver="ShowTip(event, 'tt260', 'link260')" onMouseOut="HideTip('tt260')" class=ISymbol>gdImageTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageTrueColorPixel" id=link261 onMouseOver="ShowTip(event, 'tt261', 'link261')" onMouseOut="HideTip('tt261')" class=ISymbol>gdImageTrueColorPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPalette" id=link262 onMouseOver="ShowTip(event, 'tt262', 'link262')" onMouseOut="HideTip('tt262')" class=ISymbol>gdImageTrueColorToPalette</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetMethod" id=link263 onMouseOver="ShowTip(event, 'tt263', 'link263')" onMouseOut="HideTip('tt263')" class=ISymbol>gdImageTrueColorToPaletteSetMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetQuality" id=link264 onMouseOver="ShowTip(event, 'tt264', 'link264')" onMouseOut="HideTip('tt264')" class=ISymbol>gdImageTrueColorToPaletteSetQuality</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMP" id=link265 onMouseOver="ShowTip(event, 'tt265', 'link265')" onMouseOut="HideTip('tt265')" class=ISymbol>gdImageWBMP</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPCtx" id=link266 onMouseOver="ShowTip(event, 'tt266', 'link266')" onMouseOut="HideTip('tt266')" class=ISymbol>gdImageWBMPCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPPtr" id=link267 onMouseOver="ShowTip(event, 'tt267', 'link267')" onMouseOut="HideTip('tt267')" class=ISymbol>gdImageWBMPPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebp" id=link268 onMouseOver="ShowTip(event, 'tt268', 'link268')" onMouseOut="HideTip('tt268')" class=ISymbol>gdImageWebp</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpCtx" id=link269 onMouseOver="ShowTip(event, 'tt269', 'link269')" onMouseOut="HideTip('tt269')" class=ISymbol>gdImageWebpCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpEx" id=link270 onMouseOver="ShowTip(event, 'tt270', 'link270')" onMouseOut="HideTip('tt270')" class=ISymbol>gdImageWebpEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtr" id=link271 onMouseOver="ShowTip(event, 'tt271', 'link271')" onMouseOut="HideTip('tt271')" class=ISymbol>gdImageWebpPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtrEx" id=link272 onMouseOver="ShowTip(event, 'tt272', 'link272')" onMouseOut="HideTip('tt272')" class=ISymbol>gdImageWebpPtrEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_xbm-c.html#gdImageXbmCtx" id=link273 onMouseOver="ShowTip(event, 'tt273', 'link273')" onMouseOut="HideTip('tt273')" class=ISymbol>gdImageXbmCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdInterpolationMethod" class=ISymbol>gdInterpolationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io-h.html#gdIOCtx" id=link274 onMouseOver="ShowTip(event, 'tt274', 'link274')" onMouseOut="HideTip('tt274')" class=ISymbol>gdIOCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdLayerMultiply" id=link275 onMouseOver="ShowTip(event, 'tt275', 'link275')" onMouseOut="HideTip('tt275')" class=ISymbol>gdLayerMultiply</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdLayerOverlay" id=link276 onMouseOver="ShowTip(event, 'tt276', 'link276')" onMouseOut="HideTip('tt276')" class=ISymbol>gdLayerOverlay</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdMajorVersion" id=link277 onMouseOver="ShowTip(event, 'tt277', 'link277')" onMouseOut="HideTip('tt277')" class=ISymbol>gdMajorVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdMinorVersion" id=link278 onMouseOver="ShowTip(event, 'tt278', 'link278')" onMouseOut="HideTip('tt278')" class=ISymbol>gdMinorVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtx" id=link279 onMouseOver="ShowTip(event, 'tt279', 'link279')" onMouseOut="HideTip('tt279')" class=ISymbol>gdNewDynamicCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtxEx" id=link280 onMouseOver="ShowTip(event, 'tt280', 'link280')" onMouseOut="HideTip('tt280')" class=ISymbol>gdNewDynamicCtxEx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_file-c.html#gdNewFileCtx" id=link281 onMouseOver="ShowTip(event, 'tt281', 'link281')" onMouseOut="HideTip('tt281')" class=ISymbol>gdNewFileCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io_ss-c.html#gdNewSSCtx" id=link282 onMouseOver="ShowTip(event, 'tt282', 'link282')" onMouseOut="HideTip('tt282')" class=ISymbol>gdNewSSCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPaletteQuantizationMethod" class=ISymbol>gdPaletteQuantizationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPoint" class=ISymbol>gdPoint</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPointF" id=link283 onMouseOver="ShowTip(event, 'tt283', 'link283')" onMouseOut="HideTip('tt283')" class=ISymbol>gdPointF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPointFPtr" id=link284 onMouseOver="ShowTip(event, 'tt284', 'link284')" onMouseOut="HideTip('tt284')" class=ISymbol>gdPointFPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPointPtr" id=link285 onMouseOver="ShowTip(event, 'tt285', 'link285')" onMouseOut="HideTip('tt285')" class=ISymbol>gdPointPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdRect" id=link286 onMouseOver="ShowTip(event, 'tt286', 'link286')" onMouseOut="HideTip('tt286')" class=ISymbol>gdRect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdRectPtr" id=link287 onMouseOver="ShowTip(event, 'tt287', 'link287')" onMouseOut="HideTip('tt287')" class=ISymbol>gdRectPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdReleaseVersion" id=link288 onMouseOver="ShowTip(event, 'tt288', 'link288')" onMouseOut="HideTip('tt288')" class=ISymbol>gdReleaseVersion</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#gdSetErrorMethod" id=link289 onMouseOver="ShowTip(event, 'tt289', 'link289')" onMouseOut="HideTip('tt289')" class=ISymbol>gdSetErrorMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSink" class=ISymbol>gdSink</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSinkPtr" id=link290 onMouseOver="ShowTip(event, 'tt290', 'link290')" onMouseOut="HideTip('tt290')" class=ISymbol>gdSinkPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSource" class=ISymbol>gdSource</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSourcePtr" id=link291 onMouseOver="ShowTip(event, 'tt291', 'link291')" onMouseOut="HideTip('tt291')" class=ISymbol>gdSourcePtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdStyled" id=link292 onMouseOver="ShowTip(event, 'tt292', 'link292')" onMouseOut="HideTip('tt292')" class=ISymbol>gdStyled</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdStyledBrushed" id=link293 onMouseOver="ShowTip(event, 'tt293', 'link293')" onMouseOut="HideTip('tt293')" class=ISymbol>gdStyledBrushed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filename-c.html#gdSupportsFileType" id=link294 onMouseOver="ShowTip(event, 'tt294', 'link294')" onMouseOut="HideTip('tt294')" class=ISymbol>gdSupportsFileType</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTiled" id=link295 onMouseOver="ShowTip(event, 'tt295', 'link295')" onMouseOut="HideTip('tt295')" class=ISymbol>gdTiled</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineBoundingBox" id=link296 onMouseOver="ShowTip(event, 'tt296', 'link296')" onMouseOut="HideTip('tt296')" class=ISymbol>gdTransformAffineBoundingBox</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineCopy" id=link297 onMouseOver="ShowTip(event, 'tt297', 'link297')" onMouseOut="HideTip('tt297')" class=ISymbol>gdTransformAffineCopy</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineGetImage" id=link298 onMouseOver="ShowTip(event, 'tt298', 'link298')" onMouseOut="HideTip('tt298')" class=ISymbol>gdTransformAffineGetImage</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTransparent" id=link299 onMouseOver="ShowTip(event, 'tt299', 'link299')" onMouseOut="HideTip('tt299')" class=ISymbol>gdTransparent</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorAlpha" id=link300 onMouseOver="ShowTip(event, 'tt300', 'link300')" onMouseOut="HideTip('tt300')" class=ISymbol>gdTrueColorAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetAlpha" id=link301 onMouseOver="ShowTip(event, 'tt301', 'link301')" onMouseOut="HideTip('tt301')" class=ISymbol>gdTrueColorGetAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetBlue" id=link302 onMouseOver="ShowTip(event, 'tt302', 'link302')" onMouseOut="HideTip('tt302')" class=ISymbol>gdTrueColorGetBlue</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetGreen" id=link303 onMouseOver="ShowTip(event, 'tt303', 'link303')" onMouseOut="HideTip('tt303')" class=ISymbol>gdTrueColorGetGreen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetRed" id=link304 onMouseOver="ShowTip(event, 'tt304', 'link304')" onMouseOut="HideTip('tt304')" class=ISymbol>gdTrueColorGetRed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_version-c.html#gdVersionString" id=link305 onMouseOver="ShowTip(event, 'tt305', 'link305')" onMouseOut="HideTip('tt305')" class=ISymbol>gdVersionString</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontg-c.html#Giant_Font" id=link306 onMouseOver="ShowTip(event, 'tt306', 'link306')" onMouseOut="HideTip('tt306')" class=ISymbol>Giant Font</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_in-c.html#GIF_Input" id=link307 onMouseOver="ShowTip(event, 'tt307', 'link307')" onMouseOut="HideTip('tt307')" class=ISymbol>GIF Input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_gif_out-c.html#GIF_Output" id=link308 onMouseOver="ShowTip(event, 'tt308', 'link308')" onMouseOut="HideTip('tt308')" class=ISymbol>GIF Output</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#GifAnim" id=link309 onMouseOver="ShowTip(event, 'tt309', 'link309')" onMouseOut="HideTip('tt309')" class=ISymbol>GifAnim</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt7"><div class=CFile>Read and write GD images.</div></div><div class=CToolTip id="tt8"><div class=CConstant>Bell</div></div><div class=CToolTip id="tt9"><div class=CConstant>Bessel</div></div><div class=CToolTip id="tt10"><div class=CConstant>Bicubic</div></div><div class=CToolTip id="tt11"><div class=CConstant>fixed point bicubic integer</div></div><div class=CToolTip id="tt12"><div class=CConstant>fixed point bilinear</div></div><div class=CToolTip id="tt13"><div class=CConstant>Blackman</div></div><div class=CToolTip id="tt14"><div class=CConstant>Box</div></div><div class=CToolTip id="tt15"><div class=CConstant>BSpline</div></div><div class=CToolTip id="tt16"><div class=CConstant>Catmullrom</div></div><div class=CToolTip id="tt17"><div class=CConstant>Crop black borders</div></div><div class=CToolTip id="tt18"><div class=CConstant>Default crop mode (4 corners or background)</div></div><div class=CToolTip id="tt19"><div class=CConstant>Crop using colors of the 4 corners</div></div><div class=CToolTip id="tt20"><div class=CConstant>Crop using the transparent color</div></div><div class=CToolTip id="tt21"><div class=CConstant>Crop white borders</div></div><div class=CToolTip id="tt22"><div class=CConstant>Gaussian</div></div><div class=CToolTip id="tt23"><div class=CConstant>Generalized cubic</div></div><div class=CToolTip id="tt24"><div class=CConstant>Hamming</div></div><div class=CToolTip id="tt25"><div class=CConstant>Hannig</div></div><div class=CToolTip id="tt26"><div class=CConstant>Hermite</div></div><div class=CToolTip id="tt27"><div class=CConstant>bilinear interpolation</div></div><div class=CToolTip id="tt28"><div class=CConstant>Mitchell</div></div><div class=CToolTip id="tt29"><div class=CConstant>Nearest neighbour interpolation</div></div><div class=CToolTip id="tt30"><div class=CConstant>Power</div></div><div class=CToolTip id="tt31"><div class=CConstant>Quadratic</div></div><div class=CToolTip id="tt32"><div class=CConstant>GD_QUANT_LIQ if libimagequant is available, GD_QUANT_JQUANT otherwise.</div></div><div class=CToolTip id="tt33"><div class=CConstant>libjpeg&rsquo;s old median cut. </div></div><div class=CToolTip id="tt34"><div class=CConstant>A combination of algorithms used in libimagequant aiming for the highest quality at cost of speed.</div></div><div class=CToolTip id="tt35"><div class=CConstant>NeuQuant - approximation using Kohonen neural network.</div></div><div class=CToolTip id="tt36"><div class=CConstant>Sinc</div></div><div class=CToolTip id="tt37"><div class=CConstant>Triangle</div></div><div class=CToolTip id="tt38"><div class=CConstant>4 pixels weighted bilinear interpolation</div></div><div class=CToolTip id="tt39"><div class=CFile>Read and write GD2 images.</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineApplyToPointF (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdPointFPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a point (floating point gdPointF)</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineConcat (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Concat (Multiply) two affine transformation matrices.</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineEqual (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m1[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m2[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether two affine transformations are equal. </div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineFlip (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_h,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flip_v</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an affine transformation horizontally or vertically.</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineIdentity (</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up the identity matrix.</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineInvert (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>src[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Find the inverse of an affine transformation.</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRectilinear (</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>m[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Determines whether the affine transformation is axis aligned. </div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineRotate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a rotation affine transform.</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineScale (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>scale_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a scaling matrix.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearHorizontal(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a horizontal shearing matrix || becomes \\.</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineShearVertical(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a vertical shearing matrix, columns are untouched.</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAffineTranslate (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dst[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>offset_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up a translation matrix.</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdAlphaBlend (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Blend two colors</div></div><div class=CToolTip id="tt53"><div class=CConstant>draw anti aliased</div></div><div class=CToolTip id="tt54"><div class=CConstant>use the current brush, see gdImageSetBrush</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdClearErrorMethod(</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdColorMapLookup(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdColorMap&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color_map,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>color_name,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt57"><div class=CConstant>Preserve previous frame</div></div><div class=CToolTip id="tt58"><div class=CConstant>First allocated color of palette</div></div><div class=CToolTip id="tt59"><div class=CConstant>Restore to before start of frame</div></div><div class=CToolTip id="tt60"><div class=CConstant>Not recommended</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdDPExtractData (</td><td class="PTypePrefix prettyprint " nowrap>struct&nbsp;</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdExtraVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFontCacheSetup (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set up the font cache.</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFontCacheShutdown ()</td></tr></table></blockquote>Shut down the font cache and free the allocated resources.</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetGiant (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in giant font.</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetLarge (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in large font.</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetMediumBold (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in medium bold font.</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetSmall (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in small font.</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdFontPtr gdFontGetTiny (</td><td class="PParameter prettyprint " nowrap>void</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the built-in tiny font.</div></div><div class=CToolTip id="tt70"><div class=CType>A font structure, containing the bitmaps of all characters in a font. </div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdFree (</td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ptr</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Frees memory that has been allocated by libgd functions.</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">void gdFreeFontCache ()</td></tr></table></blockquote>Alias of gdFontCacheShutdown.</div></div><div class=CToolTip id="tt73"><div class=CType>A structure and associated pointer type used to pass additional parameters to the gdImageStringFTEx function. </div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdFTUseFontConfig(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>flag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Enable or disable fontconfig by default.</div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAABlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>NO-OP, kept for library compatibility.</div></div><div class=CToolTip id="tt76"><div class=CMacro>Gets the alpha component value of a given color.</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageAlphaBlending (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alphaBlendingArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the effect for subsequent drawing operations</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt79"><div class=CMacro>Gets the blue component value of a given color.</div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmp(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageBmp outputs the specified image to the specified file in BMP format. </div></div><div class=CToolTip id="tt81"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageBmpCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageBmpPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>compression</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as BMP data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBoundsSafe (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageBrightness(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>brightness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the brightness of an image</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageChar (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a single character.</div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCharUp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageClone (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Clones an image</div></div><div class=CToolTip id="tt88"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>red,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>green,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>blue,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change channel values of an image</div></div><div class=CToolTip id="tt89"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt90"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorAllocateAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Allocates a color</div></div><div class=CToolTip id="tt91"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosest (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the closest color of the image</div></div><div class=CToolTip id="tt93"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorClosestHWB (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorDeallocate (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Removes a palette entry</div></div><div class=CToolTip id="tt95"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExact (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorExactAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the exact color of the image</div></div><div class=CToolTip id="tt97"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorMatch (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Bring the palette colors in im2 to be closer to im1.</div></div><div class=CToolTip id="tt98"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt99"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceArray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>len,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceCallback (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdCallbackImageColor&nbsp;</td><td class="PParameter prettyprint " nowrap>callback</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt101"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorReplaceThreshold (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt102"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolve (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageColorResolve is an alternative for the code fragment</div></div><div class=CToolTip id="tt103"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageColorResolveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>g,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>b,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>a</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt104"><div class=CMacro>Gets the number of colors in the palette.</div></div><div class=CToolTip id="tt105"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageColorTransparent (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the transparent color of the image</div></div><div class=CToolTip id="tt106"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageCompare (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Compare two images</div></div><div class=CToolTip id="tt107"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageContrast(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>contrast</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Change the contrast of an image</div></div><div class=CToolTip id="tt108"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageConvolution(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter[3][3],</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>filter_div,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Apply a convolution matrix to an image</div></div><div class=CToolTip id="tt109"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image</div></div><div class=CToolTip id="tt110"><div class=CFunction>Return a copy of the source image <u>src</u> blurred according to the parameters using the Gaussian Blur algorithm.</div></div><div class=CToolTip id="tt111"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMerge (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt112"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyMergeGray (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy an area of an image to another image ignoring alpha</div></div><div class=CToolTip id="tt113"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResampled (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resampled area from an image to another image</div></div><div class=CToolTip id="tt114"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyResized (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dstH,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcW,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcH</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a resized area from an image to another image</div></div><div class=CToolTip id="tt115"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageCopyRotated (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>dstY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcX,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcY,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcWidth,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>srcHeight,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>angle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Copy a rotated area from an image to another image</div></div><div class=CToolTip id="tt116"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreate (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreate is called to create palette-based images, with no more than 256 colors. </div></div><div class=CToolTip id="tt117"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmp(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt118"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt119"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromBmpPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt120"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromFile(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Read an image file of any supported.</div></div><div class=CToolTip id="tt121"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd is called to load images from gd format files. </div></div><div class=CToolTip id="tt122"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2 (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2 is called to load images from gd2 format files. </div></div><div class=CToolTip id="tt123"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ctx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD2 image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt124"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Part (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGd2Part is called to load parts of images from gd2 format files. </div></div><div class=CToolTip id="tt125"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>in,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt126"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2PartPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt127"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGd2Ptr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt128"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdCtx (</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>in</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a GD image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt129"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGdPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt130"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGif(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fdFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromGif is called to load images from GIF format files. </div></div><div class=CToolTip id="tt131"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifCtx(</td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromGif.</div></div><div class=CToolTip id="tt132"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromGifPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt133"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpeg(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpegEx.</div></div><div class=CToolTip id="tt134"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt135"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegCtxEx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromJpeg.</div></div><div class=CToolTip id="tt136"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegEx(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromJpegEx is called to load truecolor images from JPEG format files. </div></div><div class=CToolTip id="tt137"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt138"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromJpegPtrEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ignore_warning</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt139"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPng (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromPng is called to load images from PNG format files. </div></div><div class=CToolTip id="tt140"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng.</div></div><div class=CToolTip id="tt141"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng.</div></div><div class=CToolTip id="tt142"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromPngSource (</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>inSource</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromPng for documentation. </div></div><div class=CToolTip id="tt143"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTga(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fp</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a gdImage from a TGA file</div></div><div class=CToolTip id="tt144"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a gdImage from a gdIOCtx referencing a TGA binary file.</div></div><div class=CToolTip id="tt145"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTgaPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt146"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Create a gdImage from a TIFF file input from an gdIOCtx.</div></div><div class=CToolTip id="tt147"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromTiffPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt148"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMP(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromWBMP is called to load images from WBMP format files. </div></div><div class=CToolTip id="tt149"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Reads in a WBMP image via a gdIOCtx struct. </div></div><div class=CToolTip id="tt150"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWBMPPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt151"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebp (</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>inFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromWebp is called to load truecolor images from WebP format files. </div></div><div class=CToolTip id="tt152"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpCtx (</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>infile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromWebp.</div></div><div class=CToolTip id="tt153"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromWebpPtr (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageCreateFromWebp.</div></div><div class=CToolTip id="tt154"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXbm(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fd</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromXbm is called to load images from X bitmap format files. </div></div><div class=CToolTip id="tt155"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateFromXpm(</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateFromXbm is called to load images from XPM X Window System color bitmap format files. </div></div><div class=CToolTip id="tt156"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreatePaletteFromTrueColor (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt157"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCreateTrueColor (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageCreateTrueColor is called to create truecolor images, with an essentially unlimited number of colors. </div></div><div class=CToolTip id="tt158"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCrop(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdRect&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>crop</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image to a given rectangle</div></div><div class=CToolTip id="tt159"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropAuto(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image automatically</div></div><div class=CToolTip id="tt160"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageCropThreshold(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>threshold</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Crop an image using a given color</div></div><div class=CToolTip id="tt161"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDashedLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt162"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageDestroy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageDestroy is used to free the memory associated with an image. </div></div><div class=CToolTip id="tt163"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEdgeDetectQuick(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Edge detection of an image</div></div><div class=CToolTip id="tt164"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageEllipse(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt165"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageEmboss(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Emboss an image</div></div><div class=CToolTip id="tt166"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageFile(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes an image to a file in the format indicated by the filename.</div></div><div class=CToolTip id="tt167"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFill(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>nc</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt168"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledArc (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>e,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>style</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt169"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledEllipse (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>my,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>h,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt170"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a filled polygon</div></div><div class=CToolTip id="tt171"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFilledRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt172"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFillToBorder (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>border,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt173"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipBoth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image vertically and horizontally</div></div><div class=CToolTip id="tt174"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipHorizontal(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image horizontally</div></div><div class=CToolTip id="tt175"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageFlipVertical(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Flip an image vertically</div></div><div class=CToolTip id="tt176"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGaussianBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGaussianBlur performs a Gaussian blur of radius 1 on the image. </div></div><div class=CToolTip id="tt177"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt178"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGd2 (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt179"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGd2Ptr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fmt,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt180"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGdPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt181"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y1P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>x2P,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>y2P</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current clipping rectangle</div></div><div class=CToolTip id="tt182"><div class=CMacro>Whether an image is interlaced.</div></div><div class=CToolTip id="tt183"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdInterpolationMethod gdImageGetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Get the current interpolation method</div></div><div class=CToolTip id="tt184"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color as stored in the image.</div></div><div class=CToolTip id="tt185"><div class=CMacro>Gets the transparent color of the image.</div></div><div class=CToolTip id="tt186"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGetTrueColorPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets a pixel color always as truecolor value.</div></div><div class=CToolTip id="tt187"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGif(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageGif outputs the specified image to the specified file in GIF format. </div></div><div class=CToolTip id="tt188"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAdd(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function writes GIF animation frames to GIF animation, which was initialized with gdImageGifAnimBegin. </div></div><div class=CToolTip id="tt189"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimAddCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds an animation frame via a gdIOCtxPtr. </div></div><div class=CToolTip id="tt190"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimAddPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LocalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>LeftOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>TopOfs,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Delay,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Disposal,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>previm</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimAdd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt191"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBegin(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>This function must be called as the first function when creating a GIF animation. </div></div><div class=CToolTip id="tt192"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimBeginCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to gdIOCtx. </div></div><div class=CToolTip id="tt193"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimBeginPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>GlobalCM,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>Loops</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimBegin except that it outputs to a memory buffer. </div></div><div class=CToolTip id="tt194"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEnd(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Terminates the GIF file properly.</div></div><div class=CToolTip id="tt195"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifAnimEndCtx(</td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd, but writes its data via a gdIOCtx.</div></div><div class=CToolTip id="tt196"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifAnimEndPtr(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Like gdImageGifAnimEnd (which contains more information) except that it stores the data to write into memory and returns a pointer to it.</div></div><div class=CToolTip id="tt197"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageGifCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtxPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes a GIF image via a gdIOCtx. </div></div><div class=CToolTip id="tt198"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageGifPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageGif except that it returns a pointer to a memory area with the GIF data. </div></div><div class=CToolTip id="tt199"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageGrayScale(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert an image to grayscale</div></div><div class=CToolTip id="tt200"><div class=CMacro>Gets the green component value of a given color.</div></div><div class=CToolTip id="tt201"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageInterlace (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>interlaceArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets whether an image is interlaced</div></div><div class=CToolTip id="tt202"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpeg(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageJpeg outputs the specified image to the specified file in JPEG format. </div></div><div class=CToolTip id="tt203"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageJpegCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as JPEG data via a gdIOCtx. </div></div><div class=CToolTip id="tt204"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageJpegPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImageJpeg except that it returns a pointer to a memory area with the JPEG data. </div></div><div class=CToolTip id="tt205"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageLine (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Bresenham as presented in Foley &amp; Van Dam.</div></div><div class=CToolTip id="tt206"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageMeanRemoval(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Mean removal of an image</div></div><div class=CToolTip id="tt207"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageNegate(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Invert an image</div></div><div class=CToolTip id="tt208"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageNeuQuant(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_color,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sample_factor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new palette image from a truecolor image</div></div><div class=CToolTip id="tt209"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageOpenPolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws an open polygon</div></div><div class=CToolTip id="tt210"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePaletteCopy (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>to,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>from</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt211"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt212"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePaletteToTrueColor(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Convert a palette image to true color</div></div><div class=CToolTip id="tt213"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImagePixelate(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>block_size,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt214"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePng (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngEx with compression of -1.</div></div><div class=CToolTip id="tt215"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngCtxEx with compression of -1. </div></div><div class=CToolTip id="tt216"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngCtxEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Outputs the given image as PNG data, but using a gdIOCtx instead of a file. </div></div><div class=CToolTip id="tt217"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImagePngEx outputs the specified image to the specified file in PNG format. </div></div><div class=CToolTip id="tt218"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Equivalent to calling gdImagePngPtrEx with compression of -1.</div></div><div class=CToolTip id="tt219"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImagePngPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>level</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Identical to gdImagePngEx except that it returns a pointer to a memory area with the PNG data. </div></div><div class=CToolTip id="tt220"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePngToSink (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>outSink</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt221"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImagePolygon (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdPointPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>p,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>n,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a closed polygon</div></div><div class=CToolTip id="tt222"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt223"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageRectangle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a rectangle.</div></div><div class=CToolTip id="tt224"><div class=CMacro>Gets the red component value of a given color.</div></div><div class=CToolTip id="tt225"><div class=CMacro>Gets the horizontal resolution in DPI.</div></div><div class=CToolTip id="tt226"><div class=CMacro>Gets the vertical resolution in DPI.</div></div><div class=CToolTip id="tt227"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageRotateInterpolated(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>bgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Rotate an image</div></div><div class=CToolTip id="tt228"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSaveAlpha (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>saveAlphaArg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the save alpha flag</div></div><div class=CToolTip id="tt229"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageScale(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_width,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>new_height</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Scale an image</div></div><div class=CToolTip id="tt230"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatter(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt231"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterColor(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>sub,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>plus,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colors[],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>num_colors</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt232"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageScatterEx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdScatterPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>scatter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt233"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSelectiveBlur(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt234"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliased (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt235"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetAntiAliasedDontBlend (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>c,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dont_blend</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the color and &ldquo;dont_blend&rdquo; color for subsequent anti-aliased drawing</div></div><div class=CToolTip id="tt236"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetBrush (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>brush</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the brush for following drawing operations</div></div><div class=CToolTip id="tt237"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetClip (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y2</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the clipping rectangle</div></div><div class=CToolTip id="tt238"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSetInterpolationMethod(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdInterpolationMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>id</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the interpolation method for subsequent operations</div></div><div class=CToolTip id="tt239"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetPixel (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt240"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetResolution(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const unsigned&nbsp;</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>res_y</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the resolution of an image.</div></div><div class=CToolTip id="tt241"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetStyle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>style,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>noOfPixels</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the style for following drawing operations</div></div><div class=CToolTip id="tt242"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetThickness (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>thickness</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the thickness for following drawing operations</div></div><div class=CToolTip id="tt243"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSetTile (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>tile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt244"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageSharpen (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>pct</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sharpen an image.</div></div><div class=CToolTip id="tt245"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageSmooth(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>float&nbsp;</td><td class="PParameter prettyprint " nowrap>weight</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Smooth an image</div></div><div class=CToolTip id="tt246"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdImagePtr gdImageSquareToCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>radius</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Apply polar coordinate transformation to an image.</div></div><div class=CToolTip id="tt247"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draws a character string.</div></div><div class=CToolTip id="tt248"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageString16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt249"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringFT (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render an UTF-8 string onto a gd image.</div></div><div class=CToolTip id="tt250"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char* gdImageStringFTCircle (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>cy,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>radius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>textRadius,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fillPortion,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>font,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>points,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>top,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>bottom,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fgcolor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Draw text curved along the top and bottom of a circular area of an image.</div></div><div class=CToolTip id="tt251"><div class=CFunction>gdImageStringFTEx extends the capabilities of gdImageStringFT by providing a way to pass additional parameters.</div></div><div class=CToolTip id="tt252"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>char * gdImageStringTTF (</td><td class="PType prettyprint " nowrap>gdImage&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>brect,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>fontlist,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ptsize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>angle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>string</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Alias of gdImageStringFT.</div></div><div class=CToolTip id="tt253"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt254"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageStringUp16 (</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdFontPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>f,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>unsigned&nbsp;</td><td class="PType prettyprint " nowrap>short&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>s,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt255"><div class=CMacro>Gets the width (in pixels) of an image.</div></div><div class=CToolTip id="tt256"><div class=CMacro>Gets the height (in pixels) of an image.</div></div><div class=CToolTip id="tt257"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiff(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt258"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTiffCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the gd image as a tiff file.</div></div><div class=CToolTip id="tt259"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageTiffPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt260"><div class=CMacro>Whether an image is a truecolor image.</div></div><div class=CToolTip id="tt261"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt262"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPalette (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dither,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>colorsWanted</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Converts a truecolor image to a palette image</div></div><div class=CToolTip id="tt263"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdImageTrueColorToPaletteSetMethod (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>method,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>speed</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Selects the quantization method</div></div><div class=CToolTip id="tt264"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageTrueColorToPaletteSetQuality (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>min_quality,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>max_quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Chooses a quality range for quantization</div></div><div class=CToolTip id="tt265"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMP(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt266"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWBMPCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as a wbmp file</div></div><div class=CToolTip id="tt267"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWBMPPtr(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt268"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebp (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Variant of gdImageWebpEx which uses the default quality (-1).</div></div><div class=CToolTip id="tt269"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpCtx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outfile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Write the image as WebP data via a gdIOCtx. </div></div><div class=CToolTip id="tt270"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageWebpEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>outFile,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>gdImageWebpEx outputs the specified image to the specified file in WebP format. </div></div><div class=CToolTip id="tt271"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtr (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageWebpEx.</div></div><div class=CToolTip id="tt272"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void * gdImageWebpPtrEx (</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>im,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>quality</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>See gdImageWebpEx.</div></div><div class=CToolTip id="tt273"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdImageXbmCtx(</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>image,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>file_name,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>fg,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdIOCtx&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>out</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Writes an image to an IO context in X11 bitmap format.</div></div><div class=CToolTip id="tt274"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt275"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerMultiply (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors with multiply effect</div></div><div class=CToolTip id="tt276"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdLayerOverlay (</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>src</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Overlay two colors</div></div><div class=CToolTip id="tt277"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMajorVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt278"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdMinorVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt279"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt280"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewDynamicCtxEx(</td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>initialSize,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>freeOKFlag</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt281"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewFileCtx(</td><td class="PType prettyprint " nowrap>FILE&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>f</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt282"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>gdIOCtx * gdNewSSCtx(</td><td class="PType prettyprint " nowrap>gdSourcePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>gdSinkPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>snk</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Return data as a dynamic pointer.</div></div><div class=CToolTip id="tt283"><div class=CType>Defines a point in a 2D coordinate system using floating point values. </div></div><div class=CToolTip id="tt284"><div class=CType>Pointer to a gdPointF</div></div><div class=CToolTip id="tt285"><div class=CType>Represents a point in the coordinate space of the image; used by gdImagePolygon, gdImageOpenPolygon and gdImageFilledPolygon for polygon drawing.</div></div><div class=CToolTip id="tt286"><div class=CType>A rectangle in the coordinate space of the image</div></div><div class=CToolTip id="tt287"><div class=CType>A pointer to a gdRect</div></div><div class=CToolTip id="tt288"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">int gdReleaseVersion()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt289"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>void gdSetErrorMethod(</td><td class="PType prettyprint " nowrap>gdErrorMethod&nbsp;</td><td class="PParameter prettyprint " nowrap>error_method</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt290"><div class=CType><b>Note:</b> This interface is <b>obsolete</b> and kept only for <b>compatibility</b>. </div></div><div class=CToolTip id="tt291"><div class=CType><b>Note:</b> This interface is <b>obsolete</b> and kept only for *compatibility. </div></div><div class=CToolTip id="tt292"><div class=CConstant>use the current style, see gdImageSetStyle</div></div><div class=CToolTip id="tt293"><div class=CConstant>use the current style and brush</div></div><div class=CToolTip id="tt294"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdSupportsFileType(</td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>filename,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>writing</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Tests if a given file type is supported by GD.</div></div><div class=CToolTip id="tt295"><div class=CConstant>use the current tile, see gdImageSetTile</div></div><div class=CToolTip id="tt296"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineBoundingBox(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6],</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>bbox</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the bounding box of an affine transformation applied to a rectangular area gdRect</div></div><div class=CToolTip id="tt297"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineCopy(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_x,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>int&nbsp;</td><td class="PParameter prettyprint " nowrap>dst_y,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameter prettyprint " nowrap>src_region,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and copy the result in a destination to the given position.</div></div><div class=CToolTip id="tt298"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>int gdTransformAffineGetImage(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>dst,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>gdImagePtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>gdRectPtr&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>src_area,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>double&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>affine[6]</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Applies an affine transformation to a region and return an image containing the complete transformation.</div></div><div class=CToolTip id="tt299"><div class=CConstant>indicate transparency, what is not the same as the transparent color index; used for lines only</div></div><div class=CToolTip id="tt300"><div class=CMacro>Compose a truecolor value from its components</div></div><div class=CToolTip id="tt301"><div class=CMacro>Gets the alpha channel value</div></div><div class=CToolTip id="tt302"><div class=CMacro>Gets the blue channel value</div></div><div class=CToolTip id="tt303"><div class=CMacro>Gets the green channel value</div></div><div class=CToolTip id="tt304"><div class=CMacro>Gets the red channel value</div></div><div class=CToolTip id="tt305"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">const char * gdVersionString()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt306"><div class=CFile>A very large ISO-8859-2 raster font (9x15 pixels).</div></div><div class=CToolTip id="tt307"><div class=CFile>Read GIF images.</div></div><div class=CToolTip id="tt308"><div class=CFile>Write GIF images.</div></div><div class=CToolTip id="tt309"><div class=CGroup>Legal values for Disposal. </div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General3.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General3.html
deleted file mode 100644
index c627ff0107e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/General3.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar>$#! &middot; <a href="General.html#Numbers">0-9</a> &middot; <a href="General.html#A">A</a> &middot; <a href="General.html#B">B</a> &middot; <a href="General.html#C">C</a> &middot; D &middot; <a href="General.html#E">E</a> &middot; <a href="General.html#F">F</a> &middot; <a href="General2.html#G">G</a> &middot; H &middot; <a href="#I">I</a> &middot; <a href="#J">J</a> &middot; K &middot; <a href="#L">L</a> &middot; <a href="#M">M</a> &middot; N &middot; <a href="#O">O</a> &middot; <a href="#P">P</a> &middot; Q &middot; R &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; V &middot; <a href="#W">W</a> &middot; <a href="#X">X</a> &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="I"></a>I</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Image_Comparison" class=ISymbol>Image Comparison</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_filter-c.html#Image_Filters" class=ISymbol>Image Filters</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_interpolation-c.html#Interpolation_Method" class=ISymbol>Interpolation Method</a></td></tr><tr><td class=IHeading><a name="J"></a>J</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_jpeg-c.html#JPEG_IO" id=link310 onMouseOver="ShowTip(event, 'tt310', 'link310')" onMouseOut="HideTip('tt310')" class=ISymbol>JPEG IO</a></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontl-c.html#Large_Font" id=link311 onMouseOver="ShowTip(event, 'tt311', 'link311')" onMouseOut="HideTip('tt311')" class=ISymbol>Large Font</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/license-txt.html#License" id=link312 onMouseOver="ShowTip(event, 'tt312', 'link312')" onMouseOut="HideTip('tt312')" class=ISymbol>License</a></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_matrix-c.html#Matrix" id=link313 onMouseOver="ShowTip(event, 'tt313', 'link313')" onMouseOut="HideTip('tt313')" class=ISymbol>Matrix</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontmb-c.html#Medium_Bold_Font" id=link314 onMouseOver="ShowTip(event, 'tt314', 'link314')" onMouseOut="HideTip('tt314')" class=ISymbol>Medium Bold Font</a></td></tr><tr><td class=IHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#other" class=ISymbol>other</a></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#Pixels" class=ISymbol>Pixels</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_png-c.html#PNG_IO" id=link315 onMouseOver="ShowTip(event, 'tt315', 'link315')" onMouseOut="HideTip('tt315')" class=ISymbol>PNG IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#Polygons" class=ISymbol>Polygons</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-c.html#Primitives" class=ISymbol>Primitives</a></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfonts-c.html#Small_Font" id=link316 onMouseOver="ShowTip(event, 'tt316', 'link316')" onMouseOut="HideTip('tt316')" class=ISymbol>Small Font</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Special_Colors" class=ISymbol>Special Colors</a></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tga-c.html#TGA_Input" id=link317 onMouseOver="ShowTip(event, 'tt317', 'link317')" onMouseOut="HideTip('tt317')" class=ISymbol>TGA Input</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_tiff-c.html#TIFF_IO" id=link318 onMouseOver="ShowTip(event, 'tt318', 'link318')" onMouseOut="HideTip('tt318')" class=ISymbol>TIFF IO</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdfontt-c.html#Tiny_Font" id=link319 onMouseOver="ShowTip(event, 'tt319', 'link319')" onMouseOut="HideTip('tt319')" class=ISymbol>Tiny Font</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#Transform" class=ISymbol>Transform</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_transform-c.html#Transformations" class=ISymbol>Transformations</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Types</span><div class=ISubIndex><a href="../files/gd-h.html#Types" class=IFile>gd.h</a><a href="../files/gd_io-h.html#Types" class=IFile>gd_io.h</a></div></td></tr><tr><td class=IHeading><a name="W"></a>W</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_wbmp-c.html#WBMP_IO" id=link320 onMouseOver="ShowTip(event, 'tt320', 'link320')" onMouseOut="HideTip('tt320')" class=ISymbol>WBMP IO</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_webp-c.html#WebP_IO" id=link321 onMouseOver="ShowTip(event, 'tt321', 'link321')" onMouseOut="HideTip('tt321')" class=ISymbol>WebP IO</a></td></tr><tr><td class=IHeading><a name="X"></a>X</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_xbm-c.html#XBM_IO" id=link322 onMouseOver="ShowTip(event, 'tt322', 'link322')" onMouseOut="HideTip('tt322')" class=ISymbol>XBM IO</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gdxpm-c.html#XPM_Input" id=link323 onMouseOver="ShowTip(event, 'tt323', 'link323')" onMouseOut="HideTip('tt323')" class=ISymbol>XPM Input</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt310"><div class=CFile>Read and write JPEG images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt311"><div class=CFile>A large ISO-8859-2 raster font (8x16 pixels).</div></div><div class=CToolTip id="tt312"><div class=CSection>In order to resolve any possible confusion regarding the authorship of gd, the following copyright statement covers all of the authors who have required such a statement. </div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt313"><div class=CSection>Group: Affine Matrix</div></div><div class=CToolTip id="tt314"><div class=CFile>A medium bold ISO-8859-2 raster font (7x13 pixels).</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt315"><div class=CFile>Read and write PNG images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt316"><div class=CFile>A small ISO-8859-2 raster font (7x13 pixels).</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt317"><div class=CFile>Read TGA images.</div></div><div class=CToolTip id="tt318"><div class=CFile>Read and write TIFF images.</div></div><div class=CToolTip id="tt319"><div class=CFile>A very small ISO-8859-2 raster font (5x8 pixels).</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt320"><div class=CFile>Read and write WBMP images.</div></div><div class=CToolTip id="tt321"><div class=CFile>Read and write WebP images.</div></div><!--END_ND_TOOLTIPS-->
-
-
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt322"><div class=CFile>Read and write XBM images.</div></div><div class=CToolTip id="tt323"><div class=CFile>Read XPM images.</div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Everything</div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Macros.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Macros.html
deleted file mode 100644
index ada5078fa5e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Macros.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Macro Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Macro Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageAlpha" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>gdImageAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageBlue" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>gdImageBlue</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageColorsTotal" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>gdImageColorsTotal</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGetInterlaced" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>gdImageGetInterlaced</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGetTransparent" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>gdImageGetTransparent</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageGreen" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>gdImageGreen</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImagePalettePixel" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>gdImagePalettePixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageRed" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>gdImageRed</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageResolutionX" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>gdImageResolutionX</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageResolutionY" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>gdImageResolutionY</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageSX" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>gdImageSX</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageSY" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>gdImageSY</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageTrueColor" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>gdImageTrueColor</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImageTrueColorPixel" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>gdImageTrueColorPixel</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorAlpha" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>gdTrueColorAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetAlpha" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>gdTrueColorGetAlpha</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetBlue" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>gdTrueColorGetBlue</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetGreen" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>gdTrueColorGetGreen</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdTrueColorGetRed" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>gdTrueColorGetRed</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CMacro>Gets the alpha component value of a given color.</div></div><div class=CToolTip id="tt2"><div class=CMacro>Gets the blue component value of a given color.</div></div><div class=CToolTip id="tt3"><div class=CMacro>Gets the number of colors in the palette.</div></div><div class=CToolTip id="tt4"><div class=CMacro>Whether an image is interlaced.</div></div><div class=CToolTip id="tt5"><div class=CMacro>Gets the transparent color of the image.</div></div><div class=CToolTip id="tt6"><div class=CMacro>Gets the green component value of a given color.</div></div><div class=CToolTip id="tt7"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt8"><div class=CMacro>Gets the red component value of a given color.</div></div><div class=CToolTip id="tt9"><div class=CMacro>Gets the horizontal resolution in DPI.</div></div><div class=CToolTip id="tt10"><div class=CMacro>Gets the vertical resolution in DPI.</div></div><div class=CToolTip id="tt11"><div class=CMacro>Gets the width (in pixels) of an image.</div></div><div class=CToolTip id="tt12"><div class=CMacro>Gets the height (in pixels) of an image.</div></div><div class=CToolTip id="tt13"><div class=CMacro>Whether an image is a truecolor image.</div></div><div class=CToolTip id="tt14"><div class=CMacro>Gets the color of a pixel.</div></div><div class=CToolTip id="tt15"><div class=CMacro>Compose a truecolor value from its components</div></div><div class=CToolTip id="tt16"><div class=CMacro>Gets the alpha channel value</div></div><div class=CToolTip id="tt17"><div class=CMacro>Gets the blue channel value</div></div><div class=CToolTip id="tt18"><div class=CMacro>Gets the green channel value</div></div><div class=CToolTip id="tt19"><div class=CMacro>Gets the red channel value</div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Macros</div></div><div class=MEntry><div class=MIndex><a href="Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Types.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Types.html
deleted file mode 100644
index 96efb6765be..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/index/Types.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Type Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=IPageTitle>Type Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFont" class=ISymbol>gdFont</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFontPtr" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>gdFontPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFTStringExtra" class=ISymbol>gdFTStringExtra</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdFTStringExtraPtr" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>gdFTStringExtraPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImage" class=ISymbol>gdImage</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdImagePtr" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>gdImagePtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd_io-h.html#gdIOCtx" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>gdIOCtx</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPaletteQuantizationMethod" class=ISymbol>gdPaletteQuantizationMethod</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPoint" class=ISymbol>gdPoint</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPointF" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>gdPointF</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPointFPtr" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>gdPointFPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdPointPtr" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>gdPointPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdRect" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>gdRect</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdRectPtr" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>gdRectPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSink" class=ISymbol>gdSink</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSinkPtr" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>gdSinkPtr</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSource" class=ISymbol>gdSource</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/gd-h.html#gdSourcePtr" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>gdSourcePtr</a></td></tr></table>
-<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CType>A font structure, containing the bitmaps of all characters in a font. </div></div><div class=CToolTip id="tt2"><div class=CType>A structure and associated pointer type used to pass additional parameters to the gdImageStringFTEx function. </div></div><div class=CToolTip id="tt3"><div class=CType>The data structure in which gd stores images. </div></div><div class=CToolTip id="tt4"><div class=CType>gdIOCtx structures hold function pointers for doing image IO.</div></div><div class=CToolTip id="tt5"><div class=CType>Defines a point in a 2D coordinate system using floating point values. </div></div><div class=CToolTip id="tt6"><div class=CType>Pointer to a gdPointF</div></div><div class=CToolTip id="tt7"><div class=CType>Represents a point in the coordinate space of the image; used by gdImagePolygon, gdImageOpenPolygon and gdImageFilledPolygon for polygon drawing.</div></div><div class=CToolTip id="tt8"><div class=CType>A rectangle in the coordinate space of the image</div></div><div class=CToolTip id="tt9"><div class=CType>A pointer to a gdRect</div></div><div class=CToolTip id="tt10"><div class=CType><b>Note:</b> This interface is <b>obsolete</b> and kept only for <b>compatibility</b>. </div></div><div class=CToolTip id="tt11"><div class=CType><b>Note:</b> This interface is <b>obsolete</b> and kept only for *compatibility. </div></div><!--END_ND_TOOLTIPS-->
-
-</div><!--Index-->
-
-
-<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
-
-
-<div id=Menu><div class=MEntry><div class=MFile><a href="../files/preamble-txt.html">About LibGD 2.<wbr>3.0-dev</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Image Formats</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/gd_bmp-c.html">BMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd-c.html">GD IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gd2-c.html">GD2 IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_in-c.html">GIF Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_gif_out-c.html">GIF Output</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_jpeg-c.html">JPEG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_png-c.html">PNG IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tga-c.html">TGA Input</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_tiff-c.html">TIFF IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_wbmp-c.html">WBMP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_webp-c.html">WebP IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_xbm-c.html">XBM IO</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdxpm-c.html">XPM Input</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../files/gd_topal-c.html">Color Quantization</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_crop-c.html">Cropping</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdft-c.html">FreeType font rendering</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-c.html">gd.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd-h.html">gd.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filename-c.html">gd_filename.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_interpolation-c.html">gd_interpolation.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io-h.html">gd_io.h</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_dp-c.html">gd_io_dp.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_ss-c.html">gd_ss.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_version-c.html">gd_version.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_map-c.html">gdColorMapLookup</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdhelpers-c.html">gdFree</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfx-c.html">gdfx.c</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_color_match-c.html">gdImageColorMatch</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_nnquant-c.html">gdImageNeuQuant</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_file-c.html">gdNewFileCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_io_ss-c.html">gdNewSSCtx</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_filter-c.html">Image Filters</a></div></div><div class=MEntry><div class=MFile><a href="../files/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_matrix-c.html">Matrix</a></div></div><div class=MEntry><div class=MFile><a href="../files/gd_transform-c.html">Transformations</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Built-in Fonts</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="../files/gdfontg-c.html">Giant Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontl-c.html">Large Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontmb-c.html">Medium Bold Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfonts-c.html">Small Font</a></div></div><div class=MEntry><div class=MFile><a href="../files/gdfontt-c.html">Tiny Font</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Index</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Types</div></div></div></div></div><script type="text/javascript"><!--
-var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
---></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div><script language=JavaScript><!--
-HideAllBut([3], 4);// --></script></div><!--Menu-->
-
-
-<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
-
-
-<script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/main.js b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/main.js
deleted file mode 100644
index 3f42acde648..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/main.js
+++ /dev/null
@@ -1,841 +0,0 @@
-// This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure
-// Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL)
-// Refer to License.txt for the complete details
-
-// This file may be distributed with documentation files generated by Natural Docs.
-// Such documentation is not covered by Natural Docs' copyright and licensing,
-// and may have its own copyright and distribution terms as decided by its author.
-
-
-//
-// Browser Styles
-// ____________________________________________________________________________
-
-var agt=navigator.userAgent.toLowerCase();
-var browserType;
-var browserVer;
-
-if (agt.indexOf("opera") != -1)
- {
- browserType = "Opera";
-
- if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
- { browserVer = "Opera7"; }
- else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1)
- { browserVer = "Opera8"; }
- else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1)
- { browserVer = "Opera9"; }
- }
-
-else if (agt.indexOf("applewebkit") != -1)
- {
- browserType = "Safari";
-
- if (agt.indexOf("version/3") != -1)
- { browserVer = "Safari3"; }
- else if (agt.indexOf("safari/4") != -1)
- { browserVer = "Safari2"; }
- }
-
-else if (agt.indexOf("khtml") != -1)
- {
- browserType = "Konqueror";
- }
-
-else if (agt.indexOf("msie") != -1)
- {
- browserType = "IE";
-
- if (agt.indexOf("msie 6") != -1)
- { browserVer = "IE6"; }
- else if (agt.indexOf("msie 7") != -1)
- { browserVer = "IE7"; }
- }
-
-else if (agt.indexOf("gecko") != -1)
- {
- browserType = "Firefox";
-
- if (agt.indexOf("rv:1.7") != -1)
- { browserVer = "Firefox1"; }
- else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1)
- { browserVer = "Firefox15"; }
- else if (agt.indexOf("rv:1.8.1") != -1)
- { browserVer = "Firefox2"; }
- }
-
-
-//
-// Support Functions
-// ____________________________________________________________________________
-
-
-function GetXPosition(item)
- {
- var position = 0;
-
- if (item.offsetWidth != null)
- {
- while (item != document.body && item != null)
- {
- position += item.offsetLeft;
- item = item.offsetParent;
- };
- };
-
- return position;
- };
-
-
-function GetYPosition(item)
- {
- var position = 0;
-
- if (item.offsetWidth != null)
- {
- while (item != document.body && item != null)
- {
- position += item.offsetTop;
- item = item.offsetParent;
- };
- };
-
- return position;
- };
-
-
-function MoveToPosition(item, x, y)
- {
- // Opera 5 chokes on the px extension, so it can use the Microsoft one instead.
-
- if (item.style.left != null)
- {
- item.style.left = x + "px";
- item.style.top = y + "px";
- }
- else if (item.style.pixelLeft != null)
- {
- item.style.pixelLeft = x;
- item.style.pixelTop = y;
- };
- };
-
-
-//
-// Menu
-// ____________________________________________________________________________
-
-
-function ToggleMenu(id)
- {
- if (!window.document.getElementById)
- { return; };
-
- var display = window.document.getElementById(id).style.display;
-
- if (display == "none")
- { display = "block"; }
- else
- { display = "none"; }
-
- window.document.getElementById(id).style.display = display;
- }
-
-function HideAllBut(ids, max)
- {
- if (document.getElementById)
- {
- ids.sort( function(a,b) { return a - b; } );
- var number = 1;
-
- while (number < max)
- {
- if (ids.length > 0 && number == ids[0])
- { ids.shift(); }
- else
- {
- document.getElementById("MGroupContent" + number).style.display = "none";
- };
-
- number++;
- };
- };
- }
-
-
-//
-// Tooltips
-// ____________________________________________________________________________
-
-
-var tooltipTimer = 0;
-
-function ShowTip(event, tooltipID, linkID)
- {
- if (tooltipTimer)
- { clearTimeout(tooltipTimer); };
-
- var docX = event.clientX + window.pageXOffset;
- var docY = event.clientY + window.pageYOffset;
-
- var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";
-
- tooltipTimer = setTimeout(showCommand, 1000);
- }
-
-function ReallyShowTip(tooltipID, linkID, docX, docY)
- {
- tooltipTimer = 0;
-
- var tooltip;
- var link;
-
- if (document.getElementById)
- {
- tooltip = document.getElementById(tooltipID);
- link = document.getElementById(linkID);
- }
-/* else if (document.all)
- {
- tooltip = eval("document.all['" + tooltipID + "']");
- link = eval("document.all['" + linkID + "']");
- }
-*/
- if (tooltip)
- {
- var left = GetXPosition(link);
- var top = GetYPosition(link);
- top += link.offsetHeight;
-
-
- // The fallback method is to use the mouse X and Y relative to the document. We use a separate if and test if its a number
- // in case some browser snuck through the above if statement but didn't support everything.
-
- if (!isFinite(top) || top == 0)
- {
- left = docX;
- top = docY;
- }
-
- // Some spacing to get it out from under the cursor.
-
- top += 10;
-
- // Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the
- // page. We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.
-
- if (tooltip.offsetWidth != null)
- {
- var width = tooltip.offsetWidth;
- var docWidth = document.body.clientWidth;
-
- if (left + width > docWidth)
- { left = docWidth - width - 1; }
-
- // If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width.
- if (left < 0)
- { left = 0; };
- }
-
- MoveToPosition(tooltip, left, top);
- tooltip.style.visibility = "visible";
- }
- }
-
-function HideTip(tooltipID)
- {
- if (tooltipTimer)
- {
- clearTimeout(tooltipTimer);
- tooltipTimer = 0;
- }
-
- var tooltip;
-
- if (document.getElementById)
- { tooltip = document.getElementById(tooltipID); }
- else if (document.all)
- { tooltip = eval("document.all['" + tooltipID + "']"); }
-
- if (tooltip)
- { tooltip.style.visibility = "hidden"; }
- }
-
-
-//
-// Blockquote fix for IE
-// ____________________________________________________________________________
-
-
-function NDOnLoad()
- {
- if (browserVer == "IE6")
- {
- var scrollboxes = document.getElementsByTagName('blockquote');
-
- if (scrollboxes.item(0))
- {
- NDDoResize();
- window.onresize=NDOnResize;
- };
- };
- };
-
-
-var resizeTimer = 0;
-
-function NDOnResize()
- {
- if (resizeTimer != 0)
- { clearTimeout(resizeTimer); };
-
- resizeTimer = setTimeout(NDDoResize, 250);
- };
-
-
-function NDDoResize()
- {
- var scrollboxes = document.getElementsByTagName('blockquote');
-
- var i;
- var item;
-
- i = 0;
- while (item = scrollboxes.item(i))
- {
- item.style.width = 100;
- i++;
- };
-
- i = 0;
- while (item = scrollboxes.item(i))
- {
- item.style.width = item.parentNode.offsetWidth;
- i++;
- };
-
- clearTimeout(resizeTimer);
- resizeTimer = 0;
- }
-
-
-
-/* ________________________________________________________________________________________________________
-
- Class: SearchPanel
- ________________________________________________________________________________________________________
-
- A class handling everything associated with the search panel.
-
- Parameters:
-
- name - The name of the global variable that will be storing this instance. Is needed to be able to set timeouts.
- mode - The mode the search is going to work in. Pass <NaturalDocs::Builder::Base->CommandLineOption()>, so the
- value will be something like "HTML" or "FramedHTML".
-
- ________________________________________________________________________________________________________
-*/
-
-
-function SearchPanel(name, mode, resultsPath)
- {
- if (!name || !mode || !resultsPath)
- { alert("Incorrect parameters to SearchPanel."); };
-
-
- // Group: Variables
- // ________________________________________________________________________
-
- /*
- var: name
- The name of the global variable that will be storing this instance of the class.
- */
- this.name = name;
-
- /*
- var: mode
- The mode the search is going to work in, such as "HTML" or "FramedHTML".
- */
- this.mode = mode;
-
- /*
- var: resultsPath
- The relative path from the current HTML page to the results page directory.
- */
- this.resultsPath = resultsPath;
-
- /*
- var: keyTimeout
- The timeout used between a keystroke and when a search is performed.
- */
- this.keyTimeout = 0;
-
- /*
- var: keyTimeoutLength
- The length of <keyTimeout> in thousandths of a second.
- */
- this.keyTimeoutLength = 500;
-
- /*
- var: lastSearchValue
- The last search string executed, or an empty string if none.
- */
- this.lastSearchValue = "";
-
- /*
- var: lastResultsPage
- The last results page. The value is only relevant if <lastSearchValue> is set.
- */
- this.lastResultsPage = "";
-
- /*
- var: deactivateTimeout
-
- The timeout used between when a control is deactivated and when the entire panel is deactivated. Is necessary
- because a control may be deactivated in favor of another control in the same panel, in which case it should stay
- active.
- */
- this.deactivateTimout = 0;
-
- /*
- var: deactivateTimeoutLength
- The length of <deactivateTimeout> in thousandths of a second.
- */
- this.deactivateTimeoutLength = 200;
-
-
-
-
- // Group: DOM Elements
- // ________________________________________________________________________
-
-
- // Function: DOMSearchField
- this.DOMSearchField = function()
- { return document.getElementById("MSearchField"); };
-
- // Function: DOMSearchType
- this.DOMSearchType = function()
- { return document.getElementById("MSearchType"); };
-
- // Function: DOMPopupSearchResults
- this.DOMPopupSearchResults = function()
- { return document.getElementById("MSearchResults"); };
-
- // Function: DOMPopupSearchResultsWindow
- this.DOMPopupSearchResultsWindow = function()
- { return document.getElementById("MSearchResultsWindow"); };
-
- // Function: DOMSearchPanel
- this.DOMSearchPanel = function()
- { return document.getElementById("MSearchPanel"); };
-
-
-
-
- // Group: Event Handlers
- // ________________________________________________________________________
-
-
- /*
- Function: OnSearchFieldFocus
- Called when focus is added or removed from the search field.
- */
- this.OnSearchFieldFocus = function(isActive)
- {
- this.Activate(isActive);
- };
-
-
- /*
- Function: OnSearchFieldChange
- Called when the content of the search field is changed.
- */
- this.OnSearchFieldChange = function()
- {
- if (this.keyTimeout)
- {
- clearTimeout(this.keyTimeout);
- this.keyTimeout = 0;
- };
-
- var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
-
- if (searchValue != this.lastSearchValue)
- {
- if (searchValue != "")
- {
- this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength);
- }
- else
- {
- if (this.mode == "HTML")
- { this.DOMPopupSearchResultsWindow().style.display = "none"; };
- this.lastSearchValue = "";
- };
- };
- };
-
-
- /*
- Function: OnSearchTypeFocus
- Called when focus is added or removed from the search type.
- */
- this.OnSearchTypeFocus = function(isActive)
- {
- this.Activate(isActive);
- };
-
-
- /*
- Function: OnSearchTypeChange
- Called when the search type is changed.
- */
- this.OnSearchTypeChange = function()
- {
- var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
-
- if (searchValue != "")
- {
- this.Search();
- };
- };
-
-
-
- // Group: Action Functions
- // ________________________________________________________________________
-
-
- /*
- Function: CloseResultsWindow
- Closes the results window.
- */
- this.CloseResultsWindow = function()
- {
- this.DOMPopupSearchResultsWindow().style.display = "none";
- this.Activate(false, true);
- };
-
-
- /*
- Function: Search
- Performs a search.
- */
- this.Search = function()
- {
- this.keyTimeout = 0;
-
- var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
- var searchTopic = this.DOMSearchType().value;
-
- var pageExtension = searchValue.substr(0,1);
-
- if (pageExtension.match(/^[a-z]/i))
- { pageExtension = pageExtension.toUpperCase(); }
- else if (pageExtension.match(/^[0-9]/))
- { pageExtension = 'Numbers'; }
- else
- { pageExtension = "Symbols"; };
-
- var resultsPage;
- var resultsPageWithSearch;
- var hasResultsPage;
-
- // indexSectionsWithContent is defined in searchdata.js
- if (indexSectionsWithContent[searchTopic][pageExtension] == true)
- {
- resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html';
- resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
- hasResultsPage = true;
- }
- else
- {
- resultsPage = this.resultsPath + '/NoResults.html';
- resultsPageWithSearch = resultsPage;
- hasResultsPage = false;
- };
-
- var resultsFrame;
- if (this.mode == "HTML")
- { resultsFrame = window.frames.MSearchResults; }
- else if (this.mode == "FramedHTML")
- { resultsFrame = window.top.frames['Content']; };
-
-
- if (resultsPage != this.lastResultsPage ||
-
- // Bug in IE. If everything becomes hidden in a run, none of them will be able to be reshown in the next for some
- // reason. It counts the right number of results, and you can even read the display as "block" after setting it, but it
- // just doesn't work in IE 6 or IE 7. So if we're on the right page but the previous search had no results, reload the
- // page anyway to get around the bug.
- (browserType == "IE" && hasResultsPage &&
- (!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) )
-
- {
- resultsFrame.location.href = resultsPageWithSearch;
- }
-
- // So if the results page is right and there's no IE bug, reperform the search on the existing page. We have to check if there
- // are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even
- // if it did.
- else if (hasResultsPage)
- {
- // We need to check if this exists in case the frame is present but didn't finish loading.
- if (resultsFrame.searchResults)
- { resultsFrame.searchResults.Search(searchValue); }
-
- // Otherwise just reload instead of waiting.
- else
- { resultsFrame.location.href = resultsPageWithSearch; };
- };
-
-
- var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
-
- if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block")
- {
- var domSearchType = this.DOMSearchType();
-
- var left = GetXPosition(domSearchType);
- var top = GetYPosition(domSearchType) + domSearchType.offsetHeight;
-
- MoveToPosition(domPopupSearchResultsWindow, left, top);
- domPopupSearchResultsWindow.style.display = 'block';
- };
-
-
- this.lastSearchValue = searchValue;
- this.lastResultsPage = resultsPage;
- };
-
-
-
- // Group: Activation Functions
- // Functions that handle whether the entire panel is active or not.
- // ________________________________________________________________________
-
-
- /*
- Function: Activate
-
- Activates or deactivates the search panel, resetting things to their default values if necessary. You can call this on every
- control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently.
-
- Parameters:
-
- isActive - Whether you're activating or deactivating the panel.
- ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay.
- */
- this.Activate = function(isActive, ignoreDeactivateDelay)
- {
- // We want to ignore isActive being false while the results window is open.
- if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block"))
- {
- if (this.inactivateTimeout)
- {
- clearTimeout(this.inactivateTimeout);
- this.inactivateTimeout = 0;
- };
-
- this.DOMSearchPanel().className = 'MSearchPanelActive';
-
- var searchField = this.DOMSearchField();
-
- if (searchField.value == 'Search')
- { searchField.value = ""; }
- }
- else if (!ignoreDeactivateDelay)
- {
- this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength);
- }
- else
- {
- this.InactivateAfterTimeout();
- };
- };
-
-
- /*
- Function: InactivateAfterTimeout
-
- Called by <inactivateTimeout>, which is set by <Activate()>. Inactivation occurs on a timeout because a control may
- receive OnBlur() when focus is really transferring to another control in the search panel. In this case we don't want to
- actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value.
- So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation.
- */
- this.InactivateAfterTimeout = function()
- {
- this.inactivateTimeout = 0;
-
- this.DOMSearchPanel().className = 'MSearchPanelInactive';
- this.DOMSearchField().value = "Search";
-
- this.lastSearchValue = "";
- this.lastResultsPage = "";
- };
- };
-
-
-
-
-/* ________________________________________________________________________________________________________
-
- Class: SearchResults
- _________________________________________________________________________________________________________
-
- The class that handles everything on the search results page.
- _________________________________________________________________________________________________________
-*/
-
-
-function SearchResults(name, mode)
- {
- /*
- var: mode
- The mode the search is going to work in, such as "HTML" or "FramedHTML".
- */
- this.mode = mode;
-
- /*
- var: lastMatchCount
- The number of matches from the last run of <Search()>.
- */
- this.lastMatchCount = 0;
-
-
- /*
- Function: Toggle
- Toggles the visibility of the passed element ID.
- */
- this.Toggle = function(id)
- {
- if (this.mode == "FramedHTML")
- { return; };
-
- var parentElement = document.getElementById(id);
-
- var element = parentElement.firstChild;
-
- while (element && element != parentElement)
- {
- if (element.nodeName == 'DIV' && element.className == 'ISubIndex')
- {
- if (element.style.display == 'block')
- { element.style.display = "none"; }
- else
- { element.style.display = 'block'; }
- };
-
- if (element.nodeName == 'DIV' && element.hasChildNodes())
- { element = element.firstChild; }
- else if (element.nextSibling)
- { element = element.nextSibling; }
- else
- {
- do
- {
- element = element.parentNode;
- }
- while (element && element != parentElement && !element.nextSibling);
-
- if (element && element != parentElement)
- { element = element.nextSibling; };
- };
- };
- };
-
-
- /*
- Function: Search
-
- Searches for the passed string. If there is no parameter, it takes it from the URL query.
-
- Always returns true, since other documents may try to call it and that may or may not be possible.
- */
- this.Search = function(search)
- {
- if (!search)
- {
- search = window.location.search;
- search = search.substring(1); // Remove the leading ?
- search = unescape(search);
- };
-
- search = search.replace(/^ +/, "");
- search = search.replace(/ +$/, "");
- search = search.toLowerCase();
-
- if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily.
- {
- search = search.replace(/\_/g, "_und");
- search = search.replace(/\ +/gi, "_spc");
- search = search.replace(/\~/g, "_til");
- search = search.replace(/\!/g, "_exc");
- search = search.replace(/\@/g, "_att");
- search = search.replace(/\#/g, "_num");
- search = search.replace(/\$/g, "_dol");
- search = search.replace(/\%/g, "_pct");
- search = search.replace(/\^/g, "_car");
- search = search.replace(/\&/g, "_amp");
- search = search.replace(/\*/g, "_ast");
- search = search.replace(/\(/g, "_lpa");
- search = search.replace(/\)/g, "_rpa");
- search = search.replace(/\-/g, "_min");
- search = search.replace(/\+/g, "_plu");
- search = search.replace(/\=/g, "_equ");
- search = search.replace(/\{/g, "_lbc");
- search = search.replace(/\}/g, "_rbc");
- search = search.replace(/\[/g, "_lbk");
- search = search.replace(/\]/g, "_rbk");
- search = search.replace(/\:/g, "_col");
- search = search.replace(/\;/g, "_sco");
- search = search.replace(/\"/g, "_quo");
- search = search.replace(/\'/g, "_apo");
- search = search.replace(/\</g, "_lan");
- search = search.replace(/\>/g, "_ran");
- search = search.replace(/\,/g, "_com");
- search = search.replace(/\./g, "_per");
- search = search.replace(/\?/g, "_que");
- search = search.replace(/\//g, "_sla");
- search = search.replace(/[^a-z0-9\_]i/gi, "_zzz");
- };
-
- var resultRows = document.getElementsByTagName("div");
- var matches = 0;
-
- var i = 0;
- while (i < resultRows.length)
- {
- var row = resultRows.item(i);
-
- if (row.className == "SRResult")
- {
- var rowMatchName = row.id.toLowerCase();
- rowMatchName = rowMatchName.replace(/^sr\d*_/, '');
-
- if (search.length <= rowMatchName.length && rowMatchName.substr(0, search.length) == search)
- {
- row.style.display = "block";
- matches++;
- }
- else
- { row.style.display = "none"; };
- };
-
- i++;
- };
-
- document.getElementById("Searching").style.display="none";
-
- if (matches == 0)
- { document.getElementById("NoMatches").style.display="block"; }
- else
- { document.getElementById("NoMatches").style.display="none"; }
-
- this.lastMatchCount = matches;
-
- return true;
- };
- };
-
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/prettify.js b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/prettify.js
deleted file mode 100644
index fda4bf1eda7..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/prettify.js
+++ /dev/null
@@ -1,1526 +0,0 @@
-
-// This code comes from the December 2009 release of Google Prettify, which is Copyright © 2006 Google Inc.
-// Minor modifications are marked with "ND Change" comments.
-// As part of Natural Docs, this code is licensed under version 3 of the GNU Affero General Public License (AGPL.)
-// However, it may also be obtained separately under version 2.0 of the Apache License.
-// Refer to License.txt for the complete details
-
-
-// Main code
-// ____________________________________________________________________________
-
-// Copyright (C) 2006 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-
-/**
- * @fileoverview
- * some functions for browser-side pretty printing of code contained in html.
- * <p>
- *
- * For a fairly comprehensive set of languages see the
- * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
- * file that came with this source. At a minimum, the lexer should work on a
- * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
- * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk
- * and a subset of Perl, but, because of commenting conventions, doesn't work on
- * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
- * <p>
- * Usage: <ol>
- * <li> include this source file in an html page via
- * {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
- * <li> define style rules. See the example page for examples.
- * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
- * {@code class=prettyprint.}
- * You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
- * printer needs to do more substantial DOM manipulations to support that, so
- * some css styles may not be preserved.
- * </ol>
- * That's it. I wanted to keep the API as simple as possible, so there's no
- * need to specify which language the code is in, but if you wish, you can add
- * another class to the {@code <pre>} or {@code <code>} element to specify the
- * language, as in {@code <pre class="prettyprint lang-java">}. Any class that
- * starts with "lang-" followed by a file extension, specifies the file type.
- * See the "lang-*.js" files in this directory for code that implements
- * per-language file handlers.
- * <p>
- * Change log:<br>
- * cbeust, 2006/08/22
- * <blockquote>
- * Java annotations (start with "@") are now captured as literals ("lit")
- * </blockquote>
- * @requires console
- * @overrides window
- */
-
-// JSLint declarations
-/*global console, document, navigator, setTimeout, window */
-
-/**
- * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
- * UI events.
- * If set to {@code false}, {@code prettyPrint()} is synchronous.
- */
-window['PR_SHOULD_USE_CONTINUATION'] = true;
-
-/** the number of characters between tab columns */
-window['PR_TAB_WIDTH'] = 8;
-
-/** Walks the DOM returning a properly escaped version of innerHTML.
- * @param {Node} node
- * @param {Array.<string>} out output buffer that receives chunks of HTML.
- */
-window['PR_normalizedHtml']
-
-/** Contains functions for creating and registering new language handlers.
- * @type {Object}
- */
- = window['PR']
-
-/** Pretty print a chunk of code.
- *
- * @param {string} sourceCodeHtml code as html
- * @return {string} code as html, but prettier
- */
- = window['prettyPrintOne']
-/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
- * {@code class=prettyprint} and prettify them.
- * @param {Function?} opt_whenDone if specified, called when the last entry
- * has been finished.
- */
- = window['prettyPrint'] = void 0;
-
-/** browser detection. @extern @returns false if not IE, otherwise the major version. */
-window['_pr_isIE6'] = function () {
- var ieVersion = navigator && navigator.userAgent &&
- navigator.userAgent.match(/\bMSIE ([678])\./);
- ieVersion = ieVersion ? +ieVersion[1] : false;
- window['_pr_isIE6'] = function () { return ieVersion; };
- return ieVersion;
-};
-
-
-(function () {
- // Keyword lists for various languages.
- var FLOW_CONTROL_KEYWORDS =
- "break continue do else for if return while ";
- var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
- "double enum extern float goto int long register short signed sizeof " +
- "static struct switch typedef union unsigned void volatile ";
- var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
- "new operator private protected public this throw true try typeof ";
- var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
- "concept concept_map const_cast constexpr decltype " +
- "dynamic_cast explicit export friend inline late_check " +
- "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
- "template typeid typename using virtual wchar_t where ";
- var JAVA_KEYWORDS = COMMON_KEYWORDS +
- "abstract boolean byte extends final finally implements import " +
- "instanceof null native package strictfp super synchronized throws " +
- "transient ";
- var CSHARP_KEYWORDS = JAVA_KEYWORDS +
- "as base by checked decimal delegate descending event " +
- "fixed foreach from group implicit in interface internal into is lock " +
- "object out override orderby params partial readonly ref sbyte sealed " +
- "stackalloc string select uint ulong unchecked unsafe ushort var ";
- var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
- "debugger eval export function get null set undefined var with " +
- "Infinity NaN ";
- var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
- "goto if import last local my next no our print package redo require " +
- "sub undef unless until use wantarray while BEGIN END ";
- var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
- "elif except exec finally from global import in is lambda " +
- "nonlocal not or pass print raise try with yield " +
- "False True None ";
- var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
- " defined elsif end ensure false in module next nil not or redo rescue " +
- "retry self super then true undef unless until when yield BEGIN END ";
- var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
- "function in local set then until ";
- var ALL_KEYWORDS = (
- CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
- PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
-
- // token style names. correspond to css classes
- /** token style for a string literal */
- var PR_STRING = 'str';
- /** token style for a keyword */
- var PR_KEYWORD = 'kwd';
- /** token style for a comment */
- var PR_COMMENT = 'com';
- /** token style for a type */
- var PR_TYPE = 'typ';
- /** token style for a literal value. e.g. 1, null, true. */
- var PR_LITERAL = 'lit';
- /** token style for a punctuation string. */
- var PR_PUNCTUATION = 'pun';
- /** token style for a punctuation string. */
- var PR_PLAIN = 'pln';
-
- /** token style for an sgml tag. */
- var PR_TAG = 'tag';
- /** token style for a markup declaration such as a DOCTYPE. */
- var PR_DECLARATION = 'dec';
- /** token style for embedded source. */
- var PR_SOURCE = 'src';
- /** token style for an sgml attribute name. */
- var PR_ATTRIB_NAME = 'atn';
- /** token style for an sgml attribute value. */
- var PR_ATTRIB_VALUE = 'atv';
-
- /**
- * A class that indicates a section of markup that is not code, e.g. to allow
- * embedding of line numbers within code listings.
- */
- var PR_NOCODE = 'nocode';
-
- /** A set of tokens that can precede a regular expression literal in
- * javascript.
- * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
- * list, but I've removed ones that might be problematic when seen in
- * languages that don't support regular expression literals.
- *
- * <p>Specifically, I've removed any keywords that can't precede a regexp
- * literal in a syntactically legal javascript program, and I've removed the
- * "in" keyword since it's not a keyword in many languages, and might be used
- * as a count of inches.
- *
- * <p>The link a above does not accurately describe EcmaScript rules since
- * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
- * very well in practice.
- *
- * @private
- */
- var REGEXP_PRECEDER_PATTERN = function () {
- var preceders = [
- "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
- "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
- "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
- "<", "<<", "<<=", "<=", "=", "==", "===", ">",
- ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
- "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
- "||=", "~" /* handles =~ and !~ */,
- "break", "case", "continue", "delete",
- "do", "else", "finally", "instanceof",
- "return", "throw", "try", "typeof"
- ];
- var pattern = '(?:^^|[+-]';
- for (var i = 0; i < preceders.length; ++i) {
- pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
- }
- pattern += ')\\s*'; // matches at end, and matches empty string
- return pattern;
- // CAVEAT: this does not properly handle the case where a regular
- // expression immediately follows another since a regular expression may
- // have flags for case-sensitivity and the like. Having regexp tokens
- // adjacent is not valid in any language I'm aware of, so I'm punting.
- // TODO: maybe style special characters inside a regexp as punctuation.
- }();
-
- // Define regexps here so that the interpreter doesn't have to create an
- // object each time the function containing them is called.
- // The language spec requires a new object created even if you don't access
- // the $1 members.
- var pr_amp = /&/g;
- var pr_lt = /</g;
- var pr_gt = />/g;
- var pr_quot = /\"/g;
- /** like textToHtml but escapes double quotes to be attribute safe. */
- function attribToHtml(str) {
- return str.replace(pr_amp, '&amp;')
- .replace(pr_lt, '&lt;')
- .replace(pr_gt, '&gt;')
- .replace(pr_quot, '&quot;');
- }
-
- /** escapest html special characters to html. */
- function textToHtml(str) {
- return str.replace(pr_amp, '&amp;')
- .replace(pr_lt, '&lt;')
- .replace(pr_gt, '&gt;');
- }
-
-
- var pr_ltEnt = /&lt;/g;
- var pr_gtEnt = /&gt;/g;
- var pr_aposEnt = /&apos;/g;
- var pr_quotEnt = /&quot;/g;
- var pr_ampEnt = /&amp;/g;
- var pr_nbspEnt = /&nbsp;/g;
- /** unescapes html to plain text. */
- function htmlToText(html) {
- var pos = html.indexOf('&');
- if (pos < 0) { return html; }
- // Handle numeric entities specially. We can't use functional substitution
- // since that doesn't work in older versions of Safari.
- // These should be rare since most browsers convert them to normal chars.
- for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
- var end = html.indexOf(';', pos);
- if (end >= 0) {
- var num = html.substring(pos + 3, end);
- var radix = 10;
- if (num && num.charAt(0) === 'x') {
- num = num.substring(1);
- radix = 16;
- }
- var codePoint = parseInt(num, radix);
- if (!isNaN(codePoint)) {
- html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
- html.substring(end + 1));
- }
- }
- }
-
- return html.replace(pr_ltEnt, '<')
- .replace(pr_gtEnt, '>')
- .replace(pr_aposEnt, "'")
- .replace(pr_quotEnt, '"')
- .replace(pr_nbspEnt, ' ')
- .replace(pr_ampEnt, '&');
- }
-
- /** is the given node's innerHTML normally unescaped? */
- function isRawContent(node) {
- return 'XMP' === node.tagName;
- }
-
- var newlineRe = /[\r\n]/g;
- /**
- * Are newlines and adjacent spaces significant in the given node's innerHTML?
- */
- function isPreformatted(node, content) {
- // PRE means preformatted, and is a very common case, so don't create
- // unnecessary computed style objects.
- if ('PRE' === node.tagName) { return true; }
- if (!newlineRe.test(content)) { return true; } // Don't care
- var whitespace = '';
- // For disconnected nodes, IE has no currentStyle.
- if (node.currentStyle) {
- whitespace = node.currentStyle.whiteSpace;
- } else if (window.getComputedStyle) {
- // Firefox makes a best guess if node is disconnected whereas Safari
- // returns the empty string.
- whitespace = window.getComputedStyle(node, null).whiteSpace;
- }
- return !whitespace || whitespace === 'pre';
- }
-
- function normalizedHtml(node, out) {
- switch (node.nodeType) {
- case 1: // an element
- var name = node.tagName.toLowerCase();
- out.push('<', name);
- for (var i = 0; i < node.attributes.length; ++i) {
- var attr = node.attributes[i];
- if (!attr.specified) { continue; }
- out.push(' ');
- normalizedHtml(attr, out);
- }
- out.push('>');
- for (var child = node.firstChild; child; child = child.nextSibling) {
- normalizedHtml(child, out);
- }
- if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
- out.push('<\/', name, '>');
- }
- break;
- case 2: // an attribute
- out.push(node.name.toLowerCase(), '="', attribToHtml(node.value), '"');
- break;
- case 3: case 4: // text
- out.push(textToHtml(node.nodeValue));
- break;
- }
- }
-
- /**
- * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
- * matches the union o the sets o strings matched d by the input RegExp.
- * Since it matches globally, if the input strings have a start-of-input
- * anchor (/^.../), it is ignored for the purposes of unioning.
- * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
- * @return {RegExp} a global regex.
- */
- function combinePrefixPatterns(regexs) {
- var capturedGroupIndex = 0;
-
- var needToFoldCase = false;
- var ignoreCase = false;
- for (var i = 0, n = regexs.length; i < n; ++i) {
- var regex = regexs[i];
- if (regex.ignoreCase) {
- ignoreCase = true;
- } else if (/[a-z]/i.test(regex.source.replace(
- /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
- needToFoldCase = true;
- ignoreCase = false;
- break;
- }
- }
-
- function decodeEscape(charsetPart) {
- if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
- switch (charsetPart.charAt(1)) {
- case 'b': return 8;
- case 't': return 9;
- case 'n': return 0xa;
- case 'v': return 0xb;
- case 'f': return 0xc;
- case 'r': return 0xd;
- case 'u': case 'x':
- return parseInt(charsetPart.substring(2), 16)
- || charsetPart.charCodeAt(1);
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7':
- return parseInt(charsetPart.substring(1), 8);
- default: return charsetPart.charCodeAt(1);
- }
- }
-
- function encodeEscape(charCode) {
- if (charCode < 0x20) {
- return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
- }
- var ch = String.fromCharCode(charCode);
- if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
- ch = '\\' + ch;
- }
- return ch;
- }
-
- function caseFoldCharset(charSet) {
- var charsetParts = charSet.substring(1, charSet.length - 1).match(
- new RegExp(
- '\\\\u[0-9A-Fa-f]{4}'
- + '|\\\\x[0-9A-Fa-f]{2}'
- + '|\\\\[0-3][0-7]{0,2}'
- + '|\\\\[0-7]{1,2}'
- + '|\\\\[\\s\\S]'
- + '|-'
- + '|[^-\\\\]',
- 'g'));
- var groups = [];
- var ranges = [];
- var inverse = charsetParts[0] === '^';
- for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
- var p = charsetParts[i];
- switch (p) {
- case '\\B': case '\\b':
- case '\\D': case '\\d':
- case '\\S': case '\\s':
- case '\\W': case '\\w':
- groups.push(p);
- continue;
- }
- var start = decodeEscape(p);
- var end;
- if (i + 2 < n && '-' === charsetParts[i + 1]) {
- end = decodeEscape(charsetParts[i + 2]);
- i += 2;
- } else {
- end = start;
- }
- ranges.push([start, end]);
- // If the range might intersect letters, then expand it.
- if (!(end < 65 || start > 122)) {
- if (!(end < 65 || start > 90)) {
- ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
- }
- if (!(end < 97 || start > 122)) {
- ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
- }
- }
- }
-
- // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
- // -> [[1, 12], [14, 14], [16, 17]]
- ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1] - a[1]); });
- var consolidatedRanges = [];
- var lastRange = [NaN, NaN];
- for (var i = 0; i < ranges.length; ++i) {
- var range = ranges[i];
- if (range[0] <= lastRange[1] + 1) {
- lastRange[1] = Math.max(lastRange[1], range[1]);
- } else {
- consolidatedRanges.push(lastRange = range);
- }
- }
-
- var out = ['['];
- if (inverse) { out.push('^'); }
- out.push.apply(out, groups);
- for (var i = 0; i < consolidatedRanges.length; ++i) {
- var range = consolidatedRanges[i];
- out.push(encodeEscape(range[0]));
- if (range[1] > range[0]) {
- if (range[1] + 1 > range[0]) { out.push('-'); }
- out.push(encodeEscape(range[1]));
- }
- }
- out.push(']');
- return out.join('');
- }
-
- function allowAnywhereFoldCaseAndRenumberGroups(regex) {
- // Split into character sets, escape sequences, punctuation strings
- // like ('(', '(?:', ')', '^'), and runs of characters that do not
- // include any of the above.
- var parts = regex.source.match(
- new RegExp(
- '(?:'
- + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]' // a character set
- + '|\\\\u[A-Fa-f0-9]{4}' // a unicode escape
- + '|\\\\x[A-Fa-f0-9]{2}' // a hex escape
- + '|\\\\[0-9]+' // a back-reference or octal escape
- + '|\\\\[^ux0-9]' // other escape sequence
- + '|\\(\\?[:!=]' // start of a non-capturing group
- + '|[\\(\\)\\^]' // start/emd of a group, or line start
- + '|[^\\x5B\\x5C\\(\\)\\^]+' // run of other characters
- + ')',
- 'g'));
- var n = parts.length;
-
- // Maps captured group numbers to the number they will occupy in
- // the output or to -1 if that has not been determined, or to
- // undefined if they need not be capturing in the output.
- var capturedGroups = [];
-
- // Walk over and identify back references to build the capturedGroups
- // mapping.
- for (var i = 0, groupIndex = 0; i < n; ++i) {
- var p = parts[i];
- if (p === '(') {
- // groups are 1-indexed, so max group index is count of '('
- ++groupIndex;
- } else if ('\\' === p.charAt(0)) {
- var decimalValue = +p.substring(1);
- if (decimalValue && decimalValue <= groupIndex) {
- capturedGroups[decimalValue] = -1;
- }
- }
- }
-
- // Renumber groups and reduce capturing groups to non-capturing groups
- // where possible.
- for (var i = 1; i < capturedGroups.length; ++i) {
- if (-1 === capturedGroups[i]) {
- capturedGroups[i] = ++capturedGroupIndex;
- }
- }
- for (var i = 0, groupIndex = 0; i < n; ++i) {
- var p = parts[i];
- if (p === '(') {
- ++groupIndex;
- if (capturedGroups[groupIndex] === undefined) {
- parts[i] = '(?:';
- }
- } else if ('\\' === p.charAt(0)) {
- var decimalValue = +p.substring(1);
- if (decimalValue && decimalValue <= groupIndex) {
- parts[i] = '\\' + capturedGroups[groupIndex];
- }
- }
- }
-
- // Remove any prefix anchors so that the output will match anywhere.
- // ^^ really does mean an anchored match though.
- for (var i = 0, groupIndex = 0; i < n; ++i) {
- if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
- }
-
- // Expand letters to groupts to handle mixing of case-sensitive and
- // case-insensitive patterns if necessary.
- if (regex.ignoreCase && needToFoldCase) {
- for (var i = 0; i < n; ++i) {
- var p = parts[i];
- var ch0 = p.charAt(0);
- if (p.length >= 2 && ch0 === '[') {
- parts[i] = caseFoldCharset(p);
- } else if (ch0 !== '\\') {
- // TODO: handle letters in numeric escapes.
- parts[i] = p.replace(
- /[a-zA-Z]/g,
- function (ch) {
- var cc = ch.charCodeAt(0);
- return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
- });
- }
- }
- }
-
- return parts.join('');
- }
-
- var rewritten = [];
- for (var i = 0, n = regexs.length; i < n; ++i) {
- var regex = regexs[i];
- if (regex.global || regex.multiline) { throw new Error('' + regex); }
- rewritten.push(
- '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
- }
-
- return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
- }
-
- var PR_innerHtmlWorks = null;
- function getInnerHtml(node) {
- // inner html is hopelessly broken in Safari 2.0.4 when the content is
- // an html description of well formed XML and the containing tag is a PRE
- // tag, so we detect that case and emulate innerHTML.
- if (null === PR_innerHtmlWorks) {
- var testNode = document.createElement('PRE');
- testNode.appendChild(
- document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
- PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
- }
-
- if (PR_innerHtmlWorks) {
- var content = node.innerHTML;
- // XMP tags contain unescaped entities so require special handling.
- if (isRawContent(node)) {
- content = textToHtml(content);
- } else if (!isPreformatted(node, content)) {
- content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
- .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
- }
- return content;
- }
-
- var out = [];
- for (var child = node.firstChild; child; child = child.nextSibling) {
- normalizedHtml(child, out);
- }
- return out.join('');
- }
-
- /** returns a function that expand tabs to spaces. This function can be fed
- * successive chunks of text, and will maintain its own internal state to
- * keep track of how tabs are expanded.
- * @return {function (string) : string} a function that takes
- * plain text and return the text with tabs expanded.
- * @private
- */
- function makeTabExpander(tabWidth) {
- var SPACES = ' ';
- var charInLine = 0;
-
- return function (plainText) {
- // walk over each character looking for tabs and newlines.
- // On tabs, expand them. On newlines, reset charInLine.
- // Otherwise increment charInLine
- var out = null;
- var pos = 0;
- for (var i = 0, n = plainText.length; i < n; ++i) {
- var ch = plainText.charAt(i);
-
- switch (ch) {
- case '\t':
- if (!out) { out = []; }
- out.push(plainText.substring(pos, i));
- // calculate how much space we need in front of this part
- // nSpaces is the amount of padding -- the number of spaces needed
- // to move us to the next column, where columns occur at factors of
- // tabWidth.
- var nSpaces = tabWidth - (charInLine % tabWidth);
- charInLine += nSpaces;
- for (; nSpaces >= 0; nSpaces -= SPACES.length) {
- out.push(SPACES.substring(0, nSpaces));
- }
- pos = i + 1;
- break;
- case '\n':
- charInLine = 0;
- break;
- default:
- ++charInLine;
- }
- }
- if (!out) { return plainText; }
- out.push(plainText.substring(pos));
- return out.join('');
- };
- }
-
- var pr_chunkPattern = new RegExp(
- '[^<]+' // A run of characters other than '<'
- + '|<\!--[\\s\\S]*?--\>' // an HTML comment
- + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>' // a CDATA section
- // a probable tag that should not be highlighted
- + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
- + '|<', // A '<' that does not begin a larger chunk
- 'g');
- var pr_commentPrefix = /^<\!--/;
- var pr_cdataPrefix = /^<!\[CDATA\[/;
- var pr_brPrefix = /^<br\b/i;
- var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
-
- /** split markup into chunks of html tags (style null) and
- * plain text (style {@link #PR_PLAIN}), converting tags which are
- * significant for tokenization (<br>) into their textual equivalent.
- *
- * @param {string} s html where whitespace is considered significant.
- * @return {Object} source code and extracted tags.
- * @private
- */
- function extractTags(s) {
- // since the pattern has the 'g' modifier and defines no capturing groups,
- // this will return a list of all chunks which we then classify and wrap as
- // PR_Tokens
- var matches = s.match(pr_chunkPattern);
- var sourceBuf = [];
- var sourceBufLen = 0;
- var extractedTags = [];
- if (matches) {
- for (var i = 0, n = matches.length; i < n; ++i) {
- var match = matches[i];
- if (match.length > 1 && match.charAt(0) === '<') {
- if (pr_commentPrefix.test(match)) { continue; }
- if (pr_cdataPrefix.test(match)) {
- // strip CDATA prefix and suffix. Don't unescape since it's CDATA
- sourceBuf.push(match.substring(9, match.length - 3));
- sourceBufLen += match.length - 12;
- } else if (pr_brPrefix.test(match)) {
- // <br> tags are lexically significant so convert them to text.
- // This is undone later.
- sourceBuf.push('\n');
- ++sourceBufLen;
- } else {
- if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
- // A <span class="nocode"> will start a section that should be
- // ignored. Continue walking the list until we see a matching end
- // tag.
- var name = match.match(pr_tagNameRe)[2];
- var depth = 1;
- var j;
- end_tag_loop:
- for (j = i + 1; j < n; ++j) {
- var name2 = matches[j].match(pr_tagNameRe);
- if (name2 && name2[2] === name) {
- if (name2[1] === '/') {
- if (--depth === 0) { break end_tag_loop; }
- } else {
- ++depth;
- }
- }
- }
- if (j < n) {
- extractedTags.push(
- sourceBufLen, matches.slice(i, j + 1).join(''));
- i = j;
- } else { // Ignore unclosed sections.
- extractedTags.push(sourceBufLen, match);
- }
- } else {
- extractedTags.push(sourceBufLen, match);
- }
- }
- } else {
- var literalText = htmlToText(match);
- sourceBuf.push(literalText);
- sourceBufLen += literalText.length;
- }
- }
- }
- return { source: sourceBuf.join(''), tags: extractedTags };
- }
-
- /** True if the given tag contains a class attribute with the nocode class. */
- function isNoCodeTag(tag) {
- return !!tag
- // First canonicalize the representation of attributes
- .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
- ' $1="$2$3$4"')
- // Then look for the attribute we want.
- .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
- }
-
- /**
- * Apply the given language handler to sourceCode and add the resulting
- * decorations to out.
- * @param {number} basePos the index of sourceCode within the chunk of source
- * whose decorations are already present on out.
- */
- function appendDecorations(basePos, sourceCode, langHandler, out) {
- if (!sourceCode) { return; }
- var job = {
- source: sourceCode,
- basePos: basePos
- };
- langHandler(job);
- out.push.apply(out, job.decorations);
- }
-
- /** Given triples of [style, pattern, context] returns a lexing function,
- * The lexing function interprets the patterns to find token boundaries and
- * returns a decoration list of the form
- * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
- * where index_n is an index into the sourceCode, and style_n is a style
- * constant like PR_PLAIN. index_n-1 <= index_n, and style_n-1 applies to
- * all characters in sourceCode[index_n-1:index_n].
- *
- * The stylePatterns is a list whose elements have the form
- * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
- *
- * Style is a style constant like PR_PLAIN, or can be a string of the
- * form 'lang-FOO', where FOO is a language extension describing the
- * language of the portion of the token in $1 after pattern executes.
- * E.g., if style is 'lang-lisp', and group 1 contains the text
- * '(hello (world))', then that portion of the token will be passed to the
- * registered lisp handler for formatting.
- * The text before and after group 1 will be restyled using this decorator
- * so decorators should take care that this doesn't result in infinite
- * recursion. For example, the HTML lexer rule for SCRIPT elements looks
- * something like ['lang-js', /<[s]cript>(.+?)<\/script>/]. This may match
- * '<script>foo()<\/script>', which would cause the current decorator to
- * be called with '<script>' which would not match the same rule since
- * group 1 must not be empty, so it would be instead styled as PR_TAG by
- * the generic tag rule. The handler registered for the 'js' extension would
- * then be called with 'foo()', and finally, the current decorator would
- * be called with '<\/script>' which would not match the original rule and
- * so the generic tag rule would identify it as a tag.
- *
- * Pattern must only match prefixes, and if it matches a prefix, then that
- * match is considered a token with the same style.
- *
- * Context is applied to the last non-whitespace, non-comment token
- * recognized.
- *
- * Shortcut is an optional string of characters, any of which, if the first
- * character, gurantee that this pattern and only this pattern matches.
- *
- * @param {Array} shortcutStylePatterns patterns that always start with
- * a known character. Must have a shortcut string.
- * @param {Array} fallthroughStylePatterns patterns that will be tried in
- * order if the shortcut ones fail. May have shortcuts.
- *
- * @return {function (Object)} a
- * function that takes source code and returns a list of decorations.
- */
- function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
- var shortcuts = {};
- var tokenizer;
- (function () {
- var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
- var allRegexs = [];
- var regexKeys = {};
- for (var i = 0, n = allPatterns.length; i < n; ++i) {
- var patternParts = allPatterns[i];
- var shortcutChars = patternParts[3];
- if (shortcutChars) {
- for (var c = shortcutChars.length; --c >= 0;) {
- shortcuts[shortcutChars.charAt(c)] = patternParts;
- }
- }
- var regex = patternParts[1];
- var k = '' + regex;
- if (!regexKeys.hasOwnProperty(k)) {
- allRegexs.push(regex);
- regexKeys[k] = null;
- }
- }
- allRegexs.push(/[\0-\uffff]/);
- tokenizer = combinePrefixPatterns(allRegexs);
- })();
-
- var nPatterns = fallthroughStylePatterns.length;
- var notWs = /\S/;
-
- /**
- * Lexes job.source and produces an output array job.decorations of style
- * classes preceded by the position at which they start in job.source in
- * order.
- *
- * @param {Object} job an object like {@code
- * source: {string} sourceText plain text,
- * basePos: {int} position of job.source in the larger chunk of
- * sourceCode.
- * }
- */
- var decorate = function (job) {
- var sourceCode = job.source, basePos = job.basePos;
- /** Even entries are positions in source in ascending order. Odd enties
- * are style markers (e.g., PR_COMMENT) that run from that position until
- * the end.
- * @type {Array.<number|string>}
- */
- var decorations = [basePos, PR_PLAIN];
- var pos = 0; // index into sourceCode
- var tokens = sourceCode.match(tokenizer) || [];
- var styleCache = {};
-
- for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
- var token = tokens[ti];
- var style = styleCache[token];
- var match = void 0;
-
- var isEmbedded;
- if (typeof style === 'string') {
- isEmbedded = false;
- } else {
- var patternParts = shortcuts[token.charAt(0)];
- if (patternParts) {
- match = token.match(patternParts[1]);
- style = patternParts[0];
- } else {
- for (var i = 0; i < nPatterns; ++i) {
- patternParts = fallthroughStylePatterns[i];
- match = token.match(patternParts[1]);
- if (match) {
- style = patternParts[0];
- break;
- }
- }
-
- if (!match) { // make sure that we make progress
- style = PR_PLAIN;
- }
- }
-
- isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
- if (isEmbedded && !(match && typeof match[1] === 'string')) {
- isEmbedded = false;
- style = PR_SOURCE;
- }
-
- if (!isEmbedded) { styleCache[token] = style; }
- }
-
- var tokenStart = pos;
- pos += token.length;
-
- if (!isEmbedded) {
- decorations.push(basePos + tokenStart, style);
- } else { // Treat group 1 as an embedded block of source code.
- var embeddedSource = match[1];
- var embeddedSourceStart = token.indexOf(embeddedSource);
- var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
- if (match[2]) {
- // If embeddedSource can be blank, then it would match at the
- // beginning which would cause us to infinitely recurse on the
- // entire token, so we catch the right context in match[2].
- embeddedSourceEnd = token.length - match[2].length;
- embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
- }
- var lang = style.substring(5);
- // Decorate the left of the embedded source
- appendDecorations(
- basePos + tokenStart,
- token.substring(0, embeddedSourceStart),
- decorate, decorations);
- // Decorate the embedded source
- appendDecorations(
- basePos + tokenStart + embeddedSourceStart,
- embeddedSource,
- langHandlerForExtension(lang, embeddedSource),
- decorations);
- // Decorate the right of the embedded section
- appendDecorations(
- basePos + tokenStart + embeddedSourceEnd,
- token.substring(embeddedSourceEnd),
- decorate, decorations);
- }
- }
- job.decorations = decorations;
- };
- return decorate;
- }
-
- /** returns a function that produces a list of decorations from source text.
- *
- * This code treats ", ', and ` as string delimiters, and \ as a string
- * escape. It does not recognize perl's qq() style strings.
- * It has no special handling for double delimiter escapes as in basic, or
- * the tripled delimiters used in python, but should work on those regardless
- * although in those cases a single string literal may be broken up into
- * multiple adjacent string literals.
- *
- * It recognizes C, C++, and shell style comments.
- *
- * @param {Object} options a set of optional parameters.
- * @return {function (Object)} a function that examines the source code
- * in the input job and builds the decoration list.
- */
- function sourceDecorator(options) {
- var shortcutStylePatterns = [], fallthroughStylePatterns = [];
- if (options['tripleQuotedStrings']) {
- // '''multi-line-string''', 'single-line-string', and double-quoted
- shortcutStylePatterns.push(
- [PR_STRING, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
- null, '\'"']);
- } else if (options['multiLineStrings']) {
- // 'multi-line-string', "multi-line-string"
- shortcutStylePatterns.push(
- [PR_STRING, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
- null, '\'"`']);
- } else {
- // 'single-line-string', "single-line-string"
- shortcutStylePatterns.push(
- [PR_STRING,
- /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
- null, '"\'']);
- }
- if (options['verbatimStrings']) {
- // verbatim-string-literal production from the C# grammar. See issue 93.
- fallthroughStylePatterns.push(
- [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
- }
- if (options['hashComments']) {
- if (options['cStyleComments']) {
- // Stop C preprocessor declarations at an unclosed open comment
- shortcutStylePatterns.push(
- [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
- null, '#']);
- fallthroughStylePatterns.push(
- [PR_STRING,
- /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
- null]);
- } else {
- shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
- }
- }
- if (options['cStyleComments']) {
- fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
- fallthroughStylePatterns.push(
- [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
- }
- if (options['regexLiterals']) {
- var REGEX_LITERAL = (
- // A regular expression literal starts with a slash that is
- // not followed by * or / so that it is not confused with
- // comments.
- '/(?=[^/*])'
- // and then contains any number of raw characters,
- + '(?:[^/\\x5B\\x5C]'
- // escape sequences (\x5C),
- + '|\\x5C[\\s\\S]'
- // or non-nesting character sets (\x5B\x5D);
- + '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
- // finally closed by a /.
- + '/');
- fallthroughStylePatterns.push(
- ['lang-regex',
- new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
- ]);
- }
-
- var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
- if (keywords.length) {
- fallthroughStylePatterns.push(
- [PR_KEYWORD,
- new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
- }
-
- shortcutStylePatterns.push([PR_PLAIN, /^\s+/, null, ' \r\n\t\xA0']);
- fallthroughStylePatterns.push(
- // TODO(mikesamuel): recognize non-latin letters and numerals in idents
- [PR_LITERAL, /^@[a-z_$][a-z_$@0-9]*/i, null],
- [PR_TYPE, /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
- [PR_PLAIN, /^[a-z_$][a-z_$@0-9]*/i, null],
- [PR_LITERAL,
- new RegExp(
- '^(?:'
- // A hex number
- + '0x[a-f0-9]+'
- // or an octal or decimal number,
- + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
- // possibly in scientific notation
- + '(?:e[+\\-]?\\d+)?'
- + ')'
- // with an optional modifier like UL for unsigned long
- + '[a-z]*', 'i'),
- null, '0123456789'],
- [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
-
- return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
- }
-
- var decorateSource = sourceDecorator({
- 'keywords': ALL_KEYWORDS,
- 'hashComments': true,
- 'cStyleComments': true,
- 'multiLineStrings': true,
- 'regexLiterals': true
- });
-
- /** Breaks {@code job.source} around style boundaries in
- * {@code job.decorations} while re-interleaving {@code job.extractedTags},
- * and leaves the result in {@code job.prettyPrintedHtml}.
- * @param {Object} job like {
- * source: {string} source as plain text,
- * extractedTags: {Array.<number|string>} extractedTags chunks of raw
- * html preceded by their position in {@code job.source}
- * in order
- * decorations: {Array.<number|string} an array of style classes preceded
- * by the position at which they start in job.source in order
- * }
- * @private
- */
- function recombineTagsAndDecorations(job) {
- var sourceText = job.source;
- var extractedTags = job.extractedTags;
- var decorations = job.decorations;
-
- var html = [];
- // index past the last char in sourceText written to html
- var outputIdx = 0;
-
- var openDecoration = null;
- var currentDecoration = null;
- var tagPos = 0; // index into extractedTags
- var decPos = 0; // index into decorations
- var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
-
- var adjacentSpaceRe = /([\r\n ]) /g;
- var startOrSpaceRe = /(^| ) /gm;
- var newlineRe = /\r\n?|\n/g;
- var trailingSpaceRe = /[ \r\n]$/;
- var lastWasSpace = true; // the last text chunk emitted ended with a space.
-
- // A helper function that is responsible for opening sections of decoration
- // and outputing properly escaped chunks of source
- function emitTextUpTo(sourceIdx) {
- if (sourceIdx > outputIdx) {
- if (openDecoration && openDecoration !== currentDecoration) {
- // Close the current decoration
- html.push('</span>');
- openDecoration = null;
- }
- if (!openDecoration && currentDecoration) {
- openDecoration = currentDecoration;
- html.push('<span class="', openDecoration, '">');
- }
- // This interacts badly with some wikis which introduces paragraph tags
- // into pre blocks for some strange reason.
- // It's necessary for IE though which seems to lose the preformattedness
- // of <pre> tags when their innerHTML is assigned.
- // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
- // and it serves to undo the conversion of <br>s to newlines done in
- // chunkify.
- var htmlChunk = textToHtml(
- tabExpander(sourceText.substring(outputIdx, sourceIdx)))
- .replace(lastWasSpace
- ? startOrSpaceRe
- : adjacentSpaceRe, '$1&nbsp;');
- // Keep track of whether we need to escape space at the beginning of the
- // next chunk.
- lastWasSpace = trailingSpaceRe.test(htmlChunk);
- // IE collapses multiple adjacient <br>s into 1 line break.
- // Prefix every <br> with '&nbsp;' can prevent such IE's behavior.
- var lineBreakHtml = window['_pr_isIE6']() ? '&nbsp;<br />' : '<br />';
- html.push(htmlChunk.replace(newlineRe, lineBreakHtml));
- outputIdx = sourceIdx;
- }
- }
-
- while (true) {
- // Determine if we're going to consume a tag this time around. Otherwise
- // we consume a decoration or exit.
- var outputTag;
- if (tagPos < extractedTags.length) {
- if (decPos < decorations.length) {
- // Pick one giving preference to extractedTags since we shouldn't open
- // a new style that we're going to have to immediately close in order
- // to output a tag.
- outputTag = extractedTags[tagPos] <= decorations[decPos];
- } else {
- outputTag = true;
- }
- } else {
- outputTag = false;
- }
- // Consume either a decoration or a tag or exit.
- if (outputTag) {
- emitTextUpTo(extractedTags[tagPos]);
- if (openDecoration) {
- // Close the current decoration
- html.push('</span>');
- openDecoration = null;
- }
- html.push(extractedTags[tagPos + 1]);
- tagPos += 2;
- } else if (decPos < decorations.length) {
- emitTextUpTo(decorations[decPos]);
- currentDecoration = decorations[decPos + 1];
- decPos += 2;
- } else {
- break;
- }
- }
- emitTextUpTo(sourceText.length);
- if (openDecoration) {
- html.push('</span>');
- }
- job.prettyPrintedHtml = html.join('');
- }
-
- /** Maps language-specific file extensions to handlers. */
- var langHandlerRegistry = {};
- /** Register a language handler for the given file extensions.
- * @param {function (Object)} handler a function from source code to a list
- * of decorations. Takes a single argument job which describes the
- * state of the computation. The single parameter has the form
- * {@code {
- * source: {string} as plain text.
- * decorations: {Array.<number|string>} an array of style classes
- * preceded by the position at which they start in
- * job.source in order.
- * The language handler should assigned this field.
- * basePos: {int} the position of source in the larger source chunk.
- * All positions in the output decorations array are relative
- * to the larger source chunk.
- * } }
- * @param {Array.<string>} fileExtensions
- */
- function registerLangHandler(handler, fileExtensions) {
- for (var i = fileExtensions.length; --i >= 0;) {
- var ext = fileExtensions[i];
- if (!langHandlerRegistry.hasOwnProperty(ext)) {
- langHandlerRegistry[ext] = handler;
- } else if ('console' in window) {
- console.warn('cannot override language handler %s', ext);
- }
- }
- }
- function langHandlerForExtension(extension, source) {
- if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
- // Treat it as markup if the first non whitespace character is a < and
- // the last non-whitespace character is a >.
- extension = /^\s*</.test(source)
- ? 'default-markup'
- : 'default-code';
- }
- return langHandlerRegistry[extension];
- }
- registerLangHandler(decorateSource, ['default-code']);
- registerLangHandler(
- createSimpleLexer(
- [],
- [
- [PR_PLAIN, /^[^<?]+/],
- [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
- [PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/],
- // Unescaped content in an unknown language
- ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/],
- ['lang-', /^<%([\s\S]+?)(?:%>|$)/],
- [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
- ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
- // Unescaped content in javascript. (Or possibly vbscript).
- ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
- // Contains unescaped stylesheet content
- ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
- ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i]
- ]),
- ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
- registerLangHandler(
- createSimpleLexer(
- [
- [PR_PLAIN, /^[\s]+/, null, ' \t\r\n'],
- [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
- ],
- [
- [PR_TAG, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
- [PR_ATTRIB_NAME, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
- ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
- [PR_PUNCTUATION, /^[=<>\/]+/],
- ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i],
- ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i],
- ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i],
- ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i],
- ['lang-css', /^style\s*=\s*\'([^\']+)\'/i],
- ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i]
- ]),
- ['in.tag']);
- registerLangHandler(
- createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
- registerLangHandler(sourceDecorator({
- 'keywords': CPP_KEYWORDS,
- 'hashComments': true,
- 'cStyleComments': true
- }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
- registerLangHandler(sourceDecorator({
- 'keywords': 'null true false'
- }), ['json']);
- registerLangHandler(sourceDecorator({
- 'keywords': CSHARP_KEYWORDS,
- 'hashComments': true,
- 'cStyleComments': true,
- 'verbatimStrings': true
- }), ['cs']);
- registerLangHandler(sourceDecorator({
- 'keywords': JAVA_KEYWORDS,
- 'cStyleComments': true
- }), ['java']);
- registerLangHandler(sourceDecorator({
- 'keywords': SH_KEYWORDS,
- 'hashComments': true,
- 'multiLineStrings': true
- }), ['bsh', 'csh', 'sh']);
- registerLangHandler(sourceDecorator({
- 'keywords': PYTHON_KEYWORDS,
- 'hashComments': true,
- 'multiLineStrings': true,
- 'tripleQuotedStrings': true
- }), ['cv', 'py']);
- registerLangHandler(sourceDecorator({
- 'keywords': PERL_KEYWORDS,
- 'hashComments': true,
- 'multiLineStrings': true,
- 'regexLiterals': true
- }), ['perl', 'pl', 'pm']);
- registerLangHandler(sourceDecorator({
- 'keywords': RUBY_KEYWORDS,
- 'hashComments': true,
- 'multiLineStrings': true,
- 'regexLiterals': true
- }), ['rb']);
- registerLangHandler(sourceDecorator({
- 'keywords': JSCRIPT_KEYWORDS,
- 'cStyleComments': true,
- 'regexLiterals': true
- }), ['js']);
- registerLangHandler(
- createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
-
- function applyDecorator(job) {
- var sourceCodeHtml = job.sourceCodeHtml;
- var opt_langExtension = job.langExtension;
-
- // Prepopulate output in case processing fails with an exception.
- job.prettyPrintedHtml = sourceCodeHtml;
-
- try {
- // Extract tags, and convert the source code to plain text.
- var sourceAndExtractedTags = extractTags(sourceCodeHtml);
- /** Plain text. @type {string} */
- var source = sourceAndExtractedTags.source;
- job.source = source;
- job.basePos = 0;
-
- /** Even entries are positions in source in ascending order. Odd entries
- * are tags that were extracted at that position.
- * @type {Array.<number|string>}
- */
- job.extractedTags = sourceAndExtractedTags.tags;
-
- // Apply the appropriate language handler
- langHandlerForExtension(opt_langExtension, source)(job);
- // Integrate the decorations and tags back into the source code to produce
- // a decorated html string which is left in job.prettyPrintedHtml.
- recombineTagsAndDecorations(job);
- } catch (e) {
- if ('console' in window) {
- console.log(e);
- console.trace();
- }
- }
- }
-
- function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
- var job = {
- sourceCodeHtml: sourceCodeHtml,
- langExtension: opt_langExtension
- };
- applyDecorator(job);
- return job.prettyPrintedHtml;
- }
-
- function prettyPrint(opt_whenDone) {
- var isIE678 = window['_pr_isIE6']();
- var ieNewline = isIE678 === 6 ? '\r\n' : '\r';
- // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
-
- // fetch a list of nodes to rewrite
- var codeSegments = [
- document.getElementsByTagName('pre'),
- document.getElementsByTagName('code'),
- document.getElementsByTagName('td'), /* ND Change: Add tables to support prototypes. */
- document.getElementsByTagName('xmp') ];
- var elements = [];
- for (var i = 0; i < codeSegments.length; ++i) {
- for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
- elements.push(codeSegments[i][j]);
- }
- }
- codeSegments = null;
-
- var clock = Date;
- if (!clock['now']) {
- clock = { 'now': function () { return (new Date).getTime(); } };
- }
-
- // The loop is broken into a series of continuations to make sure that we
- // don't make the browser unresponsive when rewriting a large page.
- var k = 0;
- var prettyPrintingJob;
-
- function doWork() {
- var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
- clock.now() + 250 /* ms */ :
- Infinity);
- for (; k < elements.length && clock.now() < endTime; k++) {
- var cs = elements[k];
- if (cs.className && cs.className.indexOf('prettyprint') >= 0) {
- // If the classes includes a language extensions, use it.
- // Language extensions can be specified like
- // <pre class="prettyprint lang-cpp">
- // the language extension "cpp" is used to find a language handler as
- // passed to PR_registerLangHandler.
- var langExtension = cs.className.match(/\blang-(\w+)\b/);
- if (langExtension) { langExtension = langExtension[1]; }
-
- // make sure this is not nested in an already prettified element
- var nested = false;
- for (var p = cs.parentNode; p; p = p.parentNode) {
- if ((p.tagName === 'pre' || p.tagName === 'code' ||
- p.tagName === 'xmp' || p.tagName === 'td') && /* ND Change: Add tables to support prototypes */
- p.className && p.className.indexOf('prettyprint') >= 0) {
- nested = true;
- break;
- }
- }
- if (!nested) {
- // fetch the content as a snippet of properly escaped HTML.
- // Firefox adds newlines at the end.
- var content = getInnerHtml(cs);
- content = content.replace(/(?:\r\n?|\n)$/, '');
-
- /* ND Change: we need to preserve &nbsp;s so change them to a special character instead of a space. */
- content = content.replace(/&nbsp;/g, '\x11');
-
- // do the pretty printing
- prettyPrintingJob = {
- sourceCodeHtml: content,
- langExtension: langExtension,
- sourceNode: cs
- };
- applyDecorator(prettyPrintingJob);
- replaceWithPrettyPrintedHtml();
- }
- }
- }
- if (k < elements.length) {
- // finish up in a continuation
- setTimeout(doWork, 250);
- } else if (opt_whenDone) {
- opt_whenDone();
- }
- }
-
- function replaceWithPrettyPrintedHtml() {
- var newContent = prettyPrintingJob.prettyPrintedHtml;
- if (!newContent) { return; }
-
- /* ND Change: Restore the preserved &nbsp;s. */
- newContent = newContent.replace(/\x11/g, '&nbsp;');
-
- var cs = prettyPrintingJob.sourceNode;
-
- // push the prettified html back into the tag.
- if (!isRawContent(cs)) {
- // just replace the old html with the new
- cs.innerHTML = newContent;
- } else {
- // we need to change the tag to a <pre> since <xmp>s do not allow
- // embedded tags such as the span tags used to attach styles to
- // sections of source code.
- var pre = document.createElement('PRE');
- for (var i = 0; i < cs.attributes.length; ++i) {
- var a = cs.attributes[i];
- if (a.specified) {
- var aname = a.name.toLowerCase();
- if (aname === 'class') {
- pre.className = a.value; // For IE 6
- } else {
- pre.setAttribute(a.name, a.value);
- }
- }
- }
- pre.innerHTML = newContent;
-
- // remove the old
- cs.parentNode.replaceChild(pre, cs);
- cs = pre;
- }
-
- // Replace <br>s with line-feeds so that copying and pasting works
- // on IE 6.
- // Doing this on other browsers breaks lots of stuff since \r\n is
- // treated as two newlines on Firefox, and doing this also slows
- // down rendering.
- if (isIE678 && cs.tagName === 'PRE') {
- var lineBreaks = cs.getElementsByTagName('br');
- for (var j = lineBreaks.length; --j >= 0;) {
- var lineBreak = lineBreaks[j];
- lineBreak.parentNode.replaceChild(
- document.createTextNode(ieNewline), lineBreak);
- }
- }
- }
-
- doWork();
- }
-
- window['PR_normalizedHtml'] = normalizedHtml;
- window['prettyPrintOne'] = prettyPrintOne;
- window['prettyPrint'] = prettyPrint;
- window['PR'] = {
- 'combinePrefixPatterns': combinePrefixPatterns,
- 'createSimpleLexer': createSimpleLexer,
- 'registerLangHandler': registerLangHandler,
- 'sourceDecorator': sourceDecorator,
- 'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
- 'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
- 'PR_COMMENT': PR_COMMENT,
- 'PR_DECLARATION': PR_DECLARATION,
- 'PR_KEYWORD': PR_KEYWORD,
- 'PR_LITERAL': PR_LITERAL,
- 'PR_NOCODE': PR_NOCODE,
- 'PR_PLAIN': PR_PLAIN,
- 'PR_PUNCTUATION': PR_PUNCTUATION,
- 'PR_SOURCE': PR_SOURCE,
- 'PR_STRING': PR_STRING,
- 'PR_TAG': PR_TAG,
- 'PR_TYPE': PR_TYPE
- };
-})();
-
-
-// ____________________________________________________________________________
-
-
-
-// Lua extension
-
-PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,' \n\r \xa0'],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,'\"\'']],[[PR.PR_COMMENT,/^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],[PR.PR_STRING,/^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],[PR.PR_KEYWORD,/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^[a-z_]\w*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\'\-\+=]*/]]),['lua'])
-
-
-// Haskell extension
-
-PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\x0B\x0C\r ]+/,null,' \n \r '],[PR.PR_STRING,/^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,null,'\"'],[PR.PR_STRING,/^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/,null,'\''],[PR.PR_LITERAL,/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,null,'0123456789']],[[PR.PR_COMMENT,/^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/],[PR.PR_KEYWORD,/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/,null],[PR.PR_PLAIN,/^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/],[PR.PR_PUNCTUATION,/^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/]]),['hs'])
-
-
-// ML extension
-
-PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,' \n\r \xa0'],[PR.PR_COMMENT,/^#(?:if[\t\n\r \xA0]+(?:[a-z_$][\w\']*|``[^\r\n\t`]*(?:``|$))|else|endif|light)/i,null,'#'],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,'\"\'']],[[PR.PR_COMMENT,/^(?:\/\/[^\r\n]*|\(\*[\s\S]*?\*\))/],[PR.PR_KEYWORD,/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],[PR.PR_LITERAL,/^[+\-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^(?:[a-z_]\w*[!?#]?|``[^\r\n\t`]*(?:``|$))/i],[PR.PR_PUNCTUATION,/^[^\t\n\r \xA0\"\'\w]+/]]),['fs','ml'])
-
-
-// SQL extension
-
-PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,' \n\r \xa0'],[PR.PR_STRING,/^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/,null,'\"\'']],[[PR.PR_COMMENT,/^(?:--[^\r\n]*|\/\*[\s\S]*?(?:\*\/|$))/],[PR.PR_KEYWORD,/^(?:ADD|ALL|ALTER|AND|ANY|AS|ASC|AUTHORIZATION|BACKUP|BEGIN|BETWEEN|BREAK|BROWSE|BULK|BY|CASCADE|CASE|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COMMIT|COMPUTE|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|DATABASE|DBCC|DEALLOCATE|DECLARE|DEFAULT|DELETE|DENY|DESC|DISK|DISTINCT|DISTRIBUTED|DOUBLE|DROP|DUMMY|DUMP|ELSE|END|ERRLVL|ESCAPE|EXCEPT|EXEC|EXECUTE|EXISTS|EXIT|FETCH|FILE|FILLFACTOR|FOR|FOREIGN|FREETEXT|FREETEXTTABLE|FROM|FULL|FUNCTION|GOTO|GRANT|GROUP|HAVING|HOLDLOCK|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IN|INDEX|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KILL|LEFT|LIKE|LINENO|LOAD|NATIONAL|NOCHECK|NONCLUSTERED|NOT|NULL|NULLIF|OF|OFF|OFFSETS|ON|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|OPTION|OR|ORDER|OUTER|OVER|PERCENT|PLAN|PRECISION|PRIMARY|PRINT|PROC|PROCEDURE|PUBLIC|RAISERROR|READ|READTEXT|RECONFIGURE|REFERENCES|REPLICATION|RESTORE|RESTRICT|RETURN|REVOKE|RIGHT|ROLLBACK|ROWCOUNT|ROWGUIDCOL|RULE|SAVE|SCHEMA|SELECT|SESSION_USER|SET|SETUSER|SHUTDOWN|SOME|STATISTICS|SYSTEM_USER|TABLE|TEXTSIZE|THEN|TO|TOP|TRAN|TRANSACTION|TRIGGER|TRUNCATE|TSEQUAL|UNION|UNIQUE|UPDATE|UPDATETEXT|USE|USER|VALUES|VARYING|VIEW|WAITFOR|WHEN|WHERE|WHILE|WITH|WRITETEXT)(?=[^\w-]|$)/i,null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^[a-z_][\w-]*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0\"\'][^\w\t\n\r \xA0+\-\"\']*/]]),['sql'])
-
-
-// VB extension
-
-PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0\u2028\u2029]+/,null,' \n\r \xa0\u2028\u2029'],[PR.PR_STRING,/^(?:[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})(?:[\"\u201C\u201D]c|$)|[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})*(?:[\"\u201C\u201D]|$))/i,null,'\"\u201c\u201d'],[PR.PR_COMMENT,/^[\'\u2018\u2019][^\r\n\u2028\u2029]*/,null,'\'\u2018\u2019']],[[PR.PR_KEYWORD,/^(?:AddHandler|AddressOf|Alias|And|AndAlso|Ansi|As|Assembly|Auto|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|Class|CLng|CObj|Const|CShort|CSng|CStr|CType|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get|GetType|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|Let|Lib|Like|Long|Loop|Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|New|Next|Not|NotInheritable|NotOverridable|Object|On|Option|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Preserve|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TypeOf|Unicode|Until|Variant|Wend|When|While|With|WithEvents|WriteOnly|Xor|EndIf|GoSub|Let|Variant|Wend)\b/i,null],[PR.PR_COMMENT,/^REM[^\r\n\u2028\u2029]*/i],[PR.PR_LITERAL,/^(?:True\b|False\b|Nothing\b|\d+(?:E[+\-]?\d+[FRD]?|[FRDSIL])?|(?:&H[0-9A-F]+|&O[0-7]+)[SIL]?|\d*\.\d+(?:E[+\-]?\d+)?[FRD]?|#\s+(?:\d+[\-\/]\d+[\-\/]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)?|\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)\s+#)/i],[PR.PR_PLAIN,/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*\])/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \"\'\[\]\xA0\u2018\u2019\u201C\u201D\u2028\u2029]+/],[PR.PR_PUNCTUATION,/^(?:\[|\])/]]),['vb','vbs'])
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/searchdata.js b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/searchdata.js
deleted file mode 100644
index 6424cb22543..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/javascript/searchdata.js
+++ /dev/null
@@ -1,182 +0,0 @@
-var indexSectionsWithContent = {
- "Files": {
- "Symbols": false,
- "Numbers": false,
- "A": false,
- "B": true,
- "C": true,
- "D": false,
- "E": false,
- "F": true,
- "G": true,
- "H": false,
- "I": true,
- "J": true,
- "K": false,
- "L": true,
- "M": true,
- "N": false,
- "O": false,
- "P": true,
- "Q": false,
- "R": false,
- "S": true,
- "T": true,
- "U": false,
- "V": false,
- "W": true,
- "X": true,
- "Y": false,
- "Z": false
- },
- "Constants": {
- "Symbols": false,
- "Numbers": false,
- "A": false,
- "B": false,
- "C": false,
- "D": false,
- "E": false,
- "F": false,
- "G": true,
- "H": false,
- "I": false,
- "J": false,
- "K": false,
- "L": false,
- "M": false,
- "N": false,
- "O": false,
- "P": false,
- "Q": false,
- "R": false,
- "S": true,
- "T": false,
- "U": false,
- "V": false,
- "W": false,
- "X": false,
- "Y": false,
- "Z": false
- },
- "Types": {
- "Symbols": false,
- "Numbers": false,
- "A": false,
- "B": false,
- "C": false,
- "D": false,
- "E": false,
- "F": false,
- "G": true,
- "H": false,
- "I": false,
- "J": false,
- "K": false,
- "L": false,
- "M": false,
- "N": false,
- "O": false,
- "P": false,
- "Q": false,
- "R": false,
- "S": false,
- "T": false,
- "U": false,
- "V": false,
- "W": false,
- "X": false,
- "Y": false,
- "Z": false
- },
- "Functions": {
- "Symbols": false,
- "Numbers": false,
- "A": false,
- "B": false,
- "C": false,
- "D": false,
- "E": false,
- "F": false,
- "G": true,
- "H": false,
- "I": false,
- "J": false,
- "K": false,
- "L": false,
- "M": false,
- "N": false,
- "O": false,
- "P": false,
- "Q": false,
- "R": false,
- "S": false,
- "T": false,
- "U": false,
- "V": false,
- "W": false,
- "X": false,
- "Y": false,
- "Z": false
- },
- "Macros": {
- "Symbols": false,
- "Numbers": false,
- "A": false,
- "B": false,
- "C": false,
- "D": false,
- "E": false,
- "F": false,
- "G": true,
- "H": false,
- "I": false,
- "J": false,
- "K": false,
- "L": false,
- "M": false,
- "N": false,
- "O": false,
- "P": false,
- "Q": false,
- "R": false,
- "S": false,
- "T": false,
- "U": false,
- "V": false,
- "W": false,
- "X": false,
- "Y": false,
- "Z": false
- },
- "General": {
- "Symbols": false,
- "Numbers": true,
- "A": true,
- "B": true,
- "C": true,
- "D": false,
- "E": true,
- "F": true,
- "G": true,
- "H": false,
- "I": true,
- "J": true,
- "K": false,
- "L": true,
- "M": true,
- "N": false,
- "O": true,
- "P": true,
- "Q": false,
- "R": false,
- "S": true,
- "T": true,
- "U": false,
- "V": false,
- "W": true,
- "X": true,
- "Y": false,
- "Z": false
- }
- } \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsG.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsG.html
deleted file mode 100644
index 262a81cf028..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsG.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_GD_undBELL><div class=IEntry><a href="../files/gd-h.html#GD_BELL" target=_parent class=ISymbol>GD_BELL</a></div></div><div class=SRResult id=SR_GD_undBESSEL><div class=IEntry><a href="../files/gd-h.html#GD_BESSEL" target=_parent class=ISymbol>GD_BESSEL</a></div></div><div class=SRResult id=SR_GD_undBICUBIC><div class=IEntry><a href="../files/gd-h.html#GD_BICUBIC" target=_parent class=ISymbol>GD_BICUBIC</a></div></div><div class=SRResult id=SR_GD_undBICUBIC_undFIXED><div class=IEntry><a href="../files/gd-h.html#GD_BICUBIC_FIXED" target=_parent class=ISymbol>GD_BICUBIC_FIXED</a></div></div><div class=SRResult id=SR_GD_undBILINEAR_undFIXED><div class=IEntry><a href="../files/gd-h.html#GD_BILINEAR_FIXED" target=_parent class=ISymbol>GD_BILINEAR_FIXED</a></div></div><div class=SRResult id=SR_GD_undBLACKMAN><div class=IEntry><a href="../files/gd-h.html#GD_BLACKMAN" target=_parent class=ISymbol>GD_BLACKMAN</a></div></div><div class=SRResult id=SR_GD_undBOX><div class=IEntry><a href="../files/gd-h.html#GD_BOX" target=_parent class=ISymbol>GD_BOX</a></div></div><div class=SRResult id=SR_GD_undBSPLINE><div class=IEntry><a href="../files/gd-h.html#GD_BSPLINE" target=_parent class=ISymbol>GD_BSPLINE</a></div></div><div class=SRResult id=SR_GD_undCATMULLROM><div class=IEntry><a href="../files/gd-h.html#GD_CATMULLROM" target=_parent class=ISymbol>GD_CATMULLROM</a></div></div><div class=SRResult id=SR_GD_undCROP_undBLACK><div class=IEntry><a href="../files/gd-h.html#GD_CROP_BLACK" target=_parent class=ISymbol>GD_CROP_BLACK</a></div></div><div class=SRResult id=SR_GD_undCROP_undDEFAULT><div class=IEntry><a href="../files/gd-h.html#GD_CROP_DEFAULT" target=_parent class=ISymbol>GD_CROP_DEFAULT</a></div></div><div class=SRResult id=SR_GD_undCROP_undSIDES><div class=IEntry><a href="../files/gd-h.html#GD_CROP_SIDES" target=_parent class=ISymbol>GD_CROP_SIDES</a></div></div><div class=SRResult id=SR_GD_undCROP_undTRANSPARENT><div class=IEntry><a href="../files/gd-h.html#GD_CROP_TRANSPARENT" target=_parent class=ISymbol>GD_CROP_TRANSPARENT</a></div></div><div class=SRResult id=SR_GD_undCROP_undWHITE><div class=IEntry><a href="../files/gd-h.html#GD_CROP_WHITE" target=_parent class=ISymbol>GD_CROP_WHITE</a></div></div><div class=SRResult id=SR_GD_undGAUSSIAN><div class=IEntry><a href="../files/gd-h.html#GD_GAUSSIAN" target=_parent class=ISymbol>GD_GAUSSIAN</a></div></div><div class=SRResult id=SR_GD_undGENERALIZED_undCUBIC><div class=IEntry><a href="../files/gd-h.html#GD_GENERALIZED_CUBIC" target=_parent class=ISymbol>GD_GENERALIZED_CUBIC</a></div></div><div class=SRResult id=SR_GD_undHAMMING><div class=IEntry><a href="../files/gd-h.html#GD_HAMMING" target=_parent class=ISymbol>GD_HAMMING</a></div></div><div class=SRResult id=SR_GD_undHANNING><div class=IEntry><a href="../files/gd-h.html#GD_HANNING" target=_parent class=ISymbol>GD_HANNING</a></div></div><div class=SRResult id=SR_GD_undHERMITE><div class=IEntry><a href="../files/gd-h.html#GD_HERMITE" target=_parent class=ISymbol>GD_HERMITE</a></div></div><div class=SRResult id=SR_GD_undLINEAR><div class=IEntry><a href="../files/gd-h.html#GD_LINEAR" target=_parent class=ISymbol>GD_LINEAR</a></div></div><div class=SRResult id=SR_GD_undMITCHELL><div class=IEntry><a href="../files/gd-h.html#GD_MITCHELL" target=_parent class=ISymbol>GD_MITCHELL</a></div></div><div class=SRResult id=SR_GD_undNEAREST_undNEIGHBOUR><div class=IEntry><a href="../files/gd-h.html#GD_NEAREST_NEIGHBOUR" target=_parent class=ISymbol>GD_NEAREST_NEIGHBOUR</a></div></div><div class=SRResult id=SR_GD_undPOWER><div class=IEntry><a href="../files/gd-h.html#GD_POWER" target=_parent class=ISymbol>GD_POWER</a></div></div><div class=SRResult id=SR_GD_undQUADRATIC><div class=IEntry><a href="../files/gd-h.html#GD_QUADRATIC" target=_parent class=ISymbol>GD_QUADRATIC</a></div></div><div class=SRResult id=SR_GD_undQUANT_undDEFAULT><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_DEFAULT" target=_parent class=ISymbol>GD_QUANT_DEFAULT</a></div></div><div class=SRResult id=SR_GD_undQUANT_undJQUANT><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_JQUANT" target=_parent class=ISymbol>GD_QUANT_JQUANT</a></div></div><div class=SRResult id=SR_GD_undQUANT_undLIQ><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_LIQ" target=_parent class=ISymbol>GD_QUANT_LIQ</a></div></div><div class=SRResult id=SR_GD_undQUANT_undNEUQUANT><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_NEUQUANT" target=_parent class=ISymbol>GD_QUANT_NEUQUANT</a></div></div><div class=SRResult id=SR_GD_undSINC><div class=IEntry><a href="../files/gd-h.html#GD_SINC" target=_parent class=ISymbol>GD_SINC</a></div></div><div class=SRResult id=SR_GD_undTRIANGLE><div class=IEntry><a href="../files/gd-h.html#GD_TRIANGLE" target=_parent class=ISymbol>GD_TRIANGLE</a></div></div><div class=SRResult id=SR_GD_undWEIGHTED4><div class=IEntry><a href="../files/gd-h.html#GD_WEIGHTED4" target=_parent class=ISymbol>GD_WEIGHTED4</a></div></div><div class=SRResult id=SR_gdAntiAliased><div class=IEntry><a href="../files/gd-h.html#gdAntiAliased" target=_parent class=ISymbol>gdAntiAliased</a></div></div><div class=SRResult id=SR_gdBrushed><div class=IEntry><a href="../files/gd-h.html#gdBrushed" target=_parent class=ISymbol>gdBrushed</a></div></div><div class=SRResult id=SR_gdCropMode><div class=IEntry><a href="../files/gd-h.html#gdCropMode" target=_parent class=ISymbol>gdCropMode</a></div></div><div class=SRResult id=SR_gdDisposalNone><div class=IEntry><a href="../files/gd-h.html#gdDisposalNone" target=_parent class=ISymbol>gdDisposalNone</a></div></div><div class=SRResult id=SR_gdDisposalRestoreBackground><div class=IEntry><a href="../files/gd-h.html#gdDisposalRestoreBackground" target=_parent class=ISymbol>gdDisposalRestoreBackground</a></div></div><div class=SRResult id=SR_gdDisposalRestorePrevious><div class=IEntry><a href="../files/gd-h.html#gdDisposalRestorePrevious" target=_parent class=ISymbol>gdDisposalRestorePrevious</a></div></div><div class=SRResult id=SR_gdDisposalUnknown><div class=IEntry><a href="../files/gd-h.html#gdDisposalUnknown" target=_parent class=ISymbol>gdDisposalUnknown</a></div></div><div class=SRResult id=SR_gdImageGifAnim><div class=IEntry><a href="../files/gd-h.html#gdImageGifAnim" target=_parent class=ISymbol>gdImageGifAnim</a></div></div><div class=SRResult id=SR_gdInterpolationMethod><div class=IEntry><a href="../files/gd-h.html#gdInterpolationMethod" target=_parent class=ISymbol>gdInterpolationMethod</a></div></div><div class=SRResult id=SR_gdStyled><div class=IEntry><a href="../files/gd-h.html#gdStyled" target=_parent class=ISymbol>gdStyled</a></div></div><div class=SRResult id=SR_gdStyledBrushed><div class=IEntry><a href="../files/gd-h.html#gdStyledBrushed" target=_parent class=ISymbol>gdStyledBrushed</a></div></div><div class=SRResult id=SR_gdTiled><div class=IEntry><a href="../files/gd-h.html#gdTiled" target=_parent class=ISymbol>gdTiled</a></div></div><div class=SRResult id=SR_gdTransparent><div class=IEntry><a href="../files/gd-h.html#gdTransparent" target=_parent class=ISymbol>gdTransparent</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsS.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsS.html
deleted file mode 100644
index 20a148f56e9..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/ConstantsS.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Special_spcColors><div class=IEntry><a href="../files/gd-h.html#Special_Colors" target=_parent class=ISymbol>Special Colors</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesB.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesB.html
deleted file mode 100644
index 42f9d2e4399..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesB.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_BMP_spcIO><div class=IEntry><a href="../files/gd_bmp-c.html#BMP_IO" target=_parent class=ISymbol>BMP IO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesC.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesC.html
deleted file mode 100644
index ca704a1d332..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesC.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Color_spcQuantization><div class=IEntry><a href="../files/gd_topal-c.html#Color_Quantization" target=_parent class=ISymbol>Color Quantization</a></div></div><div class=SRResult id=SR_Cropping><div class=IEntry><a href="../files/gd_crop-c.html#Cropping" target=_parent class=ISymbol>Cropping</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesF.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesF.html
deleted file mode 100644
index e079370e1ea..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesF.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_FreeType_spcfont_spcrendering><div class=IEntry><a href="../files/gdft-c.html#FreeType_font_rendering" target=_parent class=ISymbol>FreeType font rendering</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesG.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesG.html
deleted file mode 100644
index d1fd7e00a48..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesG.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_GD_spcIO><div class=IEntry><a href="../files/gd_gd-c.html#GD_IO" target=_parent class=ISymbol>GD IO</a></div></div><div class=SRResult id=SR_gd_perc><div class=IEntry><a href="../files/gd-c.html#gd.c" target=_parent class=ISymbol>gd.c</a></div></div><div class=SRResult id=SR_gd_perh><div class=IEntry><a href="../files/gd-h.html#gd.h" target=_parent class=ISymbol>gd.h</a></div></div><div class=SRResult id=SR_gd_undfilename_perc><div class=IEntry><a href="../files/gd_filename-c.html#gd_filename.c" target=_parent class=ISymbol>gd_filename.c</a></div></div><div class=SRResult id=SR_gd_undinterpolation_perc><div class=IEntry><a href="../files/gd_interpolation-c.html#gd_interpolation.c" target=_parent class=ISymbol>gd_interpolation.c</a></div></div><div class=SRResult id=SR_gd_undio_perh><div class=IEntry><a href="../files/gd_io-h.html#gd_io.h" target=_parent class=ISymbol>gd_io.h</a></div></div><div class=SRResult id=SR_gd_undio_unddp_perc><div class=IEntry><a href="../files/gd_io_dp-c.html#gd_io_dp.c" target=_parent class=ISymbol>gd_io_dp.c</a></div></div><div class=SRResult id=SR_gd_undss_perc><div class=IEntry><a href="../files/gd_ss-c.html#gd_ss.c" target=_parent class=ISymbol>gd_ss.c</a></div></div><div class=SRResult id=SR_gd_undversion_perc><div class=IEntry><a href="../files/gd_version-c.html#gd_version.c" target=_parent class=ISymbol>gd_version.c</a></div></div><div class=SRResult id=SR_GD2_spcIO><div class=IEntry><a href="../files/gd_gd2-c.html#GD2_IO" target=_parent class=ISymbol>GD2 IO</a></div></div><div class=SRResult id=SR_gdfx_perc><div class=IEntry><a href="../files/gdfx-c.html#gdfx.c" target=_parent class=ISymbol>gdfx.c</a></div></div><div class=SRResult id=SR_Giant_spcFont><div class=IEntry><a href="../files/gdfontg-c.html#Giant_Font" target=_parent class=ISymbol>Giant Font</a></div></div><div class=SRResult id=SR_GIF_spcInput><div class=IEntry><a href="../files/gd_gif_in-c.html#GIF_Input" target=_parent class=ISymbol>GIF Input</a></div></div><div class=SRResult id=SR_GIF_spcOutput><div class=IEntry><a href="../files/gd_gif_out-c.html#GIF_Output" target=_parent class=ISymbol>GIF Output</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesI.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesI.html
deleted file mode 100644
index 3e1ecb8616d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesI.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Image_spcFilters><div class=IEntry><a href="../files/gd_filter-c.html#Image_Filters" target=_parent class=ISymbol>Image Filters</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesJ.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesJ.html
deleted file mode 100644
index 320ae5c3c78..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesJ.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_JPEG_spcIO><div class=IEntry><a href="../files/gd_jpeg-c.html#JPEG_IO" target=_parent class=ISymbol>JPEG IO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesL.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesL.html
deleted file mode 100644
index eeab3ebe450..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesL.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Large_spcFont><div class=IEntry><a href="../files/gdfontl-c.html#Large_Font" target=_parent class=ISymbol>Large Font</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesM.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesM.html
deleted file mode 100644
index 0d22cccd927..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesM.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Medium_spcBold_spcFont><div class=IEntry><a href="../files/gdfontmb-c.html#Medium_Bold_Font" target=_parent class=ISymbol>Medium Bold Font</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesP.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesP.html
deleted file mode 100644
index b9fc7e4432e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesP.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_PNG_spcIO><div class=IEntry><a href="../files/gd_png-c.html#PNG_IO" target=_parent class=ISymbol>PNG IO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesS.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesS.html
deleted file mode 100644
index 35205943b6d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesS.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Small_spcFont><div class=IEntry><a href="../files/gdfonts-c.html#Small_Font" target=_parent class=ISymbol>Small Font</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesT.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesT.html
deleted file mode 100644
index 2312a68c4f4..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesT.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_TGA_spcInput><div class=IEntry><a href="../files/gd_tga-c.html#TGA_Input" target=_parent class=ISymbol>TGA Input</a></div></div><div class=SRResult id=SR_TIFF_spcIO><div class=IEntry><a href="../files/gd_tiff-c.html#TIFF_IO" target=_parent class=ISymbol>TIFF IO</a></div></div><div class=SRResult id=SR_Tiny_spcFont><div class=IEntry><a href="../files/gdfontt-c.html#Tiny_Font" target=_parent class=ISymbol>Tiny Font</a></div></div><div class=SRResult id=SR_Transformations><div class=IEntry><a href="../files/gd_transform-c.html#Transformations" target=_parent class=ISymbol>Transformations</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesW.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesW.html
deleted file mode 100644
index 65a551d6c74..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesW.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_WBMP_spcIO><div class=IEntry><a href="../files/gd_wbmp-c.html#WBMP_IO" target=_parent class=ISymbol>WBMP IO</a></div></div><div class=SRResult id=SR_WebP_spcIO><div class=IEntry><a href="../files/gd_webp-c.html#WebP_IO" target=_parent class=ISymbol>WebP IO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesX.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesX.html
deleted file mode 100644
index a1e46bc3837..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FilesX.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_XBM_spcIO><div class=IEntry><a href="../files/gd_xbm-c.html#XBM_IO" target=_parent class=ISymbol>XBM IO</a></div></div><div class=SRResult id=SR_XPM_spcInput><div class=IEntry><a href="../files/gdxpm-c.html#XPM_Input" target=_parent class=ISymbol>XPM Input</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FunctionsG.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FunctionsG.html
deleted file mode 100644
index 6fbfa3b60b1..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/FunctionsG.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_gdAffineApplyToPointF><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineApplyToPointF" target=_parent class=ISymbol>gdAffineApplyToPointF</a></div></div><div class=SRResult id=SR_gdAffineConcat><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineConcat" target=_parent class=ISymbol>gdAffineConcat</a></div></div><div class=SRResult id=SR_gdAffineEqual><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineEqual" target=_parent class=ISymbol>gdAffineEqual</a></div></div><div class=SRResult id=SR_gdAffineFlip><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineFlip" target=_parent class=ISymbol>gdAffineFlip</a></div></div><div class=SRResult id=SR_gdAffineIdentity><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineIdentity" target=_parent class=ISymbol>gdAffineIdentity</a></div></div><div class=SRResult id=SR_gdAffineInvert><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineInvert" target=_parent class=ISymbol>gdAffineInvert</a></div></div><div class=SRResult id=SR_gdAffineRectilinear><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRectilinear" target=_parent class=ISymbol>gdAffineRectilinear</a></div></div><div class=SRResult id=SR_gdAffineRotate><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRotate" target=_parent class=ISymbol>gdAffineRotate</a></div></div><div class=SRResult id=SR_gdAffineScale><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineScale" target=_parent class=ISymbol>gdAffineScale</a></div></div><div class=SRResult id=SR_gdAffineShearHorizontal><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearHorizontal" target=_parent class=ISymbol>gdAffineShearHorizontal</a></div></div><div class=SRResult id=SR_gdAffineShearVertical><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearVertical" target=_parent class=ISymbol>gdAffineShearVertical</a></div></div><div class=SRResult id=SR_gdAffineTranslate><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineTranslate" target=_parent class=ISymbol>gdAffineTranslate</a></div></div><div class=SRResult id=SR_gdAlphaBlend><div class=IEntry><a href="../files/gd-c.html#gdAlphaBlend" target=_parent class=ISymbol>gdAlphaBlend</a></div></div><div class=SRResult id=SR_gdClearErrorMethod><div class=IEntry><a href="../files/gd-c.html#gdClearErrorMethod" target=_parent class=ISymbol>gdClearErrorMethod</a></div></div><div class=SRResult id=SR_gdColorMapLookup><div class=IEntry><a href="../files/gd_color_map-c.html#gdColorMapLookup" target=_parent class=ISymbol>gdColorMapLookup</a></div></div><div class=SRResult id=SR_gdDPExtractData><div class=IEntry><a href="../files/gd_io_dp-c.html#gdDPExtractData" target=_parent class=ISymbol>gdDPExtractData</a></div></div><div class=SRResult id=SR_gdExtraVersion><div class=IEntry><a href="../files/gd_version-c.html#gdExtraVersion" target=_parent class=ISymbol>gdExtraVersion</a></div></div><div class=SRResult id=SR_gdFontCacheSetup><div class=IEntry><a href="../files/gdft-c.html#gdFontCacheSetup" target=_parent class=ISymbol>gdFontCacheSetup</a></div></div><div class=SRResult id=SR_gdFontCacheShutdown><div class=IEntry><a href="../files/gdft-c.html#gdFontCacheShutdown" target=_parent class=ISymbol>gdFontCacheShutdown</a></div></div><div class=SRResult id=SR_gdFontGetGiant><div class=IEntry><a href="../files/gdfontg-c.html#gdFontGetGiant" target=_parent class=ISymbol>gdFontGetGiant</a></div></div><div class=SRResult id=SR_gdFontGetLarge><div class=IEntry><a href="../files/gdfontl-c.html#gdFontGetLarge" target=_parent class=ISymbol>gdFontGetLarge</a></div></div><div class=SRResult id=SR_gdFontGetMediumBold><div class=IEntry><a href="../files/gdfontmb-c.html#gdFontGetMediumBold" target=_parent class=ISymbol>gdFontGetMediumBold</a></div></div><div class=SRResult id=SR_gdFontGetSmall><div class=IEntry><a href="../files/gdfonts-c.html#gdFontGetSmall" target=_parent class=ISymbol>gdFontGetSmall</a></div></div><div class=SRResult id=SR_gdFontGetTiny><div class=IEntry><a href="../files/gdfontt-c.html#gdFontGetTiny" target=_parent class=ISymbol>gdFontGetTiny</a></div></div><div class=SRResult id=SR_gdFree><div class=IEntry><a href="../files/gdhelpers-c.html#gdFree" target=_parent class=ISymbol>gdFree</a></div></div><div class=SRResult id=SR_gdFreeFontCache><div class=IEntry><a href="../files/gdft-c.html#gdFreeFontCache" target=_parent class=ISymbol>gdFreeFontCache</a></div></div><div class=SRResult id=SR_gdFTUseFontConfig><div class=IEntry><a href="../files/gdft-c.html#gdFTUseFontConfig" target=_parent class=ISymbol>gdFTUseFontConfig</a></div></div><div class=SRResult id=SR_gdImageAABlend><div class=IEntry><a href="../files/gd-c.html#gdImageAABlend" target=_parent class=ISymbol>gdImageAABlend</a></div></div><div class=SRResult id=SR_gdImageAlphaBlending><div class=IEntry><a href="../files/gd-c.html#gdImageAlphaBlending" target=_parent class=ISymbol>gdImageAlphaBlending</a></div></div><div class=SRResult id=SR_gdImageArc><div class=IEntry><a href="../files/gd-c.html#gdImageArc" target=_parent class=ISymbol>gdImageArc</a></div></div><div class=SRResult id=SR_gdImageBmp><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmp" target=_parent class=ISymbol>gdImageBmp</a></div></div><div class=SRResult id=SR_gdImageBmpCtx><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpCtx" target=_parent class=ISymbol>gdImageBmpCtx</a></div></div><div class=SRResult id=SR_gdImageBmpPtr><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpPtr" target=_parent class=ISymbol>gdImageBmpPtr</a></div></div><div class=SRResult id=SR_gdImageBoundsSafe><div class=IEntry><a href="../files/gd-c.html#gdImageBoundsSafe" target=_parent class=ISymbol>gdImageBoundsSafe</a></div></div><div class=SRResult id=SR_gdImageBrightness><div class=IEntry><a href="../files/gd_filter-c.html#gdImageBrightness" target=_parent class=ISymbol>gdImageBrightness</a></div></div><div class=SRResult id=SR_gdImageChar><div class=IEntry><a href="../files/gd-c.html#gdImageChar" target=_parent class=ISymbol>gdImageChar</a></div></div><div class=SRResult id=SR_gdImageCharUp><div class=IEntry><a href="../files/gd-c.html#gdImageCharUp" target=_parent class=ISymbol>gdImageCharUp</a></div></div><div class=SRResult id=SR_gdImageClone><div class=IEntry><a href="../files/gd-c.html#gdImageClone" target=_parent class=ISymbol>gdImageClone</a></div></div><div class=SRResult id=SR_gdImageColor><div class=IEntry><a href="../files/gd_filter-c.html#gdImageColor" target=_parent class=ISymbol>gdImageColor</a></div></div><div class=SRResult id=SR_gdImageColorAllocate><div class=IEntry><a href="../files/gd-c.html#gdImageColorAllocate" target=_parent class=ISymbol>gdImageColorAllocate</a></div></div><div class=SRResult id=SR_gdImageColorAllocateAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorAllocateAlpha" target=_parent class=ISymbol>gdImageColorAllocateAlpha</a></div></div><div class=SRResult id=SR_gdImageColorClosest><div class=IEntry><a href="../files/gd-c.html#gdImageColorClosest" target=_parent class=ISymbol>gdImageColorClosest</a></div></div><div class=SRResult id=SR_gdImageColorClosestAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorClosestAlpha" target=_parent class=ISymbol>gdImageColorClosestAlpha</a></div></div><div class=SRResult id=SR_gdImageColorClosestHWB><div class=IEntry><a href="../files/gd-c.html#gdImageColorClosestHWB" target=_parent class=ISymbol>gdImageColorClosestHWB</a></div></div><div class=SRResult id=SR_gdImageColorDeallocate><div class=IEntry><a href="../files/gd-c.html#gdImageColorDeallocate" target=_parent class=ISymbol>gdImageColorDeallocate</a></div></div><div class=SRResult id=SR_gdImageColorExact><div class=IEntry><a href="../files/gd-c.html#gdImageColorExact" target=_parent class=ISymbol>gdImageColorExact</a></div></div><div class=SRResult id=SR_gdImageColorExactAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorExactAlpha" target=_parent class=ISymbol>gdImageColorExactAlpha</a></div></div><div class=SRResult id=SR_gdImageColorMatch><div class=IEntry><a href="../files/gd_color_match-c.html#gdImageColorMatch" target=_parent class=ISymbol>gdImageColorMatch</a></div></div><div class=SRResult id=SR_gdImageColorReplace><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplace" target=_parent class=ISymbol>gdImageColorReplace</a></div></div><div class=SRResult id=SR_gdImageColorReplaceArray><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceArray" target=_parent class=ISymbol>gdImageColorReplaceArray</a></div></div><div class=SRResult id=SR_gdImageColorReplaceCallback><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceCallback" target=_parent class=ISymbol>gdImageColorReplaceCallback</a></div></div><div class=SRResult id=SR_gdImageColorReplaceThreshold><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceThreshold" target=_parent class=ISymbol>gdImageColorReplaceThreshold</a></div></div><div class=SRResult id=SR_gdImageColorResolve><div class=IEntry><a href="../files/gd-c.html#gdImageColorResolve" target=_parent class=ISymbol>gdImageColorResolve</a></div></div><div class=SRResult id=SR_gdImageColorResolveAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorResolveAlpha" target=_parent class=ISymbol>gdImageColorResolveAlpha</a></div></div><div class=SRResult id=SR_gdImageColorTransparent><div class=IEntry><a href="../files/gd-c.html#gdImageColorTransparent" target=_parent class=ISymbol>gdImageColorTransparent</a></div></div><div class=SRResult id=SR_gdImageCompare><div class=IEntry><a href="../files/gd-c.html#gdImageCompare" target=_parent class=ISymbol>gdImageCompare</a></div></div><div class=SRResult id=SR_gdImageContrast><div class=IEntry><a href="../files/gd_filter-c.html#gdImageContrast" target=_parent class=ISymbol>gdImageContrast</a></div></div><div class=SRResult id=SR_gdImageConvolution><div class=IEntry><a href="../files/gd_filter-c.html#gdImageConvolution" target=_parent class=ISymbol>gdImageConvolution</a></div></div><div class=SRResult id=SR_gdImageCopy><div class=IEntry><a href="../files/gd-c.html#gdImageCopy" target=_parent class=ISymbol>gdImageCopy</a></div></div><div class=SRResult id=SR_gdImageCopyGaussianBlurred><div class=IEntry><a href="../files/gd_filter-c.html#gdImageCopyGaussianBlurred" target=_parent class=ISymbol>gdImageCopyGaussianBlurred</a></div></div><div class=SRResult id=SR_gdImageCopyMerge><div class=IEntry><a href="../files/gd-c.html#gdImageCopyMerge" target=_parent class=ISymbol>gdImageCopyMerge</a></div></div><div class=SRResult id=SR_gdImageCopyMergeGray><div class=IEntry><a href="../files/gd-c.html#gdImageCopyMergeGray" target=_parent class=ISymbol>gdImageCopyMergeGray</a></div></div><div class=SRResult id=SR_gdImageCopyResampled><div class=IEntry><a href="../files/gd-c.html#gdImageCopyResampled" target=_parent class=ISymbol>gdImageCopyResampled</a></div></div><div class=SRResult id=SR_gdImageCopyResized><div class=IEntry><a href="../files/gd-c.html#gdImageCopyResized" target=_parent class=ISymbol>gdImageCopyResized</a></div></div><div class=SRResult id=SR_gdImageCopyRotated><div class=IEntry><a href="../files/gd-c.html#gdImageCopyRotated" target=_parent class=ISymbol>gdImageCopyRotated</a></div></div><div class=SRResult id=SR_gdImageCreate><div class=IEntry><a href="../files/gd-c.html#gdImageCreate" target=_parent class=ISymbol>gdImageCreate</a></div></div><div class=SRResult id=SR_gdImageCreateFromBmp><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmp" target=_parent class=ISymbol>gdImageCreateFromBmp</a></div></div><div class=SRResult id=SR_gdImageCreateFromBmpCtx><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpCtx" target=_parent class=ISymbol>gdImageCreateFromBmpCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromBmpPtr><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpPtr" target=_parent class=ISymbol>gdImageCreateFromBmpPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromFile><div class=IEntry><a href="../files/gd_filename-c.html#gdImageCreateFromFile" target=_parent class=ISymbol>gdImageCreateFromFile</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd><div class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGd" target=_parent class=ISymbol>gdImageCreateFromGd</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2" target=_parent class=ISymbol>gdImageCreateFromGd2</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2Ctx><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ctx" target=_parent class=ISymbol>gdImageCreateFromGd2Ctx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2Part><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Part" target=_parent class=ISymbol>gdImageCreateFromGd2Part</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2PartCtx><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartCtx" target=_parent class=ISymbol>gdImageCreateFromGd2PartCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2PartPtr><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartPtr" target=_parent class=ISymbol>gdImageCreateFromGd2PartPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2Ptr><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ptr" target=_parent class=ISymbol>gdImageCreateFromGd2Ptr</a></div></div><div class=SRResult id=SR_gdImageCreateFromGdCtx><div class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdCtx" target=_parent class=ISymbol>gdImageCreateFromGdCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGdPtr><div class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdPtr" target=_parent class=ISymbol>gdImageCreateFromGdPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromGif><div class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGif" target=_parent class=ISymbol>gdImageCreateFromGif</a></div></div><div class=SRResult id=SR_gdImageCreateFromGifCtx><div class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifCtx" target=_parent class=ISymbol>gdImageCreateFromGifCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGifPtr><div class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifPtr" target=_parent class=ISymbol>gdImageCreateFromGifPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpeg><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpeg" target=_parent class=ISymbol>gdImageCreateFromJpeg</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegCtx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtx" target=_parent class=ISymbol>gdImageCreateFromJpegCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegCtxEx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtxEx" target=_parent class=ISymbol>gdImageCreateFromJpegCtxEx</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegEx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegEx" target=_parent class=ISymbol>gdImageCreateFromJpegEx</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegPtr><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtr" target=_parent class=ISymbol>gdImageCreateFromJpegPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegPtrEx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtrEx" target=_parent class=ISymbol>gdImageCreateFromJpegPtrEx</a></div></div><div class=SRResult id=SR_gdImageCreateFromPng><div class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPng" target=_parent class=ISymbol>gdImageCreateFromPng</a></div></div><div class=SRResult id=SR_gdImageCreateFromPngCtx><div class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngCtx" target=_parent class=ISymbol>gdImageCreateFromPngCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromPngPtr><div class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngPtr" target=_parent class=ISymbol>gdImageCreateFromPngPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromPngSource><div class=IEntry><a href="../files/gd_ss-c.html#gdImageCreateFromPngSource" target=_parent class=ISymbol>gdImageCreateFromPngSource</a></div></div><div class=SRResult id=SR_gdImageCreateFromTga><div class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTga" target=_parent class=ISymbol>gdImageCreateFromTga</a></div></div><div class=SRResult id=SR_gdImageCreateFromTgaCtx><div class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaCtx" target=_parent class=ISymbol>gdImageCreateFromTgaCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromTgaPtr><div class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaPtr" target=_parent class=ISymbol>gdImageCreateFromTgaPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromTIFF><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTIFF" target=_parent class=ISymbol>gdImageCreateFromTIFF</a></div></div><div class=SRResult id=SR_gdImageCreateFromTiffCtx><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffCtx" target=_parent class=ISymbol>gdImageCreateFromTiffCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromTiffPtr><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffPtr" target=_parent class=ISymbol>gdImageCreateFromTiffPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromWBMP><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMP" target=_parent class=ISymbol>gdImageCreateFromWBMP</a></div></div><div class=SRResult id=SR_gdImageCreateFromWBMPCtx><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPCtx" target=_parent class=ISymbol>gdImageCreateFromWBMPCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromWBMPPtr><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPPtr" target=_parent class=ISymbol>gdImageCreateFromWBMPPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromWebp><div class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebp" target=_parent class=ISymbol>gdImageCreateFromWebp</a></div></div><div class=SRResult id=SR_gdImageCreateFromWebpCtx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpCtx" target=_parent class=ISymbol>gdImageCreateFromWebpCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromWebpPtr><div class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpPtr" target=_parent class=ISymbol>gdImageCreateFromWebpPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromXbm><div class=IEntry><a href="../files/gd_xbm-c.html#gdImageCreateFromXbm" target=_parent class=ISymbol>gdImageCreateFromXbm</a></div></div><div class=SRResult id=SR_gdImageCreateFromXpm><div class=IEntry><a href="../files/gdxpm-c.html#gdImageCreateFromXpm" target=_parent class=ISymbol>gdImageCreateFromXpm</a></div></div><div class=SRResult id=SR_gdImageCreatePaletteFromTrueColor><div class=IEntry><a href="../files/gd_topal-c.html#gdImageCreatePaletteFromTrueColor" target=_parent class=ISymbol>gdImageCreatePaletteFromTrueColor</a></div></div><div class=SRResult id=SR_gdImageCreateTrueColor><div class=IEntry><a href="../files/gd-c.html#gdImageCreateTrueColor" target=_parent class=ISymbol>gdImageCreateTrueColor</a></div></div><div class=SRResult id=SR_gdImageCrop><div class=IEntry><a href="../files/gd_crop-c.html#gdImageCrop" target=_parent class=ISymbol>gdImageCrop</a></div></div><div class=SRResult id=SR_gdImageCropAuto><div class=IEntry><a href="../files/gd_crop-c.html#gdImageCropAuto" target=_parent class=ISymbol>gdImageCropAuto</a></div></div><div class=SRResult id=SR_gdImageCropThreshold><div class=IEntry><a href="../files/gd_crop-c.html#gdImageCropThreshold" target=_parent class=ISymbol>gdImageCropThreshold</a></div></div><div class=SRResult id=SR_gdImageDashedLine><div class=IEntry><a href="../files/gd-c.html#gdImageDashedLine" target=_parent class=ISymbol>gdImageDashedLine</a></div></div><div class=SRResult id=SR_gdImageDestroy><div class=IEntry><a href="../files/gd-c.html#gdImageDestroy" target=_parent class=ISymbol>gdImageDestroy</a></div></div><div class=SRResult id=SR_gdImageEdgeDetectQuick><div class=IEntry><a href="../files/gd_filter-c.html#gdImageEdgeDetectQuick" target=_parent class=ISymbol>gdImageEdgeDetectQuick</a></div></div><div class=SRResult id=SR_gdImageEllipse><div class=IEntry><a href="../files/gd-c.html#gdImageEllipse" target=_parent class=ISymbol>gdImageEllipse</a></div></div><div class=SRResult id=SR_gdImageEmboss><div class=IEntry><a href="../files/gd_filter-c.html#gdImageEmboss" target=_parent class=ISymbol>gdImageEmboss</a></div></div><div class=SRResult id=SR_gdImageFile><div class=IEntry><a href="../files/gd_filename-c.html#gdImageFile" target=_parent class=ISymbol>gdImageFile</a></div></div><div class=SRResult id=SR_gdImageFill><div class=IEntry><a href="../files/gd-c.html#gdImageFill" target=_parent class=ISymbol>gdImageFill</a></div></div><div class=SRResult id=SR_gdImageFilledArc><div class=IEntry><a href="../files/gd-c.html#gdImageFilledArc" target=_parent class=ISymbol>gdImageFilledArc</a></div></div><div class=SRResult id=SR_gdImageFilledEllipse><div class=IEntry><a href="../files/gd-c.html#gdImageFilledEllipse" target=_parent class=ISymbol>gdImageFilledEllipse</a></div></div><div class=SRResult id=SR_gdImageFilledPolygon><div class=IEntry><a href="../files/gd-c.html#gdImageFilledPolygon" target=_parent class=ISymbol>gdImageFilledPolygon</a></div></div><div class=SRResult id=SR_gdImageFilledRectangle><div class=IEntry><a href="../files/gd-c.html#gdImageFilledRectangle" target=_parent class=ISymbol>gdImageFilledRectangle</a></div></div><div class=SRResult id=SR_gdImageFillToBorder><div class=IEntry><a href="../files/gd-c.html#gdImageFillToBorder" target=_parent class=ISymbol>gdImageFillToBorder</a></div></div><div class=SRResult id=SR_gdImageFlipBoth><div class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipBoth" target=_parent class=ISymbol>gdImageFlipBoth</a></div></div><div class=SRResult id=SR_gdImageFlipHorizontal><div class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipHorizontal" target=_parent class=ISymbol>gdImageFlipHorizontal</a></div></div><div class=SRResult id=SR_gdImageFlipVertical><div class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipVertical" target=_parent class=ISymbol>gdImageFlipVertical</a></div></div><div class=SRResult id=SR_gdImageGaussianBlur><div class=IEntry><a href="../files/gd_filter-c.html#gdImageGaussianBlur" target=_parent class=ISymbol>gdImageGaussianBlur</a></div></div><div class=SRResult id=SR_gdImageGd><div class=IEntry><a href="../files/gd_gd-c.html#gdImageGd" target=_parent class=ISymbol>gdImageGd</a></div></div><div class=SRResult id=SR_gdImageGd2><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2" target=_parent class=ISymbol>gdImageGd2</a></div></div><div class=SRResult id=SR_gdImageGd2Ptr><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2Ptr" target=_parent class=ISymbol>gdImageGd2Ptr</a></div></div><div class=SRResult id=SR_gdImageGdPtr><div class=IEntry><a href="../files/gd_gd-c.html#gdImageGdPtr" target=_parent class=ISymbol>gdImageGdPtr</a></div></div><div class=SRResult id=SR_gdImageGetClip><div class=IEntry><a href="../files/gd-c.html#gdImageGetClip" target=_parent class=ISymbol>gdImageGetClip</a></div></div><div class=SRResult id=SR_gdImageGetInterpolationMethod><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageGetInterpolationMethod" target=_parent class=ISymbol>gdImageGetInterpolationMethod</a></div></div><div class=SRResult id=SR_gdImageGetPixel><div class=IEntry><a href="../files/gd-c.html#gdImageGetPixel" target=_parent class=ISymbol>gdImageGetPixel</a></div></div><div class=SRResult id=SR_gdImageGetTrueColorPixel><div class=IEntry><a href="../files/gd-c.html#gdImageGetTrueColorPixel" target=_parent class=ISymbol>gdImageGetTrueColorPixel</a></div></div><div class=SRResult id=SR_gdImageGif><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGif" target=_parent class=ISymbol>gdImageGif</a></div></div><div class=SRResult id=SR_gdImageGifAnimAdd><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAdd" target=_parent class=ISymbol>gdImageGifAnimAdd</a></div></div><div class=SRResult id=SR_gdImageGifAnimAddCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddCtx" target=_parent class=ISymbol>gdImageGifAnimAddCtx</a></div></div><div class=SRResult id=SR_gdImageGifAnimAddPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddPtr" target=_parent class=ISymbol>gdImageGifAnimAddPtr</a></div></div><div class=SRResult id=SR_gdImageGifAnimBegin><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBegin" target=_parent class=ISymbol>gdImageGifAnimBegin</a></div></div><div class=SRResult id=SR_gdImageGifAnimBeginCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginCtx" target=_parent class=ISymbol>gdImageGifAnimBeginCtx</a></div></div><div class=SRResult id=SR_gdImageGifAnimBeginPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginPtr" target=_parent class=ISymbol>gdImageGifAnimBeginPtr</a></div></div><div class=SRResult id=SR_gdImageGifAnimEnd><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEnd" target=_parent class=ISymbol>gdImageGifAnimEnd</a></div></div><div class=SRResult id=SR_gdImageGifAnimEndCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndCtx" target=_parent class=ISymbol>gdImageGifAnimEndCtx</a></div></div><div class=SRResult id=SR_gdImageGifAnimEndPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndPtr" target=_parent class=ISymbol>gdImageGifAnimEndPtr</a></div></div><div class=SRResult id=SR_gdImageGifCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifCtx" target=_parent class=ISymbol>gdImageGifCtx</a></div></div><div class=SRResult id=SR_gdImageGifPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifPtr" target=_parent class=ISymbol>gdImageGifPtr</a></div></div><div class=SRResult id=SR_gdImageGrayScale><div class=IEntry><a href="../files/gd_filter-c.html#gdImageGrayScale" target=_parent class=ISymbol>gdImageGrayScale</a></div></div><div class=SRResult id=SR_gdImageInterlace><div class=IEntry><a href="../files/gd-c.html#gdImageInterlace" target=_parent class=ISymbol>gdImageInterlace</a></div></div><div class=SRResult id=SR_gdImageJpeg><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpeg" target=_parent class=ISymbol>gdImageJpeg</a></div></div><div class=SRResult id=SR_gdImageJpegCtx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegCtx" target=_parent class=ISymbol>gdImageJpegCtx</a></div></div><div class=SRResult id=SR_gdImageJpegPtr><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegPtr" target=_parent class=ISymbol>gdImageJpegPtr</a></div></div><div class=SRResult id=SR_gdImageLine><div class=IEntry><a href="../files/gd-c.html#gdImageLine" target=_parent class=ISymbol>gdImageLine</a></div></div><div class=SRResult id=SR_gdImageMeanRemoval><div class=IEntry><a href="../files/gd_filter-c.html#gdImageMeanRemoval" target=_parent class=ISymbol>gdImageMeanRemoval</a></div></div><div class=SRResult id=SR_gdImageNegate><div class=IEntry><a href="../files/gd_filter-c.html#gdImageNegate" target=_parent class=ISymbol>gdImageNegate</a></div></div><div class=SRResult id=SR_gdImageNeuQuant><div class=IEntry><a href="../files/gd_nnquant-c.html#gdImageNeuQuant" target=_parent class=ISymbol>gdImageNeuQuant</a></div></div><div class=SRResult id=SR_gdImageOpenPolygon><div class=IEntry><a href="../files/gd-c.html#gdImageOpenPolygon" target=_parent class=ISymbol>gdImageOpenPolygon</a></div></div><div class=SRResult id=SR_gdImagePaletteCopy><div class=IEntry><a href="../files/gd-c.html#gdImagePaletteCopy" target=_parent class=ISymbol>gdImagePaletteCopy</a></div></div><div class=SRResult id=SR_gdImagePaletteToTrueColor><div class=IEntry><a href="../files/gd-c.html#gdImagePaletteToTrueColor" target=_parent class=ISymbol>gdImagePaletteToTrueColor</a></div></div><div class=SRResult id=SR_gdImagePixelate><div class=IEntry><a href="../files/gd_filter-c.html#gdImagePixelate" target=_parent class=ISymbol>gdImagePixelate</a></div></div><div class=SRResult id=SR_gdImagePng><div class=IEntry><a href="../files/gd_png-c.html#gdImagePng" target=_parent class=ISymbol>gdImagePng</a></div></div><div class=SRResult id=SR_gdImagePngCtx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtx" target=_parent class=ISymbol>gdImagePngCtx</a></div></div><div class=SRResult id=SR_gdImagePngCtxEx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtxEx" target=_parent class=ISymbol>gdImagePngCtxEx</a></div></div><div class=SRResult id=SR_gdImagePngEx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngEx" target=_parent class=ISymbol>gdImagePngEx</a></div></div><div class=SRResult id=SR_gdImagePngPtr><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtr" target=_parent class=ISymbol>gdImagePngPtr</a></div></div><div class=SRResult id=SR_gdImagePngPtrEx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtrEx" target=_parent class=ISymbol>gdImagePngPtrEx</a></div></div><div class=SRResult id=SR_gdImagePngToSink><div class=IEntry><a href="../files/gd_ss-c.html#gdImagePngToSink" target=_parent class=ISymbol>gdImagePngToSink</a></div></div><div class=SRResult id=SR_gdImagePolygon><div class=IEntry><a href="../files/gd-c.html#gdImagePolygon" target=_parent class=ISymbol>gdImagePolygon</a></div></div><div class=SRResult id=SR_gdImageRectangle><div class=IEntry><a href="../files/gd-c.html#gdImageRectangle" target=_parent class=ISymbol>gdImageRectangle</a></div></div><div class=SRResult id=SR_gdImageRotateInterpolated><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageRotateInterpolated" target=_parent class=ISymbol>gdImageRotateInterpolated</a></div></div><div class=SRResult id=SR_gdImageSaveAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageSaveAlpha" target=_parent class=ISymbol>gdImageSaveAlpha</a></div></div><div class=SRResult id=SR_gdImageScale><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageScale" target=_parent class=ISymbol>gdImageScale</a></div></div><div class=SRResult id=SR_gdImageScatter><div class=IEntry><a href="../files/gd_filter-c.html#gdImageScatter" target=_parent class=ISymbol>gdImageScatter</a></div></div><div class=SRResult id=SR_gdImageScatterColor><div class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterColor" target=_parent class=ISymbol>gdImageScatterColor</a></div></div><div class=SRResult id=SR_gdImageScatterEx><div class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterEx" target=_parent class=ISymbol>gdImageScatterEx</a></div></div><div class=SRResult id=SR_gdImageSelectiveBlur><div class=IEntry><a href="../files/gd_filter-c.html#gdImageSelectiveBlur" target=_parent class=ISymbol>gdImageSelectiveBlur</a></div></div><div class=SRResult id=SR_gdImageSetAntiAliased><div class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliased" target=_parent class=ISymbol>gdImageSetAntiAliased</a></div></div><div class=SRResult id=SR_gdImageSetAntiAliasedDontBlend><div class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliasedDontBlend" target=_parent class=ISymbol>gdImageSetAntiAliasedDontBlend</a></div></div><div class=SRResult id=SR_gdImageSetBrush><div class=IEntry><a href="../files/gd-c.html#gdImageSetBrush" target=_parent class=ISymbol>gdImageSetBrush</a></div></div><div class=SRResult id=SR_gdImageSetClip><div class=IEntry><a href="../files/gd-c.html#gdImageSetClip" target=_parent class=ISymbol>gdImageSetClip</a></div></div><div class=SRResult id=SR_gdImageSetInterpolationMethod><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageSetInterpolationMethod" target=_parent class=ISymbol>gdImageSetInterpolationMethod</a></div></div><div class=SRResult id=SR_gdImageSetPixel><div class=IEntry><a href="../files/gd-c.html#gdImageSetPixel" target=_parent class=ISymbol>gdImageSetPixel</a></div></div><div class=SRResult id=SR_gdImageSetResolution><div class=IEntry><a href="../files/gd-c.html#gdImageSetResolution" target=_parent class=ISymbol>gdImageSetResolution</a></div></div><div class=SRResult id=SR_gdImageSetStyle><div class=IEntry><a href="../files/gd-c.html#gdImageSetStyle" target=_parent class=ISymbol>gdImageSetStyle</a></div></div><div class=SRResult id=SR_gdImageSetThickness><div class=IEntry><a href="../files/gd-c.html#gdImageSetThickness" target=_parent class=ISymbol>gdImageSetThickness</a></div></div><div class=SRResult id=SR_gdImageSetTile><div class=IEntry><a href="../files/gd-c.html#gdImageSetTile" target=_parent class=ISymbol>gdImageSetTile</a></div></div><div class=SRResult id=SR_gdImageSharpen><div class=IEntry><a href="../files/gdfx-c.html#gdImageSharpen" target=_parent class=ISymbol>gdImageSharpen</a></div></div><div class=SRResult id=SR_gdImageSmooth><div class=IEntry><a href="../files/gd_filter-c.html#gdImageSmooth" target=_parent class=ISymbol>gdImageSmooth</a></div></div><div class=SRResult id=SR_gdImageSquareToCircle><div class=IEntry><a href="../files/gdfx-c.html#gdImageSquareToCircle" target=_parent class=ISymbol>gdImageSquareToCircle</a></div></div><div class=SRResult id=SR_gdImageString><div class=IEntry><a href="../files/gd-c.html#gdImageString" target=_parent class=ISymbol>gdImageString</a></div></div><div class=SRResult id=SR_gdImageString16><div class=IEntry><a href="../files/gd-c.html#gdImageString16" target=_parent class=ISymbol>gdImageString16</a></div></div><div class=SRResult id=SR_gdImageStringFT><div class=IEntry><a href="../files/gdft-c.html#gdImageStringFT" target=_parent class=ISymbol>gdImageStringFT</a></div></div><div class=SRResult id=SR_gdImageStringFTCircle><div class=IEntry><a href="../files/gdfx-c.html#gdImageStringFTCircle" target=_parent class=ISymbol>gdImageStringFTCircle</a></div></div><div class=SRResult id=SR_gdImageStringFTEx><div class=IEntry><a href="../files/gdft-c.html#gdImageStringFTEx" target=_parent class=ISymbol>gdImageStringFTEx</a></div></div><div class=SRResult id=SR_gdImageStringTTF><div class=IEntry><a href="../files/gdft-c.html#gdImageStringTTF" target=_parent class=ISymbol>gdImageStringTTF</a></div></div><div class=SRResult id=SR_gdImageStringUp><div class=IEntry><a href="../files/gd-c.html#gdImageStringUp" target=_parent class=ISymbol>gdImageStringUp</a></div></div><div class=SRResult id=SR_gdImageStringUp16><div class=IEntry><a href="../files/gd-c.html#gdImageStringUp16" target=_parent class=ISymbol>gdImageStringUp16</a></div></div><div class=SRResult id=SR_gdImageTiff><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiff" target=_parent class=ISymbol>gdImageTiff</a></div></div><div class=SRResult id=SR_gdImageTiffCtx><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffCtx" target=_parent class=ISymbol>gdImageTiffCtx</a></div></div><div class=SRResult id=SR_gdImageTiffPtr><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffPtr" target=_parent class=ISymbol>gdImageTiffPtr</a></div></div><div class=SRResult id=SR_gdImageTrueColorToPalette><div class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPalette" target=_parent class=ISymbol>gdImageTrueColorToPalette</a></div></div><div class=SRResult id=SR_gdImageTrueColorToPaletteSetMethod><div class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetMethod" target=_parent class=ISymbol>gdImageTrueColorToPaletteSetMethod</a></div></div><div class=SRResult id=SR_gdImageTrueColorToPaletteSetQuality><div class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetQuality" target=_parent class=ISymbol>gdImageTrueColorToPaletteSetQuality</a></div></div><div class=SRResult id=SR_gdImageWBMP><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMP" target=_parent class=ISymbol>gdImageWBMP</a></div></div><div class=SRResult id=SR_gdImageWBMPCtx><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPCtx" target=_parent class=ISymbol>gdImageWBMPCtx</a></div></div><div class=SRResult id=SR_gdImageWBMPPtr><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPPtr" target=_parent class=ISymbol>gdImageWBMPPtr</a></div></div><div class=SRResult id=SR_gdImageWebp><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebp" target=_parent class=ISymbol>gdImageWebp</a></div></div><div class=SRResult id=SR_gdImageWebpCtx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpCtx" target=_parent class=ISymbol>gdImageWebpCtx</a></div></div><div class=SRResult id=SR_gdImageWebpEx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpEx" target=_parent class=ISymbol>gdImageWebpEx</a></div></div><div class=SRResult id=SR_gdImageWebpPtr><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtr" target=_parent class=ISymbol>gdImageWebpPtr</a></div></div><div class=SRResult id=SR_gdImageWebpPtrEx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtrEx" target=_parent class=ISymbol>gdImageWebpPtrEx</a></div></div><div class=SRResult id=SR_gdImageXbmCtx><div class=IEntry><a href="../files/gd_xbm-c.html#gdImageXbmCtx" target=_parent class=ISymbol>gdImageXbmCtx</a></div></div><div class=SRResult id=SR_gdLayerMultiply><div class=IEntry><a href="../files/gd-c.html#gdLayerMultiply" target=_parent class=ISymbol>gdLayerMultiply</a></div></div><div class=SRResult id=SR_gdLayerOverlay><div class=IEntry><a href="../files/gd-c.html#gdLayerOverlay" target=_parent class=ISymbol>gdLayerOverlay</a></div></div><div class=SRResult id=SR_gdMajorVersion><div class=IEntry><a href="../files/gd_version-c.html#gdMajorVersion" target=_parent class=ISymbol>gdMajorVersion</a></div></div><div class=SRResult id=SR_gdMinorVersion><div class=IEntry><a href="../files/gd_version-c.html#gdMinorVersion" target=_parent class=ISymbol>gdMinorVersion</a></div></div><div class=SRResult id=SR_gdNewDynamicCtx><div class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtx" target=_parent class=ISymbol>gdNewDynamicCtx</a></div></div><div class=SRResult id=SR_gdNewDynamicCtxEx><div class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtxEx" target=_parent class=ISymbol>gdNewDynamicCtxEx</a></div></div><div class=SRResult id=SR_gdNewFileCtx><div class=IEntry><a href="../files/gd_io_file-c.html#gdNewFileCtx" target=_parent class=ISymbol>gdNewFileCtx</a></div></div><div class=SRResult id=SR_gdNewSSCtx><div class=IEntry><a href="../files/gd_io_ss-c.html#gdNewSSCtx" target=_parent class=ISymbol>gdNewSSCtx</a></div></div><div class=SRResult id=SR_gdReleaseVersion><div class=IEntry><a href="../files/gd_version-c.html#gdReleaseVersion" target=_parent class=ISymbol>gdReleaseVersion</a></div></div><div class=SRResult id=SR_gdSetErrorMethod><div class=IEntry><a href="../files/gd-c.html#gdSetErrorMethod" target=_parent class=ISymbol>gdSetErrorMethod</a></div></div><div class=SRResult id=SR_gdSupportsFileType><div class=IEntry><a href="../files/gd_filename-c.html#gdSupportsFileType" target=_parent class=ISymbol>gdSupportsFileType</a></div></div><div class=SRResult id=SR_gdTransformAffineBoundingBox><div class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineBoundingBox" target=_parent class=ISymbol>gdTransformAffineBoundingBox</a></div></div><div class=SRResult id=SR_gdTransformAffineCopy><div class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineCopy" target=_parent class=ISymbol>gdTransformAffineCopy</a></div></div><div class=SRResult id=SR_gdTransformAffineGetImage><div class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineGetImage" target=_parent class=ISymbol>gdTransformAffineGetImage</a></div></div><div class=SRResult id=SR_gdVersionString><div class=IEntry><a href="../files/gd_version-c.html#gdVersionString" target=_parent class=ISymbol>gdVersionString</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralA.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralA.html
deleted file mode 100644
index 27194a2e78f..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralA.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Accessor_spcMacros><div class=IEntry><a href="../files/gd-h.html#Accessor_Macros" target=_parent class=ISymbol>Accessor Macros</a></div></div><div class=SRResult id=SR_Affine_spcTransformation><div class=IEntry><a href="../files/gd_interpolation-c.html#Affine_Transformation" target=_parent class=ISymbol>Affine Transformation</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralB.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralB.html
deleted file mode 100644
index 42f9d2e4399..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralB.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_BMP_spcIO><div class=IEntry><a href="../files/gd_bmp-c.html#BMP_IO" target=_parent class=ISymbol>BMP IO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralC.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralC.html
deleted file mode 100644
index 4089be019df..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralC.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Cloning_spcand_spcCopying><div class=IEntry><a href="../files/gd-c.html#Cloning_and_Copying" target=_parent class=ISymbol>Cloning and Copying</a></div></div><div class=SRResult id=SR_Color><div class=IEntry><a href="../files/gd-c.html#Color" target=_parent class=ISymbol>Color</a></div></div><div class=SRResult id=SR_Color_spcComposition><div class=IEntry><a href="../files/gd-h.html#Color_Composition" target=_parent class=ISymbol>Color Composition</a></div></div><div class=SRResult id=SR_Color_spcDecomposition><div class=IEntry><a href="../files/gd-h.html#Color_Decomposition" target=_parent class=ISymbol>Color Decomposition</a></div></div><div class=SRResult id=SR_Color_spcQuantization><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Color_spcQuantization')" class=ISymbol>Color Quantization</a><div class=ISubIndex><a href="../files/gd-h.html#Color_Quantization" target=_parent class=IFile>gd.h</a><a href="../files/gd_topal-c.html#Color_Quantization" target=_parent class=IFile>gd_topal.c</a></div></div></div><div class=SRResult id=SR_Colors><div class=IEntry><a href="../files/gd-h.html#Colors" target=_parent class=ISymbol>Colors</a></div></div><div class=SRResult id=SR_Creation_spcand_spcDestruction><div class=IEntry><a href="../files/gd-c.html#Creation_and_Destruction" target=_parent class=ISymbol>Creation and Destruction</a></div></div><div class=SRResult id=SR_Crop><div class=IEntry><a href="../files/gd-h.html#Crop" target=_parent class=ISymbol>Crop</a></div></div><div class=SRResult id=SR_Cropping><div class=IEntry><a href="../files/gd_crop-c.html#Cropping" target=_parent class=ISymbol>Cropping</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralE.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralE.html
deleted file mode 100644
index e63de3478cf..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralE.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Effects><div class=IEntry><a href="../files/gd-h.html#Effects" target=_parent class=ISymbol>Effects</a></div></div><div class=SRResult id=SR_Error_spcHandling><div class=IEntry><a href="../files/gd-c.html#Error_Handling" target=_parent class=ISymbol>Error Handling</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralF.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralF.html
deleted file mode 100644
index 337a4cd75a0..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralF.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_FreeType_spcfont_spcrendering><div class=IEntry><a href="../files/gdft-c.html#FreeType_font_rendering" target=_parent class=ISymbol>FreeType font rendering</a></div></div><div class=SRResult id=SR_Functions><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Functions')" class=ISymbol>Functions</a><div class=ISubIndex><a href="../files/gd_bmp-c.html#Functions" target=_parent class=IFile>gd_bmp.c</a><a href="../files/gd_crop-c.html#Functions" target=_parent class=IFile>gd_crop.c</a><a href="../files/gd_filename-c.html#Functions" target=_parent class=IFile>gd_filename.c</a><a href="../files/gd_filter-c.html#Functions" target=_parent class=IFile>gd_filter.c</a><a href="../files/gd_gd-c.html#Functions" target=_parent class=IFile>gd_gd.c</a><a href="../files/gd_gd2-c.html#Functions" target=_parent class=IFile>gd_gd2.c</a><a href="../files/gd_gif_in-c.html#Functions" target=_parent class=IFile>gd_gif_in.c</a><a href="../files/gd_gif_out-c.html#Functions" target=_parent class=IFile>gd_gif_out.c</a><a href="../files/gd_io_dp-c.html#Functions" target=_parent class=IFile>gd_io_dp.c</a><a href="../files/gd_jpeg-c.html#Functions" target=_parent class=IFile>gd_jpeg.c</a><a href="../files/gd_matrix-c.html#Functions" target=_parent class=IFile>gd_matrix.c</a><a href="../files/gd_png-c.html#Functions" target=_parent class=IFile>gd_png.c</a><a href="../files/gd_ss-c.html#Functions" target=_parent class=IFile>gd_ss.c</a><a href="../files/gd_tga-c.html#Functions" target=_parent class=IFile>gd_tga.c</a><a href="../files/gd_tiff-c.html#Functions" target=_parent class=IFile>gd_tiff.c</a><a href="../files/gd_topal-c.html#Functions" target=_parent class=IFile>gd_topal.c</a><a href="../files/gd_transform-c.html#Functions" target=_parent class=IFile>gd_transform.c</a><a href="../files/gd_version-c.html#Functions" target=_parent class=IFile>gd_version.c</a><a href="../files/gd_wbmp-c.html#Functions" target=_parent class=IFile>gd_wbmp.c</a><a href="../files/gd_webp-c.html#Functions" target=_parent class=IFile>gd_webp.c</a><a href="../files/gd_xbm-c.html#Functions" target=_parent class=IFile>gd_xbm.c</a><a href="../files/gdfontg-c.html#Functions" target=_parent class=IFile>gdfontg.c</a><a href="../files/gdfontl-c.html#Functions" target=_parent class=IFile>gdfontl.c</a><a href="../files/gdfontmb-c.html#Functions" target=_parent class=IFile>gdfontmb.c</a><a href="../files/gdfonts-c.html#Functions" target=_parent class=IFile>gdfonts.c</a><a href="../files/gdfontt-c.html#Functions" target=_parent class=IFile>gdfontt.c</a><a href="../files/gdft-c.html#Functions" target=_parent class=IFile>gdft.c</a><a href="../files/gdfx-c.html#Functions" target=_parent class=IFile>gdfx.c</a><a href="../files/gdxpm-c.html#Functions" target=_parent class=IFile>gdxpm.c</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralG.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralG.html
deleted file mode 100644
index 2c327f59b40..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralG.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_GD_spcIO><div class=IEntry><a href="../files/gd_gd-c.html#GD_IO" target=_parent class=ISymbol>GD IO</a></div></div><div class=SRResult id=SR_gd_perc><div class=IEntry><a href="../files/gd-c.html#gd.c" target=_parent class=ISymbol>gd.c</a></div></div><div class=SRResult id=SR_gd_perh><div class=IEntry><a href="../files/gd-h.html#gd.h" target=_parent class=ISymbol>gd.h</a></div></div><div class=SRResult id=SR_GD_undBELL><div class=IEntry><a href="../files/gd-h.html#GD_BELL" target=_parent class=ISymbol>GD_BELL</a></div></div><div class=SRResult id=SR_GD_undBESSEL><div class=IEntry><a href="../files/gd-h.html#GD_BESSEL" target=_parent class=ISymbol>GD_BESSEL</a></div></div><div class=SRResult id=SR_GD_undBICUBIC><div class=IEntry><a href="../files/gd-h.html#GD_BICUBIC" target=_parent class=ISymbol>GD_BICUBIC</a></div></div><div class=SRResult id=SR_GD_undBICUBIC_undFIXED><div class=IEntry><a href="../files/gd-h.html#GD_BICUBIC_FIXED" target=_parent class=ISymbol>GD_BICUBIC_FIXED</a></div></div><div class=SRResult id=SR_GD_undBILINEAR_undFIXED><div class=IEntry><a href="../files/gd-h.html#GD_BILINEAR_FIXED" target=_parent class=ISymbol>GD_BILINEAR_FIXED</a></div></div><div class=SRResult id=SR_GD_undBLACKMAN><div class=IEntry><a href="../files/gd-h.html#GD_BLACKMAN" target=_parent class=ISymbol>GD_BLACKMAN</a></div></div><div class=SRResult id=SR_GD_undBOX><div class=IEntry><a href="../files/gd-h.html#GD_BOX" target=_parent class=ISymbol>GD_BOX</a></div></div><div class=SRResult id=SR_GD_undBSPLINE><div class=IEntry><a href="../files/gd-h.html#GD_BSPLINE" target=_parent class=ISymbol>GD_BSPLINE</a></div></div><div class=SRResult id=SR_GD_undCATMULLROM><div class=IEntry><a href="../files/gd-h.html#GD_CATMULLROM" target=_parent class=ISymbol>GD_CATMULLROM</a></div></div><div class=SRResult id=SR_GD_undCROP_undBLACK><div class=IEntry><a href="../files/gd-h.html#GD_CROP_BLACK" target=_parent class=ISymbol>GD_CROP_BLACK</a></div></div><div class=SRResult id=SR_GD_undCROP_undDEFAULT><div class=IEntry><a href="../files/gd-h.html#GD_CROP_DEFAULT" target=_parent class=ISymbol>GD_CROP_DEFAULT</a></div></div><div class=SRResult id=SR_GD_undCROP_undSIDES><div class=IEntry><a href="../files/gd-h.html#GD_CROP_SIDES" target=_parent class=ISymbol>GD_CROP_SIDES</a></div></div><div class=SRResult id=SR_GD_undCROP_undTRANSPARENT><div class=IEntry><a href="../files/gd-h.html#GD_CROP_TRANSPARENT" target=_parent class=ISymbol>GD_CROP_TRANSPARENT</a></div></div><div class=SRResult id=SR_GD_undCROP_undWHITE><div class=IEntry><a href="../files/gd-h.html#GD_CROP_WHITE" target=_parent class=ISymbol>GD_CROP_WHITE</a></div></div><div class=SRResult id=SR_gd_undfilename_perc><div class=IEntry><a href="../files/gd_filename-c.html#gd_filename.c" target=_parent class=ISymbol>gd_filename.c</a></div></div><div class=SRResult id=SR_GD_undGAUSSIAN><div class=IEntry><a href="../files/gd-h.html#GD_GAUSSIAN" target=_parent class=ISymbol>GD_GAUSSIAN</a></div></div><div class=SRResult id=SR_GD_undGENERALIZED_undCUBIC><div class=IEntry><a href="../files/gd-h.html#GD_GENERALIZED_CUBIC" target=_parent class=ISymbol>GD_GENERALIZED_CUBIC</a></div></div><div class=SRResult id=SR_GD_undHAMMING><div class=IEntry><a href="../files/gd-h.html#GD_HAMMING" target=_parent class=ISymbol>GD_HAMMING</a></div></div><div class=SRResult id=SR_GD_undHANNING><div class=IEntry><a href="../files/gd-h.html#GD_HANNING" target=_parent class=ISymbol>GD_HANNING</a></div></div><div class=SRResult id=SR_GD_undHERMITE><div class=IEntry><a href="../files/gd-h.html#GD_HERMITE" target=_parent class=ISymbol>GD_HERMITE</a></div></div><div class=SRResult id=SR_gd_undinterpolation_perc><div class=IEntry><a href="../files/gd_interpolation-c.html#gd_interpolation.c" target=_parent class=ISymbol>gd_interpolation.c</a></div></div><div class=SRResult id=SR_gd_undio_perh><div class=IEntry><a href="../files/gd_io-h.html#gd_io.h" target=_parent class=ISymbol>gd_io.h</a></div></div><div class=SRResult id=SR_gd_undio_unddp_perc><div class=IEntry><a href="../files/gd_io_dp-c.html#gd_io_dp.c" target=_parent class=ISymbol>gd_io_dp.c</a></div></div><div class=SRResult id=SR_GD_undLINEAR><div class=IEntry><a href="../files/gd-h.html#GD_LINEAR" target=_parent class=ISymbol>GD_LINEAR</a></div></div><div class=SRResult id=SR_GD_undMITCHELL><div class=IEntry><a href="../files/gd-h.html#GD_MITCHELL" target=_parent class=ISymbol>GD_MITCHELL</a></div></div><div class=SRResult id=SR_GD_undNEAREST_undNEIGHBOUR><div class=IEntry><a href="../files/gd-h.html#GD_NEAREST_NEIGHBOUR" target=_parent class=ISymbol>GD_NEAREST_NEIGHBOUR</a></div></div><div class=SRResult id=SR_GD_undPOWER><div class=IEntry><a href="../files/gd-h.html#GD_POWER" target=_parent class=ISymbol>GD_POWER</a></div></div><div class=SRResult id=SR_GD_undQUADRATIC><div class=IEntry><a href="../files/gd-h.html#GD_QUADRATIC" target=_parent class=ISymbol>GD_QUADRATIC</a></div></div><div class=SRResult id=SR_GD_undQUANT_undDEFAULT><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_DEFAULT" target=_parent class=ISymbol>GD_QUANT_DEFAULT</a></div></div><div class=SRResult id=SR_GD_undQUANT_undJQUANT><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_JQUANT" target=_parent class=ISymbol>GD_QUANT_JQUANT</a></div></div><div class=SRResult id=SR_GD_undQUANT_undLIQ><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_LIQ" target=_parent class=ISymbol>GD_QUANT_LIQ</a></div></div><div class=SRResult id=SR_GD_undQUANT_undNEUQUANT><div class=IEntry><a href="../files/gd-h.html#GD_QUANT_NEUQUANT" target=_parent class=ISymbol>GD_QUANT_NEUQUANT</a></div></div><div class=SRResult id=SR_GD_undSINC><div class=IEntry><a href="../files/gd-h.html#GD_SINC" target=_parent class=ISymbol>GD_SINC</a></div></div><div class=SRResult id=SR_gd_undss_perc><div class=IEntry><a href="../files/gd_ss-c.html#gd_ss.c" target=_parent class=ISymbol>gd_ss.c</a></div></div><div class=SRResult id=SR_GD_undTRIANGLE><div class=IEntry><a href="../files/gd-h.html#GD_TRIANGLE" target=_parent class=ISymbol>GD_TRIANGLE</a></div></div><div class=SRResult id=SR_gd_undversion_perc><div class=IEntry><a href="../files/gd_version-c.html#gd_version.c" target=_parent class=ISymbol>gd_version.c</a></div></div><div class=SRResult id=SR_GD_undWEIGHTED4><div class=IEntry><a href="../files/gd-h.html#GD_WEIGHTED4" target=_parent class=ISymbol>GD_WEIGHTED4</a></div></div><div class=SRResult id=SR_GD2_spcIO><div class=IEntry><a href="../files/gd_gd2-c.html#GD2_IO" target=_parent class=ISymbol>GD2 IO</a></div></div><div class=SRResult id=SR_gdAffineApplyToPointF><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineApplyToPointF" target=_parent class=ISymbol>gdAffineApplyToPointF</a></div></div><div class=SRResult id=SR_gdAffineConcat><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineConcat" target=_parent class=ISymbol>gdAffineConcat</a></div></div><div class=SRResult id=SR_gdAffineEqual><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineEqual" target=_parent class=ISymbol>gdAffineEqual</a></div></div><div class=SRResult id=SR_gdAffineFlip><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineFlip" target=_parent class=ISymbol>gdAffineFlip</a></div></div><div class=SRResult id=SR_gdAffineIdentity><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineIdentity" target=_parent class=ISymbol>gdAffineIdentity</a></div></div><div class=SRResult id=SR_gdAffineInvert><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineInvert" target=_parent class=ISymbol>gdAffineInvert</a></div></div><div class=SRResult id=SR_gdAffineRectilinear><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRectilinear" target=_parent class=ISymbol>gdAffineRectilinear</a></div></div><div class=SRResult id=SR_gdAffineRotate><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineRotate" target=_parent class=ISymbol>gdAffineRotate</a></div></div><div class=SRResult id=SR_gdAffineScale><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineScale" target=_parent class=ISymbol>gdAffineScale</a></div></div><div class=SRResult id=SR_gdAffineShearHorizontal><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearHorizontal" target=_parent class=ISymbol>gdAffineShearHorizontal</a></div></div><div class=SRResult id=SR_gdAffineShearVertical><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineShearVertical" target=_parent class=ISymbol>gdAffineShearVertical</a></div></div><div class=SRResult id=SR_gdAffineTranslate><div class=IEntry><a href="../files/gd_matrix-c.html#gdAffineTranslate" target=_parent class=ISymbol>gdAffineTranslate</a></div></div><div class=SRResult id=SR_gdAlphaBlend><div class=IEntry><a href="../files/gd-c.html#gdAlphaBlend" target=_parent class=ISymbol>gdAlphaBlend</a></div></div><div class=SRResult id=SR_gdAntiAliased><div class=IEntry><a href="../files/gd-h.html#gdAntiAliased" target=_parent class=ISymbol>gdAntiAliased</a></div></div><div class=SRResult id=SR_gdBrushed><div class=IEntry><a href="../files/gd-h.html#gdBrushed" target=_parent class=ISymbol>gdBrushed</a></div></div><div class=SRResult id=SR_gdClearErrorMethod><div class=IEntry><a href="../files/gd-c.html#gdClearErrorMethod" target=_parent class=ISymbol>gdClearErrorMethod</a></div></div><div class=SRResult id=SR_gdColorMapLookup><div class=IEntry><a href="../files/gd_color_map-c.html#gdColorMapLookup" target=_parent class=ISymbol>gdColorMapLookup</a></div></div><div class=SRResult id=SR_gdCropMode><div class=IEntry><a href="../files/gd-h.html#gdCropMode" target=_parent class=ISymbol>gdCropMode</a></div></div><div class=SRResult id=SR_gdDisposalNone><div class=IEntry><a href="../files/gd-h.html#gdDisposalNone" target=_parent class=ISymbol>gdDisposalNone</a></div></div><div class=SRResult id=SR_gdDisposalRestoreBackground><div class=IEntry><a href="../files/gd-h.html#gdDisposalRestoreBackground" target=_parent class=ISymbol>gdDisposalRestoreBackground</a></div></div><div class=SRResult id=SR_gdDisposalRestorePrevious><div class=IEntry><a href="../files/gd-h.html#gdDisposalRestorePrevious" target=_parent class=ISymbol>gdDisposalRestorePrevious</a></div></div><div class=SRResult id=SR_gdDisposalUnknown><div class=IEntry><a href="../files/gd-h.html#gdDisposalUnknown" target=_parent class=ISymbol>gdDisposalUnknown</a></div></div><div class=SRResult id=SR_gdDPExtractData><div class=IEntry><a href="../files/gd_io_dp-c.html#gdDPExtractData" target=_parent class=ISymbol>gdDPExtractData</a></div></div><div class=SRResult id=SR_gdExtraVersion><div class=IEntry><a href="../files/gd_version-c.html#gdExtraVersion" target=_parent class=ISymbol>gdExtraVersion</a></div></div><div class=SRResult id=SR_gdFont><div class=IEntry><a href="../files/gd-h.html#gdFont" target=_parent class=ISymbol>gdFont</a></div></div><div class=SRResult id=SR_gdFontCacheSetup><div class=IEntry><a href="../files/gdft-c.html#gdFontCacheSetup" target=_parent class=ISymbol>gdFontCacheSetup</a></div></div><div class=SRResult id=SR_gdFontCacheShutdown><div class=IEntry><a href="../files/gdft-c.html#gdFontCacheShutdown" target=_parent class=ISymbol>gdFontCacheShutdown</a></div></div><div class=SRResult id=SR_gdFontGetGiant><div class=IEntry><a href="../files/gdfontg-c.html#gdFontGetGiant" target=_parent class=ISymbol>gdFontGetGiant</a></div></div><div class=SRResult id=SR_gdFontGetLarge><div class=IEntry><a href="../files/gdfontl-c.html#gdFontGetLarge" target=_parent class=ISymbol>gdFontGetLarge</a></div></div><div class=SRResult id=SR_gdFontGetMediumBold><div class=IEntry><a href="../files/gdfontmb-c.html#gdFontGetMediumBold" target=_parent class=ISymbol>gdFontGetMediumBold</a></div></div><div class=SRResult id=SR_gdFontGetSmall><div class=IEntry><a href="../files/gdfonts-c.html#gdFontGetSmall" target=_parent class=ISymbol>gdFontGetSmall</a></div></div><div class=SRResult id=SR_gdFontGetTiny><div class=IEntry><a href="../files/gdfontt-c.html#gdFontGetTiny" target=_parent class=ISymbol>gdFontGetTiny</a></div></div><div class=SRResult id=SR_gdFontPtr><div class=IEntry><a href="../files/gd-h.html#gdFontPtr" target=_parent class=ISymbol>gdFontPtr</a></div></div><div class=SRResult id=SR_gdFree><div class=IEntry><a href="../files/gdhelpers-c.html#gdFree" target=_parent class=ISymbol>gdFree</a></div></div><div class=SRResult id=SR_gdFreeFontCache><div class=IEntry><a href="../files/gdft-c.html#gdFreeFontCache" target=_parent class=ISymbol>gdFreeFontCache</a></div></div><div class=SRResult id=SR_gdFTStringExtra><div class=IEntry><a href="../files/gd-h.html#gdFTStringExtra" target=_parent class=ISymbol>gdFTStringExtra</a></div></div><div class=SRResult id=SR_gdFTStringExtraPtr><div class=IEntry><a href="../files/gd-h.html#gdFTStringExtraPtr" target=_parent class=ISymbol>gdFTStringExtraPtr</a></div></div><div class=SRResult id=SR_gdFTUseFontConfig><div class=IEntry><a href="../files/gdft-c.html#gdFTUseFontConfig" target=_parent class=ISymbol>gdFTUseFontConfig</a></div></div><div class=SRResult id=SR_gdfx_perc><div class=IEntry><a href="../files/gdfx-c.html#gdfx.c" target=_parent class=ISymbol>gdfx.c</a></div></div><div class=SRResult id=SR_gdImage><div class=IEntry><a href="../files/gd-h.html#gdImage" target=_parent class=ISymbol>gdImage</a></div></div><div class=SRResult id=SR_gdImageAABlend><div class=IEntry><a href="../files/gd-c.html#gdImageAABlend" target=_parent class=ISymbol>gdImageAABlend</a></div></div><div class=SRResult id=SR_gdImageAlpha><div class=IEntry><a href="../files/gd-h.html#gdImageAlpha" target=_parent class=ISymbol>gdImageAlpha</a></div></div><div class=SRResult id=SR_gdImageAlphaBlending><div class=IEntry><a href="../files/gd-c.html#gdImageAlphaBlending" target=_parent class=ISymbol>gdImageAlphaBlending</a></div></div><div class=SRResult id=SR_gdImageArc><div class=IEntry><a href="../files/gd-c.html#gdImageArc" target=_parent class=ISymbol>gdImageArc</a></div></div><div class=SRResult id=SR_gdImageBlue><div class=IEntry><a href="../files/gd-h.html#gdImageBlue" target=_parent class=ISymbol>gdImageBlue</a></div></div><div class=SRResult id=SR_gdImageBmp><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmp" target=_parent class=ISymbol>gdImageBmp</a></div></div><div class=SRResult id=SR_gdImageBmpCtx><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpCtx" target=_parent class=ISymbol>gdImageBmpCtx</a></div></div><div class=SRResult id=SR_gdImageBmpPtr><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageBmpPtr" target=_parent class=ISymbol>gdImageBmpPtr</a></div></div><div class=SRResult id=SR_gdImageBoundsSafe><div class=IEntry><a href="../files/gd-c.html#gdImageBoundsSafe" target=_parent class=ISymbol>gdImageBoundsSafe</a></div></div><div class=SRResult id=SR_gdImageBrightness><div class=IEntry><a href="../files/gd_filter-c.html#gdImageBrightness" target=_parent class=ISymbol>gdImageBrightness</a></div></div><div class=SRResult id=SR_gdImageChar><div class=IEntry><a href="../files/gd-c.html#gdImageChar" target=_parent class=ISymbol>gdImageChar</a></div></div><div class=SRResult id=SR_gdImageCharUp><div class=IEntry><a href="../files/gd-c.html#gdImageCharUp" target=_parent class=ISymbol>gdImageCharUp</a></div></div><div class=SRResult id=SR_gdImageClone><div class=IEntry><a href="../files/gd-c.html#gdImageClone" target=_parent class=ISymbol>gdImageClone</a></div></div><div class=SRResult id=SR_gdImageColor><div class=IEntry><a href="../files/gd_filter-c.html#gdImageColor" target=_parent class=ISymbol>gdImageColor</a></div></div><div class=SRResult id=SR_gdImageColorAllocate><div class=IEntry><a href="../files/gd-c.html#gdImageColorAllocate" target=_parent class=ISymbol>gdImageColorAllocate</a></div></div><div class=SRResult id=SR_gdImageColorAllocateAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorAllocateAlpha" target=_parent class=ISymbol>gdImageColorAllocateAlpha</a></div></div><div class=SRResult id=SR_gdImageColorClosest><div class=IEntry><a href="../files/gd-c.html#gdImageColorClosest" target=_parent class=ISymbol>gdImageColorClosest</a></div></div><div class=SRResult id=SR_gdImageColorClosestAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorClosestAlpha" target=_parent class=ISymbol>gdImageColorClosestAlpha</a></div></div><div class=SRResult id=SR_gdImageColorClosestHWB><div class=IEntry><a href="../files/gd-c.html#gdImageColorClosestHWB" target=_parent class=ISymbol>gdImageColorClosestHWB</a></div></div><div class=SRResult id=SR_gdImageColorDeallocate><div class=IEntry><a href="../files/gd-c.html#gdImageColorDeallocate" target=_parent class=ISymbol>gdImageColorDeallocate</a></div></div><div class=SRResult id=SR_gdImageColorExact><div class=IEntry><a href="../files/gd-c.html#gdImageColorExact" target=_parent class=ISymbol>gdImageColorExact</a></div></div><div class=SRResult id=SR_gdImageColorExactAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorExactAlpha" target=_parent class=ISymbol>gdImageColorExactAlpha</a></div></div><div class=SRResult id=SR_gdImageColorMatch><div class=IEntry><a href="../files/gd_color_match-c.html#gdImageColorMatch" target=_parent class=ISymbol>gdImageColorMatch</a></div></div><div class=SRResult id=SR_gdImageColorReplace><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplace" target=_parent class=ISymbol>gdImageColorReplace</a></div></div><div class=SRResult id=SR_gdImageColorReplaceArray><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceArray" target=_parent class=ISymbol>gdImageColorReplaceArray</a></div></div><div class=SRResult id=SR_gdImageColorReplaceCallback><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceCallback" target=_parent class=ISymbol>gdImageColorReplaceCallback</a></div></div><div class=SRResult id=SR_gdImageColorReplaceThreshold><div class=IEntry><a href="../files/gd-c.html#gdImageColorReplaceThreshold" target=_parent class=ISymbol>gdImageColorReplaceThreshold</a></div></div><div class=SRResult id=SR_gdImageColorResolve><div class=IEntry><a href="../files/gd-c.html#gdImageColorResolve" target=_parent class=ISymbol>gdImageColorResolve</a></div></div><div class=SRResult id=SR_gdImageColorResolveAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageColorResolveAlpha" target=_parent class=ISymbol>gdImageColorResolveAlpha</a></div></div><div class=SRResult id=SR_gdImageColorsTotal><div class=IEntry><a href="../files/gd-h.html#gdImageColorsTotal" target=_parent class=ISymbol>gdImageColorsTotal</a></div></div><div class=SRResult id=SR_gdImageColorTransparent><div class=IEntry><a href="../files/gd-c.html#gdImageColorTransparent" target=_parent class=ISymbol>gdImageColorTransparent</a></div></div><div class=SRResult id=SR_gdImageCompare><div class=IEntry><a href="../files/gd-c.html#gdImageCompare" target=_parent class=ISymbol>gdImageCompare</a></div></div><div class=SRResult id=SR_gdImageContrast><div class=IEntry><a href="../files/gd_filter-c.html#gdImageContrast" target=_parent class=ISymbol>gdImageContrast</a></div></div><div class=SRResult id=SR_gdImageConvolution><div class=IEntry><a href="../files/gd_filter-c.html#gdImageConvolution" target=_parent class=ISymbol>gdImageConvolution</a></div></div><div class=SRResult id=SR_gdImageCopy><div class=IEntry><a href="../files/gd-c.html#gdImageCopy" target=_parent class=ISymbol>gdImageCopy</a></div></div><div class=SRResult id=SR_gdImageCopyGaussianBlurred><div class=IEntry><a href="../files/gd_filter-c.html#gdImageCopyGaussianBlurred" target=_parent class=ISymbol>gdImageCopyGaussianBlurred</a></div></div><div class=SRResult id=SR_gdImageCopyMerge><div class=IEntry><a href="../files/gd-c.html#gdImageCopyMerge" target=_parent class=ISymbol>gdImageCopyMerge</a></div></div><div class=SRResult id=SR_gdImageCopyMergeGray><div class=IEntry><a href="../files/gd-c.html#gdImageCopyMergeGray" target=_parent class=ISymbol>gdImageCopyMergeGray</a></div></div><div class=SRResult id=SR_gdImageCopyResampled><div class=IEntry><a href="../files/gd-c.html#gdImageCopyResampled" target=_parent class=ISymbol>gdImageCopyResampled</a></div></div><div class=SRResult id=SR_gdImageCopyResized><div class=IEntry><a href="../files/gd-c.html#gdImageCopyResized" target=_parent class=ISymbol>gdImageCopyResized</a></div></div><div class=SRResult id=SR_gdImageCopyRotated><div class=IEntry><a href="../files/gd-c.html#gdImageCopyRotated" target=_parent class=ISymbol>gdImageCopyRotated</a></div></div><div class=SRResult id=SR_gdImageCreate><div class=IEntry><a href="../files/gd-c.html#gdImageCreate" target=_parent class=ISymbol>gdImageCreate</a></div></div><div class=SRResult id=SR_gdImageCreateFromBmp><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmp" target=_parent class=ISymbol>gdImageCreateFromBmp</a></div></div><div class=SRResult id=SR_gdImageCreateFromBmpCtx><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpCtx" target=_parent class=ISymbol>gdImageCreateFromBmpCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromBmpPtr><div class=IEntry><a href="../files/gd_bmp-c.html#gdImageCreateFromBmpPtr" target=_parent class=ISymbol>gdImageCreateFromBmpPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromFile><div class=IEntry><a href="../files/gd_filename-c.html#gdImageCreateFromFile" target=_parent class=ISymbol>gdImageCreateFromFile</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd><div class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGd" target=_parent class=ISymbol>gdImageCreateFromGd</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2" target=_parent class=ISymbol>gdImageCreateFromGd2</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2Ctx><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ctx" target=_parent class=ISymbol>gdImageCreateFromGd2Ctx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2Part><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Part" target=_parent class=ISymbol>gdImageCreateFromGd2Part</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2PartCtx><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartCtx" target=_parent class=ISymbol>gdImageCreateFromGd2PartCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2PartPtr><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2PartPtr" target=_parent class=ISymbol>gdImageCreateFromGd2PartPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromGd2Ptr><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageCreateFromGd2Ptr" target=_parent class=ISymbol>gdImageCreateFromGd2Ptr</a></div></div><div class=SRResult id=SR_gdImageCreateFromGdCtx><div class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdCtx" target=_parent class=ISymbol>gdImageCreateFromGdCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGdPtr><div class=IEntry><a href="../files/gd_gd-c.html#gdImageCreateFromGdPtr" target=_parent class=ISymbol>gdImageCreateFromGdPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromGif><div class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGif" target=_parent class=ISymbol>gdImageCreateFromGif</a></div></div><div class=SRResult id=SR_gdImageCreateFromGifCtx><div class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifCtx" target=_parent class=ISymbol>gdImageCreateFromGifCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromGifPtr><div class=IEntry><a href="../files/gd_gif_in-c.html#gdImageCreateFromGifPtr" target=_parent class=ISymbol>gdImageCreateFromGifPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpeg><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpeg" target=_parent class=ISymbol>gdImageCreateFromJpeg</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegCtx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtx" target=_parent class=ISymbol>gdImageCreateFromJpegCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegCtxEx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegCtxEx" target=_parent class=ISymbol>gdImageCreateFromJpegCtxEx</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegEx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegEx" target=_parent class=ISymbol>gdImageCreateFromJpegEx</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegPtr><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtr" target=_parent class=ISymbol>gdImageCreateFromJpegPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromJpegPtrEx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageCreateFromJpegPtrEx" target=_parent class=ISymbol>gdImageCreateFromJpegPtrEx</a></div></div><div class=SRResult id=SR_gdImageCreateFromPng><div class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPng" target=_parent class=ISymbol>gdImageCreateFromPng</a></div></div><div class=SRResult id=SR_gdImageCreateFromPngCtx><div class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngCtx" target=_parent class=ISymbol>gdImageCreateFromPngCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromPngPtr><div class=IEntry><a href="../files/gd_png-c.html#gdImageCreateFromPngPtr" target=_parent class=ISymbol>gdImageCreateFromPngPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromPngSource><div class=IEntry><a href="../files/gd_ss-c.html#gdImageCreateFromPngSource" target=_parent class=ISymbol>gdImageCreateFromPngSource</a></div></div><div class=SRResult id=SR_gdImageCreateFromTga><div class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTga" target=_parent class=ISymbol>gdImageCreateFromTga</a></div></div><div class=SRResult id=SR_gdImageCreateFromTgaCtx><div class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaCtx" target=_parent class=ISymbol>gdImageCreateFromTgaCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromTgaPtr><div class=IEntry><a href="../files/gd_tga-c.html#gdImageCreateFromTgaPtr" target=_parent class=ISymbol>gdImageCreateFromTgaPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromTIFF><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTIFF" target=_parent class=ISymbol>gdImageCreateFromTIFF</a></div></div><div class=SRResult id=SR_gdImageCreateFromTiffCtx><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffCtx" target=_parent class=ISymbol>gdImageCreateFromTiffCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromTiffPtr><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageCreateFromTiffPtr" target=_parent class=ISymbol>gdImageCreateFromTiffPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromWBMP><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMP" target=_parent class=ISymbol>gdImageCreateFromWBMP</a></div></div><div class=SRResult id=SR_gdImageCreateFromWBMPCtx><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPCtx" target=_parent class=ISymbol>gdImageCreateFromWBMPCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromWBMPPtr><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageCreateFromWBMPPtr" target=_parent class=ISymbol>gdImageCreateFromWBMPPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromWebp><div class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebp" target=_parent class=ISymbol>gdImageCreateFromWebp</a></div></div><div class=SRResult id=SR_gdImageCreateFromWebpCtx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpCtx" target=_parent class=ISymbol>gdImageCreateFromWebpCtx</a></div></div><div class=SRResult id=SR_gdImageCreateFromWebpPtr><div class=IEntry><a href="../files/gd_webp-c.html#gdImageCreateFromWebpPtr" target=_parent class=ISymbol>gdImageCreateFromWebpPtr</a></div></div><div class=SRResult id=SR_gdImageCreateFromXbm><div class=IEntry><a href="../files/gd_xbm-c.html#gdImageCreateFromXbm" target=_parent class=ISymbol>gdImageCreateFromXbm</a></div></div><div class=SRResult id=SR_gdImageCreateFromXpm><div class=IEntry><a href="../files/gdxpm-c.html#gdImageCreateFromXpm" target=_parent class=ISymbol>gdImageCreateFromXpm</a></div></div><div class=SRResult id=SR_gdImageCreatePaletteFromTrueColor><div class=IEntry><a href="../files/gd_topal-c.html#gdImageCreatePaletteFromTrueColor" target=_parent class=ISymbol>gdImageCreatePaletteFromTrueColor</a></div></div><div class=SRResult id=SR_gdImageCreateTrueColor><div class=IEntry><a href="../files/gd-c.html#gdImageCreateTrueColor" target=_parent class=ISymbol>gdImageCreateTrueColor</a></div></div><div class=SRResult id=SR_gdImageCrop><div class=IEntry><a href="../files/gd_crop-c.html#gdImageCrop" target=_parent class=ISymbol>gdImageCrop</a></div></div><div class=SRResult id=SR_gdImageCropAuto><div class=IEntry><a href="../files/gd_crop-c.html#gdImageCropAuto" target=_parent class=ISymbol>gdImageCropAuto</a></div></div><div class=SRResult id=SR_gdImageCropThreshold><div class=IEntry><a href="../files/gd_crop-c.html#gdImageCropThreshold" target=_parent class=ISymbol>gdImageCropThreshold</a></div></div><div class=SRResult id=SR_gdImageDashedLine><div class=IEntry><a href="../files/gd-c.html#gdImageDashedLine" target=_parent class=ISymbol>gdImageDashedLine</a></div></div><div class=SRResult id=SR_gdImageDestroy><div class=IEntry><a href="../files/gd-c.html#gdImageDestroy" target=_parent class=ISymbol>gdImageDestroy</a></div></div><div class=SRResult id=SR_gdImageEdgeDetectQuick><div class=IEntry><a href="../files/gd_filter-c.html#gdImageEdgeDetectQuick" target=_parent class=ISymbol>gdImageEdgeDetectQuick</a></div></div><div class=SRResult id=SR_gdImageEllipse><div class=IEntry><a href="../files/gd-c.html#gdImageEllipse" target=_parent class=ISymbol>gdImageEllipse</a></div></div><div class=SRResult id=SR_gdImageEmboss><div class=IEntry><a href="../files/gd_filter-c.html#gdImageEmboss" target=_parent class=ISymbol>gdImageEmboss</a></div></div><div class=SRResult id=SR_gdImageFile><div class=IEntry><a href="../files/gd_filename-c.html#gdImageFile" target=_parent class=ISymbol>gdImageFile</a></div></div><div class=SRResult id=SR_gdImageFill><div class=IEntry><a href="../files/gd-c.html#gdImageFill" target=_parent class=ISymbol>gdImageFill</a></div></div><div class=SRResult id=SR_gdImageFilledArc><div class=IEntry><a href="../files/gd-c.html#gdImageFilledArc" target=_parent class=ISymbol>gdImageFilledArc</a></div></div><div class=SRResult id=SR_gdImageFilledEllipse><div class=IEntry><a href="../files/gd-c.html#gdImageFilledEllipse" target=_parent class=ISymbol>gdImageFilledEllipse</a></div></div><div class=SRResult id=SR_gdImageFilledPolygon><div class=IEntry><a href="../files/gd-c.html#gdImageFilledPolygon" target=_parent class=ISymbol>gdImageFilledPolygon</a></div></div><div class=SRResult id=SR_gdImageFilledRectangle><div class=IEntry><a href="../files/gd-c.html#gdImageFilledRectangle" target=_parent class=ISymbol>gdImageFilledRectangle</a></div></div><div class=SRResult id=SR_gdImageFillToBorder><div class=IEntry><a href="../files/gd-c.html#gdImageFillToBorder" target=_parent class=ISymbol>gdImageFillToBorder</a></div></div><div class=SRResult id=SR_gdImageFlipBoth><div class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipBoth" target=_parent class=ISymbol>gdImageFlipBoth</a></div></div><div class=SRResult id=SR_gdImageFlipHorizontal><div class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipHorizontal" target=_parent class=ISymbol>gdImageFlipHorizontal</a></div></div><div class=SRResult id=SR_gdImageFlipVertical><div class=IEntry><a href="../files/gd_transform-c.html#gdImageFlipVertical" target=_parent class=ISymbol>gdImageFlipVertical</a></div></div><div class=SRResult id=SR_gdImageGaussianBlur><div class=IEntry><a href="../files/gd_filter-c.html#gdImageGaussianBlur" target=_parent class=ISymbol>gdImageGaussianBlur</a></div></div><div class=SRResult id=SR_gdImageGd><div class=IEntry><a href="../files/gd_gd-c.html#gdImageGd" target=_parent class=ISymbol>gdImageGd</a></div></div><div class=SRResult id=SR_gdImageGd2><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2" target=_parent class=ISymbol>gdImageGd2</a></div></div><div class=SRResult id=SR_gdImageGd2Ptr><div class=IEntry><a href="../files/gd_gd2-c.html#gdImageGd2Ptr" target=_parent class=ISymbol>gdImageGd2Ptr</a></div></div><div class=SRResult id=SR_gdImageGdPtr><div class=IEntry><a href="../files/gd_gd-c.html#gdImageGdPtr" target=_parent class=ISymbol>gdImageGdPtr</a></div></div><div class=SRResult id=SR_gdImageGetClip><div class=IEntry><a href="../files/gd-c.html#gdImageGetClip" target=_parent class=ISymbol>gdImageGetClip</a></div></div><div class=SRResult id=SR_gdImageGetInterlaced><div class=IEntry><a href="../files/gd-h.html#gdImageGetInterlaced" target=_parent class=ISymbol>gdImageGetInterlaced</a></div></div><div class=SRResult id=SR_gdImageGetInterpolationMethod><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageGetInterpolationMethod" target=_parent class=ISymbol>gdImageGetInterpolationMethod</a></div></div><div class=SRResult id=SR_gdImageGetPixel><div class=IEntry><a href="../files/gd-c.html#gdImageGetPixel" target=_parent class=ISymbol>gdImageGetPixel</a></div></div><div class=SRResult id=SR_gdImageGetTransparent><div class=IEntry><a href="../files/gd-h.html#gdImageGetTransparent" target=_parent class=ISymbol>gdImageGetTransparent</a></div></div><div class=SRResult id=SR_gdImageGetTrueColorPixel><div class=IEntry><a href="../files/gd-c.html#gdImageGetTrueColorPixel" target=_parent class=ISymbol>gdImageGetTrueColorPixel</a></div></div><div class=SRResult id=SR_gdImageGif><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGif" target=_parent class=ISymbol>gdImageGif</a></div></div><div class=SRResult id=SR_gdImageGifAnim><div class=IEntry><a href="../files/gd-h.html#gdImageGifAnim" target=_parent class=ISymbol>gdImageGifAnim</a></div></div><div class=SRResult id=SR_gdImageGifAnimAdd><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAdd" target=_parent class=ISymbol>gdImageGifAnimAdd</a></div></div><div class=SRResult id=SR_gdImageGifAnimAddCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddCtx" target=_parent class=ISymbol>gdImageGifAnimAddCtx</a></div></div><div class=SRResult id=SR_gdImageGifAnimAddPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimAddPtr" target=_parent class=ISymbol>gdImageGifAnimAddPtr</a></div></div><div class=SRResult id=SR_gdImageGifAnimBegin><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBegin" target=_parent class=ISymbol>gdImageGifAnimBegin</a></div></div><div class=SRResult id=SR_gdImageGifAnimBeginCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginCtx" target=_parent class=ISymbol>gdImageGifAnimBeginCtx</a></div></div><div class=SRResult id=SR_gdImageGifAnimBeginPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimBeginPtr" target=_parent class=ISymbol>gdImageGifAnimBeginPtr</a></div></div><div class=SRResult id=SR_gdImageGifAnimEnd><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEnd" target=_parent class=ISymbol>gdImageGifAnimEnd</a></div></div><div class=SRResult id=SR_gdImageGifAnimEndCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndCtx" target=_parent class=ISymbol>gdImageGifAnimEndCtx</a></div></div><div class=SRResult id=SR_gdImageGifAnimEndPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifAnimEndPtr" target=_parent class=ISymbol>gdImageGifAnimEndPtr</a></div></div><div class=SRResult id=SR_gdImageGifCtx><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifCtx" target=_parent class=ISymbol>gdImageGifCtx</a></div></div><div class=SRResult id=SR_gdImageGifPtr><div class=IEntry><a href="../files/gd_gif_out-c.html#gdImageGifPtr" target=_parent class=ISymbol>gdImageGifPtr</a></div></div><div class=SRResult id=SR_gdImageGrayScale><div class=IEntry><a href="../files/gd_filter-c.html#gdImageGrayScale" target=_parent class=ISymbol>gdImageGrayScale</a></div></div><div class=SRResult id=SR_gdImageGreen><div class=IEntry><a href="../files/gd-h.html#gdImageGreen" target=_parent class=ISymbol>gdImageGreen</a></div></div><div class=SRResult id=SR_gdImageInterlace><div class=IEntry><a href="../files/gd-c.html#gdImageInterlace" target=_parent class=ISymbol>gdImageInterlace</a></div></div><div class=SRResult id=SR_gdImageJpeg><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpeg" target=_parent class=ISymbol>gdImageJpeg</a></div></div><div class=SRResult id=SR_gdImageJpegCtx><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegCtx" target=_parent class=ISymbol>gdImageJpegCtx</a></div></div><div class=SRResult id=SR_gdImageJpegPtr><div class=IEntry><a href="../files/gd_jpeg-c.html#gdImageJpegPtr" target=_parent class=ISymbol>gdImageJpegPtr</a></div></div><div class=SRResult id=SR_gdImageLine><div class=IEntry><a href="../files/gd-c.html#gdImageLine" target=_parent class=ISymbol>gdImageLine</a></div></div><div class=SRResult id=SR_gdImageMeanRemoval><div class=IEntry><a href="../files/gd_filter-c.html#gdImageMeanRemoval" target=_parent class=ISymbol>gdImageMeanRemoval</a></div></div><div class=SRResult id=SR_gdImageNegate><div class=IEntry><a href="../files/gd_filter-c.html#gdImageNegate" target=_parent class=ISymbol>gdImageNegate</a></div></div><div class=SRResult id=SR_gdImageNeuQuant><div class=IEntry><a href="../files/gd_nnquant-c.html#gdImageNeuQuant" target=_parent class=ISymbol>gdImageNeuQuant</a></div></div><div class=SRResult id=SR_gdImageOpenPolygon><div class=IEntry><a href="../files/gd-c.html#gdImageOpenPolygon" target=_parent class=ISymbol>gdImageOpenPolygon</a></div></div><div class=SRResult id=SR_gdImagePaletteCopy><div class=IEntry><a href="../files/gd-c.html#gdImagePaletteCopy" target=_parent class=ISymbol>gdImagePaletteCopy</a></div></div><div class=SRResult id=SR_gdImagePalettePixel><div class=IEntry><a href="../files/gd-h.html#gdImagePalettePixel" target=_parent class=ISymbol>gdImagePalettePixel</a></div></div><div class=SRResult id=SR_gdImagePaletteToTrueColor><div class=IEntry><a href="../files/gd-c.html#gdImagePaletteToTrueColor" target=_parent class=ISymbol>gdImagePaletteToTrueColor</a></div></div><div class=SRResult id=SR_gdImagePixelate><div class=IEntry><a href="../files/gd_filter-c.html#gdImagePixelate" target=_parent class=ISymbol>gdImagePixelate</a></div></div><div class=SRResult id=SR_gdImagePng><div class=IEntry><a href="../files/gd_png-c.html#gdImagePng" target=_parent class=ISymbol>gdImagePng</a></div></div><div class=SRResult id=SR_gdImagePngCtx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtx" target=_parent class=ISymbol>gdImagePngCtx</a></div></div><div class=SRResult id=SR_gdImagePngCtxEx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngCtxEx" target=_parent class=ISymbol>gdImagePngCtxEx</a></div></div><div class=SRResult id=SR_gdImagePngEx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngEx" target=_parent class=ISymbol>gdImagePngEx</a></div></div><div class=SRResult id=SR_gdImagePngPtr><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtr" target=_parent class=ISymbol>gdImagePngPtr</a></div></div><div class=SRResult id=SR_gdImagePngPtrEx><div class=IEntry><a href="../files/gd_png-c.html#gdImagePngPtrEx" target=_parent class=ISymbol>gdImagePngPtrEx</a></div></div><div class=SRResult id=SR_gdImagePngToSink><div class=IEntry><a href="../files/gd_ss-c.html#gdImagePngToSink" target=_parent class=ISymbol>gdImagePngToSink</a></div></div><div class=SRResult id=SR_gdImagePolygon><div class=IEntry><a href="../files/gd-c.html#gdImagePolygon" target=_parent class=ISymbol>gdImagePolygon</a></div></div><div class=SRResult id=SR_gdImagePtr><div class=IEntry><a href="../files/gd-h.html#gdImagePtr" target=_parent class=ISymbol>gdImagePtr</a></div></div><div class=SRResult id=SR_gdImageRectangle><div class=IEntry><a href="../files/gd-c.html#gdImageRectangle" target=_parent class=ISymbol>gdImageRectangle</a></div></div><div class=SRResult id=SR_gdImageRed><div class=IEntry><a href="../files/gd-h.html#gdImageRed" target=_parent class=ISymbol>gdImageRed</a></div></div><div class=SRResult id=SR_gdImageResolutionX><div class=IEntry><a href="../files/gd-h.html#gdImageResolutionX" target=_parent class=ISymbol>gdImageResolutionX</a></div></div><div class=SRResult id=SR_gdImageResolutionY><div class=IEntry><a href="../files/gd-h.html#gdImageResolutionY" target=_parent class=ISymbol>gdImageResolutionY</a></div></div><div class=SRResult id=SR_gdImageRotateInterpolated><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageRotateInterpolated" target=_parent class=ISymbol>gdImageRotateInterpolated</a></div></div><div class=SRResult id=SR_gdImageSaveAlpha><div class=IEntry><a href="../files/gd-c.html#gdImageSaveAlpha" target=_parent class=ISymbol>gdImageSaveAlpha</a></div></div><div class=SRResult id=SR_gdImageScale><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageScale" target=_parent class=ISymbol>gdImageScale</a></div></div><div class=SRResult id=SR_gdImageScatter><div class=IEntry><a href="../files/gd_filter-c.html#gdImageScatter" target=_parent class=ISymbol>gdImageScatter</a></div></div><div class=SRResult id=SR_gdImageScatterColor><div class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterColor" target=_parent class=ISymbol>gdImageScatterColor</a></div></div><div class=SRResult id=SR_gdImageScatterEx><div class=IEntry><a href="../files/gd_filter-c.html#gdImageScatterEx" target=_parent class=ISymbol>gdImageScatterEx</a></div></div><div class=SRResult id=SR_gdImageSelectiveBlur><div class=IEntry><a href="../files/gd_filter-c.html#gdImageSelectiveBlur" target=_parent class=ISymbol>gdImageSelectiveBlur</a></div></div><div class=SRResult id=SR_gdImageSetAntiAliased><div class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliased" target=_parent class=ISymbol>gdImageSetAntiAliased</a></div></div><div class=SRResult id=SR_gdImageSetAntiAliasedDontBlend><div class=IEntry><a href="../files/gd-c.html#gdImageSetAntiAliasedDontBlend" target=_parent class=ISymbol>gdImageSetAntiAliasedDontBlend</a></div></div><div class=SRResult id=SR_gdImageSetBrush><div class=IEntry><a href="../files/gd-c.html#gdImageSetBrush" target=_parent class=ISymbol>gdImageSetBrush</a></div></div><div class=SRResult id=SR_gdImageSetClip><div class=IEntry><a href="../files/gd-c.html#gdImageSetClip" target=_parent class=ISymbol>gdImageSetClip</a></div></div><div class=SRResult id=SR_gdImageSetInterpolationMethod><div class=IEntry><a href="../files/gd_interpolation-c.html#gdImageSetInterpolationMethod" target=_parent class=ISymbol>gdImageSetInterpolationMethod</a></div></div><div class=SRResult id=SR_gdImageSetPixel><div class=IEntry><a href="../files/gd-c.html#gdImageSetPixel" target=_parent class=ISymbol>gdImageSetPixel</a></div></div><div class=SRResult id=SR_gdImageSetResolution><div class=IEntry><a href="../files/gd-c.html#gdImageSetResolution" target=_parent class=ISymbol>gdImageSetResolution</a></div></div><div class=SRResult id=SR_gdImageSetStyle><div class=IEntry><a href="../files/gd-c.html#gdImageSetStyle" target=_parent class=ISymbol>gdImageSetStyle</a></div></div><div class=SRResult id=SR_gdImageSetThickness><div class=IEntry><a href="../files/gd-c.html#gdImageSetThickness" target=_parent class=ISymbol>gdImageSetThickness</a></div></div><div class=SRResult id=SR_gdImageSetTile><div class=IEntry><a href="../files/gd-c.html#gdImageSetTile" target=_parent class=ISymbol>gdImageSetTile</a></div></div><div class=SRResult id=SR_gdImageSharpen><div class=IEntry><a href="../files/gdfx-c.html#gdImageSharpen" target=_parent class=ISymbol>gdImageSharpen</a></div></div><div class=SRResult id=SR_gdImageSmooth><div class=IEntry><a href="../files/gd_filter-c.html#gdImageSmooth" target=_parent class=ISymbol>gdImageSmooth</a></div></div><div class=SRResult id=SR_gdImageSquareToCircle><div class=IEntry><a href="../files/gdfx-c.html#gdImageSquareToCircle" target=_parent class=ISymbol>gdImageSquareToCircle</a></div></div><div class=SRResult id=SR_gdImageString><div class=IEntry><a href="../files/gd-c.html#gdImageString" target=_parent class=ISymbol>gdImageString</a></div></div><div class=SRResult id=SR_gdImageString16><div class=IEntry><a href="../files/gd-c.html#gdImageString16" target=_parent class=ISymbol>gdImageString16</a></div></div><div class=SRResult id=SR_gdImageStringFT><div class=IEntry><a href="../files/gdft-c.html#gdImageStringFT" target=_parent class=ISymbol>gdImageStringFT</a></div></div><div class=SRResult id=SR_gdImageStringFTCircle><div class=IEntry><a href="../files/gdfx-c.html#gdImageStringFTCircle" target=_parent class=ISymbol>gdImageStringFTCircle</a></div></div><div class=SRResult id=SR_gdImageStringFTEx><div class=IEntry><a href="../files/gdft-c.html#gdImageStringFTEx" target=_parent class=ISymbol>gdImageStringFTEx</a></div></div><div class=SRResult id=SR_gdImageStringTTF><div class=IEntry><a href="../files/gdft-c.html#gdImageStringTTF" target=_parent class=ISymbol>gdImageStringTTF</a></div></div><div class=SRResult id=SR_gdImageStringUp><div class=IEntry><a href="../files/gd-c.html#gdImageStringUp" target=_parent class=ISymbol>gdImageStringUp</a></div></div><div class=SRResult id=SR_gdImageStringUp16><div class=IEntry><a href="../files/gd-c.html#gdImageStringUp16" target=_parent class=ISymbol>gdImageStringUp16</a></div></div><div class=SRResult id=SR_gdImageSX><div class=IEntry><a href="../files/gd-h.html#gdImageSX" target=_parent class=ISymbol>gdImageSX</a></div></div><div class=SRResult id=SR_gdImageSY><div class=IEntry><a href="../files/gd-h.html#gdImageSY" target=_parent class=ISymbol>gdImageSY</a></div></div><div class=SRResult id=SR_gdImageTiff><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiff" target=_parent class=ISymbol>gdImageTiff</a></div></div><div class=SRResult id=SR_gdImageTiffCtx><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffCtx" target=_parent class=ISymbol>gdImageTiffCtx</a></div></div><div class=SRResult id=SR_gdImageTiffPtr><div class=IEntry><a href="../files/gd_tiff-c.html#gdImageTiffPtr" target=_parent class=ISymbol>gdImageTiffPtr</a></div></div><div class=SRResult id=SR_gdImageTrueColor><div class=IEntry><a href="../files/gd-h.html#gdImageTrueColor" target=_parent class=ISymbol>gdImageTrueColor</a></div></div><div class=SRResult id=SR_gdImageTrueColorPixel><div class=IEntry><a href="../files/gd-h.html#gdImageTrueColorPixel" target=_parent class=ISymbol>gdImageTrueColorPixel</a></div></div><div class=SRResult id=SR_gdImageTrueColorToPalette><div class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPalette" target=_parent class=ISymbol>gdImageTrueColorToPalette</a></div></div><div class=SRResult id=SR_gdImageTrueColorToPaletteSetMethod><div class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetMethod" target=_parent class=ISymbol>gdImageTrueColorToPaletteSetMethod</a></div></div><div class=SRResult id=SR_gdImageTrueColorToPaletteSetQuality><div class=IEntry><a href="../files/gd_topal-c.html#gdImageTrueColorToPaletteSetQuality" target=_parent class=ISymbol>gdImageTrueColorToPaletteSetQuality</a></div></div><div class=SRResult id=SR_gdImageWBMP><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMP" target=_parent class=ISymbol>gdImageWBMP</a></div></div><div class=SRResult id=SR_gdImageWBMPCtx><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPCtx" target=_parent class=ISymbol>gdImageWBMPCtx</a></div></div><div class=SRResult id=SR_gdImageWBMPPtr><div class=IEntry><a href="../files/gd_wbmp-c.html#gdImageWBMPPtr" target=_parent class=ISymbol>gdImageWBMPPtr</a></div></div><div class=SRResult id=SR_gdImageWebp><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebp" target=_parent class=ISymbol>gdImageWebp</a></div></div><div class=SRResult id=SR_gdImageWebpCtx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpCtx" target=_parent class=ISymbol>gdImageWebpCtx</a></div></div><div class=SRResult id=SR_gdImageWebpEx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpEx" target=_parent class=ISymbol>gdImageWebpEx</a></div></div><div class=SRResult id=SR_gdImageWebpPtr><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtr" target=_parent class=ISymbol>gdImageWebpPtr</a></div></div><div class=SRResult id=SR_gdImageWebpPtrEx><div class=IEntry><a href="../files/gd_webp-c.html#gdImageWebpPtrEx" target=_parent class=ISymbol>gdImageWebpPtrEx</a></div></div><div class=SRResult id=SR_gdImageXbmCtx><div class=IEntry><a href="../files/gd_xbm-c.html#gdImageXbmCtx" target=_parent class=ISymbol>gdImageXbmCtx</a></div></div><div class=SRResult id=SR_gdInterpolationMethod><div class=IEntry><a href="../files/gd-h.html#gdInterpolationMethod" target=_parent class=ISymbol>gdInterpolationMethod</a></div></div><div class=SRResult id=SR_gdIOCtx><div class=IEntry><a href="../files/gd_io-h.html#gdIOCtx" target=_parent class=ISymbol>gdIOCtx</a></div></div><div class=SRResult id=SR_gdLayerMultiply><div class=IEntry><a href="../files/gd-c.html#gdLayerMultiply" target=_parent class=ISymbol>gdLayerMultiply</a></div></div><div class=SRResult id=SR_gdLayerOverlay><div class=IEntry><a href="../files/gd-c.html#gdLayerOverlay" target=_parent class=ISymbol>gdLayerOverlay</a></div></div><div class=SRResult id=SR_gdMajorVersion><div class=IEntry><a href="../files/gd_version-c.html#gdMajorVersion" target=_parent class=ISymbol>gdMajorVersion</a></div></div><div class=SRResult id=SR_gdMinorVersion><div class=IEntry><a href="../files/gd_version-c.html#gdMinorVersion" target=_parent class=ISymbol>gdMinorVersion</a></div></div><div class=SRResult id=SR_gdNewDynamicCtx><div class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtx" target=_parent class=ISymbol>gdNewDynamicCtx</a></div></div><div class=SRResult id=SR_gdNewDynamicCtxEx><div class=IEntry><a href="../files/gd_io_dp-c.html#gdNewDynamicCtxEx" target=_parent class=ISymbol>gdNewDynamicCtxEx</a></div></div><div class=SRResult id=SR_gdNewFileCtx><div class=IEntry><a href="../files/gd_io_file-c.html#gdNewFileCtx" target=_parent class=ISymbol>gdNewFileCtx</a></div></div><div class=SRResult id=SR_gdNewSSCtx><div class=IEntry><a href="../files/gd_io_ss-c.html#gdNewSSCtx" target=_parent class=ISymbol>gdNewSSCtx</a></div></div><div class=SRResult id=SR_gdPaletteQuantizationMethod><div class=IEntry><a href="../files/gd-h.html#gdPaletteQuantizationMethod" target=_parent class=ISymbol>gdPaletteQuantizationMethod</a></div></div><div class=SRResult id=SR_gdPoint><div class=IEntry><a href="../files/gd-h.html#gdPoint" target=_parent class=ISymbol>gdPoint</a></div></div><div class=SRResult id=SR_gdPointF><div class=IEntry><a href="../files/gd-h.html#gdPointF" target=_parent class=ISymbol>gdPointF</a></div></div><div class=SRResult id=SR_gdPointFPtr><div class=IEntry><a href="../files/gd-h.html#gdPointFPtr" target=_parent class=ISymbol>gdPointFPtr</a></div></div><div class=SRResult id=SR_gdPointPtr><div class=IEntry><a href="../files/gd-h.html#gdPointPtr" target=_parent class=ISymbol>gdPointPtr</a></div></div><div class=SRResult id=SR_gdRect><div class=IEntry><a href="../files/gd-h.html#gdRect" target=_parent class=ISymbol>gdRect</a></div></div><div class=SRResult id=SR_gdRectPtr><div class=IEntry><a href="../files/gd-h.html#gdRectPtr" target=_parent class=ISymbol>gdRectPtr</a></div></div><div class=SRResult id=SR_gdReleaseVersion><div class=IEntry><a href="../files/gd_version-c.html#gdReleaseVersion" target=_parent class=ISymbol>gdReleaseVersion</a></div></div><div class=SRResult id=SR_gdSetErrorMethod><div class=IEntry><a href="../files/gd-c.html#gdSetErrorMethod" target=_parent class=ISymbol>gdSetErrorMethod</a></div></div><div class=SRResult id=SR_gdSink><div class=IEntry><a href="../files/gd-h.html#gdSink" target=_parent class=ISymbol>gdSink</a></div></div><div class=SRResult id=SR_gdSinkPtr><div class=IEntry><a href="../files/gd-h.html#gdSinkPtr" target=_parent class=ISymbol>gdSinkPtr</a></div></div><div class=SRResult id=SR_gdSource><div class=IEntry><a href="../files/gd-h.html#gdSource" target=_parent class=ISymbol>gdSource</a></div></div><div class=SRResult id=SR_gdSourcePtr><div class=IEntry><a href="../files/gd-h.html#gdSourcePtr" target=_parent class=ISymbol>gdSourcePtr</a></div></div><div class=SRResult id=SR_gdStyled><div class=IEntry><a href="../files/gd-h.html#gdStyled" target=_parent class=ISymbol>gdStyled</a></div></div><div class=SRResult id=SR_gdStyledBrushed><div class=IEntry><a href="../files/gd-h.html#gdStyledBrushed" target=_parent class=ISymbol>gdStyledBrushed</a></div></div><div class=SRResult id=SR_gdSupportsFileType><div class=IEntry><a href="../files/gd_filename-c.html#gdSupportsFileType" target=_parent class=ISymbol>gdSupportsFileType</a></div></div><div class=SRResult id=SR_gdTiled><div class=IEntry><a href="../files/gd-h.html#gdTiled" target=_parent class=ISymbol>gdTiled</a></div></div><div class=SRResult id=SR_gdTransformAffineBoundingBox><div class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineBoundingBox" target=_parent class=ISymbol>gdTransformAffineBoundingBox</a></div></div><div class=SRResult id=SR_gdTransformAffineCopy><div class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineCopy" target=_parent class=ISymbol>gdTransformAffineCopy</a></div></div><div class=SRResult id=SR_gdTransformAffineGetImage><div class=IEntry><a href="../files/gd_interpolation-c.html#gdTransformAffineGetImage" target=_parent class=ISymbol>gdTransformAffineGetImage</a></div></div><div class=SRResult id=SR_gdTransparent><div class=IEntry><a href="../files/gd-h.html#gdTransparent" target=_parent class=ISymbol>gdTransparent</a></div></div><div class=SRResult id=SR_gdTrueColorAlpha><div class=IEntry><a href="../files/gd-h.html#gdTrueColorAlpha" target=_parent class=ISymbol>gdTrueColorAlpha</a></div></div><div class=SRResult id=SR_gdTrueColorGetAlpha><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetAlpha" target=_parent class=ISymbol>gdTrueColorGetAlpha</a></div></div><div class=SRResult id=SR_gdTrueColorGetBlue><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetBlue" target=_parent class=ISymbol>gdTrueColorGetBlue</a></div></div><div class=SRResult id=SR_gdTrueColorGetGreen><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetGreen" target=_parent class=ISymbol>gdTrueColorGetGreen</a></div></div><div class=SRResult id=SR_gdTrueColorGetRed><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetRed" target=_parent class=ISymbol>gdTrueColorGetRed</a></div></div><div class=SRResult id=SR_gdVersionString><div class=IEntry><a href="../files/gd_version-c.html#gdVersionString" target=_parent class=ISymbol>gdVersionString</a></div></div><div class=SRResult id=SR_Giant_spcFont><div class=IEntry><a href="../files/gdfontg-c.html#Giant_Font" target=_parent class=ISymbol>Giant Font</a></div></div><div class=SRResult id=SR_GIF_spcInput><div class=IEntry><a href="../files/gd_gif_in-c.html#GIF_Input" target=_parent class=ISymbol>GIF Input</a></div></div><div class=SRResult id=SR_GIF_spcOutput><div class=IEntry><a href="../files/gd_gif_out-c.html#GIF_Output" target=_parent class=ISymbol>GIF Output</a></div></div><div class=SRResult id=SR_GifAnim><div class=IEntry><a href="../files/gd-h.html#GifAnim" target=_parent class=ISymbol>GifAnim</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralI.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralI.html
deleted file mode 100644
index 2f96d88a016..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralI.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Image_spcComparison><div class=IEntry><a href="../files/gd-h.html#Image_Comparison" target=_parent class=ISymbol>Image Comparison</a></div></div><div class=SRResult id=SR_Image_spcFilters><div class=IEntry><a href="../files/gd_filter-c.html#Image_Filters" target=_parent class=ISymbol>Image Filters</a></div></div><div class=SRResult id=SR_Interpolation_spcMethod><div class=IEntry><a href="../files/gd_interpolation-c.html#Interpolation_Method" target=_parent class=ISymbol>Interpolation Method</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralJ.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralJ.html
deleted file mode 100644
index 320ae5c3c78..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralJ.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_JPEG_spcIO><div class=IEntry><a href="../files/gd_jpeg-c.html#JPEG_IO" target=_parent class=ISymbol>JPEG IO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralL.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralL.html
deleted file mode 100644
index ff6cbc23f1a..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralL.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Large_spcFont><div class=IEntry><a href="../files/gdfontl-c.html#Large_Font" target=_parent class=ISymbol>Large Font</a></div></div><div class=SRResult id=SR_License><div class=IEntry><a href="../files/license-txt.html#License" target=_parent class=ISymbol>License</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralM.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralM.html
deleted file mode 100644
index d7fed8f9547..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralM.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Matrix><div class=IEntry><a href="../files/gd_matrix-c.html#Matrix" target=_parent class=ISymbol>Matrix</a></div></div><div class=SRResult id=SR_Medium_spcBold_spcFont><div class=IEntry><a href="../files/gdfontmb-c.html#Medium_Bold_Font" target=_parent class=ISymbol>Medium Bold Font</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralNumbers.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralNumbers.html
deleted file mode 100644
index d622d1c1f94..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralNumbers.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_5><div class=IEntry><a href="../files/preamble-txt.html#About_LibGD_2.2.5" target=_parent class=ISymbol>5</a>, <span class=IParent>About LibGD 2::<wbr>2</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralO.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralO.html
deleted file mode 100644
index 5a150573565..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralO.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_other><div class=IEntry><a href="../files/gd-c.html#other" target=_parent class=ISymbol>other</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralP.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralP.html
deleted file mode 100644
index 87f2ca72f0f..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralP.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Pixels><div class=IEntry><a href="../files/gd-c.html#Pixels" target=_parent class=ISymbol>Pixels</a></div></div><div class=SRResult id=SR_PNG_spcIO><div class=IEntry><a href="../files/gd_png-c.html#PNG_IO" target=_parent class=ISymbol>PNG IO</a></div></div><div class=SRResult id=SR_Polygons><div class=IEntry><a href="../files/gd-c.html#Polygons" target=_parent class=ISymbol>Polygons</a></div></div><div class=SRResult id=SR_Primitives><div class=IEntry><a href="../files/gd-c.html#Primitives" target=_parent class=ISymbol>Primitives</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralS.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralS.html
deleted file mode 100644
index a04dab5e9e5..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralS.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Small_spcFont><div class=IEntry><a href="../files/gdfonts-c.html#Small_Font" target=_parent class=ISymbol>Small Font</a></div></div><div class=SRResult id=SR_Special_spcColors><div class=IEntry><a href="../files/gd-h.html#Special_Colors" target=_parent class=ISymbol>Special Colors</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralT.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralT.html
deleted file mode 100644
index 5b1fb869119..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralT.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_TGA_spcInput><div class=IEntry><a href="../files/gd_tga-c.html#TGA_Input" target=_parent class=ISymbol>TGA Input</a></div></div><div class=SRResult id=SR_TIFF_spcIO><div class=IEntry><a href="../files/gd_tiff-c.html#TIFF_IO" target=_parent class=ISymbol>TIFF IO</a></div></div><div class=SRResult id=SR_Tiny_spcFont><div class=IEntry><a href="../files/gdfontt-c.html#Tiny_Font" target=_parent class=ISymbol>Tiny Font</a></div></div><div class=SRResult id=SR_Transform><div class=IEntry><a href="../files/gd-h.html#Transform" target=_parent class=ISymbol>Transform</a></div></div><div class=SRResult id=SR_Transformations><div class=IEntry><a href="../files/gd_transform-c.html#Transformations" target=_parent class=ISymbol>Transformations</a></div></div><div class=SRResult id=SR_Types><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Types')" class=ISymbol>Types</a><div class=ISubIndex><a href="../files/gd-h.html#Types" target=_parent class=IFile>gd.h</a><a href="../files/gd_io-h.html#Types" target=_parent class=IFile>gd_io.h</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralW.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralW.html
deleted file mode 100644
index 65a551d6c74..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralW.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_WBMP_spcIO><div class=IEntry><a href="../files/gd_wbmp-c.html#WBMP_IO" target=_parent class=ISymbol>WBMP IO</a></div></div><div class=SRResult id=SR_WebP_spcIO><div class=IEntry><a href="../files/gd_webp-c.html#WebP_IO" target=_parent class=ISymbol>WebP IO</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralX.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralX.html
deleted file mode 100644
index a1e46bc3837..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/GeneralX.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_XBM_spcIO><div class=IEntry><a href="../files/gd_xbm-c.html#XBM_IO" target=_parent class=ISymbol>XBM IO</a></div></div><div class=SRResult id=SR_XPM_spcInput><div class=IEntry><a href="../files/gdxpm-c.html#XPM_Input" target=_parent class=ISymbol>XPM Input</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/MacrosG.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/MacrosG.html
deleted file mode 100644
index 3d842103821..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/MacrosG.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_gdImageAlpha><div class=IEntry><a href="../files/gd-h.html#gdImageAlpha" target=_parent class=ISymbol>gdImageAlpha</a></div></div><div class=SRResult id=SR_gdImageBlue><div class=IEntry><a href="../files/gd-h.html#gdImageBlue" target=_parent class=ISymbol>gdImageBlue</a></div></div><div class=SRResult id=SR_gdImageColorsTotal><div class=IEntry><a href="../files/gd-h.html#gdImageColorsTotal" target=_parent class=ISymbol>gdImageColorsTotal</a></div></div><div class=SRResult id=SR_gdImageGetInterlaced><div class=IEntry><a href="../files/gd-h.html#gdImageGetInterlaced" target=_parent class=ISymbol>gdImageGetInterlaced</a></div></div><div class=SRResult id=SR_gdImageGetTransparent><div class=IEntry><a href="../files/gd-h.html#gdImageGetTransparent" target=_parent class=ISymbol>gdImageGetTransparent</a></div></div><div class=SRResult id=SR_gdImageGreen><div class=IEntry><a href="../files/gd-h.html#gdImageGreen" target=_parent class=ISymbol>gdImageGreen</a></div></div><div class=SRResult id=SR_gdImagePalettePixel><div class=IEntry><a href="../files/gd-h.html#gdImagePalettePixel" target=_parent class=ISymbol>gdImagePalettePixel</a></div></div><div class=SRResult id=SR_gdImageRed><div class=IEntry><a href="../files/gd-h.html#gdImageRed" target=_parent class=ISymbol>gdImageRed</a></div></div><div class=SRResult id=SR_gdImageResolutionX><div class=IEntry><a href="../files/gd-h.html#gdImageResolutionX" target=_parent class=ISymbol>gdImageResolutionX</a></div></div><div class=SRResult id=SR_gdImageResolutionY><div class=IEntry><a href="../files/gd-h.html#gdImageResolutionY" target=_parent class=ISymbol>gdImageResolutionY</a></div></div><div class=SRResult id=SR_gdImageSX><div class=IEntry><a href="../files/gd-h.html#gdImageSX" target=_parent class=ISymbol>gdImageSX</a></div></div><div class=SRResult id=SR_gdImageSY><div class=IEntry><a href="../files/gd-h.html#gdImageSY" target=_parent class=ISymbol>gdImageSY</a></div></div><div class=SRResult id=SR_gdImageTrueColor><div class=IEntry><a href="../files/gd-h.html#gdImageTrueColor" target=_parent class=ISymbol>gdImageTrueColor</a></div></div><div class=SRResult id=SR_gdImageTrueColorPixel><div class=IEntry><a href="../files/gd-h.html#gdImageTrueColorPixel" target=_parent class=ISymbol>gdImageTrueColorPixel</a></div></div><div class=SRResult id=SR_gdTrueColorAlpha><div class=IEntry><a href="../files/gd-h.html#gdTrueColorAlpha" target=_parent class=ISymbol>gdTrueColorAlpha</a></div></div><div class=SRResult id=SR_gdTrueColorGetAlpha><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetAlpha" target=_parent class=ISymbol>gdTrueColorGetAlpha</a></div></div><div class=SRResult id=SR_gdTrueColorGetBlue><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetBlue" target=_parent class=ISymbol>gdTrueColorGetBlue</a></div></div><div class=SRResult id=SR_gdTrueColorGetGreen><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetGreen" target=_parent class=ISymbol>gdTrueColorGetGreen</a></div></div><div class=SRResult id=SR_gdTrueColorGetRed><div class=IEntry><a href="../files/gd-h.html#gdTrueColorGetRed" target=_parent class=ISymbol>gdTrueColorGetRed</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/NoResults.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/NoResults.html
deleted file mode 100644
index 8c724966021..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/NoResults.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=NoMatches>No Matches</div></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/TypesG.html b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/TypesG.html
deleted file mode 100644
index 2890d106c3d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/search/TypesG.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
-if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
-
-<!-- Generated by Natural Docs, version 1.52 -->
-<!-- http://www.naturaldocs.org -->
-
-<!-- saved from url=(0026)http://www.naturaldocs.org -->
-
-
-
-
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_gdFont><div class=IEntry><a href="../files/gd-h.html#gdFont" target=_parent class=ISymbol>gdFont</a></div></div><div class=SRResult id=SR_gdFontPtr><div class=IEntry><a href="../files/gd-h.html#gdFontPtr" target=_parent class=ISymbol>gdFontPtr</a></div></div><div class=SRResult id=SR_gdFTStringExtra><div class=IEntry><a href="../files/gd-h.html#gdFTStringExtra" target=_parent class=ISymbol>gdFTStringExtra</a></div></div><div class=SRResult id=SR_gdFTStringExtraPtr><div class=IEntry><a href="../files/gd-h.html#gdFTStringExtraPtr" target=_parent class=ISymbol>gdFTStringExtraPtr</a></div></div><div class=SRResult id=SR_gdImage><div class=IEntry><a href="../files/gd-h.html#gdImage" target=_parent class=ISymbol>gdImage</a></div></div><div class=SRResult id=SR_gdImagePtr><div class=IEntry><a href="../files/gd-h.html#gdImagePtr" target=_parent class=ISymbol>gdImagePtr</a></div></div><div class=SRResult id=SR_gdIOCtx><div class=IEntry><a href="../files/gd_io-h.html#gdIOCtx" target=_parent class=ISymbol>gdIOCtx</a></div></div><div class=SRResult id=SR_gdPaletteQuantizationMethod><div class=IEntry><a href="../files/gd-h.html#gdPaletteQuantizationMethod" target=_parent class=ISymbol>gdPaletteQuantizationMethod</a></div></div><div class=SRResult id=SR_gdPoint><div class=IEntry><a href="../files/gd-h.html#gdPoint" target=_parent class=ISymbol>gdPoint</a></div></div><div class=SRResult id=SR_gdPointF><div class=IEntry><a href="../files/gd-h.html#gdPointF" target=_parent class=ISymbol>gdPointF</a></div></div><div class=SRResult id=SR_gdPointFPtr><div class=IEntry><a href="../files/gd-h.html#gdPointFPtr" target=_parent class=ISymbol>gdPointFPtr</a></div></div><div class=SRResult id=SR_gdPointPtr><div class=IEntry><a href="../files/gd-h.html#gdPointPtr" target=_parent class=ISymbol>gdPointPtr</a></div></div><div class=SRResult id=SR_gdRect><div class=IEntry><a href="../files/gd-h.html#gdRect" target=_parent class=ISymbol>gdRect</a></div></div><div class=SRResult id=SR_gdRectPtr><div class=IEntry><a href="../files/gd-h.html#gdRectPtr" target=_parent class=ISymbol>gdRectPtr</a></div></div><div class=SRResult id=SR_gdSink><div class=IEntry><a href="../files/gd-h.html#gdSink" target=_parent class=ISymbol>gdSink</a></div></div><div class=SRResult id=SR_gdSinkPtr><div class=IEntry><a href="../files/gd-h.html#gdSinkPtr" target=_parent class=ISymbol>gdSinkPtr</a></div></div><div class=SRResult id=SR_gdSource><div class=IEntry><a href="../files/gd-h.html#gdSource" target=_parent class=ISymbol>gdSource</a></div></div><div class=SRResult id=SR_gdSourcePtr><div class=IEntry><a href="../files/gd-h.html#gdSourcePtr" target=_parent class=ISymbol>gdSourcePtr</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults", "HTML");
-searchResults.Search();
---></script></div><script language=JavaScript><!--
-if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/1.css b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/1.css
deleted file mode 100644
index 511703fc455..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/1.css
+++ /dev/null
@@ -1,828 +0,0 @@
-/*
- IMPORTANT: If you're editing this file in the output directory of one of
- your projects, your changes will be overwritten the next time you run
- Natural Docs. Instead, copy this file to your project directory, make your
- changes, and you can use it with -s. Even better would be to make a CSS
- file in your project directory with only your changes, which you can then
- use with -s [original style] [your changes].
-
- On the other hand, if you're editing this file in the Natural Docs styles
- directory, the changes will automatically be applied to all your projects
- that use this style the next time Natural Docs is run on them.
-
- This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure.
- Natural Docs is licensed under version 3 of the GNU Affero General Public
- License (AGPL). Refer to License.txt for the complete details.
-
- This file may be distributed with documentation files generated by Natural Docs.
- Such documentation is not covered by Natural Docs' copyright and licensing,
- and may have its own copyright and distribution terms as decided by its author.
-*/
-
-body {
- font: 10pt Verdana, Arial, sans-serif;
- color: #000000;
- margin: 0; padding: 0;
- }
-
-.ContentPage,
-.IndexPage,
-.FramedMenuPage {
- background-color: #E8E8E8;
- }
-.FramedContentPage,
-.FramedIndexPage,
-.FramedSearchResultsPage,
-.PopupSearchResultsPage {
- background-color: #FFFFFF;
- }
-
-
-a:link,
-a:visited { color: #900000; text-decoration: none }
-a:hover { color: #900000; text-decoration: underline }
-a:active { color: #FF0000; text-decoration: underline }
-
-td {
- vertical-align: top }
-
-img { border: 0; }
-
-
-/*
- Comment out this line to use web-style paragraphs (blank line between
- paragraphs, no indent) instead of print-style paragraphs (no blank line,
- indented.)
-*/
-p {
- text-indent: 5ex; margin: 0 }
-
-
-/* Opera doesn't break with just wbr, but will if you add this. */
-.Opera wbr:after {
- content: "\00200B";
- }
-
-
-/* Blockquotes are used as containers for things that may need to scroll. */
-blockquote {
- padding: 0;
- margin: 0;
- overflow: auto;
- }
-
-
-.Firefox1 blockquote {
- padding-bottom: .5em;
- }
-
-/* Turn off scrolling when printing. */
-@media print {
- blockquote {
- overflow: visible;
- }
- .IE blockquote {
- width: auto;
- }
- }
-
-
-
-#Menu {
- font-size: 9pt;
- padding: 10px 0 0 0;
- }
-.ContentPage #Menu,
-.IndexPage #Menu {
- position: absolute;
- top: 0;
- left: 0;
- width: 31ex;
- overflow: hidden;
- }
-.ContentPage .Firefox #Menu,
-.IndexPage .Firefox #Menu {
- width: 27ex;
- }
-
-
- .MTitle {
- font-size: 16pt; font-weight: bold; font-variant: small-caps;
- text-align: center;
- padding: 5px 10px 15px 10px;
- border-bottom: 1px dotted #000000;
- margin-bottom: 15px }
-
- .MSubTitle {
- font-size: 9pt; font-weight: normal; font-variant: normal;
- margin-top: 1ex; margin-bottom: 5px }
-
-
- .MEntry a:link,
- .MEntry a:hover,
- .MEntry a:visited { color: #606060; margin-right: 0 }
- .MEntry a:active { color: #A00000; margin-right: 0 }
-
-
- .MGroup {
- font-variant: small-caps; font-weight: bold;
- margin: 1em 0 1em 10px;
- }
-
- .MGroupContent {
- font-variant: normal; font-weight: normal }
-
- .MGroup a:link,
- .MGroup a:hover,
- .MGroup a:visited { color: #545454; margin-right: 10px }
- .MGroup a:active { color: #A00000; margin-right: 10px }
-
-
- .MFile,
- .MText,
- .MLink,
- .MIndex {
- padding: 1px 17px 2px 10px;
- margin: .25em 0 .25em 0;
- }
-
- .MText {
- font-size: 8pt; font-style: italic }
-
- .MLink {
- font-style: italic }
-
- #MSelected {
- color: #000000; background-color: #FFFFFF;
- /* Replace padding with border. */
- padding: 0 10px 0 10px;
- border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
- margin-right: 5px;
- }
-
- /* Close off the left side when its in a group. */
- .MGroup #MSelected {
- padding-left: 9px; border-left-width: 1px }
-
- /* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
- .Firefox #MSelected {
- -moz-border-radius-topright: 10px;
- -moz-border-radius-bottomright: 10px }
- .Firefox .MGroup #MSelected {
- -moz-border-radius-topleft: 10px;
- -moz-border-radius-bottomleft: 10px }
-
-
- #MSearchPanel {
- padding: 0px 6px;
- margin: .25em 0;
- }
-
-
- #MSearchField {
- font: italic 9pt Verdana, sans-serif;
- color: #606060;
- background-color: #E8E8E8;
- border: none;
- padding: 2px 4px;
- width: 100%;
- }
- /* Only Opera gets it right. */
- .Firefox #MSearchField,
- .IE #MSearchField,
- .Safari #MSearchField {
- width: 94%;
- }
- .Opera9 #MSearchField,
- .Konqueror #MSearchField {
- width: 97%;
- }
- .FramedMenuPage .Firefox #MSearchField,
- .FramedMenuPage .Safari #MSearchField,
- .FramedMenuPage .Konqueror #MSearchField {
- width: 98%;
- }
-
- /* Firefox doesn't do this right in frames without #MSearchPanel added on.
- It's presence doesn't hurt anything other browsers. */
- #MSearchPanel.MSearchPanelInactive:hover #MSearchField {
- background-color: #FFFFFF;
- border: 1px solid #C0C0C0;
- padding: 1px 3px;
- }
- .MSearchPanelActive #MSearchField {
- background-color: #FFFFFF;
- border: 1px solid #C0C0C0;
- font-style: normal;
- padding: 1px 3px;
- }
-
- #MSearchType {
- visibility: hidden;
- font: 8pt Verdana, sans-serif;
- width: 98%;
- padding: 0;
- border: 1px solid #C0C0C0;
- }
- .MSearchPanelActive #MSearchType,
- /* As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */
- #MSearchPanel.MSearchPanelInactive:hover #MSearchType,
- #MSearchType:focus {
- visibility: visible;
- color: #606060;
- }
- #MSearchType option#MSearchEverything {
- font-weight: bold;
- }
-
- .Opera8 .MSearchPanelInactive:hover,
- .Opera8 .MSearchPanelActive {
- margin-left: -1px;
- }
-
-
- iframe#MSearchResults {
- width: 60ex;
- height: 15em;
- }
- #MSearchResultsWindow {
- display: none;
- position: absolute;
- left: 0; top: 0;
- border: 1px solid #000000;
- background-color: #E8E8E8;
- }
- #MSearchResultsWindowClose {
- font-weight: bold;
- font-size: 8pt;
- display: block;
- padding: 2px 5px;
- }
- #MSearchResultsWindowClose:link,
- #MSearchResultsWindowClose:visited {
- color: #000000;
- text-decoration: none;
- }
- #MSearchResultsWindowClose:active,
- #MSearchResultsWindowClose:hover {
- color: #800000;
- text-decoration: none;
- background-color: #F4F4F4;
- }
-
-
-
-
-#Content {
- padding-bottom: 15px;
- }
-
-.ContentPage #Content {
- border-width: 0 0 1px 1px;
- border-style: solid;
- border-color: #000000;
- background-color: #FFFFFF;
- font-size: 9pt; /* To make 31ex match the menu's 31ex. */
- margin-left: 31ex;
- }
-.ContentPage .Firefox #Content {
- margin-left: 27ex;
- }
-
-
-
- .CTopic {
- font-size: 10pt;
- margin-bottom: 3em;
- }
-
-
- .CTitle {
- font-size: 12pt; font-weight: bold;
- border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
- margin: 0 15px .5em 15px }
-
- .CGroup .CTitle {
- font-size: 16pt; font-variant: small-caps;
- padding-left: 15px; padding-right: 15px;
- border-width: 0 0 2px 0; border-color: #000000;
- margin-left: 0; margin-right: 0 }
-
- .CClass .CTitle,
- .CInterface .CTitle,
- .CDatabase .CTitle,
- .CDatabaseTable .CTitle,
- .CSection .CTitle {
- font-size: 18pt;
- color: #FFFFFF; background-color: #A0A0A0;
- padding: 10px 15px 10px 15px;
- border-width: 2px 0; border-color: #000000;
- margin-left: 0; margin-right: 0 }
-
- #MainTopic .CTitle {
- font-size: 20pt;
- color: #FFFFFF; background-color: #7070C0;
- padding: 10px 15px 10px 15px;
- border-width: 0 0 3px 0; border-color: #000000;
- margin-left: 0; margin-right: 0 }
-
- .CBody {
- margin-left: 15px; margin-right: 15px }
-
-
- .CToolTip {
- position: absolute; visibility: hidden;
- left: 0; top: 0;
- background-color: #FFFFE0;
- padding: 5px;
- border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
- font-size: 8pt;
- }
-
- .Opera .CToolTip {
- max-width: 98%;
- }
-
- /* Scrollbars would be useless. */
- .CToolTip blockquote {
- overflow: hidden;
- }
- .IE6 .CToolTip blockquote {
- overflow: visible;
- }
-
- .CHeading {
- font-weight: bold; font-size: 10pt;
- margin: 1.5em 0 .5em 0;
- }
-
- .CBody pre {
- font: 10pt "Courier New", Courier, monospace;
- background-color: #FCFCFC;
- margin: 1em 35px;
- padding: 10px 15px 10px 10px;
- border-color: #E0E0E0 #E0E0E0 #E0E0E0 #E4E4E4;
- border-width: 1px 1px 1px 6px;
- border-style: dashed dashed dashed solid;
- }
-
- .CBody ul {
- /* I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
- Reapply it here as padding. */
- padding-left: 15px; padding-right: 15px;
- margin: .5em 5ex .5em 5ex;
- }
-
- .CDescriptionList {
- margin: .5em 5ex 0 5ex }
-
- .CDLEntry {
- font: 10pt "Courier New", Courier, monospace; color: #808080;
- padding-bottom: .25em;
- white-space: nowrap }
-
- .CDLDescription {
- font-size: 10pt; /* For browsers that don't inherit correctly, like Opera 5. */
- padding-bottom: .5em; padding-left: 5ex }
-
-
- .CTopic img {
- text-align: center;
- display: block;
- margin: 1em auto;
- }
- .CImageCaption {
- font-variant: small-caps;
- font-size: 8pt;
- color: #808080;
- text-align: center;
- position: relative;
- top: 1em;
- }
-
- .CImageLink {
- color: #808080;
- font-style: italic;
- }
- a.CImageLink:link,
- a.CImageLink:visited,
- a.CImageLink:hover { color: #808080 }
-
-
-
-
-
-.Prototype {
- font: 10pt "Courier New", Courier, monospace;
- padding: 5px 3ex;
- border-width: 1px; border-style: solid;
- margin: 0 5ex 1.5em 5ex;
- }
-
- .Prototype td {
- font-size: 10pt;
- }
-
- .PDefaultValue,
- .PDefaultValuePrefix,
- .PTypePrefix {
- color: #8F8F8F;
- }
- .PTypePrefix {
- text-align: right;
- }
- .PAfterParameters {
- vertical-align: bottom;
- }
-
- .IE .Prototype table {
- padding: 0;
- }
-
- .CFunction .Prototype {
- background-color: #F4F4F4; border-color: #D0D0D0 }
- .CProperty .Prototype {
- background-color: #F4F4FF; border-color: #C0C0E8 }
- .CVariable .Prototype {
- background-color: #FFFFF0; border-color: #E0E0A0 }
-
- .CClass .Prototype {
- border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
- background-color: #F4F4F4;
- }
- .CInterface .Prototype {
- border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0D0;
- background-color: #F4F4FF;
- }
-
- .CDatabaseIndex .Prototype,
- .CConstant .Prototype {
- background-color: #D0D0D0; border-color: #000000 }
- .CType .Prototype,
- .CEnumeration .Prototype {
- background-color: #FAF0F0; border-color: #E0B0B0;
- }
- .CDatabaseTrigger .Prototype,
- .CEvent .Prototype,
- .CDelegate .Prototype {
- background-color: #F0FCF0; border-color: #B8E4B8 }
-
- .CToolTip .Prototype {
- margin: 0 0 .5em 0;
- white-space: nowrap;
- }
-
-
-
-
-
-.Summary {
- margin: 1.5em 5ex 0 5ex }
-
- .STitle {
- font-size: 12pt; font-weight: bold;
- margin-bottom: .5em }
-
-
- .SBorder {
- background-color: #FFFFF0;
- padding: 15px;
- border: 1px solid #C0C060 }
-
- /* In a frame IE 6 will make them too long unless you set the width to 100%. Without frames it will be correct without a width
- or slightly too long (but not enough to scroll) with a width. This arbitrary weirdness simply astounds me. IE 7 has the same
- problem with frames, haven't tested it without. */
- .FramedContentPage .IE .SBorder {
- width: 100% }
-
- /* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
- .Firefox .SBorder {
- -moz-border-radius: 20px }
-
-
- .STable {
- font-size: 9pt; width: 100% }
-
- .SEntry {
- width: 30% }
- .SDescription {
- width: 70% }
-
-
- .SMarked {
- background-color: #F8F8D8 }
-
- .SDescription { padding-left: 2ex }
- .SIndent1 .SEntry { padding-left: 1.5ex } .SIndent1 .SDescription { padding-left: 3.5ex }
- .SIndent2 .SEntry { padding-left: 3.0ex } .SIndent2 .SDescription { padding-left: 5.0ex }
- .SIndent3 .SEntry { padding-left: 4.5ex } .SIndent3 .SDescription { padding-left: 6.5ex }
- .SIndent4 .SEntry { padding-left: 6.0ex } .SIndent4 .SDescription { padding-left: 8.0ex }
- .SIndent5 .SEntry { padding-left: 7.5ex } .SIndent5 .SDescription { padding-left: 9.5ex }
-
- .SDescription a { color: #800000}
- .SDescription a:active { color: #A00000 }
-
- .SGroup td {
- padding-top: .5em; padding-bottom: .25em }
-
- .SGroup .SEntry {
- font-weight: bold; font-variant: small-caps }
-
- .SGroup .SEntry a { color: #800000 }
- .SGroup .SEntry a:active { color: #F00000 }
-
-
- .SMain td,
- .SClass td,
- .SDatabase td,
- .SDatabaseTable td,
- .SSection td {
- font-size: 10pt;
- padding-bottom: .25em }
-
- .SClass td,
- .SDatabase td,
- .SDatabaseTable td,
- .SSection td {
- padding-top: 1em }
-
- .SMain .SEntry,
- .SClass .SEntry,
- .SDatabase .SEntry,
- .SDatabaseTable .SEntry,
- .SSection .SEntry {
- font-weight: bold;
- }
-
- .SMain .SEntry a,
- .SClass .SEntry a,
- .SDatabase .SEntry a,
- .SDatabaseTable .SEntry a,
- .SSection .SEntry a { color: #000000 }
-
- .SMain .SEntry a:active,
- .SClass .SEntry a:active,
- .SDatabase .SEntry a:active,
- .SDatabaseTable .SEntry a:active,
- .SSection .SEntry a:active { color: #A00000 }
-
-
-
-
-
-.ClassHierarchy {
- margin: 0 15px 1em 15px }
-
- .CHEntry {
- border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
- margin-bottom: 3px;
- padding: 2px 2ex;
- font-size: 10pt;
- background-color: #F4F4F4; color: #606060;
- }
-
- .Firefox .CHEntry {
- -moz-border-radius: 4px;
- }
-
- .CHCurrent .CHEntry {
- font-weight: bold;
- border-color: #000000;
- color: #000000;
- }
-
- .CHChildNote .CHEntry {
- font-style: italic;
- font-size: 8pt;
- }
-
- .CHIndent {
- margin-left: 3ex;
- }
-
- .CHEntry a:link,
- .CHEntry a:visited,
- .CHEntry a:hover {
- color: #606060;
- }
- .CHEntry a:active {
- color: #800000;
- }
-
-
-
-
-
-#Index {
- background-color: #FFFFFF;
- }
-
-/* As opposed to .PopupSearchResultsPage #Index */
-.IndexPage #Index,
-.FramedIndexPage #Index,
-.FramedSearchResultsPage #Index {
- padding: 15px;
- }
-
-.IndexPage #Index {
- border-width: 0 0 1px 1px;
- border-style: solid;
- border-color: #000000;
- font-size: 9pt; /* To make 27ex match the menu's 27ex. */
- margin-left: 27ex;
- }
-
-
- .IPageTitle {
- font-size: 20pt; font-weight: bold;
- color: #FFFFFF; background-color: #7070C0;
- padding: 10px 15px 10px 15px;
- border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
- margin: -15px -15px 0 -15px }
-
- .FramedSearchResultsPage .IPageTitle {
- margin-bottom: 15px;
- }
-
- .INavigationBar {
- font-size: 10pt;
- text-align: center;
- background-color: #FFFFF0;
- padding: 5px;
- border-bottom: solid 1px black;
- margin: 0 -15px 15px -15px;
- }
-
- .INavigationBar a {
- font-weight: bold }
-
- .IHeading {
- font-size: 16pt; font-weight: bold;
- padding: 2.5em 0 .5em 0;
- text-align: center;
- width: 3.5ex;
- }
- #IFirstHeading {
- padding-top: 0;
- }
-
- .IEntry {
- font-size: 10pt;
- padding-left: 1ex;
- }
- .PopupSearchResultsPage .IEntry {
- font-size: 8pt;
- padding: 1px 5px;
- }
- .PopupSearchResultsPage .Opera9 .IEntry,
- .FramedSearchResultsPage .Opera9 .IEntry {
- text-align: left;
- }
- .FramedSearchResultsPage .IEntry {
- padding: 0;
- }
-
- .ISubIndex {
- padding-left: 3ex; padding-bottom: .5em }
- .PopupSearchResultsPage .ISubIndex {
- display: none;
- }
-
- /* While it may cause some entries to look like links when they aren't, I found it's much easier to read the
- index if everything's the same color. */
- .ISymbol {
- font-weight: bold; color: #900000 }
-
- .IndexPage .ISymbolPrefix,
- .FramedIndexPage .ISymbolPrefix {
- font-size: 10pt;
- text-align: right;
- color: #C47C7C;
- background-color: #F8F8F8;
- border-right: 3px solid #E0E0E0;
- border-left: 1px solid #E0E0E0;
- padding: 0 1px 0 2px;
- }
- .PopupSearchResultsPage .ISymbolPrefix,
- .FramedSearchResultsPage .ISymbolPrefix {
- color: #900000;
- }
- .PopupSearchResultsPage .ISymbolPrefix {
- font-size: 8pt;
- }
-
- .IndexPage #IFirstSymbolPrefix,
- .FramedIndexPage #IFirstSymbolPrefix {
- border-top: 1px solid #E0E0E0;
- }
- .IndexPage #ILastSymbolPrefix,
- .FramedIndexPage #ILastSymbolPrefix {
- border-bottom: 1px solid #E0E0E0;
- }
- .IndexPage #IOnlySymbolPrefix,
- .FramedIndexPage #IOnlySymbolPrefix {
- border-top: 1px solid #E0E0E0;
- border-bottom: 1px solid #E0E0E0;
- }
-
- a.IParent,
- a.IFile {
- display: block;
- }
-
- .PopupSearchResultsPage .SRStatus {
- padding: 2px 5px;
- font-size: 8pt;
- font-style: italic;
- }
- .FramedSearchResultsPage .SRStatus {
- font-size: 10pt;
- font-style: italic;
- }
-
- .SRResult {
- display: none;
- }
-
-
-
-#Footer {
- font-size: 8pt;
- color: #989898;
- text-align: right;
- }
-
-#Footer p {
- text-indent: 0;
- margin-bottom: .5em;
- }
-
-.ContentPage #Footer,
-.IndexPage #Footer {
- text-align: right;
- margin: 2px;
- }
-
-.FramedMenuPage #Footer {
- text-align: center;
- margin: 5em 10px 10px 10px;
- padding-top: 1em;
- border-top: 1px solid #C8C8C8;
- }
-
- #Footer a:link,
- #Footer a:hover,
- #Footer a:visited { color: #989898 }
- #Footer a:active { color: #A00000 }
-
-
-
-.prettyprint .kwd { color: #800000; } /* keywords */
-
- .prettyprint.PDefaultValue .kwd,
- .prettyprint.PDefaultValuePrefix .kwd,
- .prettyprint.PTypePrefix .kwd {
- color: #C88F8F;
- }
-
-.prettyprint .com { color: #008000; } /* comments */
-
- .prettyprint.PDefaultValue .com,
- .prettyprint.PDefaultValuePrefix .com,
- .prettyprint.PTypePrefix .com {
- color: #8FC88F;
- }
-
-.prettyprint .str { color: #0000B0; } /* strings */
-.prettyprint .lit { color: #0000B0; } /* literals */
-
- .prettyprint.PDefaultValue .str,
- .prettyprint.PDefaultValuePrefix .str,
- .prettyprint.PTypePrefix .str,
- .prettyprint.PDefaultValue .lit,
- .prettyprint.PDefaultValuePrefix .lit,
- .prettyprint.PTypePrefix .lit {
- color: #8F8FC0;
- }
-
-.prettyprint .typ { color: #000000; } /* types */
-.prettyprint .pun { color: #000000; } /* punctuation */
-.prettyprint .pln { color: #000000; } /* punctuation */
-
- .prettyprint.PDefaultValue .typ,
- .prettyprint.PDefaultValuePrefix .typ,
- .prettyprint.PTypePrefix .typ,
- .prettyprint.PDefaultValue .pun,
- .prettyprint.PDefaultValuePrefix .pun,
- .prettyprint.PTypePrefix .pun,
- .prettyprint.PDefaultValue .pln,
- .prettyprint.PDefaultValuePrefix .pln,
- .prettyprint.PTypePrefix .pln {
- color: #8F8F8F;
- }
-
-.prettyprint .tag { color: #008; }
-.prettyprint .atn { color: #606; }
-.prettyprint .atv { color: #080; }
-.prettyprint .dec { color: #606; }
-
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/2.css b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/2.css
deleted file mode 100644
index ff83144c574..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/2.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Custom styles for the generated HTML, which are supposed to override the default
-styles
-*/
-
-p {
- text-indent: 0;
- margin-bottom: 1em;
-}
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/main.css b/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/main.css
deleted file mode 100644
index a672a94920c..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/html/styles/main.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import URL("1.css");
-@import URL("2.css");
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl b/Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl
index e1c34624a81..b9186e09e25 100644
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl
+++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl
@@ -55,4 +55,3 @@ sub unslurp {
or die "Error writing file '$filename'\n";
close ($fh);
}
-
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt
index ca2e43f9db1..5219d2997a4 100644
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt
+++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt
@@ -62,14 +62,14 @@ program; it demonstrates additional features!)
> /* Allocate the color black (red, green and blue all minimum).
> Since this is the first color in a new image, it will
> be the background color. */
-> black = gdImageColorAllocate(im, 0, 0, 0);
+> black = gdImageColorAllocate(im, 0, 0, 0);
>
> /* Allocate the color white (red, green and blue all maximum). */
-> white = gdImageColorAllocate(im, 255, 255, 255);
->
+> white = gdImageColorAllocate(im, 255, 255, 255);
+>
> /* Draw a line from the upper left to the lower right,
> using white color index. */
-> gdImageLine(im, 0, 0, 63, 63, white);
+> gdImageLine(im, 0, 0, 63, 63, white);
>
> /* Open a file for writing. "wb" means "write binary", important
> under MSDOS, harmless under Unix. */
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ClassHierarchy.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ClassHierarchy.nd
deleted file mode 100644
index bc063b0abe6..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ClassHierarchy.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ConfigFileInfo.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ConfigFileInfo.nd
deleted file mode 100644
index 012137a9505..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ConfigFileInfo.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/FileInfo.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/FileInfo.nd
deleted file mode 100644
index d5b46fa0d8d..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/FileInfo.nd
+++ /dev/null
@@ -1,95 +0,0 @@
-1.52
-C/C++
-/parent/libgd/docs/naturaldocs/tmp/gd2topng.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd2topng.c
-/parent/libgd/docs/naturaldocs/tmp/gd_webp.c 1504090822 1 WebP IO
-/parent/libgd/docs/naturaldocs/tmp/gdparttopng.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdparttopng.c
-/parent/libgd/docs/naturaldocs/tmp/gdfontt.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdfontt.h
-/parent/libgd/docs/naturaldocs/tmp/gdfontmb.c 1504090822 1 Medium Bold Font
-/parent/libgd/docs/naturaldocs/tmp/webpng.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/webpng.c
-/parent/libgd/docs/naturaldocs/tmp/gd_wbmp.c 1504090822 1 WBMP IO
-/parent/libgd/docs/naturaldocs/tmp/gd_jpeg.c 1504090821 1 JPEG IO
-/parent/libgd/docs/naturaldocs/tmp/gd_png.c 1504090821 1 PNG IO
-/parent/libgd/docs/naturaldocs/tmp/gdcache.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdcache.h
-/parent/libgd/docs/naturaldocs/tmp/gdpp.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdpp.h
-/parent/libgd/docs/naturaldocs/tmp/gd_nnquant.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gd_nnquant.h
-/parent/libgd/docs/naturaldocs/tmp/gdfontl.c 1504090822 1 Large Font
-/parent/libgd/docs/naturaldocs/tmp/testac.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/testac.c
-/parent/libgd/docs/naturaldocs/tmp/gdtest.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdtest.c
-/parent/libgd/docs/naturaldocs/tmp/gd_intern.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gd_intern.h
-/parent/libgd/docs/naturaldocs/tmp/gd.h 1504090822 1 /parent/libgd/docs/naturaldocs/tmp/gd.h
-/parent/libgd/docs/naturaldocs/tmp/gd_io_stream.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gd_io_stream.h
-/parent/libgd/docs/naturaldocs/tmp/gd2time.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd2time.c
-/parent/libgd/docs/naturaldocs/tmp/gd_interpolation.c 1504090821 1 /parent/libgd/docs/naturaldocs/tmp/gd_interpolation.c
-/parent/libgd/docs/naturaldocs/tmp/gdxpm.c 1504090822 1 XPM Input
-/parent/libgd/docs/naturaldocs/tmp/entities.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/entities.h
-/parent/libgd/docs/naturaldocs/tmp/gdfontl.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdfontl.h
-/parent/libgd/docs/naturaldocs/tmp/circletexttest.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/circletexttest.c
-/parent/libgd/docs/naturaldocs/tmp/gd_io_file.c 1504090821 1 gdNewFileCtx
-/parent/libgd/docs/naturaldocs/tmp/snprintf.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/snprintf.c
-/parent/libgd/docs/naturaldocs/tmp/gd_color.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gd_color.h
-/parent/libgd/docs/naturaldocs/tmp/gd_gif_out.c 1504090821 1 GIF Output
-/parent/libgd/docs/naturaldocs/tmp/gd_color.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd_color.c
-/parent/libgd/docs/naturaldocs/tmp/fontconfigtest.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/fontconfigtest.c
-/parent/libgd/docs/naturaldocs/tmp/gd_rotate.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd_rotate.c
-/parent/libgd/docs/naturaldocs/tmp/gdtopng.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdtopng.c
-/parent/libgd/docs/naturaldocs/tmp/wbmp.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/wbmp.h
-/parent/libgd/docs/naturaldocs/tmp/gd_crop.c 1504090821 1 Cropping
-/parent/libgd/docs/naturaldocs/tmp/fontsizetest.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/fontsizetest.c
-/parent/libgd/docs/naturaldocs/tmp/gifanimtest.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gifanimtest.c
-/parent/libgd/docs/naturaldocs/tmp/gd_nnquant.c 1504090821 1 gdImageNeuQuant
-/parent/libgd/docs/naturaldocs/tmp/gd_security.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd_security.c
-/parent/libgd/docs/naturaldocs/tmp/gd_color_map.c 1504090821 1 gdColorMapLookup
-/parent/libgd/docs/naturaldocs/tmp/gd_bmp.c 1504090821 1 BMP IO
-/parent/libgd/docs/naturaldocs/tmp/jisx0208.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/jisx0208.h
-/parent/libgd/docs/naturaldocs/tmp/gdfx.c 1504090822 1 /parent/libgd/docs/naturaldocs/tmp/gdfx.c
-/parent/libgd/docs/naturaldocs/tmp/gd_transform.c 1504090822 1 Transformations
-/parent/libgd/docs/naturaldocs/tmp/pngtogd.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/pngtogd.c
-/parent/libgd/docs/naturaldocs/tmp/gd_color_match.c 1504090821 1 gdImageColorMatch
-/parent/libgd/docs/naturaldocs/tmp/gd_filename.c 1504090821 1 /parent/libgd/docs/naturaldocs/tmp/gd_filename.c
-/parent/libgd/docs/naturaldocs/tmp/gd_io_ss.c 1504090821 1 gdNewSSCtx
-/parent/libgd/docs/naturaldocs/tmp/gdfontg.c 1504090822 1 Giant Font
-/parent/libgd/docs/naturaldocs/tmp/wbmp.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/wbmp.c
-/parent/libgd/docs/naturaldocs/tmp/gdcache.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdcache.c
-/parent/libgd/docs/naturaldocs/tmp/gdhelpers.c 1504090822 1 gdFree
-/parent/libgd/docs/naturaldocs/tmp/gdfontt.c 1504090822 1 Tiny Font
-/parent/libgd/docs/naturaldocs/tmp/gd_io_dp.c 1504090821 1 /parent/libgd/docs/naturaldocs/tmp/gd_io_dp.c
-/parent/libgd/docs/naturaldocs/tmp/gd2togif.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd2togif.c
-/parent/libgd/docs/naturaldocs/tmp/gd_version.c 1504090822 1 /parent/libgd/docs/naturaldocs/tmp/gd_version.c
-/parent/libgd/docs/naturaldocs/tmp/giftogd2.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/giftogd2.c
-/parent/libgd/docs/naturaldocs/tmp/gd.c 1504090821 1 /parent/libgd/docs/naturaldocs/tmp/gd.c
-/parent/libgd/docs/naturaldocs/tmp/gd_gd.c 1504090821 1 GD IO
-/parent/libgd/docs/naturaldocs/tmp/gdtables.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdtables.c
-/parent/libgd/docs/naturaldocs/tmp/gd_io.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd_io.c
-/parent/libgd/docs/naturaldocs/tmp/gd_tga.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gd_tga.h
-/parent/libgd/docs/naturaldocs/tmp/gdfontg.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdfontg.h
-/parent/libgd/docs/naturaldocs/tmp/testtr.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/testtr.c
-/parent/libgd/docs/naturaldocs/tmp/gd_tga.c 1504090821 1 TGA Input
-/parent/libgd/docs/naturaldocs/tmp/gdcmpgif.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdcmpgif.c
-/parent/libgd/docs/naturaldocs/tmp/gd_filter.c 1504090821 1 Image Filters
-/parent/libgd/docs/naturaldocs/tmp/annotate.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/annotate.c
-/parent/libgd/docs/naturaldocs/tmp/gd_errors.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gd_errors.h
-/parent/libgd/docs/naturaldocs/tmp/gd_gif_in.c 1504090821 1 GIF Input
-/parent/libgd/docs/naturaldocs/tmp/gdft.c 1504090822 1 FreeType font rendering
-/parent/libgd/docs/naturaldocs/tmp/gddemo.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gddemo.c
-/parent/libgd/docs/naturaldocs/tmp/fontwheeltest.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/fontwheeltest.c
-/parent/libgd/docs/naturaldocs/tmp/gdfonts.c 1504090822 1 Small Font
-/parent/libgd/docs/naturaldocs/tmp/gdhelpers.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdhelpers.h
-/parent/libgd/docs/naturaldocs/tmp/gd_io.h 1504090822 1 /parent/libgd/docs/naturaldocs/tmp/gd_io.h
-/parent/libgd/docs/naturaldocs/tmp/gdfx.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdfx.h
-/parent/libgd/docs/naturaldocs/tmp/gd_ss.c 1504090821 1 /parent/libgd/docs/naturaldocs/tmp/gd_ss.c
-/parent/libgd/docs/naturaldocs/tmp/bmp.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/bmp.h
-/parent/libgd/docs/naturaldocs/tmp/gd_xbm.c 1504090822 1 XBM IO
-/parent/libgd/docs/naturaldocs/tmp/gd_color_map.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gd_color_map.h
-/parent/libgd/docs/naturaldocs/tmp/license.txt 1504090822 1 License
-/parent/libgd/docs/naturaldocs/tmp/gdfonts.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdfonts.h
-/parent/libgd/docs/naturaldocs/tmp/gd2copypal.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd2copypal.c
-/parent/libgd/docs/naturaldocs/tmp/gd_color_map_test.c 1504090821 0 /parent/libgd/docs/naturaldocs/tmp/gd_color_map_test.c
-/parent/libgd/docs/naturaldocs/tmp/gdkanji.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdkanji.c
-/parent/libgd/docs/naturaldocs/tmp/gdtestft.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdtestft.c
-/parent/libgd/docs/naturaldocs/tmp/pngtogd2.c 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/pngtogd2.c
-/parent/libgd/docs/naturaldocs/tmp/gd_tiff.c 1504090822 1 TIFF IO
-/parent/libgd/docs/naturaldocs/tmp/gdfontmb.h 1504090822 0 /parent/libgd/docs/naturaldocs/tmp/gdfontmb.h
-/parent/libgd/docs/naturaldocs/tmp/gd_matrix.c 1504090821 1 Matrix
-/parent/libgd/docs/naturaldocs/tmp/gd_gd2.c 1504090821 1 GD2 IO
-/parent/libgd/docs/naturaldocs/tmp/preamble.txt 1504090822 1 About LibGD 2.2.5
-/parent/libgd/docs/naturaldocs/tmp/gd_topal.c 1504090822 1 Color Quantization
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageFileInfo.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageFileInfo.nd
deleted file mode 100644
index ae5a61c4372..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageFileInfo.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageReferenceTable.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageReferenceTable.nd
deleted file mode 100644
index 9d01775472c..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/ImageReferenceTable.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/IndexInfo.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/IndexInfo.nd
deleted file mode 100644
index c616e09bd05..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/IndexInfo.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousMenuState.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousMenuState.nd
deleted file mode 100644
index 3e93e26a1de..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousMenuState.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousSettings.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousSettings.nd
deleted file mode 100644
index ad1a41d971e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/PreviousSettings.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/SymbolTable.nd b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/SymbolTable.nd
deleted file mode 100644
index 4c16754501e..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Data/SymbolTable.nd
+++ /dev/null
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt
deleted file mode 100644
index 42b197c21bc..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt
+++ /dev/null
@@ -1,113 +0,0 @@
-Format: 1.52
-
-# This is the Natural Docs languages file for this project. If you change
-# anything here, it will apply to THIS PROJECT ONLY. If you'd like to change
-# something for all your projects, edit the Languages.txt in Natural Docs'
-# Config directory instead.
-
-
-# You can prevent certain file extensions from being scanned like this:
-# Ignore Extensions: [extension] [extension] ...
-
-
-#-------------------------------------------------------------------------------
-# SYNTAX:
-#
-# Unlike other Natural Docs configuration files, in this file all comments
-# MUST be alone on a line. Some languages deal with the # character, so you
-# cannot put comments on the same line as content.
-#
-# Also, all lists are separated with spaces, not commas, again because some
-# languages may need to use them.
-#
-# Language: [name]
-# Alter Language: [name]
-# Defines a new language or alters an existing one. Its name can use any
-# characters. If any of the properties below have an add/replace form, you
-# must use that when using Alter Language.
-#
-# The language Shebang Script is special. It's entry is only used for
-# extensions, and files with those extensions have their shebang (#!) lines
-# read to determine the real language of the file. Extensionless files are
-# always treated this way.
-#
-# The language Text File is also special. It's treated as one big comment
-# so you can put Natural Docs content in them without special symbols. Also,
-# if you don't specify a package separator, ignored prefixes, or enum value
-# behavior, it will copy those settings from the language that is used most
-# in the source tree.
-#
-# Extensions: [extension] [extension] ...
-# [Add/Replace] Extensions: [extension] [extension] ...
-# Defines the file extensions of the language's source files. You can
-# redefine extensions found in the main languages file. You can use * to
-# mean any undefined extension.
-#
-# Shebang Strings: [string] [string] ...
-# [Add/Replace] Shebang Strings: [string] [string] ...
-# Defines a list of strings that can appear in the shebang (#!) line to
-# designate that it's part of the language. You can redefine strings found
-# in the main languages file.
-#
-# Ignore Prefixes in Index: [prefix] [prefix] ...
-# [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ...
-#
-# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ...
-# [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ...
-# Specifies prefixes that should be ignored when sorting symbols in an
-# index. Can be specified in general or for a specific topic type.
-#
-#------------------------------------------------------------------------------
-# For basic language support only:
-#
-# Line Comments: [symbol] [symbol] ...
-# Defines a space-separated list of symbols that are used for line comments,
-# if any.
-#
-# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ...
-# Defines a space-separated list of symbol pairs that are used for block
-# comments, if any.
-#
-# Package Separator: [symbol]
-# Defines the default package separator symbol. The default is a dot.
-#
-# [Topic Type] Prototype Enders: [symbol] [symbol] ...
-# When defined, Natural Docs will attempt to get a prototype from the code
-# immediately following the topic type. It stops when it reaches one of
-# these symbols. Use \n for line breaks.
-#
-# Line Extender: [symbol]
-# Defines the symbol that allows a prototype to span multiple lines if
-# normally a line break would end it.
-#
-# Enum Values: [global|under type|under parent]
-# Defines how enum values are referenced. The default is global.
-# global - Values are always global, referenced as 'value'.
-# under type - Values are under the enum type, referenced as
-# 'package.enum.value'.
-# under parent - Values are under the enum's parent, referenced as
-# 'package.value'.
-#
-# Perl Package: [perl package]
-# Specifies the Perl package used to fine-tune the language behavior in ways
-# too complex to do in this file.
-#
-#------------------------------------------------------------------------------
-# For full language support only:
-#
-# Full Language Support: [perl package]
-# Specifies the Perl package that has the parsing routines necessary for full
-# language support.
-#
-#-------------------------------------------------------------------------------
-
-# The following languages are defined in the main file, if you'd like to alter
-# them:
-#
-# Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python,
-# PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile,
-# ActionScript, ColdFusion, R, Fortran
-
-# If you add a language that you think would be useful to other developers
-# and should be included in Natural Docs by default, please e-mail it to
-# languages [at] naturaldocs [dot] org.
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Menu.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Menu.txt
index 18438bd0b49..2ce9748cf5f 100644
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Menu.txt
+++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Menu.txt
@@ -27,22 +27,22 @@ Format: 1.52
# --------------------------------------------------------------------------
-#
+#
# Cut and paste the lines below to change the order in which your files
# appear on the menu. Don't worry about adding or removing files, Natural
# Docs will take care of that.
-#
+#
# You can further organize the menu by grouping the entries. Add a
# "Group: [name] {" line to start a group, and add a "}" to end it.
-#
+#
# You can add text and web links to the menu by adding "Text: [text]" and
# "Link: [name] ([URL])" lines, respectively.
-#
+#
# The formatting and comments are auto-generated, so don't worry about
# neatness when editing the file. Natural Docs will clean it up the next
# time it is run. When working with groups, just deal with the braces and
# forget about the indentation and comments.
-#
+#
# --------------------------------------------------------------------------
@@ -106,4 +106,3 @@ Group: Index {
Macro Index: Macros
Type Index: Types
} # Group: Index
-
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt
deleted file mode 100644
index 905270f0e23..00000000000
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt
+++ /dev/null
@@ -1,81 +0,0 @@
-Format: 1.52
-
-# This is the Natural Docs topics file for this project. If you change anything
-# here, it will apply to THIS PROJECT ONLY. If you'd like to change something
-# for all your projects, edit the Topics.txt in Natural Docs' Config directory
-# instead.
-
-
-# If you'd like to prevent keywords from being recognized by Natural Docs, you
-# can do it like this:
-# Ignore Keywords: [keyword], [keyword], ...
-#
-# Or you can use the list syntax like how they are defined:
-# Ignore Keywords:
-# [keyword]
-# [keyword], [plural keyword]
-# ...
-
-
-#-------------------------------------------------------------------------------
-# SYNTAX:
-#
-# Topic Type: [name]
-# Alter Topic Type: [name]
-# Creates a new topic type or alters one from the main file. Each type gets
-# its own index and behavior settings. Its name can have letters, numbers,
-# spaces, and these charaters: - / . '
-#
-# Plural: [name]
-# Sets the plural name of the topic type, if different.
-#
-# Keywords:
-# [keyword]
-# [keyword], [plural keyword]
-# ...
-# Defines or adds to the list of keywords for the topic type. They may only
-# contain letters, numbers, and spaces and are not case sensitive. Plural
-# keywords are used for list topics. You can redefine keywords found in the
-# main topics file.
-#
-# Index: [yes|no]
-# Whether the topics get their own index. Defaults to yes. Everything is
-# included in the general index regardless of this setting.
-#
-# Scope: [normal|start|end|always global]
-# How the topics affects scope. Defaults to normal.
-# normal - Topics stay within the current scope.
-# start - Topics start a new scope for all the topics beneath it,
-# like class topics.
-# end - Topics reset the scope back to global for all the topics
-# beneath it.
-# always global - Topics are defined as global, but do not change the scope
-# for any other topics.
-#
-# Class Hierarchy: [yes|no]
-# Whether the topics are part of the class hierarchy. Defaults to no.
-#
-# Page Title If First: [yes|no]
-# Whether the topic's title becomes the page title if it's the first one in
-# a file. Defaults to no.
-#
-# Break Lists: [yes|no]
-# Whether list topics should be broken into individual topics in the output.
-# Defaults to no.
-#
-# Can Group With: [type], [type], ...
-# Defines a list of topic types that this one can possibly be grouped with.
-# Defaults to none.
-#-------------------------------------------------------------------------------
-
-# The following topics are defined in the main file, if you'd like to alter
-# their behavior or add keywords:
-#
-# Generic, Class, Interface, Section, File, Group, Function, Variable,
-# Property, Type, Constant, Enumeration, Event, Delegate, Macro,
-# Database, Database Table, Database View, Database Index, Database
-# Cursor, Database Trigger, Cookie, Build Target
-
-# If you add something that you think would be useful to other developers
-# and should be included in Natural Docs by default, please e-mail it to
-# topics [at] naturaldocs [dot] org.
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh b/Build/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh
index dce3072101f..950d66df17a 100755
--- a/Build/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh
+++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh
@@ -74,5 +74,3 @@ $(nd) --rebuild --rebuild-output --documented-only \
# And cleanup the temp files.
rm -rf Data tmp
-
-
diff --git a/Build/source/libs/gd/libgd-src/examples/CMakeLists.txt b/Build/source/libs/gd/libgd-src/examples/CMakeLists.txt
index 869880fa958..120a8f3df4a 100644
--- a/Build/source/libs/gd/libgd-src/examples/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/examples/CMakeLists.txt
@@ -1,15 +1,19 @@
include_directories (BEFORE "${GD_SOURCE_DIR}/src" "${CMAKE_BINARY_DIR}")
SET(TESTS_FILES
- arc
- crop
- gif
- nnquant
- tgaread
+ gif
)
+if (PNG_FOUND)
+ LIST(APPEND TEST_FILES arc crop tgaread)
+
+ if (JPEG_FOUND)
+ LIST(APPEND TESTS_FILES copyrotated flip nnquant)
+ endif (JPEG_FOUND)
+endif (PNG_FOUND)
+
if (JPEG_FOUND)
- LIST(APPEND TESTS_FILES copyrotated flip)
+ LIST(APPEND TESTS_FILES resize)
endif (JPEG_FOUND)
if (TIFF_FOUND)
@@ -27,11 +31,13 @@ FOREACH(test_name ${TESTS_FILES})
target_link_libraries (${test_name} ${GD_LINK_LIB})
ENDFOREACH(test_name)
-if(JPEG_FOUND)
- if(UNIX)
- target_link_libraries(copyrotated m)
- endif(UNIX)
-endif(JPEG_FOUND)
+# Add libraries *after* we've called add_executable on all the tests.
+
+if (PNG_FOUND AND JPEG_FOUND)
+ if (UNIX)
+ target_link_libraries(copyrotated m)
+ endif (UNIX)
+endif(PNG_FOUND AND JPEG_FOUND)
if (WIN32 AND NOT MINGW AND NOT MSYS)
add_executable(windows WIN32 "windows.c")
diff --git a/Build/source/libs/gd/libgd-src/examples/arc.c b/Build/source/libs/gd/libgd-src/examples/arc.c
index 8e862833855..8b57c14701d 100644
--- a/Build/source/libs/gd/libgd-src/examples/arc.c
+++ b/Build/source/libs/gd/libgd-src/examples/arc.c
@@ -1,4 +1,3 @@
-/* $Id$ */
#include "gd.h"
#include <stdio.h>
#include <stdlib.h>
@@ -19,11 +18,7 @@ int main()
gdImageDestroy(im);
return 1;
}
-#ifdef HAVE_LIBPNG
gdImagePng(im, fp);
-#else
- printf("No PNG support. Cannot save image.\n");
-#endif
fclose(fp);
gdImageDestroy(im);
diff --git a/Build/source/libs/gd/libgd-src/examples/copyrotated.c b/Build/source/libs/gd/libgd-src/examples/copyrotated.c
index 03e493d0ce0..9006c0c3e12 100644
--- a/Build/source/libs/gd/libgd-src/examples/copyrotated.c
+++ b/Build/source/libs/gd/libgd-src/examples/copyrotated.c
@@ -1,4 +1,3 @@
-/* $Id$ */
#include "gd.h"
#include <stdio.h>
#include <stdlib.h>
@@ -60,9 +59,9 @@ int main(int argc, char **arg)
/* to radian */
a2 = angle * .0174532925;
- new_width = ceil(cos(a2) * gdImageSX(im)) +
+ new_width = fabs(ceil(cos(a2) * gdImageSX(im))) +
fabs(sin(a2) * gdImageSY(im));
- new_height = ceil(cos(a2) * gdImageSY(im)) +
+ new_height = fabs(ceil(cos(a2) * gdImageSY(im))) +
fabs(sin(a2) * gdImageSX(im));
diff --git a/Build/source/libs/gd/libgd-src/examples/crop.c b/Build/source/libs/gd/libgd-src/examples/crop.c
index bafb6df849c..569807c1e2e 100644
--- a/Build/source/libs/gd/libgd-src/examples/crop.c
+++ b/Build/source/libs/gd/libgd-src/examples/crop.c
@@ -1,5 +1,3 @@
-/* $Id$ */
-
#include "gd.h"
#include <stdio.h>
#include <stdlib.h>
@@ -12,11 +10,7 @@ void save_png(gdImagePtr im, const char *filename)
fprintf(stderr, "Can't save png image %s\n", filename);
return;
}
-#ifdef HAVE_LIBPNG
gdImagePng(im, fp);
-#else
- printf("No PNG support. Cannot save image.\n");
-#endif
fclose(fp);
}
@@ -30,12 +24,7 @@ gdImagePtr read_png(const char *filename)
fprintf(stderr, "Can't read png image %s\n", filename);
return NULL;
}
-#ifdef HAVE_LIBPNG
im = gdImageCreateFromPng(fp);
-#else
- im = NULL;
- printf("No PNG support. Cannot read image.\n");
-#endif
fclose(fp);
return im;
}
diff --git a/Build/source/libs/gd/libgd-src/examples/flip.c b/Build/source/libs/gd/libgd-src/examples/flip.c
index 2399457b81b..35f92cf46ec 100644
--- a/Build/source/libs/gd/libgd-src/examples/flip.c
+++ b/Build/source/libs/gd/libgd-src/examples/flip.c
@@ -1,4 +1,3 @@
-/* $Id$ */
#include "gd.h"
#include <stdio.h>
#include <stdlib.h>
diff --git a/Build/source/libs/gd/libgd-src/examples/gif.c b/Build/source/libs/gd/libgd-src/examples/gif.c
index d5103f086b3..ce99c3f6a7a 100644
--- a/Build/source/libs/gd/libgd-src/examples/gif.c
+++ b/Build/source/libs/gd/libgd-src/examples/gif.c
@@ -49,4 +49,4 @@ int main(void)
fclose(out);
return 0;
-} \ No newline at end of file
+}
diff --git a/Build/source/libs/gd/libgd-src/examples/nnquant.c b/Build/source/libs/gd/libgd-src/examples/nnquant.c
index 33ed523266e..82e36729c6b 100644
--- a/Build/source/libs/gd/libgd-src/examples/nnquant.c
+++ b/Build/source/libs/gd/libgd-src/examples/nnquant.c
@@ -1,5 +1,3 @@
-/* $Id$ */
-
#include "gd.h"
#include <stdio.h>
#include <stdlib.h>
@@ -12,17 +10,12 @@ void save_png(gdImagePtr im, const char *filename)
fprintf(stderr, "Can't save png image %s\n", filename);
return;
}
-#ifdef HAVE_LIBPNG
gdImagePng(im, fp);
-#else
- printf("No PNG support. Cannot save image.\n");
-#endif
fclose(fp);
}
int main()
{
-#ifdef HAVE_JPEG
gdImagePtr im, im2;
FILE *fp;
char path[2048];
@@ -56,9 +49,5 @@ int main()
save_png(im, "a_jquant_dither.png");
gdImageDestroy(im);
-#else
- printf("JPEG support is required for this example. Please recompile GD with JPEG or change this example to use another format as input.");
- return 1;
-#endif
return 0;
}
diff --git a/Build/source/libs/gd/libgd-src/examples/resize.c b/Build/source/libs/gd/libgd-src/examples/resize.c
index 84543cd434b..8bc3ff7ddcc 100644
--- a/Build/source/libs/gd/libgd-src/examples/resize.c
+++ b/Build/source/libs/gd/libgd-src/examples/resize.c
@@ -56,4 +56,4 @@ int main (int argc, char *argv[]) {
gdImageDestroy(out);
return 0;
-} \ No newline at end of file
+}
diff --git a/Build/source/libs/gd/libgd-src/examples/tgaread.c b/Build/source/libs/gd/libgd-src/examples/tgaread.c
index a8e080782b2..859f4d4254b 100644
--- a/Build/source/libs/gd/libgd-src/examples/tgaread.c
+++ b/Build/source/libs/gd/libgd-src/examples/tgaread.c
@@ -1,4 +1,3 @@
-/* $Id$ */
/*
* You can fetch a set of samples TIFF images here:
* ftp://ftp.remotesensing.org/pub/libtiff/
@@ -44,11 +43,7 @@ int main()
gdImageDestroy(im);
return 1;
}
-#ifdef HAVE_LIBPNG
- gdImagePng(im, fp);
-#else
- printf("No PNG support. Cannot save image.\n");
-#endif
+ gdImagePng(im, fp);
fclose(fp);
gdImageDestroy(im);
}
diff --git a/Build/source/libs/gd/libgd-src/examples/tiffread.c b/Build/source/libs/gd/libgd-src/examples/tiffread.c
index fe63ce00b2c..f1d78369be5 100644
--- a/Build/source/libs/gd/libgd-src/examples/tiffread.c
+++ b/Build/source/libs/gd/libgd-src/examples/tiffread.c
@@ -1,4 +1,3 @@
-/* $Id$ */
/*
* You can fetch a set of samples TIFF images here:
* ftp://ftp.remotesensing.org/pub/libtiff/
diff --git a/Build/source/libs/gd/libgd-src/examples/windows.c b/Build/source/libs/gd/libgd-src/examples/windows.c
index 55976386f4e..d68d7a1eb5c 100644
--- a/Build/source/libs/gd/libgd-src/examples/windows.c
+++ b/Build/source/libs/gd/libgd-src/examples/windows.c
@@ -3,7 +3,6 @@ Sample usage of GD on windows. This little program opens a window, fetch its DIB
and assigns to a GD truecolor image.
Thanks to Mateusz Loskot (http://mateusz.loskot.net) for the AttachBuffer function!
-$Id$
*/
#include <windows.h>
#include <gd.h>
diff --git a/Build/source/libs/gd/libgd-src/m4/ax_append_flag.m4 b/Build/source/libs/gd/libgd-src/m4/ax_append_flag.m4
index 08f2e07ec61..dd6d8b61406 100644
--- a/Build/source/libs/gd/libgd-src/m4/ax_append_flag.m4
+++ b/Build/source/libs/gd/libgd-src/m4/ax_append_flag.m4
@@ -1,5 +1,5 @@
# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_append_flag.html
+# https://www.gnu.org/software/autoconf-archive/ax_append_flag.html
# ===========================================================================
#
# SYNOPSIS
@@ -23,33 +23,12 @@
# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
-#serial 6
+#serial 8
AC_DEFUN([AX_APPEND_FLAG],
[dnl
diff --git a/Build/source/libs/gd/libgd-src/m4/ax_cflags_warn_all.m4 b/Build/source/libs/gd/libgd-src/m4/ax_cflags_warn_all.m4
index 1f0779928aa..094577e4589 100644
--- a/Build/source/libs/gd/libgd-src/m4/ax_cflags_warn_all.m4
+++ b/Build/source/libs/gd/libgd-src/m4/ax_cflags_warn_all.m4
@@ -1,5 +1,5 @@
# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
+# https://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
# ===========================================================================
#
# SYNOPSIS
@@ -43,7 +43,7 @@
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
+# with this program. If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
@@ -58,7 +58,7 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 15
+#serial 16
AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl
AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl
diff --git a/Build/source/libs/gd/libgd-src/m4/ax_pthread.m4 b/Build/source/libs/gd/libgd-src/m4/ax_pthread.m4
index 4c4051ea376..5fbf9fe0d68 100644
--- a/Build/source/libs/gd/libgd-src/m4/ax_pthread.m4
+++ b/Build/source/libs/gd/libgd-src/m4/ax_pthread.m4
@@ -1,5 +1,5 @@
# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
+# https://www.gnu.org/software/autoconf-archive/ax_pthread.html
# ===========================================================================
#
# SYNOPSIS
@@ -67,7 +67,7 @@
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
+# with this program. If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
@@ -82,7 +82,7 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 23
+#serial 24
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
AC_DEFUN([AX_PTHREAD], [
diff --git a/Build/source/libs/gd/libgd-src/m4/ax_require_defined.m4 b/Build/source/libs/gd/libgd-src/m4/ax_require_defined.m4
index cae11112d90..17c3eab7daf 100644
--- a/Build/source/libs/gd/libgd-src/m4/ax_require_defined.m4
+++ b/Build/source/libs/gd/libgd-src/m4/ax_require_defined.m4
@@ -1,5 +1,5 @@
# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_require_defined.html
+# https://www.gnu.org/software/autoconf-archive/ax_require_defined.html
# ===========================================================================
#
# SYNOPSIS
@@ -30,7 +30,7 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 1
+#serial 2
AC_DEFUN([AX_REQUIRE_DEFINED], [dnl
m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])])
diff --git a/Build/source/libs/gd/libgd-src/netware/Makefile.netware b/Build/source/libs/gd/libgd-src/netware/Makefile.netware
deleted file mode 100644
index 3da624349f5..00000000000
--- a/Build/source/libs/gd/libgd-src/netware/Makefile.netware
+++ /dev/null
@@ -1,553 +0,0 @@
-#################################################################
-#
-## Makefile for building libgd.nlm (NetWare version - gnu make)
-## Use: make -f Makefile
-##
-## Comments to: Guenter Knauf <eflash@gmx.net>
-##
-## $Id$
-#
-#################################################################
-
-# Edit the path below to point to the base of your Novell NDK.
-ifndef NDKBASE
-NDKBASE = c:/novell
-endif
-
-# Base for the lib sources
-ifndef LIBBASE
-LIBBASE = ../..
-endif
-# All library code is statically linked to avoid problems with other lib NLMs.
-
-# Edit the path below to point to your libpng sources or set environment var.
-ifndef LIBPNG
-LIBPNG = $(LIBBASE)/libpng-1.2.16
-endif
-# Edit the path below to point to your libpng sources or set environment var.
-ifndef LIBJPEG
-LIBJPEG = $(LIBBASE)/jpeg-6b
-endif
-# Edit the path below to point to your freetype sources or set environment var.
-ifndef LIBFT2
-LIBFT2 = $(LIBBASE)/freetype-2.3.4
-endif
-# Edit the path below to point to your zlib sources or set environment var.
-ifndef ZLIBSDK
-ZLIBSDK = $(LIBBASE)/zlib-1.2.3
-endif
-
-LIBGD = ..
-
-ifndef INSTDIR
-INSTDIR = libgd-$(LIBGD_VERSION_STR)-bin-nw
-endif
-
-# Edit the vars below to change NLM target settings.
-TARGET = libgd
-COPYR = Copyright (C) 1996-2007 Boutell.Com, Inc.
-WWW = http://www.libgd.org/
-DESCR = libgd $(LIBGD_VERSION_STR) - $(WWW)
-MTSAFE = YES
-STACK = 64000
-SCREEN = none
-EXPORTS = @$(TARGET).imp
-EPREFIX = LIBGD
-
-# Edit the var below to point to your lib architecture.
-ifndef LIBARCH
-LIBARCH = LIBC
-endif
-
-# must be equal to DEBUG or NDEBUG
-DB = NDEBUG
-# DB = DEBUG
-# Optimization: -O<n> or debugging: -g
-ifeq ($(DB),NDEBUG)
- OPT = -O2
- OBJDIR = release
-else
- OPT = -g
- OBJDIR = debug
-endif
-
-# Include the version info retrieved from xml2ver.h
--include $(OBJDIR)/version.inc
-
-# The following line defines your compiler.
-ifdef METROWERKS
- CC = mwccnlm
-else
- CC = gcc
-endif
-# http://www.gknw.net/development/prgtools/awk.zip
-AWK = awk
-YACC = bison -y
-CP = cp -afv
-# RM = rm -f
-# if you want to mark the target as MTSAFE you will need a tool for
-# generating the xdc data for the linker; here's a minimal tool:
-# http://www.gknw.net/development/prgtools/mkxdc.zip
-MPKXDC = mkxdc
-PATCH = patch
-PERLRUN = perl
-
-# Global flags for all compilers
-CFLAGS = $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc
-#CFLAGS += -DHAVE_LIBPNG=1 -DHAVE_LIBJPEG=1
-#CFLAGS += -DHAVE_LIBFREETYPE=1 -DHAVE_FT2BUILD_H=1
-#CFLAGS += -DHAVE_LIBZ=1
-
-ifeq ($(CC),mwccnlm)
-LD = mwldnlm
-LDFLAGS = -nostdlib $(PRELUDE) $(OBJL) $(LDLIBS) -o $@ -commandfile
-AR = mwldnlm
-ARFLAGS = -type library -w nocmdline $(OBJS) -o
-LIBEXT = lib
-CFLAGS += -msgstyle gcc -gccinc -inline off -opt nointrinsics -proc 586
-CFLAGS += -relax_pointers
-#CFLAGS += -w on
-ifeq ($(LIBARCH),LIBC)
- PRELUDE = $(SDK_LIBC)/imports/libcpre.o
- CFLAGS += -align 4
-else
- PRELUDE = "$(METROWERKS)/Novell Support/libraries/runtime/prelude.obj"
-# CFLAGS += -include "$(METROWERKS)/Novell Support/headers/nlm_prefix.h"
- CFLAGS += -align 1
-endif
-else
-LD = nlmconv
-LDFLAGS = -T
-AR = ar
-ARFLAGS = -cq
-LIBEXT = a
-CFLAGS += -fno-builtin -fpcc-struct-return -fno-strict-aliasing
-CFLAGS += -Wall -Wno-unused -Wno-main # -pedantic
-ifeq ($(LIBARCH),LIBC)
- PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
-else
- PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o
- CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
-endif
-endif
-
-NDK_ROOT = $(NDKBASE)/ndk
-SDK_CLIB = $(NDK_ROOT)/nwsdk
-SDK_LIBC = $(NDK_ROOT)/libc
-
-INCLUDES = -I. -I$(LIBGD) -I$(LIBPNG) -I$(LIBJPEG) -I$(LIBFT2)/include -I$(ZLIBSDK)
-
-ifeq ($(LIBARCH),LIBC)
- INCLUDES += -I$(SDK_LIBC)/include
- # INCLUDES += -I$(SDK_LIBC)/include/nks
- CFLAGS += -D_POSIX_SOURCE
- # CFLAGS += -D__ANSIC__
-else
- INCLUDES += -I$(SDK_CLIB)/include/nlm
- # INCLUDES += -I$(SDK_CLIB)/include
- # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete
-endif
-CFLAGS += $(INCLUDES)
-
-ifeq ($(MTSAFE),YES)
- XDCOPT = -n
-endif
-ifeq ($(MTSAFE),NO)
- XDCOPT = -u
-endif
-ifdef XDCOPT
- XDCDATA = $(OBJDIR)/$(TARGET).xdc
-endif
-
-ifeq ($(findstring linux,$(OSTYPE)),linux)
-DL = '
-#-include $(NDKBASE)/nlmconv/ncpfs.inc
-endif
-
-GDLIBOBJS = \
- $(OBJDIR)/gd.o \
- $(OBJDIR)/gd_gd.o \
- $(OBJDIR)/gd_gd2.o \
- $(OBJDIR)/gd_gif_in.o \
- $(OBJDIR)/gd_gif_out.o \
- $(OBJDIR)/gd_io.o \
- $(OBJDIR)/gd_io_dp.o \
- $(OBJDIR)/gd_io_file.o \
- $(OBJDIR)/gd_io_ss.o \
- $(OBJDIR)/gd_jpeg.o \
- $(OBJDIR)/gd_png.o \
- $(OBJDIR)/gd_ss.o \
- $(OBJDIR)/gd_topal.o \
- $(OBJDIR)/gd_wbmp.o \
- $(OBJDIR)/gdcache.o \
- $(OBJDIR)/gdfontg.o \
- $(OBJDIR)/gdfontl.o \
- $(OBJDIR)/gdfontmb.o \
- $(OBJDIR)/gdfonts.o \
- $(OBJDIR)/gdfontt.o \
- $(OBJDIR)/gdft.o \
- $(OBJDIR)/gdfx.o \
- $(OBJDIR)/gdhelpers.o \
- $(OBJDIR)/gdkanji.o \
- $(OBJDIR)/gdtables.o \
- $(OBJDIR)/gdxpm.o \
- $(OBJDIR)/wbmp.o \
- $(EOLIST)
-ifeq "$(wildcard $(LIBGD)/gd_security.c)" "$(LIBGD)/gd_security.c"
-GDLIBOBJS += \
- $(OBJDIR)/gd_security.o \
- $(EOLIST)
-endif
-
-PNGLIBOBJS = \
- $(OBJDIR)/png.o \
- $(OBJDIR)/pngerror.o \
- $(OBJDIR)/pngget.o \
- $(OBJDIR)/pngmem.o \
- $(OBJDIR)/pngpread.o \
- $(OBJDIR)/pngread.o \
- $(OBJDIR)/pngrio.o \
- $(OBJDIR)/pngrtran.o \
- $(OBJDIR)/pngrutil.o \
- $(OBJDIR)/pngset.o \
- $(OBJDIR)/pngtrans.o \
- $(OBJDIR)/pngwio.o \
- $(OBJDIR)/pngwrite.o \
- $(OBJDIR)/pngwtran.o \
- $(OBJDIR)/pngwutil.o \
- $(EOLIST)
-ifeq "$(wildcard $(LIBPNG)/pnggccrd.c)" "$(LIBPNG)/pnggccrd.c"
-PNGLIBOBJS += \
- $(OBJDIR)/pnggccrd.o \
- $(OBJDIR)/pngvcrd.o \
- $(EOLIST)
-endif
-
-OBJ_JPG = $(OBJDIR)
-JPGLIBOBJS = \
- $(OBJ_JPG)/jcapimin.o \
- $(OBJ_JPG)/jcapistd.o \
- $(OBJ_JPG)/jccoefct.o \
- $(OBJ_JPG)/jccolor.o \
- $(OBJ_JPG)/jcdctmgr.o \
- $(OBJ_JPG)/jchuff.o \
- $(OBJ_JPG)/jcinit.o \
- $(OBJ_JPG)/jcmainct.o \
- $(OBJ_JPG)/jcmarker.o \
- $(OBJ_JPG)/jcmaster.o \
- $(OBJ_JPG)/jcomapi.o \
- $(OBJ_JPG)/jcparam.o \
- $(OBJ_JPG)/jcphuff.o \
- $(OBJ_JPG)/jcprepct.o \
- $(OBJ_JPG)/jcsample.o \
- $(OBJ_JPG)/jctrans.o \
- $(OBJ_JPG)/jdapimin.o \
- $(OBJ_JPG)/jdapistd.o \
- $(OBJ_JPG)/jdatadst.o \
- $(OBJ_JPG)/jdatasrc.o \
- $(OBJ_JPG)/jdcoefct.o \
- $(OBJ_JPG)/jdcolor.o \
- $(OBJ_JPG)/jddctmgr.o \
- $(OBJ_JPG)/jdhuff.o \
- $(OBJ_JPG)/jdinput.o \
- $(OBJ_JPG)/jdmainct.o \
- $(OBJ_JPG)/jdmarker.o \
- $(OBJ_JPG)/jdmaster.o \
- $(OBJ_JPG)/jdmerge.o \
- $(OBJ_JPG)/jdphuff.o \
- $(OBJ_JPG)/jdpostct.o \
- $(OBJ_JPG)/jdsample.o \
- $(OBJ_JPG)/jdtrans.o \
- $(OBJ_JPG)/jerror.o \
- $(OBJ_JPG)/jfdctflt.o \
- $(OBJ_JPG)/jfdctfst.o \
- $(OBJ_JPG)/jfdctint.o \
- $(OBJ_JPG)/jidctflt.o \
- $(OBJ_JPG)/jidctfst.o \
- $(OBJ_JPG)/jidctint.o \
- $(OBJ_JPG)/jidctred.o \
- $(OBJ_JPG)/jquant1.o \
- $(OBJ_JPG)/jquant2.o \
- $(OBJ_JPG)/jutils.o \
- $(OBJ_JPG)/jmemmgr.o \
- $(OBJ_JPG)/jmemansi.o \
- $(EOLIST)
-
-LIBFT2OBJS = \
- $(OBJ_FT2)/autohint.o \
- $(OBJ_FT2)/bdf.o \
- $(OBJ_FT2)/cff.o \
- $(OBJ_FT2)/ftbase.o \
- $(OBJ_FT2)/ftcache.o \
- $(OBJ_FT2)/ftglyph.o \
- $(OBJ_FT2)/ftinit.o \
- $(OBJ_FT2)/ftmm.o \
- $(OBJ_FT2)/ftsystem.o \
- $(OBJ_FT2)/pcf.o \
- $(OBJ_FT2)/pfr.o \
- $(OBJ_FT2)/psaux.o \
- $(OBJ_FT2)/pshinter.o \
- $(OBJ_FT2)/psmodule.o \
- $(OBJ_FT2)/raster.o \
- $(OBJ_FT2)/sfnt.o \
- $(OBJ_FT2)/smooth.o \
- $(OBJ_FT2)/truetype.o \
- $(OBJ_FT2)/type1.o \
- $(OBJ_FT2)/type1cid.o \
- $(OBJ_FT2)/type42.o \
- $(OBJ_FT2)/winfnt.o \
- $(OBJ_FT2)/infutil.o \
- $(OBJ_FT2)/ftgzip.o \
- $(OBJ_FT2)/ftlzw.o \
- $(OBJ_FT2)/ftpfr.o \
- $(OBJ_FT2)/ftstroke.o \
- $(OBJ_FT2)/ftsynth.o \
- $(OBJ_FT2)/fttype1.o \
- $(OBJ_FT2)/ftwinfnt.o \
- $(OBJ_FT2)/ftxf86.o \
- $(OBJ_FT2)/ftbbox.o \
- $(EOLIST)
-
-ZLIBOBJS = \
- $(OBJDIR)/adler32.o \
- $(OBJDIR)/compress.o \
- $(OBJDIR)/crc32.o \
- $(OBJDIR)/deflate.o \
- $(OBJDIR)/inflate.o \
- $(OBJDIR)/inffast.o \
- $(OBJDIR)/inftrees.o \
- $(OBJDIR)/trees.o \
- $(OBJDIR)/uncompr.o \
- $(OBJDIR)/zutil.o \
- $(EOLIST)
-ifeq "$(wildcard $(ZLIBSDK)/infblock.c)" "$(ZLIBSDK)/infblock.c"
-ZLIBOBJS += \
- $(OBJDIR)/infblock.o \
- $(OBJDIR)/infcodes.o \
- $(OBJDIR)/infutil.o \
- $(EOLIST)
-endif
-
-LDLIBS += $(LIBFT2)/builds/netware/LIBC/libft2.$(LIBEXT)
-
-OBJS := $(GDLIBOBJS) $(PNGLIBOBJS) $(JPGLIBOBJS) $(ZLIBOBJS)
-
-OBJL = $(OBJS) $(OBJDIR)/nwlibc.o
-
-vpath %.c . $(LIBGD) $(LIBPNG) $(LIBJPEG) $(ZLIBSDK)
-
-.PHONY: all prebuild dist install clean clean-all test-cmds help
-
-all: lib nlm
-
-nlm: prebuild $(TARGET).nlm
-
-lib: prebuild $(TARGET).$(LIBEXT)
-
-prebuild: $(OBJDIR) $(OBJDIR)/version.inc config.h
-
-$(OBJDIR)/%.o: %.c
-# @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/version.inc: ../configure $(OBJDIR)
- @echo Creating $@
- @$(AWK) -f get_ver.awk $< > $@ # TODO: get version info from src/gd.h
-
-dist: all
- -$(RM) -r $(OBJDIR)*
-
-install: $(INSTDIR) all
- @$(CP) $(TARGET).nlm $(INSTDIR)
- @$(CP) $(TARGET).$(LIBEXT) $(INSTDIR)
- @$(CP) ../CHANGES $(INSTDIR)
- @$(CP) ../COPYING $(INSTDIR)
- @$(CP) ../README $(INSTDIR)
- @$(CP) ../RELEASE-NOTES $(INSTDIR)
-
-clean:
- -$(RM) config.h
- -$(RM) -r $(OBJDIR)*
- -$(RM) $(TARGET).nlm $(TARGET).$(LIBEXT) $(TARGET).imp
-
-dist-clean:
- -$(RM) config.h
- -$(RM) -r $(OBJDIR)*
-
-clean-all: clean
- -$(MAKE) -C tests -f Makefile clean
-
-test-cmds:
- -$(MAKE) -C tests -f Makefile
-
-$(INSTDIR):
- @mkdir $(INSTDIR)
-
-$(OBJDIR):
- @mkdir $(OBJDIR)
-
-$(TARGET).$(LIBEXT): $(OBJS)
- @echo Creating $@
- @-$(RM) $@
- @$(AR) $(ARFLAGS) $@ $^
-
-$(TARGET).nlm: $(OBJDIR)/$(TARGET).def $(TARGET).imp $(OBJL) $(XDCDATA)
- @echo Linking $@
- @-$(RM) $@
- @$(LD) $(LDFLAGS) $<
-
-$(OBJDIR)/%.xdc: Makefile
- @echo Creating $@
- @$(MPKXDC) $(XDCOPT) $@
-
-$(OBJDIR)/%.def: Makefile
- @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@
- @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@
- @echo $(DL)# All your changes will be lost!!$(DL) >> $@
- @echo $(DL)#$(DL) >> $@
- @echo $(DL)copyright "$(COPYR)"$(DL) >> $@
- @echo $(DL)description "$(DESCR)"$(DL) >> $@
- @echo $(DL)version $(LIBGD_VERSION)$(DL) >> $@
-ifdef NLMTYPE
- @echo $(DL)type $(NLMTYPE)$(DL) >> $@
-endif
-ifdef STACK
- @echo $(DL)stack $(STACK)$(DL) >> $@
-endif
-ifdef SCREEN
- @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
-else
- @echo $(DL)screenname "DEFAULT"$(DL) >> $@
-endif
-ifeq ($(DB),DEBUG)
- @echo $(DL)debug$(DL) >> $@
-endif
- @echo $(DL)threadname "$(TARGET)"$(DL) >> $@
-ifdef XDCDATA
- @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
-endif
- @echo $(DL)flag_on 64$(DL) >> $@
-ifeq ($(LIBARCH),CLIB)
- @echo $(DL)start _Prelude$(DL) >> $@
- @echo $(DL)exit _Stop$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
- @echo $(DL)module clib$(DL) >> $@
-else
- @echo $(DL)pseudopreemption$(DL) >> $@
- @echo $(DL)start _LibCPrelude$(DL) >> $@
- @echo $(DL)exit _LibCPostlude$(DL) >> $@
- @echo $(DL)check _LibCCheckUnload$(DL) >> $@
- @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
- @echo $(DL)module libc$(DL) >> $@
-endif
-ifdef MODULES
- @echo $(DL)module $(MODULES)$(DL) >> $@
-endif
-ifdef IMPORTS
- @echo $(DL)import $(IMPORTS)$(DL) >> $@
-endif
-ifdef EXPORTS
- @echo $(DL)export $(EXPORTS)$(DL) >> $@
-endif
-ifeq ($(LD),nlmconv)
- @echo $(DL)input $(OBJL)$(DL) >> $@
- @echo $(DL)input $(PRELUDE)$(DL) >> $@
-ifdef LDLIBS
- @echo $(DL)input $(LDLIBS)$(DL) >> $@
-endif
- @echo $(DL)output $(TARGET).nlm$(DL) >> $@
-endif
-
-config.h: Makefile
- @echo Creating $@
- @echo $(DL)/* $@ for NetWare target.$(DL) > $@
- @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
- @echo $(DL)** All your changes will be lost!!$(DL) >> $@
- @echo $(DL)*/$(DL) >> $@
- @echo $(DL)#define OS "i586-pc-NetWare"$(DL) >> $@
- @echo $(DL)#define VERSION "$(LIBGD_VERSION_STR)"$(DL) >> $@
- @echo $(DL)#define PACKAGE_BUGREPORT "http://bugs.libgd.org/"$(DL) >> $@
- @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_DLFCN_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_DLOPEN 1$(DL) >> $@
- @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_ERRNO_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_FIONBIO 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_NTOA 1$(DL) >> $@
- @echo $(DL)#define HAVE_INET_PTON 1$(DL) >> $@
- @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LONGLONG 1$(DL) >> $@
- @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_NETINET_IN_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SELECT 1$(DL) >> $@
- @echo $(DL)#define HAVE_SETJMP_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SIGNAL 1$(DL) >> $@
- @echo $(DL)#define HAVE_SOCKET 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDARG_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDDEF_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRDUP 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRLCAT 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRLCPY 1$(DL) >> $@
- @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@
- @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@
- @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
- @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@
- @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_ZLIB_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBZ 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBPNG 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBJPEG 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBFREETYPE 1$(DL) >> $@
- @echo $(DL)#define HAVE_FT2BUILD_H 1$(DL) >> $@
-# @echo $(DL)#define DEFAULT_FONTPATH "sys:/java/nwgfx/lib/x11/fonts/ttf"$(DL) >> $@
-# @echo $(DL)#define PATHSEPARATOR ";"$(DL) >> $@
-
-$(TARGET).imp: get_exp.awk $(LIBGD)/gd.h
- @echo Creating $@
- @$(AWK) -v EPREFIX=$(EPREFIX) -f $^ > $@
-
-patch: Makefile
- @echo Patching sources...
- $(PATCH) -d $(LIBGD) -b -p 0 -i $(LIBGD)/netware/$(notdir $(wildcard $(LIBGD)/netware/*.diff))
-
-help:
- @echo $(DL)===========================================================$(DL)
- @echo Novell NDK Base = $(NDKBASE)
- @echo libpng Source = $(LIBPNG)
- @echo libjpeg Source = $(LIBJPEG)
- @echo Freetype 2 SDK = $(LIBFT2)
- @echo Zlib SDK = $(ZLIBSDK)
- @echo $(DL)===========================================================$(DL)
- @echo $(DL)libgd $(LIBGD_VERSION_STR) - available targets are:$(DL)
- @echo $(DL)$(MAKE) all$(DL)
- @echo $(DL)$(MAKE) nlm$(DL)
- @echo $(DL)$(MAKE) lib$(DL)
- @echo $(DL)$(MAKE) clean$(DL)
- @echo $(DL)$(MAKE) clean-all$(DL)
- @echo $(DL)$(MAKE) test-cmds$(DL)
- @echo $(DL)$(MAKE) patch$(DL)
- @echo $(DL)===========================================================$(DL)
-
-
diff --git a/Build/source/libs/gd/libgd-src/netware/get_exp.awk b/Build/source/libs/gd/libgd-src/netware/get_exp.awk
deleted file mode 100644
index 5428bf63ca7..00000000000
--- a/Build/source/libs/gd/libgd-src/netware/get_exp.awk
+++ /dev/null
@@ -1,37 +0,0 @@
-#!awk
-# awk hack to fetch libgd export functions from header
-# and write them to STDOUT. Here you can get an awk version for Win32:
-# http://www.gknw.net/development/prgtools/awk.zip
-# $Id$
-#
-BEGIN {
- print "# Exports extracted from " ARGV[1] "";
- print "# Do not edit this file - it is created by make!";
- print "# All your changes will be lost!!";
- if (EPREFIX) {
- print " (" EPREFIX ")";
- }
- print " gdFontGetGiant,";
- print " gdFontGetLarge,";
- print " gdFontGetMediumBold,";
- print " gdFontGetSmall,";
- print " gdFontGetTiny,";
- print " gdImageSquareToCircle,";
- print " gdImageStringFTCircle,";
- print " gdImageSharpen,";
-}
-
-# try to catch the function names from lines like:
-# BGD_DECLARE(gdImagePtr) function ...
-# BGD_DECLARE(void *) function ...
-#
-/^[ \t]*BGD_DECLARE\([^\)]*\) +(gd[A-Za-z0-9_]+)/ {
- sub(/^[ \t]*BGD_DECLARE\([^\)]+\) +/, "");
- sub(/[ \t]*\(.*$/, "");
- # hack to filter gdImageEllipse() since we have no C implementation.
- if ($0 != "gdImageEllipse") {
- print " " $0 ",";
- }
-}
-
-
diff --git a/Build/source/libs/gd/libgd-src/netware/get_ver.awk b/Build/source/libs/gd/libgd-src/netware/get_ver.awk
deleted file mode 100644
index 8747a338a57..00000000000
--- a/Build/source/libs/gd/libgd-src/netware/get_ver.awk
+++ /dev/null
@@ -1,28 +0,0 @@
-#!awk
-# awk script which fetches libgd version number and string from input file
-# and writes them to STDOUT. Here you can get an awk version for Win32:
-# http://www.gknw.net/development/prgtools/awk.zip
-# $Id$
-#
-BEGIN {
- while ((getline < ARGV[1]) > 0) {
- if (match ($0, /^GDLIB_MAJOR=([0-9]*)$/)) {
- split($1, t, "=");
- v_maj = t[2];
- }
- if (match ($0, /^GDLIB_MINOR=([0-9]*)$/)) {
- split($1, t, "=");
- v_min = t[2];
- }
- if (match ($0, /^GDLIB_REVISION=([0-9]*)$/)) {
- split($1, t, "=");
- v_rev = t[2];
- }
- }
- libgd_ver = v_maj "," v_min "," v_rev;
- libgd_ver_str = v_maj "." v_min "." v_rev;
- print "LIBGD_VERSION = " libgd_ver "";
- print "LIBGD_VERSION_STR = " libgd_ver_str "";
-}
-
-
diff --git a/Build/source/libs/gd/libgd-src/netware/keepscreen.c b/Build/source/libs/gd/libgd-src/netware/keepscreen.c
deleted file mode 100644
index 0ff85628524..00000000000
--- a/Build/source/libs/gd/libgd-src/netware/keepscreen.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Simple _NonAppStop() implementation which can be linked to your
- * NLM in order to keep the screen open when the NLM terminates
- * (the good old clib behaviour).
- * You dont have to call it, its done automatically from LibC.
- *
- * 2004-Aug-11 by Guenter Knauf
- *
- * URL: http://www.gknw.com/development/mk_nlm/
- *
- * $Id$
- */
-
-#include <stdio.h>
-#include <screen.h>
-
-void _NonAppStop()
-{
- uint16_t row, col;
-
- GetScreenSize(&row, &col);
- gotorowcol(row-1, 0);
- /* pressanykey(); */
- printf("<Press any key to close screen> ");
- getcharacter();
-}
-
-
diff --git a/Build/source/libs/gd/libgd-src/netware/nwlibc.c b/Build/source/libs/gd/libgd-src/netware/nwlibc.c
deleted file mode 100644
index b981a554773..00000000000
--- a/Build/source/libs/gd/libgd-src/netware/nwlibc.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*********************************************************************
- * Universal NetWare library stub. *
- * written by Ulrich Neuman and given to OpenSource copyright-free. *
- * version: 1.0 *
- * $Id$
- *********************************************************************/
-
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <library.h>
-#include <netware.h>
-#include <screen.h>
-#include <nks/thread.h>
-#include <nks/synch.h>
-
-
-typedef struct {
- int _errno;
- void *twentybytes;
-} libthreaddata_t;
-
-typedef struct {
- int x;
- int y;
- int z;
- void *tenbytes;
- NXKey_t perthreadkey; /* if -1, no key obtained... */
- NXMutex_t *lock;
-} libdata_t;
-
-int gLibId = -1;
-void *gLibHandle = (void *) NULL;
-rtag_t gAllocTag = (rtag_t) NULL;
-NXMutex_t *gLibLock = (NXMutex_t *) NULL;
-
-/* internal library function prototypes... */
-int DisposeLibraryData ( void * );
-void DisposeThreadData ( void * );
-int GetOrSetUpData ( int id, libdata_t **data, libthreaddata_t **threaddata );
-
-
-int _NonAppStart
-(
- void *NLMHandle,
- void *errorScreen,
- const char *cmdLine,
- const char *loadDirPath,
- size_t uninitializedDataLength,
- void *NLMFileHandle,
- int (*readRoutineP)( int conn, void *fileHandle, size_t offset,
- size_t nbytes, size_t *bytesRead, void *buffer ),
- size_t customDataOffset,
- size_t customDataSize,
- int messageCount,
- const char **messages
-)
-{
- NX_LOCK_INFO_ALLOC(liblock, "Per-Application Data Lock", 0);
-
-#ifndef __GNUC__
-#pragma unused(cmdLine)
-#pragma unused(loadDirPath)
-#pragma unused(uninitializedDataLength)
-#pragma unused(NLMFileHandle)
-#pragma unused(readRoutineP)
-#pragma unused(customDataOffset)
-#pragma unused(customDataSize)
-#pragma unused(messageCount)
-#pragma unused(messages)
-#endif
-
- /*
- ** Here we process our command line, post errors (to the error screen),
- ** perform initializations and anything else we need to do before being able
- ** to accept calls into us. If we succeed, we return non-zero and the NetWare
- ** Loader will leave us up, otherwise we fail to load and get dumped.
- */
- gAllocTag = AllocateResourceTag(NLMHandle,
- "<library-name> memory allocations", AllocSignature);
-
- if (!gAllocTag) {
- OutputToScreen(errorScreen, "Unable to allocate resource tag for "
- "library memory allocations.\n");
- return -1;
- }
-
- gLibId = register_library(DisposeLibraryData);
-
- if (gLibId < -1) {
- OutputToScreen(errorScreen, "Unable to register library with kernel.\n");
- return -1;
- }
-
- gLibHandle = NLMHandle;
-
- gLibLock = NXMutexAlloc(0, 0, &liblock);
-
- if (!gLibLock) {
- OutputToScreen(errorScreen, "Unable to allocate library data lock.\n");
- return -1;
- }
-
- return 0;
-}
-
-/*
-** Here we clean up any resources we allocated. Resource tags is a big part
-** of what we created, but NetWare doesn't ask us to free those.
-*/
-void _NonAppStop( void )
-{
- (void) unregister_library(gLibId);
- NXMutexFree(gLibLock);
-}
-
-/*
-** This function cannot be the first in the file for if the file is linked
-** first, then the check-unload function's offset will be nlmname.nlm+0
-** which is how to tell that there isn't one. When the check function is
-** first in the linked objects, it is ambiguous. For this reason, we will
-** put it inside this file after the stop function.
-**
-** Here we check to see if it's alright to ourselves to be unloaded. If not,
-** we return a non-zero value. Right now, there isn't any reason not to allow
-** it.
-*/
-int _NonAppCheckUnload( void )
-{
- return 0;
-}
-
-int GetOrSetUpData
-(
- int id,
- libdata_t **appData,
- libthreaddata_t **threadData
-)
-{
- int err;
- libdata_t *app_data;
- libthreaddata_t *thread_data;
- NXKey_t key;
- NX_LOCK_INFO_ALLOC(liblock, "Application Data Lock", 0);
-
- err = 0;
- thread_data = (libthreaddata_t *) NULL;
-
- /*
- ** Attempt to get our data for the application calling us. This is where we
- ** store whatever application-specific information we need to carry in support
- ** of calling applications.
- */
- app_data = (libdata_t *) get_app_data(id);
-
- if (!app_data) {
- /*
- ** This application hasn't called us before; set up application AND per-thread
- ** data. Of course, just in case a thread from this same application is calling
- ** us simultaneously, we better lock our application data-creation mutex. We
- ** also need to recheck for data after we acquire the lock because WE might be
- ** that other thread that was too late to create the data and the first thread
- ** in will have created it.
- */
- NXLock(gLibLock);
-
- if (!(app_data = (libdata_t *) get_app_data(id))) {
- app_data = (libdata_t *) malloc(sizeof(libdata_t));
-
- if (app_data) {
- memset(app_data, 0, sizeof(libdata_t));
-
- app_data->tenbytes = malloc(10);
- app_data->lock = NXMutexAlloc(0, 0, &liblock);
-
- if (!app_data->tenbytes || !app_data->lock) {
- if (app_data->lock)
- NXMutexFree(app_data->lock);
-
- free(app_data);
- app_data = (libdata_t *) NULL;
- err = ENOMEM;
- }
-
- if (app_data) {
- /*
- ** Here we burn in the application data that we were trying to get by calling
- ** get_app_data(). Next time we call the first function, we'll get this data
- ** we're just now setting. We also go on here to establish the per-thread data
- ** for the calling thread, something we'll have to do on each application
- ** thread the first time it calls us.
- */
- err = set_app_data(gLibId, app_data);
-
- if (err) {
- free(app_data);
- app_data = (libdata_t *) NULL;
- err = ENOMEM;
- } else {
- /* create key for thread-specific data... */
- err = NXKeyCreate(DisposeThreadData, (void *) NULL, &key);
-
- if (err) /* (no more keys left?) */
- key = -1;
-
- app_data->perthreadkey = key;
- }
- }
- }
- }
-
- NXUnlock(gLibLock);
- }
-
- if (app_data) {
- key = app_data->perthreadkey;
-
- if ( key != -1 /* couldn't create a key? no thread data */
- && !(err = NXKeyGetValue(key, (void **) &thread_data))
- && !thread_data) {
- /*
- ** Allocate the per-thread data for the calling thread. Regardless of whether
- ** there was already application data or not, this may be the first call by a
- ** a new thread. The fact that we allocation 20 bytes on a pointer is not very
- ** important, this just helps to demonstrate that we can have arbitrarily
- ** complex per-thread data.
- */
- thread_data = (libthreaddata_t *) malloc(sizeof(libthreaddata_t));
-
- if (thread_data) {
- thread_data->_errno = 0;
- thread_data->twentybytes = malloc(20);
-
- if (!thread_data->twentybytes) {
- free(thread_data);
- thread_data = (libthreaddata_t *) NULL;
- err = ENOMEM;
- }
-
- if ((err = NXKeySetValue(key, thread_data))) {
- free(thread_data->twentybytes);
- free(thread_data);
- thread_data = (libthreaddata_t *) NULL;
- }
- }
- }
- }
-
- if (appData)
- *appData = app_data;
-
- if (threadData)
- *threadData = thread_data;
-
- return err;
-}
-
-int DisposeLibraryData
-(
- void *data
-)
-{
- if (data) {
- void *tenbytes = ((libdata_t *) data)->tenbytes;
-
- if (tenbytes)
- free(tenbytes);
-
- free(data);
- }
-
- return 0;
-}
-
-void DisposeThreadData
-(
- void *data
-)
-{
- if (data) {
- void *twentybytes = ((libthreaddata_t *) data)->twentybytes;
-
- if (twentybytes)
- free(twentybytes);
-
- free(data);
- }
-}
-
-
diff --git a/Build/source/libs/gd/libgd-src/netware/tests/Makefile.netware b/Build/source/libs/gd/libgd-src/netware/tests/Makefile.netware
deleted file mode 100644
index 74cc234cba7..00000000000
--- a/Build/source/libs/gd/libgd-src/netware/tests/Makefile.netware
+++ /dev/null
@@ -1,285 +0,0 @@
-###################################################################
-#
-## Makefile for building libgd tests (NetWare version - gnu make)
-## Use: make -f Makefile
-##
-## Comments to: Guenter Knauf <eflash@gmx.net>
-##
-## $Id$
-#
-###################################################################
-
-# Edit the path below to point to the base of your Novell NDK.
-ifndef NDKBASE
-NDKBASE = c:/novell
-endif
-
-LIBGD = ../..
-
-ifndef INSTDIR
-INSTDIR = ../libgd-$(LIBGD_VERSION_STR)-bin-nw
-endif
-
-# Edit the vars below to change NLM target settings.
-TARGETS = gddemo.nlm gdtest.nlm gdtestft.nlm gdtopng.nlm gdcmpgif.nlm
-TARGETS += gd2time.nlm gd2togif.nlm gd2topng.nlm gd2copypal.nlm
-TARGETS += gifanimtest.nlm giftogd2.nlm pngtogd2.nlm pngtogd.nlm webpng.nlm
-TARGETS += annotate.nlm circletexttest.nlm fontsizetest.nlm fontwheeltest.nlm
-TARGETS += testac.nlm testtr.nlm
-
-DTARGET = ../libgd.nlm
-LTARGET = ../libgd.lib
-COPYR = Copyright (C) 1996-2007 Boutell.Com, Inc.
-WWW = http://www.libgd.org/
-DESCR = libgd $(LIBGD_VERSION_STR) $(subst .def,,$(notdir $@)) - $(WWW)
-MTSAFE = YES
-STACK = 64000
-#SCREEN = NONE
-#SCREEN = $(DESCR)
-# Comment the line below if you dont want to load protected automatically.
-#LDRING = 3
-
-# Comment the line below if you dont want to link the static libgd.lib.
-#LSTATIC = 1
-
-ifdef LSTATIC
-LDLIBS = $(LTARGET)
-else
-IMPORTS = @../libgd.imp
-MODULES = $(notdir $(DTARGET))
-endif
-
-# Edit the var below to point to your lib architecture.
-ifndef LIBARCH
-LIBARCH = LIBC
-endif
-
-# must be equal to DEBUG or NDEBUG
-DB = NDEBUG
-# DB = DEBUG
-# DB = CURLDEBUG
-# Optimization: -O<n> or debugging: -g
-ifeq ($(DB),NDEBUG)
- OPT = -O2
- OBJDIR = release
-else
- OPT = -g
- OBJDIR = debug
-endif
-
-# Include the version info retrieved from header.
--include $(OBJDIR)/version.inc
-
-# The following line defines your compiler.
-ifdef METROWERKS
- CC = mwccnlm
-else
- CC = gcc
-endif
-YACC = bison -y
-CP = cp -afv
-# RM = rm -f
-# if you want to mark the target as MTSAFE you will need a tool for
-# generating the xdc data for the linker; here's a minimal tool:
-# http://www.gknw.net/development/prgtools/mkxdc.zip
-MPKXDC = mkxdc
-
-# Global flags for all compilers
-CFLAGS = $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc
-
-ifeq ($(CC),mwccnlm)
-LD = mwldnlm
-#LDFLAGS = -nostdlib $(PRELUDE) $(LDLIBS) $(<:.def=.o) -o $@ -commandfile
-LDFLAGS = -nostdlib $(PRELUDE) $(OBJSCR) $(LDLIBS) $(OBJDIR)/$(basename $@).o -o $@ -commandfile
-AR = mwldnlm
-ARFLAGS = -type library -w nocmdline $(OBJS) -o
-CFLAGS += -msgstyle gcc -gccinc -inline off -opt nointrinsics -proc 586
-CFLAGS += -relax_pointers
-#CFLAGS += -w on
-ifeq ($(LIBARCH),LIBC)
- PRELUDE = $(SDK_LIBC)/imports/libcpre.o
- CFLAGS += -align 4
-else
- PRELUDE = "$(METROWERKS)/Novell Support/libraries/runtime/prelude.obj"
-# CFLAGS += -include "$(METROWERKS)/Novell Support/headers/nlm_prefix.h"
- CFLAGS += -align 1
-endif
-else
-LD = nlmconv
-LDFLAGS = -T
-AR = ar
-ARFLAGS = -cq
-CFLAGS += -fno-builtin -fpcc-struct-return -fno-strict-aliasing
-CFLAGS += -Wall -Wno-unused #-Wno-format # -pedantic
-ifeq ($(LIBARCH),LIBC)
- PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
-else
- PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o
- CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
-endif
-endif
-
-NDK_ROOT = $(NDKBASE)/ndk
-SDK_CLIB = $(NDK_ROOT)/nwsdk
-SDK_LIBC = $(NDK_ROOT)/libc
-
-ifeq ($(LIBARCH),LIBC)
- INCLUDES += -I$(SDK_LIBC)/include
- # INCLUDES += -I$(SDK_LIBC)/include/nks
- CFLAGS += -D_POSIX_SOURCE
- # CFLAGS += -D__ANSIC__
-else
- INCLUDES += -I$(SDK_CLIB)/include/nlm
- # INCLUDES += -I$(SDK_CLIB)/include
- # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete
-endif
-CFLAGS += -I. -I.. -I$(LIBGD)
-CFLAGS += $(INCLUDES)
-
-ifeq ($(MTSAFE),YES)
- XDCOPT = -n
-endif
-ifeq ($(MTSAFE),NO)
- XDCOPT = -u
-endif
-
-ifeq ($(findstring linux,$(OSTYPE)),linux)
-DL = '
-#-include $(NDKBASE)/nlmconv/ncpfs.inc
-endif
-
-vpath %.c . .. $(LIBGD)
-
-ifdef SCREEN
-ifneq ($(SCREEN),NONE)
-OBJSCR = $(OBJDIR)/keepscreen.o
-endif
-endif
-
-.PHONY: all prebuild dist install clean
-.PRECIOUS: $(OBJDIR)/%.o $(OBJDIR)/%.def $(OBJDIR)/%.xdc $(LTARGET) $(DTARGET)
-
-all: prebuild $(TARGETS)
-
-prebuild: $(OBJDIR) $(OBJDIR)/version.inc
-ifdef LSTATIC
- $(MAKE) -C ../ -f Makefile lib
-else
- $(MAKE) -C ../ -f Makefile nlm
-endif
-
-dist: all
- -$(RM) -r $(OBJDIR)
-
-install: $(INSTDIR) all
- @$(CP) *.nlm $(INSTDIR)
- @$(CP) ../CHANGES $(INSTDIR)
- @$(CP) ../COPYING $(INSTDIR)
- @$(CP) ../README $(INSTDIR)
- @$(CP) ../RELEASE-NOTES $(INSTDIR)
-
-clean:
- -$(RM) -r $(OBJDIR)
- -$(RM) $(TARGETS)
-
-clean-all: clean
- -$(MAKE) -C ../ -f Makefile clean
-
-%.lib: $(OBJS)
- @echo Creating $@
- @-$(RM) $@
- @$(AR) $(ARFLAGS) $@ $^
-
-%.nlm: $(OBJDIR)/%.def $(OBJDIR)/%.o $(OBJDIR)/%.xdc $(OBJSCR) $(LDLIBS)
- @echo Linking $@
- @-$(RM) $@
- @$(LD) $(LDFLAGS) $<
-
-$(INSTDIR):
- @mkdir $(INSTDIR)
-
-$(OBJDIR):
- @mkdir $(OBJDIR)
-
-$(OBJDIR)/%.o: %.c
-# @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/version.inc: ../../configure.ac $(OBJDIR)
- @echo Creating $@
- @awk -f ../get_ver.awk $< > $@
-
-$(OBJDIR)/%.xdc: Makefile
- @echo Creating $@
- @$(MPKXDC) $(XDCOPT) $@
-
-$(OBJDIR)/%.def: Makefile
- @echo Creating $@
- @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@
- @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@
- @echo $(DL)# All your changes will be lost!!$(DL) >> $@
- @echo $(DL)#$(DL) >> $@
- @echo $(DL)copyright "$(COPYR)"$(DL) >> $@
- @echo $(DL)description "$(DESCR)"$(DL) >> $@
- @echo $(DL)version $(LIBGD_VERSION)$(DL) >> $@
-ifdef NLMTYPE
- @echo $(DL)type $(NLMTYPE)$(DL) >> $@
-endif
-ifdef STACK
- @echo $(DL)stack $(STACK)$(DL) >> $@
-endif
-ifdef SCREEN
- @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@
-else
- @echo $(DL)screenname "DEFAULT"$(DL) >> $@
-endif
-ifeq ($(DB),DEBUG)
- @echo $(DL)debug$(DL) >> $@
-endif
- @echo $(DL)threadname "$(subst .def,,$(notdir $@))"$(DL) >> $@
-ifdef XDCOPT
- @echo $(DL)xdcdata $(@:.def=.xdc)$(DL) >> $@
-endif
-ifeq ($(LDRING),0)
- @echo $(DL)flag_on 16$(DL) >> $@
-endif
-ifeq ($(LDRING),3)
- @echo $(DL)flag_on 512$(DL) >> $@
-endif
- @echo $(DL)flag_on 64$(DL) >> $@
-ifeq ($(LIBARCH),CLIB)
- @echo $(DL)start _Prelude$(DL) >> $@
- @echo $(DL)exit _Stop$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
- @echo $(DL)module clib$(DL) >> $@
-else
- @echo $(DL)pseudopreemption$(DL) >> $@
- @echo $(DL)start _LibCPrelude$(DL) >> $@
- @echo $(DL)exit _LibCPostlude$(DL) >> $@
- @echo $(DL)check _LibCCheckUnload$(DL) >> $@
- @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
- @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
- @echo $(DL)module libc$(DL) >> $@
-endif
-ifdef MODULES
- @echo $(DL)module $(MODULES)$(DL) >> $@
-endif
-ifdef EXPORTS
- @echo $(DL)export $(EXPORTS)$(DL) >> $@
-endif
-ifdef IMPORTS
- @echo $(DL)import $(IMPORTS)$(DL) >> $@
-endif
-ifeq ($(LD),nlmconv)
- @echo $(DL)input $(PRELUDE)$(DL) >> $@
- @echo $(DL)input $(OBJSCR)$(DL) >> $@
- @echo $(DL)input $(@:.def=.o)$(DL) >> $@
-ifdef LSTATIC
- @echo $(DL)input $(LTARGET)$(DL) >> $@
-endif
- @echo $(DL)output $(notdir $(@:.def=.nlm))$(DL) >> $@
-endif
-
-
diff --git a/Build/source/libs/gd/libgd-src/src/CMakeLists.txt b/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
index 08fd6991bbe..629e0fc745e 100644
--- a/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/src/CMakeLists.txt
@@ -1,4 +1,3 @@
-
SET (LIBGD_SRC_FILES
bmp.h
gd.c
@@ -69,17 +68,27 @@ SET (LIBGD_SRC_FILES
wbmp.h
)
-if(MSVC AND MSVC_VERSION LESS 1900)
- set(LIBGD_SRC_FILES ${LIBGD_SRC_FILES}
- snprintf.c
+# Static library just for utility programs.
+SET (GD_PROGRAMS_LIB_SRC_FILES)
+
+if(MSVC)
+ set(GD_PROGRAMS_LIB_SRC_FILES ${GD_PROGRAMS_LIB_SRC_FILES}
+ getopt.c
)
-endif(MSVC AND MSVC_VERSION LESS 1900)
+ if(MSVC_VERSION LESS 1900)
+ set(LIBGD_SRC_FILES ${LIBGD_SRC_FILES}
+ snprintf.c
+ )
+ endif(MSVC_VERSION LESS 1900)
+endif(MSVC)
include(GNUInstallDirs)
if (BUILD_SHARED_LIBS)
add_library(${GD_LIB} ${LIBGD_SRC_FILES})
set_target_properties(${GD_LIB} PROPERTIES
+ SOVERSION ${GDLIB_LIB_SOVERSION}
+ VERSION ${GDLIB_LIB_VERSION}
C_VISIBILITY_PRESET hidden
CXX_VISIBILITY_PRESET hidden
)
@@ -92,14 +101,24 @@ if (BUILD_STATIC_LIBS)
endif()
endif()
+if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "")
+ add_library(gd_programs_lib STATIC ${GD_PROGRAMS_LIB_SRC_FILES})
+endif()
+
if (WIN32 AND NOT MINGW AND NOT MSYS)
# SET_TARGET_PROPERTIES(${GD_LIB} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:msvcrt.lib")
- SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
+
+ if (BUILD_STATIC_LIBS)
+ SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
+ endif()
+
ENDIF(WIN32 AND NOT MINGW AND NOT MSYS)
if (MINGW OR MSYS)
ADD_DEFINITIONS("-mms-bitfields")
- set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
+ if (BUILD_STATIC_LIBS)
+ set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
+ endif()
endif (MINGW OR MSYS)
INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src")
@@ -115,6 +134,7 @@ SET(LIBGD_DEP_LIBS
${XPM_LIBRARIES}
${FONTCONFIG_LIBRARY}
${WEBP_LIBRARIES}
+ ${RAQM_LIBRARIES}
)
if (BUILD_SHARED_LIBS)
target_link_libraries(${GD_LIB} ${LIBGD_DEP_LIBS})
@@ -132,7 +152,7 @@ if (PNG_FOUND)
endif()
endif()
-if (FREETYPE_FOUND)
+if (FREETYPE_FOUND AND JPEG_FOUND)
set(GD_PROGRAMS ${GD_PROGRAMS} annotate)
endif()
@@ -147,6 +167,9 @@ foreach(program ${GD_PROGRAMS})
else()
target_link_libraries(${program} ${GD_LIB_STATIC})
endif()
+ if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "")
+ target_link_libraries(${program} gd_programs_lib)
+ endif()
endforeach(program)
set(GD_INSTALL_TARGETS ${GD_PROGRAMS})
@@ -177,3 +200,6 @@ install(FILES
gdfx.h
gdpp.h
DESTINATION include)
+
+CONFIGURE_FILE(../config/gdlib.pc.cmake gdlib.pc @ONLY)
+INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/gdlib.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
diff --git a/Build/source/libs/gd/libgd-src/src/COPYING b/Build/source/libs/gd/libgd-src/src/COPYING
index 90ef1c867ef..a1e4c78485c 100644
--- a/Build/source/libs/gd/libgd-src/src/COPYING
+++ b/Build/source/libs/gd/libgd-src/src/COPYING
@@ -1,25 +1,24 @@
-
Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002 by Cold Spring Harbor Laboratory. Funded under Grant
- P41-RR02188 by the National Institutes of Health.
+ P41-RR02188 by the National Institutes of Health.
Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 by
- Boutell.Com, Inc.
+ Boutell.Com, Inc.
Portions relating to GD2 format copyright 1999, 2000, 2001, 2002
Philip Warner.
-
+
Portions relating to PNG copyright 1999, 2000, 2001, 2002 Greg
- Roelofs.
+ Roelofs.
- Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002 John
+ Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002 John
Ellson (ellson@lucent.com).
-
- Portions relating to gdft.c copyright 2001, 2002 John Ellson
- (ellson@lucent.com).
+
+ Portions relating to gdft.c copyright 2001, 2002 John Ellson
+ (ellson@lucent.com).
Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
- 2008 Pierre-Alain Joye (pierre@libgd.org).
+ 2008 Pierre-Alain Joye (pierre@libgd.org).
Portions relating to JPEG and to color quantization copyright 2000,
2001, 2002, Doug Becker and copyright (C) 1994, 1995, 1996, 1997,
@@ -35,19 +34,18 @@
provided that this notice is present in user-accessible supporting
documentation.
- This does not affect your ownership of the derived work itself, and
+ This does not affect your ownership of the derived work itself, and
the intent is to assure proper credit for the authors of gd, not to
interfere with your productive use of gd. If you have questions,
- ask. "Derived works" includes all programs that utilize the
+ ask. "Derived works" includes all programs that utilize the
library. Credit must be given in user-accessible documentation.
- This software is provided "AS IS." The copyright holders disclaim
+ This software is provided "AS IS." The copyright holders disclaim
all warranties, either express or implied, including but not
limited to implied warranties of merchantability and fitness for a
- particular purpose, with respect to this code and accompanying
+ particular purpose, with respect to this code and accompanying
documentation.
Although their code does not appear in gd, the authors wish to thank
David Koblas, David Rowley, and Hutchison Avenue Software Corporation
for their prior contributions.
-
diff --git a/Build/source/libs/gd/libgd-src/src/Makefile.am b/Build/source/libs/gd/libgd-src/src/Makefile.am
index 93e8838c366..377acc078d0 100644
--- a/Build/source/libs/gd/libgd-src/src/Makefile.am
+++ b/Build/source/libs/gd/libgd-src/src/Makefile.am
@@ -23,7 +23,9 @@ check_PROGRAMS += fontconfigtest
endif
if HAVE_LIBFREETYPE
+if HAVE_LIBJPEG
bin_PROGRAMS += annotate
+endif
check_PROGRAMS += gdtestft testtr
endif
@@ -37,7 +39,19 @@ if HAVE_LIBZ
check_PROGRAMS += gd2time
endif
-EXTRA_DIST = bdftogd demoin.png entities.html entities.tcl CMakeLists.txt config.h.cmake gd_io_stream.cxx gdpp.cxx msinttypes/inttypes.h msinttypes/stdint.h
+EXTRA_DIST = \
+ bdftogd \
+ demoin.png \
+ entities.html \
+ entities.tcl \
+ CMakeLists.txt \
+ config.h.cmake \
+ gd_io_stream.cxx \
+ gdpp.cxx \
+ getopt.c \
+ snprintf.c \
+ msinttypes/inttypes.h \
+ msinttypes/stdint.h
include_HEADERS = gd.h gdfx.h gd_io.h gdcache.h gdfontg.h gdfontl.h gdfontmb.h gdfonts.h gdfontt.h entities.h gd_color_map.h gd_errors.h gdpp.h
@@ -114,4 +128,3 @@ libgd_la_LDFLAGS = -version-info $(GDLIB_LT_CURRENT):$(GDLIB_LT_REVISION):$(GDLI
libgd_la_LIBADD = $(LTLIBICONV)
LDADD = libgd.la $(LIBICONV)
-
diff --git a/Build/source/libs/gd/libgd-src/src/annotate.c b/Build/source/libs/gd/libgd-src/src/annotate.c
index 00aaf496bbd..35724b0658a 100644
--- a/Build/source/libs/gd/libgd-src/src/annotate.c
+++ b/Build/source/libs/gd/libgd-src/src/annotate.c
@@ -16,38 +16,28 @@ enum { left, center, right };
int main(int argc, char *argv[])
{
-#ifndef HAVE_LIBFREETYPE
- (void)argc;
- (void)argv;
-
- /* 2.0.12 */
- fprintf(stderr, "annotate is not useful without freetype.\n"
- "Install freetype, then './configure; make clean; make install'\n"
- "the gd library again.\n"
- );
- return 1;
-#else
gdImagePtr im;
char *iin, *iout;
FILE *in, *out;
- char s[1024];
+ char *s;
+ size_t len;
int bounds[8];
int lines = 1;
int color = gdTrueColor(0, 0, 0);
- char font[1024];
+ char *font;
int size = 12;
int align = left;
int x = 0, y = 0;
char *fontError;
- strcpy(font, "times");
+ font = strdup("times");
if(argc != 3) {
fprintf(stderr, "Usage: annotate imagein.jpg imageout.jpg\n\n");
fprintf(stderr, "Standard input should consist of\n");
fprintf(stderr, "lines in the following formats:\n");
fprintf(stderr, "color r g b (0-255 each) [a (0-127, 0 is opaque)]\n");
- fprintf(stderr, "font fontname (max name length 1024)\n");
+ fprintf(stderr, "font fontname\n");
fprintf(stderr, "size pointsize\n");
fprintf(stderr, "align (left|right|center)\n");
fprintf(stderr, "move x y\n");
@@ -70,12 +60,7 @@ int main(int argc, char *argv[])
exit(2);
}
-#ifdef HAVE_LIBJPEG
im = gdImageCreateFromJpeg(in);
-#else
- fprintf(stderr, "No JPEG library support available.\n");
- exit(1);
-#endif
fclose(in);
@@ -84,7 +69,9 @@ int main(int argc, char *argv[])
exit(3);
}
- while(fgets(s, sizeof(s), stdin)) {
+ s = NULL;
+ len = 0;
+ while (getline(&s, &len, stdin) != -1) {
char *st;
char *text;
@@ -99,12 +86,12 @@ int main(int argc, char *argv[])
if(!st) {
goto badLine;
} else {
- const unsigned int font_len = strlen(st);
- if (font_len >= 1024) {
- fprintf(stderr, "Font maximum length is 1024, %d given\n", font_len);
+ free(font);
+ font = strdup(st);
+ if (font == NULL) {
+ perror("Font failed");
goto badLine;
}
- strncpy(font, st, font_len);
}
} else if(!strcmp(st, "align")) {
char *st = strtok(0, " \t\r\n");
@@ -178,7 +165,7 @@ int main(int argc, char *argv[])
fontError = gdImageStringFT(im, 0, color, font, size, 0, rx, y, text);
if(fontError) {
- fprintf(stderr, "font error at line %d: %s\n", lines, fontError);
+ fprintf(stderr, "Font error at line %d: %s\n", lines, fontError);
exit(7);
}
@@ -194,19 +181,16 @@ badLine:
fprintf(stderr, "Bad syntax, line %d\n", lines);
exit(4);
}
+ free(font);
+ free(s);
out = fopen(iout, "wb");
if(!out) {
fprintf(stderr, "Cannot create %s\n", iout);
exit(5);
}
-#ifdef HAVE_LIBJPEG
gdImageJpeg(im, out, 95);
-#else
- fprintf(stderr, "No JPEG library support available.\n");
-#endif
gdImageDestroy(im);
fclose(out);
return 0;
-#endif /* HAVE_LIBFREETYPE */
}
diff --git a/Build/source/libs/gd/libgd-src/src/bdftogd b/Build/source/libs/gd/libgd-src/src/bdftogd
index 66ffcc9ae88..a9500039301 100644
--- a/Build/source/libs/gd/libgd-src/src/bdftogd
+++ b/Build/source/libs/gd/libgd-src/src/bdftogd
@@ -46,18 +46,18 @@ while (<>)
my ($tag, $value) = split / /, $_, 2;
die "Font is not fixed width\n"
if $tag eq 'SPACING' and not $value =~ /[CM]/i;
-
+
$currentchar = $value if $tag eq 'ENCODING';
$minchar = $currentchar if not defined $minchar
or $currentchar < $minchar;
$maxchar = $currentchar if not defined $maxchar
or $currentchar > $maxchar;
-
+
if ($tag eq 'ENDCHAR')
{
$gobitmap = 0;
my $bottom = $globaltop - $bottom[$currentchar];
-
+
if ($bottom > 0)
{ $data[$currentchar] = substr $data[$currentchar], 0, length($data[$currentchar]) - $bottom * $width; }
@@ -80,7 +80,7 @@ while (<>)
{ $fontdef = $value; }
if ($tag eq 'COPYRIGHT' and not defined $copyright)
{ $copyright = $value; }
-
+
if ($tag eq 'BBX')
{
my ($tag, $wid, $hei, $left, $bottom) = split / /;
@@ -100,7 +100,7 @@ while (<>)
$bits = substr $bits, 0, $width;
$data[$currentchar] .= $bits;
}
-
+
if ($tag eq 'BITMAP')
{
$gobitmap = 1;
@@ -150,7 +150,7 @@ for (my $i = $minchar; $i <= $maxchar; $i++)
{
$data[$i] = '' unless defined $data[$i];
$data[$i] = '0' x ($width * $height - length $data[$i]) . $data[$i];
-
+
print FILEC "/* Char $i */\n";
for my $line (0 .. $height - 1)
{ print FILEC join ',', split(//, substr($data[$i], $line * $width, $width)), "\n"; }
@@ -158,7 +158,7 @@ for (my $i = $minchar; $i <= $maxchar; $i++)
print FILEC "\n";
next;
-
+
for my $line (0 .. $height - 1)
{ print substr($data[$i], $line * $width, $width), "\n"; }
}
@@ -202,4 +202,3 @@ extern gdFontPtr $gdname;
EOF
1;
-
diff --git a/Build/source/libs/gd/libgd-src/src/bmp.h b/Build/source/libs/gd/libgd-src/src/bmp.h
index cecde0383f5..5644fab982d 100644
--- a/Build/source/libs/gd/libgd-src/src/bmp.h
+++ b/Build/source/libs/gd/libgd-src/src/bmp.h
@@ -1,4 +1,6 @@
-/* $Id$ */
+#ifndef BMP_H
+#define BMP_H 1
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -19,9 +21,6 @@ extern "C" {
----------------------------------------------------------------------------
*/
-#ifndef BMP_H
-#define BMP_H 1
-
#define BMP_PALETTE_3 1
#define BMP_PALETTE_4 2
@@ -105,8 +104,8 @@ extern "C" {
} bmp_info_t;
-#endif
-
#ifdef __cplusplus
}
#endif
+
+#endif
diff --git a/Build/source/libs/gd/libgd-src/src/circletexttest.c b/Build/source/libs/gd/libgd-src/src/circletexttest.c
index 0f20a34d9b8..53451517acb 100644
--- a/Build/source/libs/gd/libgd-src/src/circletexttest.c
+++ b/Build/source/libs/gd/libgd-src/src/circletexttest.c
@@ -8,10 +8,6 @@
int main(void)
{
/* 2.0.22: can't depend on PNG either */
-#ifndef HAVE_LIBPNG
- fprintf(stderr, "Requires PNG support, gd was compiled without it\n");
- return 0;
-#else
char *error;
#ifdef HAVE_LIBJPEG
FILE *in = 0;
@@ -64,6 +60,5 @@ int main(void)
gdImagePng(im, out);
fclose(out);
gdImageDestroy(im);
-#endif /* HAVE_LIBPNG */
return 0;
}
diff --git a/Build/source/libs/gd/libgd-src/src/config.h.cmake b/Build/source/libs/gd/libgd-src/src/config.h.cmake
index 26cf22ff549..54f3a528907 100644
--- a/Build/source/libs/gd/libgd-src/src/config.h.cmake
+++ b/Build/source/libs/gd/libgd-src/src/config.h.cmake
@@ -3,15 +3,15 @@
/* Define is you are building for Win32 API */
#cmakedefine BGDWIN32
+/* Whether to support gd image formats */
+#define ENABLE_GD_FORMATS @ENABLE_GD_FORMATS@
+
/* Define to 1 if you have the <dirent.h> header file. */
#cmakedefine HAVE_DIRENT_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#cmakedefine HAVE_DLFCN_H
-/* Define to 1 if you have the <errno.h> header file. */
-#cmakedefine HAVE_ERRNO_H
-
/* Define if you have the ft2build.h header. */
#cmakedefine HAVE_FT2BUILD_H
@@ -45,6 +45,9 @@
/* Define if you have png */
#cmakedefine HAVE_LIBPNG
+/* Define if you have raqm */
+#cmakedefine HAVE_LIBRAQM
+
/* Define if you have tiff */
#cmakedefine HAVE_LIBTIFF
@@ -57,9 +60,6 @@
/* Define if you have zlib */
#cmakedefine HAVE_LIBZ
-/* Define to 1 if you have the <limits.h> header file. */
-#cmakedefine HAVE_LIMITS_H
-
/* Define to 1 if you have the <memory.h> header file. */
#cmakedefine HAVE_MEMORY_H
@@ -72,21 +72,12 @@
/* Have PTHREAD_PRIO_INHERIT. */
#cmakedefine HAVE_PTHREAD_PRIO_INHERIT
-/* Define to 1 if you have the <stddef.h> header file. */
-#cmakedefine HAVE_STDDEF_H
-
/* Define to 1 if you have the <stdint.h> header file. */
#cmakedefine HAVE_STDINT_H
-/* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine HAVE_STDLIB_H
-
/* Define to 1 if you have the <strings.h> header file. */
#cmakedefine HAVE_STRINGS_H
-/* Define to 1 if you have the <string.h> header file. */
-#cmakedefine HAVE_STRING_H
-
/* Define to 1 if you have the <sys/stat.h> header file. */
#cmakedefine HAVE_SYS_STAT_H
diff --git a/Build/source/libs/gd/libgd-src/src/config.hin b/Build/source/libs/gd/libgd-src/src/config.hin
index d2777209b45..56df3dabf72 100644
--- a/Build/source/libs/gd/libgd-src/src/config.hin
+++ b/Build/source/libs/gd/libgd-src/src/config.hin
@@ -3,15 +3,15 @@
/* Define is you are building for Win32 API */
#undef BGDWIN32
+/* Whether to support gd image formats */
+#undef ENABLE_GD_FORMATS
+
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
/* Define if you have the ft2build.h header. */
#undef HAVE_FT2BUILD_H
@@ -45,6 +45,9 @@
/* Define if you have png */
#undef HAVE_LIBPNG
+/* Define if you have raqm */
+#undef HAVE_LIBRAQM
+
/* Define if you have tiff */
#undef HAVE_LIBTIFF
@@ -57,9 +60,6 @@
/* Define if you have zlib */
#undef HAVE_LIBZ
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
@@ -72,9 +72,6 @@
/* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT
-/* Define to 1 if you have the <stddef.h> header file. */
-#undef HAVE_STDDEF_H
-
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
diff --git a/Build/source/libs/gd/libgd-src/src/entities.html b/Build/source/libs/gd/libgd-src/src/entities.html
index 5c5d7b65a32..f3e99097e4d 100644
--- a/Build/source/libs/gd/libgd-src/src/entities.html
+++ b/Build/source/libs/gd/libgd-src/src/entities.html
@@ -11,7 +11,7 @@
<body>
<div class="navbar" align="center">&nbsp;<a href="http://www.w3.org/TR/REC-html40/sgml/framesetdtd.html">
previous</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/appendix/changes.html">next</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/cover.html#minitoc">contents</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/elements.html">
-elements</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/attributes.html">attributes</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/list.html">index</a>
+elements</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/attributes.html">attributes</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/list.html">index</a>
<hr></div>
@@ -26,7 +26,7 @@ references in HTML 4</a></h1>
references</a></li>
<li><a class="tocxref" href="#h-24.2">Character entity references for ISO
-8859-1 characters</a>
+8859-1 characters</a>
<ol>
<li><a class="tocxref" href="#h-24.2.1">The list of characters</a></li>
@@ -34,7 +34,7 @@ references</a></li>
</li>
<li><a class="tocxref" href="#h-24.3">Character entity references for symbols,
-mathematical symbols, and Greek letters</a>
+mathematical symbols, and Greek letters</a>
<ol>
<li><a class="tocxref" href="#h-24.3.1">The list of characters</a></li>
@@ -42,7 +42,7 @@ mathematical symbols, and Greek letters</a>
</li>
<li><a class="tocxref" href="#h-24.4">Character entity references for
-markup-significant and internationalization characters</a>
+markup-significant and internationalization characters</a>
<ol>
<li><a class="tocxref" href="#h-24.4.1">The list of characters</a></li>
@@ -55,7 +55,7 @@ markup-significant and internationalization characters</a>
A <a href="http://www.w3.org/TR/REC-html40/charset.html#entities">character entity reference</a> is an SGML
construct that references a character of the <a href="http://www.w3.org/TR/REC-html40/charset.html">document
-character set.</a>
+character set.</a>
<p>This version of HTML supports several sets of character entity
references:</p>
@@ -345,7 +345,7 @@ occasional Greek letters used in technical and mathematical works.</em></p>
existing ISO 8879 entity names. ISO 10646 character numbers
are given for each character, in hex. CDATA values are decimal
conversions of the ISO 10646 values and refer to the document
- character set. Names are ISO 10646 names.
+ character set. Names are ISO 10646 names.
--&gt;
@@ -472,7 +472,7 @@ occasional Greek letters used in technical and mathematical works.</em></p>
&lt;!ENTITY uArr CDATA "&amp;#8657;" -- upwards double arrow, U+21D1 ISOamsa --&gt;
&lt;!ENTITY rArr CDATA "&amp;#8658;" -- rightwards double arrow,
U+21D2 ISOtech --&gt;
-&lt;!-- ISO 10646 does not say this is the 'implies' character but does not have
+&lt;!-- ISO 10646 does not say this is the 'implies' character but does not have
another character with this function so ?
rArr can be used for 'implies' as ISOtech suggests --&gt;
&lt;!ENTITY dArr CDATA "&amp;#8659;" -- downwards double arrow, U+21D3 ISOamsa --&gt;
@@ -525,9 +525,9 @@ occasional Greek letters used in technical and mathematical works.</em></p>
U+2265 ISOtech --&gt;
&lt;!ENTITY sub CDATA "&amp;#8834;" -- subset of, U+2282 ISOtech --&gt;
&lt;!ENTITY sup CDATA "&amp;#8835;" -- superset of, U+2283 ISOtech --&gt;
-&lt;!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol
+&lt;!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol
font encoding and is not included. Should it be, for symmetry?
- It is in ISOamsn --&gt;
+ It is in ISOamsn --&gt;
&lt;!ENTITY nsub CDATA "&amp;#8836;" -- not a subset of, U+2284 ISOamsn --&gt;
&lt;!ENTITY sube CDATA "&amp;#8838;" -- subset of or equal to, U+2286 ISOtech --&gt;
&lt;!ENTITY supe CDATA "&amp;#8839;" -- superset of or equal to,
@@ -550,11 +550,11 @@ occasional Greek letters used in technical and mathematical works.</em></p>
&lt;!ENTITY rfloor CDATA "&amp;#8971;" -- right floor, U+230B ISOamsc --&gt;
&lt;!ENTITY lang CDATA "&amp;#9001;" -- left-pointing angle bracket = bra,
U+2329 ISOtech --&gt;
-&lt;!-- lang is NOT the same character as U+003C 'less than'
+&lt;!-- lang is NOT the same character as U+003C 'less than'
or U+2039 'single left-pointing angle quotation mark' --&gt;
&lt;!ENTITY rang CDATA "&amp;#9002;" -- right-pointing angle bracket = ket,
U+232A ISOtech --&gt;
-&lt;!-- rang is NOT the same character as U+003E 'greater than'
+&lt;!-- rang is NOT the same character as U+003E 'greater than'
or U+203A 'single right-pointing angle quotation mark' --&gt;
&lt;!-- Geometric Shapes --&gt;
@@ -614,7 +614,7 @@ that contains the requisite glyphs.</p>
existing ISO 8879 entity names. ISO 10646 character numbers
are given for each character, in hex. CDATA values are decimal
conversions of the ISO 10646 values and refer to the document
- character set. Names are ISO 10646 names.
+ character set. Names are ISO 10646 names.
--&gt;
@@ -679,4 +679,4 @@ that contains the requisite glyphs.</p>
<div class="navbar" align="center">
<hr><a href="http://www.w3.org/TR/REC-html40/sgml/framesetdtd.html">previous</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/appendix/changes.html">next</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/cover.html#minitoc">
contents</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/elements.html">elements</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/attributes.html">attributes</a> &nbsp; <a href="http://www.w3.org/TR/REC-html40/index/list.html">index</a></div>
-</body></html> \ No newline at end of file
+</body></html>
diff --git a/Build/source/libs/gd/libgd-src/src/fontconfigtest.c b/Build/source/libs/gd/libgd-src/src/fontconfigtest.c
index 47c484922db..eda5c959a83 100644
--- a/Build/source/libs/gd/libgd-src/src/fontconfigtest.c
+++ b/Build/source/libs/gd/libgd-src/src/fontconfigtest.c
@@ -9,7 +9,6 @@ int main (int argc, char *argv[])
gdImagePtr im;
int green, blue;
gdFTStringExtra se;
- FILE *out;
im = gdImageCreateTrueColor(300, 100);
green = gdImageColorAllocate(im, 128, 255, 128);
gdImageFilledRectangle(im, 0, 0, 300, 100, green);
@@ -33,7 +32,7 @@ int main (int argc, char *argv[])
gdImageStringFTEx(im, 0, blue, "arial",
12, 0, 20, 80, "plain pathname", &se);
#ifdef HAVE_LIBPNG
- out = fopen("fontconfigtest.png", "wb");
+ FILE *out = fopen("fontconfigtest.png", "wb");
gdImagePng(im, out);
fclose(out);
#else
@@ -41,4 +40,3 @@ int main (int argc, char *argv[])
#endif /* HAVE_LIBPNG */
return 0;
}
-
diff --git a/Build/source/libs/gd/libgd-src/src/fontsizetest.c b/Build/source/libs/gd/libgd-src/src/fontsizetest.c
index 55b9209d051..c32c77728ab 100644
--- a/Build/source/libs/gd/libgd-src/src/fontsizetest.c
+++ b/Build/source/libs/gd/libgd-src/src/fontsizetest.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -19,29 +18,17 @@ dosizes (gdImagePtr im, int color, char *fontfile,
sprintf (buf, "%d: %s", cursize, string);
/* The case of newlines is taken care of in the gdImageStringTTF call */
-#if defined(OLDER_GD)
- cp =
- gdImageStringTTF (im, brect, color, fontfile, cursize, curang, x, y,
- buf);
-#else
cp =
gdImageStringFT (im, brect, color, fontfile, cursize, curang, x, y,
buf);
-#endif
if (cp)
fprintf(stderr, "%s\n", cp);
y += cursize + 4;
/* render the same fontsize with antialiasing turned off */
-#if defined(OLDER_GD)
- cp =
- gdImageStringTTF (im, brect, 0 - color, fontfile, cursize, curang, x,
- y, buf);
-#else
cp =
gdImageStringFT (im, brect, 0 - color, fontfile, cursize, curang, x,
y, buf);
-#endif
if (cp)
fprintf(stderr, "%s\n", cp);
y += cursize + 4;
diff --git a/Build/source/libs/gd/libgd-src/src/fontwheeltest.c b/Build/source/libs/gd/libgd-src/src/fontwheeltest.c
index b2bb258fdad..a225810db56 100644
--- a/Build/source/libs/gd/libgd-src/src/fontwheeltest.c
+++ b/Build/source/libs/gd/libgd-src/src/fontwheeltest.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -37,13 +36,8 @@ dowheel (gdImagePtr im, int color, char *fontfile, int fontsize,
y0 = y - sin (curangrads) * offset;
/* The case of newlines is taken care of in the gdImageStringTTF call */
-#if defined(OLDER_GD)
- cp = gdImageStringTTF (im, brect, color, fontfile, fontsize,
- curangrads, x0, y0, string);
-#else
cp = gdImageStringFT (im, brect, color, fontfile, fontsize,
curangrads, x0, y0, string);
-#endif
if (cp)
doerr (err, cp);
diff --git a/Build/source/libs/gd/libgd-src/src/gd.c b/Build/source/libs/gd/libgd-src/src/gd.c
index 7f0a258f800..4eb2c351c30 100644
--- a/Build/source/libs/gd/libgd-src/src/gd.c
+++ b/Build/source/libs/gd/libgd-src/src/gd.c
@@ -1,5 +1,3 @@
-/* $Id$ */
-
#include <stdio.h>
#include <math.h>
#include <string.h>
@@ -177,7 +175,7 @@ BGD_DECLARE(int) gdImageGetTrueColorPixel (gdImagePtr im, int x, int y);
See Also:
- <gdImageCreateTrueColor>
+ <gdImageCreateTrueColor>
*/
BGD_DECLARE(gdImagePtr) gdImageCreate (int sx, int sy)
@@ -192,7 +190,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreate (int sx, int sy)
if (overflow2(sizeof (unsigned char *), sy)) {
return NULL;
}
- if (overflow2(sizeof (unsigned char *), sx)) {
+ if (overflow2(sizeof (unsigned char), sx)) {
return NULL;
}
@@ -285,7 +283,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreate (int sx, int sy)
See Also:
- <gdImageCreateTrueColor>
+ <gdImageCreateTrueColor>
*/
BGD_DECLARE(gdImagePtr) gdImageCreateTrueColor (int sx, int sy)
@@ -296,12 +294,10 @@ BGD_DECLARE(gdImagePtr) gdImageCreateTrueColor (int sx, int sy)
if (overflow2(sx, sy)) {
return NULL;
}
-
if (overflow2(sizeof (int *), sy)) {
return 0;
}
-
- if (overflow2(sizeof(int *), sx)) {
+ if (overflow2(sizeof(int), sx)) {
return NULL;
}
@@ -418,7 +414,7 @@ BGD_DECLARE(void) gdImageDestroy (gdImagePtr im)
/**
* Function: gdImageColorClosest
- *
+ *
* Gets the closest color of the image
*
* This is a simplified variant of <gdImageColorClosestAlpha> where the alpha
@@ -910,15 +906,13 @@ BGD_DECLARE(void) gdImageColorTransparent (gdImagePtr im, int color)
}
if (!im->trueColor) {
- if((color < -1) || (color >= gdMaxColors)) {
+ if (color >= gdMaxColors) {
return;
}
if (im->transparent != -1) {
im->alpha[im->transparent] = gdAlphaOpaque;
}
- if (color != -1) {
- im->alpha[color] = gdAlphaTransparent;
- }
+ im->alpha[color] = gdAlphaTransparent;
}
im->transparent = color;
}
@@ -1491,7 +1485,7 @@ BGD_DECLARE(int) gdImageGetTrueColorPixel (gdImagePtr im, int x, int y)
/*
Function: gdImageAABlend
-
+
NO-OP, kept for library compatibility.
*/
BGD_DECLARE(void) gdImageAABlend (gdImagePtr im)
@@ -1544,7 +1538,7 @@ static void gdImageVLine(gdImagePtr im, int x, int y1, int y2, int col)
/*
Function: gdImageLine
-
+
Bresenham as presented in Foley & Van Dam.
*/
BGD_DECLARE(void) gdImageLine (gdImagePtr im, int x1, int y1, int x2, int y2, int color)
@@ -1589,7 +1583,7 @@ BGD_DECLARE(void) gdImageLine (gdImagePtr im, int x1, int y1, int x2, int y2, in
if (dy <= dx) {
/* More-or-less horizontal. use wid for vertical stroke */
/* Doug Claar: watch out for NaN in atan2 (2.0.5) */
-
+
/* 2.0.12: Michael Schwartz: divide rather than multiply;
TBB: but watch out for /0! */
double ac = cos (atan2 (dy, dx));
@@ -1942,7 +1936,7 @@ BGD_DECLARE(void) gdImageCharUp (gdImagePtr im, gdFontPtr f, int x, int y, int c
/**
* Function: gdImageString
- *
+ *
* Draws a character string.
*
* Parameters:
@@ -2068,6 +2062,7 @@ BGD_DECLARE(void) gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h,
int i, pti;
int lx = 0, ly = 0;
int fx = 0, fy = 0;
+ int startx = -1, starty = -1, endx = -1, endy = -1;
if ((s % 360) == (e % 360)) {
s = 0;
@@ -2097,8 +2092,8 @@ BGD_DECLARE(void) gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h,
for (i = s, pti = 1; (i <= e); i++, pti++) {
int x, y;
- x = ((long) gdCosT[i % 360] * (long) w / (2 * 1024)) + cx;
- y = ((long) gdSinT[i % 360] * (long) h / (2 * 1024)) + cy;
+ x = endx = ((long) gdCosT[i % 360] * (long) w / (2 * 1024)) + cx;
+ y = endy = ((long) gdSinT[i % 360] * (long) h / (2 * 1024)) + cy;
if (i != s) {
if (!(style & gdChord)) {
if (style & gdNoFill) {
@@ -2124,8 +2119,8 @@ BGD_DECLARE(void) gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h,
if (!(style & (gdChord | gdNoFill))) {
pts[0].x = cx;
pts[0].y = cy;
- pts[pti].x = x;
- pts[pti].y = y;
+ pts[pti].x = startx = x;
+ pts[pti].y = starty = y;
}
}
lx = x;
@@ -2154,6 +2149,24 @@ BGD_DECLARE(void) gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h,
gdImageLine (im, cx, cy, fx, fy, color);
}
} else {
+ if (e - s < 360) {
+ if (pts[1].x != startx && pts[1].y == starty) {
+ /* start point has been removed due to y-coord fix => insert it */
+ for (i = pti; i > 1; i--) {
+ pts[i].x = pts[i-1].x;
+ pts[i].y = pts[i-1].y;
+ }
+ pts[1].x = startx;
+ pts[1].y = starty;
+ pti++;
+ }
+ if (pts[pti-1].x != endx && pts[pti-1].y == endy) {
+ /* end point has been removed due to y-coord fix => insert it */
+ pts[pti].x = endx;
+ pts[pti].y = endy;
+ pti++;
+ }
+ }
pts[pti].x = cx;
pts[pti].y = cy;
gdImageFilledPolygon(im, pts, pti+1, color);
@@ -2167,7 +2180,7 @@ BGD_DECLARE(void) gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h,
BGD_DECLARE(void) gdImageEllipse(gdImagePtr im, int mx, int my, int w, int h, int c)
{
int x=0,mx1=0,mx2=0,my1=0,my2=0;
- long aq,bq,dx,dy,r,rx,ry,a,b;
+ int64_t aq,bq,dx,dy,r,rx,ry,a,b;
a=w>>1;
b=h>>1;
@@ -2214,7 +2227,7 @@ BGD_DECLARE(void) gdImageEllipse(gdImagePtr im, int mx, int my, int w, int h, in
BGD_DECLARE(void) gdImageFilledEllipse (gdImagePtr im, int mx, int my, int w, int h, int c)
{
int x=0,mx1=0,mx2=0,my1=0,my2=0;
- long aq,bq,dx,dy,r,rx,ry,a,b;
+ int64_t aq,bq,dx,dy,r,rx,ry,a,b;
int i;
int old_y2;
@@ -2281,7 +2294,7 @@ BGD_DECLARE(void) gdImageFillToBorder (gdImagePtr im, int x, int y, int border,
}
if (!im->trueColor) {
- if ((color > (im->colorsTotal - 1)) || (border > (im->colorsTotal - 1)) || (color < 0)) {
+ if (color > (im->colorsTotal - 1) || border > (im->colorsTotal - 1)) {
return;
}
}
@@ -2301,7 +2314,7 @@ BGD_DECLARE(void) gdImageFillToBorder (gdImagePtr im, int x, int y, int border,
} else if (y < 0) {
y = 0;
}
-
+
for (i = x; (i >= 0); i--) {
if (gdImageGetPixel (im, i, y) == border) {
break;
@@ -2616,16 +2629,12 @@ skip:
*
* Parameters:
* im - The image.
- * x1 - The x-coordinate of the upper left corner.
- * y1 - The y-coordinate of the upper left corner.
- * x2 - The x-coordinate of the lower right corner.
- * y2 - The y-coordinate of the lower right corner.
+ * x1 - The x-coordinate of one of the corners.
+ * y1 - The y-coordinate of one of the corners.
+ * x2 - The x-coordinate of another corner.
+ * y2 - The y-coordinate of another corner.
* color - The color.
*
- * Note that x1,y1 and x2,y2 may be swapped, i.e. the former may designate the
- * lower right corner and the latter the upper left corner. The behavior for
- * specifying other corners is undefined.
- *
* See also:
* - <gdImageFilledRectangle>
*/
@@ -2639,12 +2648,13 @@ BGD_DECLARE(void) gdImageRectangle (gdImagePtr im, int x1, int y1, int x2, int y
}
if (y2 < y1) {
- int t;
- t = y1;
+ int t = y1;
y1 = y2;
y2 = t;
+ }
- t = x1;
+ if (x2 < x1) {
+ int t = x1;
x1 = x2;
x2 = t;
}
@@ -2855,14 +2865,6 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
}
}
- if (src->styleLength > 0) {
- dst->styleLength = src->styleLength;
- dst->stylePos = src->stylePos;
- for (i = 0; i < src->styleLength; i++) {
- dst->style[i] = src->style[i];
- }
- }
-
dst->interlace = src->interlace;
dst->alphaBlendingFlag = src->alphaBlendingFlag;
@@ -2897,6 +2899,7 @@ BGD_DECLARE(gdImagePtr) gdImageClone (gdImagePtr src) {
if (src->style) {
gdImageSetStyle(dst, src->style, src->styleLength);
+ dst->stylePos = src->stylePos;
}
for (i = 0; i < gdMaxColors; i++) {
@@ -3099,7 +3102,7 @@ BGD_DECLARE(void) gdImageCopyMerge (gdImagePtr dst, gdImagePtr src, int dstX, in
* Note:
* This function is a substitute for real alpha channel operations,
* so it doesn't pay attention to the alpha channel.
- *
+ *
* Parameters:
* dst - The destination image.
* src - The source image.
@@ -3180,7 +3183,7 @@ BGD_DECLARE(void) gdImageCopyMergeGray (gdImagePtr dst, gdImagePtr src, int dstX
*
* If the source and destination area differ in size, the area will be resized
* using nearest-neighbor interpolation.
- *
+ *
* Parameters:
* dst - The destination image.
* src - The source image.
@@ -3437,7 +3440,7 @@ BGD_DECLARE(void) gdImageCopyRotated (gdImagePtr dst,
* If the source and destination area differ in size, the area will be resized
* using bilinear interpolation for truecolor images, and nearest-neighbor
* interpolation for palette images.
- *
+ *
* Parameters:
* dst - The destination image.
* src - The source image.
@@ -4345,8 +4348,8 @@ static void gdImageAALine (gdImagePtr im, int x1, int y1, int x2, int y2, int co
/* keep them as 32bits */
long x, y, inc, frac;
long dx, dy,tmp;
- int w, wid, wstart;
- int thick = im->thick;
+ int w, wid, wstart;
+ int thick = im->thick;
if (!im->trueColor) {
/* TBB: don't crash when the image is of the wrong type */
@@ -4365,7 +4368,7 @@ static void gdImageAALine (gdImagePtr im, int x1, int y1, int x2, int y2, int co
if (dx == 0 && dy == 0) {
/* TBB: allow setting points */
- gdImageSetAAPixelColor(im, x1, y1, col, 0xFF);
+ gdImageSetPixel(im, x1, y1, col);
return;
} else {
double ag;
diff --git a/Build/source/libs/gd/libgd-src/src/gd.h b/Build/source/libs/gd/libgd-src/src/gd.h
index 219b2240357..27c663edad8 100644
--- a/Build/source/libs/gd/libgd-src/src/gd.h
+++ b/Build/source/libs/gd/libgd-src/src/gd.h
@@ -1,20 +1,20 @@
-#ifdef __cplusplus
-extern "C" {
-#endif
+#ifndef GD_H
+#define GD_H 1
#include <stdlib.h>
-#ifndef GD_H
-#define GD_H 1
+#ifdef __cplusplus
+extern "C" {
+#endif
/* Version information. This gets parsed by build scripts as well as
* gcc so each #define line in this group must also be splittable on
* whitespace, take the form GD_*_VERSION and contain the magical
* trailing comment. */
#define GD_MAJOR_VERSION 2 /*version605b5d1778*/
-#define GD_MINOR_VERSION 2 /*version605b5d1778*/
-#define GD_RELEASE_VERSION 5 /*version605b5d1778*/
-#define GD_EXTRA_VERSION "" /*version605b5d1778*/
+#define GD_MINOR_VERSION 3 /*version605b5d1778*/
+#define GD_RELEASE_VERSION 0 /*version605b5d1778*/
+#define GD_EXTRA_VERSION "" /*version605b5d1778*/
/* End parsable section. */
/* The version string. This is constructed from the version number
@@ -29,7 +29,7 @@ extern "C" {
GDXXX_STR(GD_RELEASE_VERSION), \
GD_EXTRA_VERSION)
-
+
/* Do the DLL dance: dllexport when building the DLL,
dllimport when importing from it, nothing when
not on Silly Silly Windows (tm Aardman Productions). */
@@ -51,14 +51,14 @@ extern "C" {
# define BGD_EXPORT_DATA_PROT
# else
# ifdef __GNUC__
-# define BGD_EXPORT_DATA_PROT __attribute__ ((dllexport))
+# define BGD_EXPORT_DATA_PROT __attribute__ ((__dllexport__))
# else
# define BGD_EXPORT_DATA_PROT __declspec(dllexport)
# endif
# endif
# else
# ifdef __GNUC__
-# define BGD_EXPORT_DATA_PROT __attribute__ ((dllimport))
+# define BGD_EXPORT_DATA_PROT __attribute__ ((__dllimport__))
# else
# define BGD_EXPORT_DATA_PROT __declspec(dllimport)
# endif
@@ -67,8 +67,8 @@ extern "C" {
# define BGD_EXPORT_DATA_IMPL
#else
# if defined(__GNUC__) || defined(__clang__)
-# define BGD_EXPORT_DATA_PROT __attribute__ ((visibility ("default")))
-# define BGD_EXPORT_DATA_IMPL __attribute__ ((visibility ("hidden")))
+# define BGD_EXPORT_DATA_PROT __attribute__ ((__visibility__ ("default")))
+# define BGD_EXPORT_DATA_IMPL __attribute__ ((__visibility__ ("hidden")))
# else
# define BGD_EXPORT_DATA_PROT
# define BGD_EXPORT_DATA_IMPL
@@ -79,24 +79,19 @@ extern "C" {
#define BGD_DECLARE(rt) BGD_EXPORT_DATA_PROT rt BGD_STDCALL
/* VS2012+ disable keyword macroizing unless _ALLOW_KEYWORD_MACROS is set
- We define inline, snprintf, and strcasecmp if they're missing
+ We define inline, snprintf, and strcasecmp if they're missing
*/
#ifdef _MSC_VER
# define _ALLOW_KEYWORD_MACROS
# ifndef inline
# define inline __inline
-# endif
+# endif
# ifndef strcasecmp
# define strcasecmp _stricmp
-# endif
+# endif
#if _MSC_VER < 1900
extern int snprintf(char*, size_t, const char*, ...);
#endif
-#endif
-
-#ifdef __cplusplus
- extern "C"
- {
#endif
/* gd.h: declarations file for the graphic-draw module.
@@ -131,9 +126,9 @@ extern "C" {
must be 32 bits wide or more.
True colors are repsented as follows:
-
+
ARGB
-
+
Where 'A' (alpha channel) occupies only the
LOWER 7 BITS of the MSB. This very small
loss of alpha channel resolution allows gd 2.x
@@ -209,7 +204,7 @@ extern "C" {
* Group: Effects
*
* The layering effect
- *
+ *
* When pixels are drawn the new colors are "mixed" with the background
* depending on the effect.
*
@@ -286,7 +281,7 @@ enum gdPaletteQuantizationMethod {
*
* GD_BELL - Bell
* GD_BESSEL - Bessel
- * GD_BILINEAR_FIXED - fixed point bilinear
+ * GD_BILINEAR_FIXED - fixed point bilinear
* GD_BICUBIC - Bicubic
* GD_BICUBIC_FIXED - fixed point bicubic integer
* GD_BLACKMAN - Blackman
@@ -346,7 +341,7 @@ typedef double (* interpolation_method )(double);
/*
Group: Types
-
+
typedef: gdImage
typedef: gdImagePtr
@@ -513,7 +508,7 @@ gdPointF, *gdPointFPtr;
structure.
Please see the files gdfontl.c and gdfontl.h for an example of
- the proper declaration of this structure.
+ the proper declaration of this structure.
> typedef struct {
> // # of characters in font
@@ -710,7 +705,7 @@ BGD_DECLARE(void) gdImageDestroy (gdImagePtr im);
alpha channel value of 'color'; default is to overwrite.
Tiling and line styling are also implemented
here. All other gd drawing functions pass through this call,
- allowing for many useful effects.
+ allowing for many useful effects.
Overlay and multiply effects are used when gdImageAlphaBlending
is passed gdEffectOverlay and gdEffectMultiply */
@@ -768,14 +763,14 @@ BGD_DECLARE(void) gdFontCacheShutdown (void);
BGD_DECLARE(void) gdFreeFontCache (void);
/* Calls gdImageStringFT. Provided for backwards compatibility only. */
-BGD_DECLARE(char *) gdImageStringTTF (gdImage * im, int *brect, int fg, char *fontlist,
+BGD_DECLARE(char *) gdImageStringTTF (gdImage * im, int *brect, int fg, const char *fontlist,
double ptsize, double angle, int x, int y,
- char *string);
+ const char *string);
/* FreeType 2 text output */
-BGD_DECLARE(char *) gdImageStringFT (gdImage * im, int *brect, int fg, char *fontlist,
+BGD_DECLARE(char *) gdImageStringFT (gdImage * im, int *brect, int fg, const char *fontlist,
double ptsize, double angle, int x, int y,
- char *string);
+ const char *string);
/*
@@ -808,7 +803,7 @@ typedef struct {
then, on return, xshow is a malloc'ed
string containing xshow position data for
the last string.
-
+
NB. The caller is responsible for gdFree'ing
the xshow string.
*/
@@ -817,7 +812,7 @@ typedef struct {
string containing the actual font file path name
used, which can be interesting when fontconfig
is in use.
-
+
The caller is responsible for gdFree'ing the
fontpath string.
*/
@@ -857,9 +852,9 @@ BGD_DECLARE(int) gdFTUseFontConfig(int flag);
#define gdFTEX_Big5 2
#define gdFTEX_Adobe_Custom 3
-BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist,
+BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, const char *fontlist,
double ptsize, double angle, int x, int y,
- char *string, gdFTStringExtraPtr strex);
+ const char *string, gdFTStringExtraPtr strex);
/*
@@ -977,16 +972,16 @@ BGD_DECLARE(void) gdImageColorDeallocate (gdImagePtr im, int color);
anything up to 256. If the original source image
includes photographic information or anything that
came out of a JPEG, 256 is strongly recommended.
-
+
Better yet, don't use these function -- write real
truecolor PNGs and JPEGs. The disk space gain of
conversion to palette is not great (for small images
it can be negative) and the quality loss is ugly.
-
+
DIFFERENCES: gdImageCreatePaletteFromTrueColor creates and
returns a new image. gdImageTrueColorToPalette modifies
an existing image, and the truecolor pixels are discarded.
-
+
gdImageTrueColorToPalette() returns TRUE on success, FALSE on failure.
*/
@@ -1092,7 +1087,7 @@ BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quantiza
/**
* Group: GifAnim
- *
+ *
* Legal values for Disposal. gdDisposalNone is always used by
* the built-in optimizer if previm is passed.
*
@@ -1318,7 +1313,7 @@ BGD_DECLARE(gdImagePtr) gdImageCopyGaussianBlurred(gdImagePtr src, int radius,
* Macro: gdImageSX
*
* Gets the width (in pixels) of an image.
- *
+ *
* Parameters:
* im - The image.
*/
@@ -1536,11 +1531,11 @@ BGD_DECLARE(void) gdImageFlipBoth(gdImagePtr im);
* Group: Crop
*
* Constants: gdCropMode
- * GD_CROP_DEFAULT - Default crop mode (4 corners or background)
+ * GD_CROP_DEFAULT - Same as GD_CROP_TRANSPARENT
* GD_CROP_TRANSPARENT - Crop using the transparent color
- * GD_CROP_BLACK - Crop black borders
- * GD_CROP_WHITE - Crop white borders
- * GD_CROP_SIDES - Crop using colors of the 4 corners
+ * GD_CROP_BLACK - Crop black borders
+ * GD_CROP_WHITE - Crop white borders
+ * GD_CROP_SIDES - Crop using colors of the 4 corners
*
* See also:
* - <gdImageCropAuto>
@@ -1634,16 +1629,11 @@ BGD_DECLARE(int) gdReleaseVersion(void);
BGD_DECLARE(const char *) gdExtraVersion(void);
BGD_DECLARE(const char *) gdVersionString(void);
-
-#ifdef __cplusplus
-}
-#endif
-
/* newfangled special effects */
#include "gdfx.h"
-#endif /* GD_H */
-
#ifdef __cplusplus
}
#endif
+
+#endif /* GD_H */
diff --git a/Build/source/libs/gd/libgd-src/src/gd2copypal.c b/Build/source/libs/gd/libgd-src/src/gd2copypal.c
index eaa67b55e6f..5a4675585d3 100644
--- a/Build/source/libs/gd/libgd-src/src/gd2copypal.c
+++ b/Build/source/libs/gd/libgd-src/src/gd2copypal.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
diff --git a/Build/source/libs/gd/libgd-src/src/gd2togif.c b/Build/source/libs/gd/libgd-src/src/gd2togif.c
index 5a0be19b378..5b15994d01c 100644
--- a/Build/source/libs/gd/libgd-src/src/gd2togif.c
+++ b/Build/source/libs/gd/libgd-src/src/gd2togif.c
@@ -43,4 +43,3 @@ int main(int argc, char **argv)
return 0;
}
-
diff --git a/Build/source/libs/gd/libgd-src/src/gd2topng.c b/Build/source/libs/gd/libgd-src/src/gd2topng.c
index 6c0626f3b30..5e8ca8740db 100644
--- a/Build/source/libs/gd/libgd-src/src/gd2topng.c
+++ b/Build/source/libs/gd/libgd-src/src/gd2topng.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -52,11 +51,7 @@ main (int argc, char **argv)
gdImageDestroy (im);
exit (1);
}
-#ifdef HAVE_LIBPNG
gdImagePng (im, out);
-#else
- fprintf(stderr, "No PNG library support available.\n");
-#endif
fclose (out);
gdImageDestroy (im);
diff --git a/Build/source/libs/gd/libgd-src/src/gd_bmp.c b/Build/source/libs/gd/libgd-src/src/gd_bmp.c
index 7b29c1a5a3a..5bef2d2ab29 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_bmp.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_bmp.c
@@ -19,12 +19,12 @@
* Read and write BMP images.
*/
-/* $Id$ */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdio.h>
+#include <limits.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
@@ -47,6 +47,8 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp_hdr_t *header);
static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info);
+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression);
+
#define BMP_DEBUG(s)
static int gdBMPPutWord(gdIOCtx *out, int w)
@@ -87,8 +89,10 @@ BGD_DECLARE(void *) gdImageBmpPtr(gdImagePtr im, int *size, int compression)
void *rv;
gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
if (out == NULL) return NULL;
- gdImageBmpCtx(im, out, compression);
- rv = gdDPExtractData(out, size);
+ if (!_gdImageBmpCtx(im, out, compression))
+ rv = gdDPExtractData(out, size);
+ else
+ rv = NULL;
out->gd_free(out);
return rv;
}
@@ -142,12 +146,18 @@ BGD_DECLARE(void) gdImageBmp(gdImagePtr im, FILE *outFile, int compression)
*/
BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
{
+ _gdImageBmpCtx(im, out, compression);
+}
+
+static int _gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
+{
int bitmap_size = 0, info_size, total_size, padding;
int i, row, xpos, pixel;
int error = 0;
unsigned char *uncompressed_row = NULL, *uncompressed_row_start = NULL;
FILE *tmpfile_for_compression = NULL;
gdIOCtxPtr out_original = NULL;
+ int ret = 1;
/* No compression if its true colour or we don't support seek */
if (im->trueColor) {
@@ -325,6 +335,7 @@ BGD_DECLARE(void) gdImageBmpCtx(gdImagePtr im, gdIOCtxPtr out, int compression)
out_original = NULL;
}
+ ret = 0;
cleanup:
if (tmpfile_for_compression) {
#ifdef _WIN32
@@ -338,7 +349,7 @@ cleanup:
if (out_original) {
out_original->gd_free(out_original);
}
- return;
+ return ret;
}
static int compress_row(unsigned char *row, int length)
@@ -636,6 +647,9 @@ static int bmp_read_windows_v3_info(gdIOCtxPtr infile, bmp_info_t *info)
return 1;
}
+ /* Unlikely, but possible -- largest signed value won't fit in unsigned. */
+ if (info->height == 0 || info->height == INT_MIN)
+ return 1;
if (info->height < 0) {
info->topdown = 1;
info->height = -info->height;
@@ -645,8 +659,9 @@ static int bmp_read_windows_v3_info(gdIOCtxPtr infile, bmp_info_t *info)
info->type = BMP_PALETTE_4;
- if (info->width <= 0 || info->height <= 0 || info->numplanes <= 0 ||
- info->depth <= 0 || info->numcolors < 0 || info->mincolors < 0) {
+ /* Height was checked above. */
+ if (info->width <= 0 || info->numplanes <= 0 || info->depth <= 0 ||
+ info->numcolors < 0 || info->mincolors < 0) {
return 1;
}
@@ -667,11 +682,16 @@ static int bmp_read_os2_v1_info(gdIOCtxPtr infile, bmp_info_t *info)
/* OS2 v1 doesn't support topdown */
info->topdown = 0;
+ /* The spec says the depth can only be a few value values. */
+ if (info->depth != 1 && info->depth != 4 && info->depth != 8 &&
+ info->depth != 16 && info->depth != 24) {
+ return 1;
+ }
+
info->numcolors = 1 << info->depth;
info->type = BMP_PALETTE_3;
- if (info->width <= 0 || info->height <= 0 || info->numplanes <= 0 ||
- info->depth <= 0 || info->numcolors < 0) {
+ if (info->width <= 0 || info->height <= 0 || info->numplanes <= 0) {
return 1;
}
@@ -701,6 +721,9 @@ static int bmp_read_os2_v2_info(gdIOCtxPtr infile, bmp_info_t *info)
return 1;
}
+ /* Unlikely, but possible -- largest signed value won't fit in unsigned. */
+ if (info->height == 0 || info->height == INT_MIN)
+ return 1;
if (info->height < 0) {
info->topdown = 1;
info->height = -info->height;
@@ -710,12 +733,12 @@ static int bmp_read_os2_v2_info(gdIOCtxPtr infile, bmp_info_t *info)
info->type = BMP_PALETTE_4;
- if (info->width <= 0 || info->height <= 0 || info->numplanes <= 0 ||
- info->depth <= 0 || info->numcolors < 0 || info->mincolors < 0) {
+ /* Height was checked above. */
+ if (info->width <= 0 || info->numplanes <= 0 || info->depth <= 0 ||
+ info->numcolors < 0 || info->mincolors < 0) {
return 1;
}
-
return 0;
}
@@ -758,7 +781,7 @@ static int bmp_read_direct(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, b
return 1;
}
- /* There is a chance the data isn't until later, would be wierd but it is possible */
+ /* There is a chance the data isn't until later, would be weird but it is possible */
if (gdTell(infile) != header->off) {
/* Should make sure we don't seek past the file size */
if (!gdSeek(infile, header->off)) {
@@ -855,7 +878,7 @@ static int bmp_read_1bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
im->colorsTotal = info->numcolors;
- /* There is a chance the data isn't until later, would be wierd but it is possible */
+ /* There is a chance the data isn't until later, would be weird but it is possible */
if (gdTell(infile) != header->off) {
/* Should make sure we don't seek past the file size */
if (!gdSeek(infile, header->off)) {
@@ -863,8 +886,8 @@ static int bmp_read_1bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
}
}
- /* The line must be divisible by 4, else its padded with NULLs */
- padding = ((int)ceil(0.1 * info->width)) % 4;
+ /* The line must be aligned on a 32 bits word, else it is padded with zeros */
+ padding = (info->width + 7) / 8 % 4;
if (padding) {
padding = 4 - padding;
}
@@ -925,7 +948,7 @@ static int bmp_read_4bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
im->colorsTotal = info->numcolors;
- /* There is a chance the data isn't until later, would be wierd but it is possible */
+ /* There is a chance the data isn't until later, would be weird but it is possible */
if (gdTell(infile) != header->off) {
/* Should make sure we don't seek past the file size */
if (!gdSeek(infile, header->off)) {
@@ -1012,7 +1035,7 @@ static int bmp_read_8bit(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info, bmp
im->colorsTotal = info->numcolors;
- /* There is a chance the data isn't until later, would be wierd but it is possible */
+ /* There is a chance the data isn't until later, would be weird but it is possible */
if (gdTell(infile) != header->off) {
/* Should make sure we don't seek past the file size */
if (!gdSeek(infile, header->off)) {
diff --git a/Build/source/libs/gd/libgd-src/src/gd_color_match.c b/Build/source/libs/gd/libgd-src/src/gd_color_match.c
index f0842b69ed7..f0194302ee1 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_color_match.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_color_match.c
@@ -31,9 +31,8 @@ BGD_DECLARE(int) gdImageColorMatch (gdImagePtr im1, gdImagePtr im2)
return -4; /* At least 1 color must be allocated */
}
- buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * im2->colorsTotal);
- memset (buf, 0, sizeof(unsigned long) * 5 * im2->colorsTotal );
-
+ buf = (unsigned long *)gdMalloc(sizeof(unsigned long) * 5 * gdMaxColors);
+ memset (buf, 0, sizeof(unsigned long) * 5 * gdMaxColors );
for (x=0; x < im1->sx; x++) {
for( y=0; y<im1->sy; y++ ) {
color = im2->pixels[y][x];
diff --git a/Build/source/libs/gd/libgd-src/src/gd_crop.c b/Build/source/libs/gd/libgd-src/src/gd_crop.c
index 1a6a11f73ca..68f58c695cc 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_crop.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_crop.c
@@ -6,7 +6,7 @@
* Some functions to crop images, automatically (auto detection of the border
* color), using a given color (with or without tolerance) or using a given
* rectangle.
- *
+ *
* Example:
* (start code)
* im2 = gdImageAutoCrop(im, GD_CROP_SIDES);
@@ -48,6 +48,7 @@ static int gdGuessBackgroundColorFromCorners(gdImagePtr im, int *color);
BGD_DECLARE(gdImagePtr) gdImageCrop(gdImagePtr src, const gdRect *crop)
{
gdImagePtr dst;
+ int alphaBlendingFlag;
if (gdImageTrueColor(src)) {
dst = gdImageCreateTrueColor(crop->width, crop->height);
@@ -55,7 +56,10 @@ BGD_DECLARE(gdImagePtr) gdImageCrop(gdImagePtr src, const gdRect *crop)
dst = gdImageCreate(crop->width, crop->height);
}
if (!dst) return NULL;
+ alphaBlendingFlag = dst->alphaBlendingFlag;
+ gdImageAlphaBlending(dst, gdEffectReplace);
gdImageCopy(dst, src, 0, 0, crop->x, crop->y, crop->width, crop->height);
+ gdImageAlphaBlending(dst, alphaBlendingFlag);
return dst;
}
@@ -126,30 +130,24 @@ BGD_DECLARE(gdImagePtr) gdImageCropAuto(gdImagePtr im, const unsigned int mode)
}
}
- /* Nothing to do > bye
- * Duplicate the image?
- */
- if (y == height - 1) {
+ /* Whole image would be cropped > bye */
+ if (match) {
return NULL;
}
- crop.y = y -1;
+ crop.y = y - 1;
+
match = 1;
for (y = height - 1; match && y >= 0; y--) {
for (x = 0; match && x < width; x++) {
match = (color == gdImageGetPixel(im, x,y));
}
}
-
- if (y == 0) {
- crop.height = height - crop.y + 1;
- } else {
- crop.height = y - crop.y + 2;
- }
+ crop.height = y - crop.y + 2;
match = 1;
for (x = 0; match && x < width; x++) {
- for (y = 0; match && y < crop.y + crop.height - 1; y++) {
+ for (y = 0; match && y < crop.y + crop.height; y++) {
match = (color == gdImageGetPixel(im, x,y));
}
}
@@ -157,7 +155,7 @@ BGD_DECLARE(gdImagePtr) gdImageCropAuto(gdImagePtr im, const unsigned int mode)
match = 1;
for (x = width - 1; match && x >= 0; x--) {
- for (y = 0; match && y < crop.y + crop.height - 1; y++) {
+ for (y = 0; match && y < crop.y + crop.height; y++) {
match = (color == gdImageGetPixel(im, x,y));
}
}
@@ -179,7 +177,7 @@ BGD_DECLARE(gdImagePtr) gdImageCropAuto(gdImagePtr im, const unsigned int mode)
* im - The image.
* color - The crop color.
* threshold - The crop threshold.
- *
+ *
* Returns:
* The newly created cropped image, or NULL on failure.
*
@@ -221,31 +219,24 @@ BGD_DECLARE(gdImagePtr) gdImageCropThreshold(gdImagePtr im, const unsigned int c
}
}
- /* Pierre
- * Nothing to do > bye
- * Duplicate the image?
- */
- if (y == height - 1) {
+ /* Whole image would be cropped > bye */
+ if (match) {
return NULL;
}
- crop.y = y -1;
+ crop.y = y - 1;
+
match = 1;
for (y = height - 1; match && y >= 0; y--) {
for (x = 0; match && x < width; x++) {
match = (gdColorMatch(im, color, gdImageGetPixel(im, x, y), threshold)) > 0;
}
}
-
- if (y == 0) {
- crop.height = height - crop.y + 1;
- } else {
- crop.height = y - crop.y + 2;
- }
+ crop.height = y - crop.y + 2;
match = 1;
for (x = 0; match && x < width; x++) {
- for (y = 0; match && y < crop.y + crop.height - 1; y++) {
+ for (y = 0; match && y < crop.y + crop.height; y++) {
match = (gdColorMatch(im, color, gdImageGetPixel(im, x,y), threshold)) > 0;
}
}
@@ -253,7 +244,7 @@ BGD_DECLARE(gdImagePtr) gdImageCropThreshold(gdImagePtr im, const unsigned int c
match = 1;
for (x = width - 1; match && x >= 0; x--) {
- for (y = 0; match && y < crop.y + crop.height - 1; y++) {
+ for (y = 0; match && y < crop.y + crop.height; y++) {
match = (gdColorMatch(im, color, gdImageGetPixel(im, x,y), threshold)) > 0;
}
}
@@ -290,7 +281,7 @@ static int gdGuessBackgroundColorFromCorners(gdImagePtr im, int *color)
} else if (tl == tr || tl == bl || tl == br) {
*color = tl;
return 2;
- } else if (tr == bl) {
+ } else if (tr == bl || tr == br) {
*color = tr;
return 2;
} else if (br == bl) {
diff --git a/Build/source/libs/gd/libgd-src/src/gd_filename.c b/Build/source/libs/gd/libgd-src/src/gd_filename.c
index fd61677d581..d668b01ddf3 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_filename.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_filename.c
@@ -28,7 +28,7 @@ static void BGD_STDCALL writejpeg(gdImagePtr im, FILE *out) {
static void BGD_STDCALL writewbmp(gdImagePtr im, FILE *out) {
int fg = gdImageColorClosest(im, 0, 0, 0);
-
+
gdImageWBMP(im, fg, out);
}/* writejpeg*/
@@ -61,7 +61,7 @@ static struct FileType {
{".jpeg", gdImageCreateFromJpeg, writejpeg, NULL},
#endif
-#ifdef HAVE_LIBTIFF
+#ifdef HAVE_LIBTIFF
{".tiff", gdImageCreateFromTiff, gdImageTiff, NULL},
{".tif" , gdImageCreateFromTiff, gdImageTiff, NULL},
#endif
@@ -90,7 +90,7 @@ ftype(const char *filename) {
/* Find the file extension (i.e. the last period in the string. */
ext = strrchr(filename, '.');
if (!ext) return NULL;
-
+
for (n = 0; Types[n].ext; n++) {
if (strcasecmp(ext, Types[n].ext) == 0) {
return &Types[n];
@@ -103,7 +103,7 @@ ftype(const char *filename) {
/*
Function: gdSupportsFileType
-
+
Tests if a given file type is supported by GD.
Given the name of an image file (which does not have to exist),
@@ -145,7 +145,7 @@ ftype(const char *filename) {
GD_TRUE (1) if the file type is supported, GD_FALSE (0) if not.
*/
-BGD_DECLARE(int)
+BGD_DECLARE(int)
gdSupportsFileType(const char *filename, int writing) {
struct FileType *entry = ftype(filename);
return !!entry && (!writing || !!entry->writer);
@@ -159,7 +159,7 @@ gdSupportsFileType(const char *filename, int writing) {
Given the path to a file, <gdImageCreateFromFile> will open the
file, read its contents with the appropriate _gdImageCreateFrom*_
- function and return it.
+ function and return it.
File type is determined by the filename extension, so having an
incorrect extension will probably not work. For example, renaming
@@ -179,12 +179,12 @@ gdSupportsFileType(const char *filename, int writing) {
*/
-BGD_DECLARE(gdImagePtr)
+BGD_DECLARE(gdImagePtr)
gdImageCreateFromFile(const char *filename) {
struct FileType *entry = ftype(filename);
FILE *fh;
gdImagePtr result;
-
+
if (!entry) return NULL;
if (entry->loader) return entry->loader((char *)filename);
if (!entry->reader) return NULL;
@@ -193,7 +193,7 @@ gdImageCreateFromFile(const char *filename) {
if (!fh) return NULL;
result = entry->reader(fh);
-
+
fclose(fh);
return result;
@@ -235,7 +235,7 @@ gdImageCreateFromFile(const char *filename) {
*/
-BGD_DECLARE(int)
+BGD_DECLARE(int)
gdImageFile(gdImagePtr im, const char *filename) {
struct FileType *entry = ftype(filename);
FILE *fh;
@@ -251,4 +251,3 @@ gdImageFile(gdImagePtr im, const char *filename) {
return GD_TRUE;
}/* gdImageFile*/
-
diff --git a/Build/source/libs/gd/libgd-src/src/gd_filter.c b/Build/source/libs/gd/libgd-src/src/gd_filter.c
index c81e1c177e5..7855190f090 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_filter.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_filter.c
@@ -537,6 +537,7 @@ BGD_DECLARE(int) gdImageConvolution(gdImagePtr src, float filter[3][3], float fi
for ( y=0; y<src->sy; y++) {
for(x=0; x<src->sx; x++) {
new_r = new_g = new_b = 0;
+ pxl = f(srcback, x, y);
new_a = gdImageAlpha(srcback, pxl);
for (j=0; j<3; j++) {
@@ -898,7 +899,7 @@ applyCoeffsLine(gdImagePtr src, gdImagePtr dst, int line, int linelen,
const int srcpx = (axis == HORIZONTAL) ?
src->tpixels[line][rndx] :
src->tpixels[rndx][line];
-
+
r += coeff * (double)gdTrueColorGetRed(srcpx);
g += coeff * (double)gdTrueColorGetGreen(srcpx);
b += coeff * (double)gdTrueColorGetBlue(srcpx);
@@ -912,7 +913,7 @@ applyCoeffsLine(gdImagePtr src, gdImagePtr dst, int line, int linelen,
static void
-applyCoeffs(gdImagePtr src, gdImagePtr dst, double *coeffs, int radius,
+applyCoeffs(gdImagePtr src, gdImagePtr dst, double *coeffs, int radius,
gdAxis axis)
{
int line, numlines, linelen;
@@ -939,7 +940,7 @@ applyCoeffs(gdImagePtr src, gdImagePtr dst, double *coeffs, int radius,
_radius_ is a radius, not a diameter so a radius of 2 (for
example) will blur across a region 5 pixels across (2 to the
center, 1 for the center itself and another 2 to the other edge).
-
+
_sigma_ represents the "fatness" of the curve (lower == fatter).
If _sigma_ is less than or equal to 0,
<gdImageCopyGaussianBlurred> ignores it and instead computes an
@@ -987,10 +988,10 @@ applyCoeffs(gdImagePtr src, gdImagePtr dst, double *coeffs, int radius,
FILE *in;
gdImagePtr result, src;
-
+
in = fopen("foo.png", "rb");
src = gdImageCreateFromPng(in);
-
+
result = gdImageCopyGaussianBlurred(im, src->sx / 10, -1.0);
(end code)
@@ -1034,7 +1035,7 @@ gdImageCopyGaussianBlurred(gdImagePtr src, int radius, double sigma)
gdFree(coeffs);
return NULL;
}/* if */
-
+
freeSrc = 1;
}/* if */
@@ -1059,4 +1060,3 @@ gdImageCopyGaussianBlurred(gdImagePtr src, int radius, double sigma)
return result;
}/* gdImageCopyGaussianBlurred*/
-
diff --git a/Build/source/libs/gd/libgd-src/src/gd_gd.c b/Build/source/libs/gd/libgd-src/src/gd_gd.c
index a1e9ebf343b..0771fd37cbe 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_gd.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_gd.c
@@ -12,21 +12,34 @@
* - color header (either truecolor or palette)
* - image data
*
- * All numbers are stored in big-endian format.
+ * All numbers are stored in big-endian format. Note that all GD output is done
+ * in the GD 2.x format (not to be confused with the GD2 format), but input may
+ * also be in the GD 1.x format.
*
- * File header structure:
+ * GD 1.x file header structure:
+ * width - 1 word
+ * height - 1 word
+ *
+ * GD 1.x color header (palette only):
+ * count - 1 byte (the number of used palette colors)
+ * transparent - 1 word (257 signals no transparency)
+ * palette - 256×3 bytes (RGB triplets)
+ *
+ * GD 2.x file header structure:
* signature - 1 word ("\xFF\xFE" for truecolor, "\xFF\xFF" for palette)
* width - 1 word
* height - 1 word
*
- * Truecolor image color header:
+ * GD 2.x truecolor image color header:
* truecolor - 1 byte (always "\001")
- * transparent - 1 dword (ARGB color)
+ * transparent - 1 dword (ARGB color); "\377\377\377\377" means that no
+ * transparent color is set
*
- * Palette image color header:
+ * GD 2.x palette image color header:
* truecolor - 1 byte (always "\0")
* count - 1 word (the number of used palette colors)
- * transparent - 1 dword (ARGB color)
+ * transparent - 1 dword (palette index); "\377\377\377\377" means that no
+ * transparent color is set
* palette - 256 dwords (RGBA colors)
*
* Image data:
@@ -44,6 +57,10 @@
#include <string.h>
#include <stdlib.h>
#include "gd.h"
+#include "gd_errors.h"
+
+/* 2.3: gd is no longer mandatory */
+#if ENABLE_GD_FORMATS
#define TRUE 1
#define FALSE 0
@@ -91,9 +108,10 @@ _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag)
if (!gdGetWord (&im->transparent, in)) {
goto fail1;
}
- if (im->transparent == 257) {
- im->transparent = (-1);
- }
+ }
+ /* Make sure transparent index is within bounds of the palette. */
+ if (!(im->trueColor) && (im->transparent >= im->colorsTotal || im->transparent < 0)) {
+ im->transparent = (-1);
}
GD2_DBG (printf
("Palette had %d colours (T=%d)\n", im->colorsTotal,
@@ -216,7 +234,7 @@ fail1:
> in = fopen("mygd.gd", "rb");
> im = gdImageCreateFromGd(in);
> fclose(in);
- > // ... Use the image ...
+ > // ... Use the image ...
> gdImageDestroy(im);
*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd (FILE * inFile)
@@ -387,3 +405,41 @@ BGD_DECLARE(void *) gdImageGdPtr (gdImagePtr im, int *size)
out->gd_free (out);
return rv;
}
+
+#else /* no HAVE_LIBZ or !ENABLE_GD_FORMATS */
+
+static void _noGdError (void)
+{
+ gd_error("GD image support has been disabled\n");
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromGd (FILE * inFile)
+{
+ _noGdError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromGdPtr (int size, void *data)
+{
+ _noGdError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromGdCtx (gdIOCtxPtr in)
+{
+ _noGdError();
+ return NULL;
+}
+
+BGD_DECLARE(void) gdImageGd (gdImagePtr im, FILE * outFile)
+{
+ _noGdError();
+}
+
+BGD_DECLARE(void *) gdImageGdPtr (gdImagePtr im, int *size)
+{
+ _noGdError();
+ return NULL;
+}
+
+#endif /* ENABLE_GD_FORMATS */
diff --git a/Build/source/libs/gd/libgd-src/src/gd_gd2.c b/Build/source/libs/gd/libgd-src/src/gd_gd2.c
index 85106bc9273..760e85b9fd9 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_gd2.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_gd2.c
@@ -47,16 +47,18 @@
* offset - 1 dword
* size - 1 dword
*
- * There are x_chunk_count * y_chunk_count chunk headers.
+ * There are x_chunk_count * y_chunk_count chunk headers.
*
* Truecolor image color header:
* truecolor - 1 byte (always "\001")
- * transparent - 1 dword (ARGB color)
+ * transparent - 1 dword (ARGB color); "\377\377\377\377" means that no
+ * transparent color is set
*
* Palette image color header:
* truecolor - 1 byte (always "\0")
* count - 1 word (the number of used palette colors)
- * transparent - 1 dword (ARGB color)
+ * transparent - 1 dword (palette index); "\377\377\377\377" means that no
+ * transparent color is set
* palette - 256 dwords (RGBA colors)
*
* Chunk structure:
@@ -83,7 +85,7 @@
/* 2.03: gd2 is no longer mandatory */
/* JCE - test after including gd.h so that HAVE_LIBZ can be set in
* a config.h file included by gd.h */
-#ifdef HAVE_LIBZ
+#if defined(HAVE_LIBZ) && ENABLE_GD_FORMATS
#include <zlib.h>
#define TRUE 1
@@ -210,7 +212,7 @@ _gd2GetHeader (gdIOCtxPtr in, int *sx, int *sy,
GD2_DBG (printf ("%d Chunks vertically\n", *ncy));
if (gd2_compressed (*fmt)) {
- if (*ncx <= 0 || *ncy <= 0 || *ncx > INT_MAX / *ncy) {
+ if (overflow2(*ncx, *ncy)) {
GD2_DBG(printf ("Illegal chunk counts: %d * %d\n", *ncx, *ncy));
goto fail1;
}
@@ -236,7 +238,7 @@ _gd2GetHeader (gdIOCtxPtr in, int *sx, int *sy,
if (gdGetInt (&cidx[i].size, in) != 1) {
goto fail2;
};
- if (cidx[i].offset < 0 || cidx[i].size < 0)
+ if (cidx[i].offset < 0 || cidx[i].size < 0 || cidx[i].size == INT_MAX)
goto fail2;
};
*chunkIdx = cidx;
@@ -405,7 +407,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ptr (int size, void *data)
Function: gdImageCreateFromGd2Ctx
Reads in a GD2 image via a <gdIOCtx> struct. See
- <gdImageCreateFromGd2>.
+ <gdImageCreateFromGd2>.
*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ctx (gdIOCtxPtr in)
{
@@ -436,8 +438,13 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ctx (gdIOCtxPtr in)
}
bytesPerPixel = im->trueColor ? 4 : 1;
+ if (overflow2(ncx, ncy))
+ goto fail;
nc = ncx * ncy;
+ if (overflow2(ncy, cs) || overflow2(ncx, cs) || overflow2(bytesPerPixel, cs))
+ goto fail;
+
if (gd2_compressed (fmt)) {
/* Find the maximum compressed chunk size. */
compMax = 0;
@@ -1127,57 +1134,61 @@ BGD_DECLARE(void *) gdImageGd2Ptr (gdImagePtr im, int cs, int fmt, int *size)
return rv;
}
-#else /* no HAVE_LIBZ */
-static void _noLibzError (void)
+#else /* no HAVE_LIBZ or !ENABLE_GD_FORMATS */
+static void _noGd2Error (void)
{
+#if !ENABLE_GD_FORMATS
+ gd_error("GD2 image support has been disabled\n");
+#else
gd_error("GD2 support is not available - no libz\n");
+#endif
}
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2 (FILE * inFile)
{
- _noLibzError();
+ _noGd2Error();
return NULL;
}
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ctx (gdIOCtxPtr in)
{
- _noLibzError();
+ _noGd2Error();
return NULL;
}
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Part (FILE * inFile, int srcx, int srcy, int w, int h)
{
- _noLibzError();
+ _noGd2Error();
return NULL;
}
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ptr (int size, void *data)
{
- _noLibzError();
+ _noGd2Error();
return NULL;
}
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2PartCtx (gdIOCtx * in, int srcx, int srcy, int w, int h)
{
- _noLibzError();
+ _noGd2Error();
return NULL;
}
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2PartPtr (int size, void *data, int srcx, int srcy, int w,
int h)
{
- _noLibzError();
+ _noGd2Error();
return NULL;
}
BGD_DECLARE(void) gdImageGd2 (gdImagePtr im, FILE * outFile, int cs, int fmt)
{
- _noLibzError();
+ _noGd2Error();
}
BGD_DECLARE(void *) gdImageGd2Ptr (gdImagePtr im, int cs, int fmt, int *size)
{
- _noLibzError();
+ _noGd2Error();
return NULL;
}
#endif /* HAVE_LIBZ */
diff --git a/Build/source/libs/gd/libgd-src/src/gd_gif_in.c b/Build/source/libs/gd/libgd-src/src/gd_gif_in.c
index c1954480143..1ae0e32b23f 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_gif_in.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_gif_in.c
@@ -53,7 +53,7 @@ static int set_verbose(void)
#define BitSet(byte, bit) (((byte) & (bit)) == (bit))
-#define ReadOK(file, buffer, len) (gdGetBuf(buffer, len, file) > 0)
+#define ReadOK(file, buffer, len) (gdGetBuf(buffer, len, file) == len)
#define LM_to_uint(a, b) (((b)<<8)|(a))
@@ -149,7 +149,7 @@ static void ReadImage (gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned
> in = fopen("mygif.gif", "rb");
> im = gdImageCreateFromGif(in);
> fclose(in);
- > // ... Use the image ...
+ > // ... Use the image ...
> gdImageDestroy(im);
*/
@@ -335,11 +335,6 @@ terminated:
return 0;
}
- if(!im->colorsTotal) {
- gdImageDestroy(im);
- return 0;
- }
-
/* Check for open colors at the end, so
* we can reduce colorsTotal and ultimately
* BitsPerPixel */
@@ -351,6 +346,11 @@ terminated:
}
}
+ if(!im->colorsTotal) {
+ gdImageDestroy(im);
+ return 0;
+ }
+
return im;
}
@@ -447,7 +447,7 @@ static int
GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP)
{
int i, j, ret;
- unsigned char count;
+ int count;
if(flag) {
scd->curbit = 0;
@@ -601,6 +601,10 @@ LWZReadByte_(gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, i
/* Bad compressed data stream */
return -1;
}
+ if(code >= (1 << MAX_LWZ_BITS)) {
+ /* Corrupted code */
+ return -1;
+ }
*sd->sp++ = sd->table[1][code];
@@ -610,6 +614,10 @@ LWZReadByte_(gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, i
code = sd->table[0][code];
}
+ if(code >= (1 << MAX_LWZ_BITS)) {
+ /* Corrupted code */
+ return -1;
+ }
*sd->sp++ = sd->firstcode = sd->table[1][code];
diff --git a/Build/source/libs/gd/libgd-src/src/gd_gif_out.c b/Build/source/libs/gd/libgd-src/src/gd_gif_out.c
index 6fe707d8423..2dd866a74a6 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_gif_out.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_gif_out.c
@@ -99,6 +99,11 @@ static void char_init(GifCtx *ctx);
static void char_out(int c, GifCtx *ctx);
static void flush_char(GifCtx *ctx);
+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out);
+static int _gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtxPtr out,
+ int LocalCM, int LeftOfs, int TopOfs,
+ int Delay, int Disposal,
+ gdImagePtr previm);
@@ -131,8 +136,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size)
void *rv;
gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
if (out == NULL) return NULL;
- gdImageGifCtx(im, out);
- rv = gdDPExtractData(out, size);
+ if (!_gdImageGifCtx(im, out)) {
+ rv = gdDPExtractData(out, size);
+ } else {
+ rv = NULL;
+ }
out->gd_free(out);
return rv;
}
@@ -221,6 +229,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile)
*/
BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
{
+ _gdImageGifCtx(im, out);
+}
+
+/* returns 0 on success, 1 on failure */
+static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
+{
gdImagePtr pim = 0, tim = im;
int interlace, BitsPerPixel;
interlace = im->interlace;
@@ -231,7 +245,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
based temporary image. */
pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
if(!pim) {
- return;
+ return 1;
}
tim = pim;
}
@@ -247,6 +261,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
/* Destroy palette based temporary image. */
gdImageDestroy( pim);
}
+
+ return 0;
}
@@ -475,8 +491,11 @@ BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM,
void *rv;
gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
if (out == NULL) return NULL;
- gdImageGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal, previm);
- rv = gdDPExtractData(out, size);
+ if (!_gdImageGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal, previm)) {
+ rv = gdDPExtractData(out, size);
+ } else {
+ rv = NULL;
+ }
out->gd_free(out);
return rv;
}
@@ -546,18 +565,18 @@ BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM,
gdImagePtr im, im2, im3;
int black, white, trans;
FILE *out;
-
+
im = gdImageCreate(100, 100); // Create the image
white = gdImageColorAllocate(im, 255, 255, 255); // Allocate background
black = gdImageColorAllocate(im, 0, 0, 0); // Allocate drawing color
trans = gdImageColorAllocate(im, 1, 1, 1); // trans clr for compression
gdImageRectangle(im, 0, 0, 10, 10, black); // Draw rectangle
-
+
out = fopen("anim.gif", "wb");// Open output file in binary mode
gdImageGifAnimBegin(im, out, 1, 3);// Write GIF hdr, global clr map,loops
// Write the first frame. No local color map. Delay = 1s
gdImageGifAnimAdd(im, out, 0, 0, 0, 100, 1, NULL);
-
+
// construct the second frame
im2 = gdImageCreate(100, 100);
(void)gdImageColorAllocate(im2, 255, 255, 255); // White background
@@ -566,7 +585,7 @@ BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM,
// Allow animation compression with transparent pixels
gdImageColorTransparent (im2, trans);
gdImageGifAnimAdd(im2, out, 0, 0, 0, 100, 1, im); // Add second frame
-
+
// construct the third frame
im3 = gdImageCreate(100, 100);
(void)gdImageColorAllocate(im3, 255, 255, 255); // white background
@@ -578,7 +597,7 @@ BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM,
gdImageGifAnimAdd(im3, out, 0, 0, 0, 100, 1, im2);
gdImageGifAnimEnd(out); // End marker, same as putc(';', out);
fclose(out); // Close file
-
+
// Destroy images
gdImageDestroy(im);
gdImageDestroy(im2);
@@ -637,6 +656,15 @@ BGD_DECLARE(void) gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtxPtr out,
int Delay, int Disposal,
gdImagePtr previm)
{
+ _gdImageGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal, previm);
+}
+
+/* returns 0 on success, 1 on failure */
+static int _gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtxPtr out,
+ int LocalCM, int LeftOfs, int TopOfs,
+ int Delay, int Disposal,
+ gdImagePtr previm)
+{
gdImagePtr pim = NULL, tim = im;
int interlace, transparent, BitsPerPixel;
interlace = im->interlace;
@@ -653,7 +681,7 @@ BGD_DECLARE(void) gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtxPtr out,
based temporary image. */
pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
if (!pim) {
- return;
+ return 1;
}
tim = pim;
}
@@ -826,12 +854,14 @@ break_right:
out, tim->sx, tim->sy, LeftOfs, TopOfs, interlace, transparent,
Delay, Disposal, BitsPerPixel,
LocalCM ? tim->red : 0, tim->green, tim->blue, tim);
+ return 0;
fail_end:
if(pim) {
/* Destroy palette based temporary image. */
gdImageDestroy(pim);
}
+ return 1;
}
@@ -1374,7 +1404,7 @@ static void compress(int init_bits, gdIOCtxPtr outfile, gdImagePtr im, GifCtx *c
output((code_int)ctx->ClearCode, ctx);
#ifdef SIGNED_COMPARE_SLOW
- while((c = GIFNextPixel(im)) != (unsigned) EOF) {
+ while((c = GIFNextPixel(im, ctx)) != (unsigned) EOF) {
#else /* SIGNED_COMPARE_SLOW */
while((c = GIFNextPixel(im, ctx)) != EOF) {
#endif /* SIGNED_COMPARE_SLOW */
diff --git a/Build/source/libs/gd/libgd-src/src/gd_intern.h b/Build/source/libs/gd/libgd-src/src/gd_intern.h
index 86d817e6d4a..3bf1fa884b7 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_intern.h
+++ b/Build/source/libs/gd/libgd-src/src/gd_intern.h
@@ -1,10 +1,7 @@
#ifndef GD_INTERN_H
#define GD_INTERN_H
-#ifdef HAVE_LIMITS_H
#include <limits.h>
-#endif
-
#ifndef MAXPATHLEN
# ifdef PATH_MAX
@@ -87,4 +84,3 @@ gdImagePtr gdImageRotate270(gdImagePtr src, int ignoretransparent);
#endif
-
diff --git a/Build/source/libs/gd/libgd-src/src/gd_interpolation.c b/Build/source/libs/gd/libgd-src/src/gd_interpolation.c
index b9a206551dc..21f7315f10a 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_interpolation.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_interpolation.c
@@ -41,8 +41,8 @@
downscaling using the fixed point implementations are usually much faster
than the existing gdImageCopyResampled while having a similar or better
quality.
-
- For image rotations, the optimized versions have a lazy antialiasing for
+
+ For image rotations, the optimized versions have a lazy antialiasing for
the edges of the images. For a much better antialiased result, the affine
function is recommended.
*/
@@ -78,7 +78,7 @@ TODO:
# include <emmintrin.h>
#endif
-static gdImagePtr gdImageScaleBilinear(gdImagePtr im,
+static gdImagePtr gdImageScaleBilinear(gdImagePtr im,
const unsigned int new_width,
const unsigned int new_height);
static gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src,
@@ -278,7 +278,7 @@ static double KernelBessel_Q1(const double x)
static double KernelBessel_Order1(double x)
{
double p, q;
-
+
if (x == 0.0)
return (0.0f);
p = x;
@@ -617,7 +617,7 @@ static double filter_welsh(const double x)
#if defined(_MSC_VER) && !defined(inline)
# define inline __inline
-#endif
+#endif
/* keep it for future usage for affine copy over an existing image, targetting fix for 2.2.2 */
#ifdef FUNCTION_NOT_USED_YET
@@ -654,7 +654,7 @@ static inline int _color_blend (const int dst, const int src)
}
}
-static inline int _setEdgePixel(const gdImagePtr src, unsigned int x, unsigned int y, gdFixed coverage, const int bgColor)
+static inline int _setEdgePixel(const gdImagePtr src, unsigned int x, unsigned int y, gdFixed coverage, const int bgColor)
{
const gdFixed f_127 = gd_itofx(127);
register int c = src->tpixels[y][x];
@@ -948,8 +948,8 @@ _gdScaleOneAxis(gdImagePtr pSrc, gdImagePtr dst,
double r = 0, g = 0, b = 0, a = 0;
const int left = contrib->ContribRow[ndx].Left;
const int right = contrib->ContribRow[ndx].Right;
- int *dest = (axis == HORIZONTAL) ?
- &dst->tpixels[row][ndx] :
+ int *dest = (axis == HORIZONTAL) ?
+ &dst->tpixels[row][ndx] :
&dst->tpixels[ndx][row];
int i;
@@ -958,7 +958,7 @@ _gdScaleOneAxis(gdImagePtr pSrc, gdImagePtr dst,
for (i = left; i <= right; i++) {
const int left_channel = i - left;
const int srcpx = (axis == HORIZONTAL) ?
- pSrc->tpixels[row][i] :
+ pSrc->tpixels[row][i] :
pSrc->tpixels[i][row];
r += contrib->ContribRow[ndx].Weights[left_channel]
@@ -1313,8 +1313,8 @@ static gdImagePtr gdImageScaleBilinearTC(gdImagePtr im, const unsigned int new_w
gdFixed f_j = gd_itofx(j);
gdFixed f_a = gd_mulfx(f_i, f_dy);
gdFixed f_b = gd_mulfx(f_j, f_dx);
- const gdFixed m = gd_fxtoi(f_a);
- const gdFixed n = gd_fxtoi(f_b);
+ const long m = gd_fxtoi(f_a);
+ const long n = gd_fxtoi(f_b);
gdFixed f_f = f_a - gd_itofx(m);
gdFixed f_g = f_b - gd_itofx(n);
@@ -1686,7 +1686,7 @@ static int gdRotatedImageSize(gdImagePtr src, const float angle, gdRectPtr bbox)
return GD_TRUE;
}
-static gdImagePtr
+static gdImagePtr
gdImageRotateNearestNeighbour(gdImagePtr src, const float degrees,
const int bgColor)
{
@@ -1799,7 +1799,7 @@ gdImageRotateGeneric(gdImagePtr src, const float degrees, const int bgColor)
return dst;
}
-/**
+/**
* Function: gdImageRotateInterpolated
*
* Rotate an image
@@ -1821,7 +1821,7 @@ gdImageRotateGeneric(gdImagePtr src, const float degrees, const int bgColor)
*/
BGD_DECLARE(gdImagePtr) gdImageRotateInterpolated(const gdImagePtr src, const float angle, int bgcolor)
{
- /* round to two decimals and keep the 100x multiplication to use it in the common square angles
+ /* round to two decimals and keep the 100x multiplication to use it in the common square angles
case later. Keep the two decimal precisions so smaller rotation steps can be done, useful for
slow animations, f.e. */
const int angle_rounded = fmod((int) floorf(angle * 100), 360 * 100);
@@ -1953,7 +1953,7 @@ BGD_DECLARE(int) gdTransformAffineGetImage(gdImagePtr *dst,
if (!src->trueColor) {
gdImagePaletteToTrueColor(src);
}
-
+
/* Translate to dst origin (0,0) */
gdAffineTranslate(m, -bbox.x, -bbox.y);
gdAffineConcat(m, affine, m);
@@ -1975,6 +1975,51 @@ BGD_DECLARE(int) gdTransformAffineGetImage(gdImagePtr *dst,
}
}
+/** Function: getPixelRgbInterpolated
+ * get the index of the image's colors
+ *
+ * Parameters:
+ * im - Image to draw the transformed image
+ * tcolor - TrueColor
+ *
+ * Return:
+ * index of colors
+ */
+static int getPixelRgbInterpolated(gdImagePtr im, const int tcolor)
+{
+ unsigned char r, g, b, a;
+ int ct, i;
+
+ b = (unsigned char)tcolor;
+ g = (unsigned char)(tcolor >> 8);
+ r = (unsigned char)(tcolor >> 16);
+ a = (unsigned char)(tcolor >> 24);
+
+ b = CLAMP(b, 0, 255);
+ g = CLAMP(g, 0, 255);
+ r = CLAMP(r, 0, 255);
+ a = CLAMP(a, 0, 127);
+
+ for (i = 0; i < im->colorsTotal; i++) {
+ if (im->red[i] == r && im->green[i] == g && im->blue[i] == b && im->alpha[i] == a) {
+ return i;
+ }
+ }
+
+ ct = im->colorsTotal;
+ if (ct == gdMaxColors) {
+ return -1;
+ }
+
+ im->colorsTotal++;
+ im->red[ct] = r;
+ im->green[ct] = g;
+ im->blue[ct] = b;
+ im->alpha[ct] = a;
+ im->open[ct] = 0;
+
+ return ct;
+}
/**
* Function: gdTransformAffineCopy
* Applies an affine transformation to a region and copy the result
@@ -1988,7 +2033,7 @@ BGD_DECLARE(int) gdTransformAffineGetImage(gdImagePtr *dst,
* src_area - Rectangular region to rotate in the src image
*
* Returns:
- * GD_TRUE if the affine is rectilinear or GD_FALSE
+ * GD_TRUE on success or GD_FALSE on failure
*/
BGD_DECLARE(int) gdTransformAffineCopy(gdImagePtr dst,
int dst_x, int dst_y,
@@ -2001,21 +2046,21 @@ BGD_DECLARE(int) gdTransformAffineCopy(gdImagePtr dst,
int backup_clipx1, backup_clipy1, backup_clipx2, backup_clipy2;
register int x, y, src_offset_x, src_offset_y;
double inv[6];
- int *dst_p;
gdPointF pt, src_pt;
gdRect bbox;
int end_x, end_y;
- gdInterpolationMethod interpolation_id_bak = GD_DEFAULT;
+ gdInterpolationMethod interpolation_id_bak = src->interpolation_id;
/* These methods use special implementations */
if (src->interpolation_id == GD_BILINEAR_FIXED || src->interpolation_id == GD_BICUBIC_FIXED || src->interpolation_id == GD_NEAREST_NEIGHBOUR) {
- interpolation_id_bak = src->interpolation_id;
-
gdImageSetInterpolationMethod(src, GD_BICUBIC);
}
-
gdImageClipRectangle(src, src_region);
+ c1x = src_region->x;
+ c1y = src_region->y;
+ c2x = src_region->x + src_region->width -1;
+ c2y = src_region->y + src_region->height -1;
if (src_region->x > 0 || src_region->y > 0
|| src_region->width < gdImageSX(src)
@@ -2039,13 +2084,14 @@ BGD_DECLARE(int) gdTransformAffineCopy(gdImagePtr dst,
return GD_FALSE;
}
- gdImageGetClip(dst, &c1x, &c1y, &c2x, &c2y);
-
end_x = bbox.width + abs(bbox.x);
end_y = bbox.height + abs(bbox.y);
/* Get inverse affine to let us work with destination -> source */
- gdAffineInvert(inv, affine);
+ if (gdAffineInvert(inv, affine) == GD_FALSE) {
+ gdImageSetInterpolationMethod(src, interpolation_id_bak);
+ return GD_FALSE;
+ }
src_offset_x = src_region->x;
src_offset_y = src_region->y;
@@ -2053,28 +2099,51 @@ BGD_DECLARE(int) gdTransformAffineCopy(gdImagePtr dst,
if (dst->alphaBlendingFlag) {
for (y = bbox.y; y <= end_y; y++) {
pt.y = y + 0.5;
- for (x = 0; x <= end_x; x++) {
+ for (x = bbox.x; x <= end_x; x++) {
pt.x = x + 0.5;
gdAffineApplyToPointF(&src_pt, &pt, inv);
- gdImageSetPixel(dst, dst_x + x, dst_y + y, getPixelInterpolated(src, src_offset_x + src_pt.x, src_offset_y + src_pt.y, 0));
+ if (floor(src_offset_x + src_pt.x) < c1x
+ || floor(src_offset_x + src_pt.x) > c2x
+ || floor(src_offset_y + src_pt.y) < c1y
+ || floor(src_offset_y + src_pt.y) > c2y) {
+ continue;
+ }
+ gdImageSetPixel(dst, dst_x + x, dst_y + y, getPixelInterpolated(src, (int)(src_offset_x + src_pt.x), (int)(src_offset_y + src_pt.y), 0));
}
}
} else {
- for (y = 0; y <= end_y; y++) {
- pt.y = y + 0.5 + bbox.y;
+ for (y = bbox.y; y <= end_y; y++) {
+ unsigned char *dst_p = NULL;
+ int *tdst_p = NULL;
+
+ pt.y = y + 0.5;
if ((dst_y + y) < 0 || ((dst_y + y) > gdImageSY(dst) -1)) {
continue;
}
- dst_p = dst->tpixels[dst_y + y] + dst_x;
+ if (dst->trueColor) {
+ tdst_p = dst->tpixels[dst_y + y] + dst_x;
+ } else {
+ dst_p = dst->pixels[dst_y + y] + dst_x;
+ }
- for (x = 0; x <= end_x; x++) {
- pt.x = x + 0.5 + bbox.x;
+ for (x = bbox.x; x <= end_x; x++) {
+ pt.x = x + 0.5;
gdAffineApplyToPointF(&src_pt, &pt, inv);
if ((dst_x + x) < 0 || (dst_x + x) > (gdImageSX(dst) - 1)) {
break;
}
- *(dst_p++) = getPixelInterpolated(src, src_offset_x + src_pt.x, src_offset_y + src_pt.y, -1);
+ if (floor(src_offset_x + src_pt.x) < c1x
+ || floor(src_offset_x + src_pt.x) > c2x
+ || floor(src_offset_y + src_pt.y) < c1y
+ || floor(src_offset_y + src_pt.y) > c2y) {
+ continue;
+ }
+ if (dst->trueColor) {
+ *(tdst_p + dst_x + x) = getPixelInterpolated(src, (int)(src_offset_x + src_pt.x), (int)(src_offset_y + src_pt.y), -1);
+ } else {
+ *(dst_p + dst_x + x) = getPixelRgbInterpolated(dst, getPixelInterpolated(src, (int)(src_offset_x + src_pt.x), (int)(src_offset_y + src_pt.y), -1));
+ }
}
}
}
@@ -2137,8 +2206,8 @@ BGD_DECLARE(int) gdTransformAffineBoundingBox(gdRectPtr src, const double affine
}
bbox->x = (int) min.x;
bbox->y = (int) min.y;
- bbox->width = (int) ceil((max.x - min.x)) + 1;
- bbox->height = (int) ceil(max.y - min.y) + 1;
+ bbox->width = (int) ceil((max.x - min.x));
+ bbox->height = (int) ceil(max.y - min.y);
return GD_TRUE;
}
@@ -2236,9 +2305,9 @@ BGD_DECLARE(int) gdImageSetInterpolationMethod(gdImagePtr im, gdInterpolationMet
case GD_DEFAULT:
id = GD_LINEAR;
im->interpolation = filter_linear;
+ break;
default:
return 0;
- break;
}
im->interpolation_id = id;
return 1;
diff --git a/Build/source/libs/gd/libgd-src/src/gd_io.c b/Build/source/libs/gd/libgd-src/src/gd_io.c
index 03b83472120..4cb1adefcdb 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_io.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_io.c
@@ -129,7 +129,7 @@ int gdGetWordLSB(signed short int *result, gdIOCtx *ctx)
int gdGetInt(int *result, gdIOCtx *ctx)
{
- int r;
+ unsigned int r;
r = (ctx->getC)(ctx);
if(r == EOF) {
@@ -164,7 +164,7 @@ int gdGetInt(int *result, gdIOCtx *ctx)
int gdGetIntLSB(signed int *result, gdIOCtx *ctx)
{
- int c = 0;
+ unsigned int c;
unsigned int r = 0;
c = (ctx->getC) (ctx);
diff --git a/Build/source/libs/gd/libgd-src/src/gd_io.h b/Build/source/libs/gd/libgd-src/src/gd_io.h
index 1039d597dc8..c7a5025591f 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_io.h
+++ b/Build/source/libs/gd/libgd-src/src/gd_io.h
@@ -1,12 +1,12 @@
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifndef GD_IO_H
#define GD_IO_H 1
#include <stdio.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef VMS
# define Putchar gdPutchar
#endif
@@ -17,7 +17,7 @@ extern "C" {
typedef: gdIOCtx
gdIOCtx structures hold function pointers for doing image IO.
-
+
Most of the gd functions that read and write files, such as
<gdImagePng> also have variants that accept a <gdIOCtx> structure;
see <gdImagePngCtx> and <gdImageCreateFromJpegCtx>.
@@ -45,14 +45,14 @@ extern "C" {
> {
> int (*getC) (struct gdIOCtx *);
> int (*getBuf) (struct gdIOCtx *, void *, int wanted);
- >
+ >
> void (*putC) (struct gdIOCtx *, int);
> int (*putBuf) (struct gdIOCtx *, const void *, int wanted);
- >
- > // seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
+ >
+ > // seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
> int (*seek) (struct gdIOCtx *, const int);
> long (*tell) (struct gdIOCtx *);
- >
+ >
> void (*gd_free) (struct gdIOCtx *);
> } gdIOCtx;
@@ -93,8 +93,8 @@ int gdGetIntLSB(signed int *result, gdIOCtx *ctx);
int gdSeek(gdIOCtx *ctx, const int offset);
long gdTell(gdIOCtx *ctx);
-#endif
-
#ifdef __cplusplus
}
#endif
+
+#endif
diff --git a/Build/source/libs/gd/libgd-src/src/gd_io_dp.c b/Build/source/libs/gd/libgd-src/src/gd_io_dp.c
index 25c0980a9b3..ec259e7a69f 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_io_dp.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_io_dp.c
@@ -6,7 +6,7 @@
* Based on GD.pm code by Lincoln Stein for interfacing to libgd.
* Added support for reading as well as support for 'tell' and 'seek'.
*
- * As will all I/O modules, most functions are for local use only (called
+ * As with all I/O modules, most functions are for local use only (called
* via function pointers in the I/O context).
*
* gdDPExtractData is the exception to this: it will return the pointer to
diff --git a/Build/source/libs/gd/libgd-src/src/gd_io_stream.cxx b/Build/source/libs/gd/libgd-src/src/gd_io_stream.cxx
index 28021afc1ae..0d64c72c2b7 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_io_stream.cxx
+++ b/Build/source/libs/gd/libgd-src/src/gd_io_stream.cxx
@@ -1,12 +1,11 @@
/* *****************************************************************************
-** $Id$
** Initial file written and documented by:
** Kevin Shepherd <kshepherd@php.net> December 2007
** of Scarlet Line http://www.scarletline.com/
*******************************************************************************/
/** \file gd_io_stream.cxx
\brief Implementation of the methods of the gdIOCtx std stream specialization.
-
+
Implements the derived specializations of gdIOCtx.
These methods are not called by users of libgd, they
are internal implementation.
@@ -22,7 +21,7 @@
#include "gd_io_stream.h"
/** Read into buffer from stream
- Return the number of bytes successfully read.
+ Return the number of bytes successfully read.
If an error occurs, or the end-of-file is reached, the return value
is a short byte count (or zero).
*/
@@ -33,7 +32,7 @@ int istreamIOCtx::Getbuf (struct gdIOCtx * ctx, void * buf, int size)
return _str->gcount();
}
/** Write from buffer to stream
- Return the number of bytes successfully written.
+ Return the number of bytes successfully written.
If an error occurs, or the end-of-file is reached, the return value
is a short byte count (or zero).
*/
@@ -58,7 +57,7 @@ void istreamIOCtx::Putchar (struct gdIOCtx * , int )
}
/** Seek to position offset from the beginning of the stream
- must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
+ must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
*/
int istreamIOCtx::Seek (struct gdIOCtx * ctx, const int pos)
{
@@ -82,7 +81,7 @@ void istreamIOCtx::FreeCtx (struct gdIOCtx * ctx)
}
/** Read into buffer from stream
- Return the number of bytes successfully read.
+ Return the number of bytes successfully read.
If an error occurs, or the end-of-file is reached, the return value
is a short byte count (or zero).
*/
@@ -91,7 +90,7 @@ int ostreamIOCtx::Getbuf (struct gdIOCtx * , void * , int )
return 0;
}
/** Write from buffer to stream
- Return the number of bytes successfully written.
+ Return the number of bytes successfully written.
If an error occurs, or the end-of-file is reached, the return value
is a short byte count (or zero).
*/
@@ -119,7 +118,7 @@ void ostreamIOCtx::Putchar (struct gdIOCtx * ctx, int c)
}
/** Seek to position offset from the beginning of the stream
- must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
+ must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
*/
int ostreamIOCtx::Seek (struct gdIOCtx * ctx, const int pos)
{
diff --git a/Build/source/libs/gd/libgd-src/src/gd_io_stream.h b/Build/source/libs/gd/libgd-src/src/gd_io_stream.h
index 703548fec26..dd76d7786a0 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_io_stream.h
+++ b/Build/source/libs/gd/libgd-src/src/gd_io_stream.h
@@ -1,5 +1,4 @@
/* *****************************************************************************
-** $Id$
** Initial file written and documented by:
** Kevin Shepherd <kshepherd@php.net> December 2007
** of Scarlet Line http://www.scarletline.com/
@@ -27,9 +26,9 @@
}
gdImageDestroy(im_in);
*/
-#ifdef __cplusplus
#ifndef _gd_io_stream_h
#define _gd_io_stream_h
+#ifdef __cplusplus
#include "gd.h"
#include <iostream>
@@ -122,5 +121,5 @@ inline gdIOCtx * gdNewOstreamCtx (std::ostream * __stream)
return new ostreamIOCtx(* __stream);
}
-#endif /* _gd_io_stream_h */
#endif /* __cplusplus */
+#endif /* _gd_io_stream_h */
diff --git a/Build/source/libs/gd/libgd-src/src/gd_jpeg.c b/Build/source/libs/gd/libgd-src/src/gd_jpeg.c
index 271ef46e003..f2dd329aac0 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_jpeg.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_jpeg.c
@@ -47,12 +47,6 @@
# define HAVE_BOOLEAN
#endif
-/* JCE undef two symbols that we don't need anymore but which are
- may be defined in config.h from ./configure but which are
- redefined incompatibly in jpeglib.h */
-#undef HAVE_STDDEF_H
-#undef HAVE_STDLIB_H
-
/* 1.8.1: remove dependency on jinclude.h */
#include "jpeglib.h"
#include "jerror.h"
@@ -123,6 +117,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo)
exit(99);
}
+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality);
+
/*
* Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality
* QUALITY. If QUALITY is in the range 0-100, increasing values
@@ -237,8 +233,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
void *rv;
gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
if (out == NULL) return NULL;
- gdImageJpegCtx(im, out, quality);
- rv = gdDPExtractData(out, size);
+ if (!_gdImageJpegCtx(im, out, quality)) {
+ rv = gdDPExtractData(out, size);
+ } else {
+ rv = NULL;
+ }
out->gd_free(out);
return rv;
}
@@ -255,11 +254,17 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile);
im - The image to write.
outfile - The output sink.
- quality - Image quality.
+ quality - Image quality.
*/
BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
{
+ _gdImageJpegCtx(im, outfile, quality);
+}
+
+/* returns 0 on success, 1 on failure */
+static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
+{
struct jpeg_compress_struct cinfo;
struct jpeg_error_mgr jerr;
int i, j, jidx;
@@ -293,7 +298,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
if(row) {
gdFree(row);
}
- return;
+ return 1;
}
cinfo.err->emit_message = jpeg_emit_message;
@@ -334,7 +339,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
if(row == 0) {
gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n");
jpeg_destroy_compress(&cinfo);
- return;
+ return 1;
}
rowptr[0] = row;
@@ -411,6 +416,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
jpeg_finish_compress(&cinfo);
jpeg_destroy_compress(&cinfo);
gdFree(row);
+ return 0;
}
@@ -496,7 +502,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegEx(FILE *inFile, int ignore_warning
Function: gdImageCreateFromJpegPtr
Parameters:
-
+
size - size of JPEG data in bytes.
data - pointer to JPEG data.
@@ -511,7 +517,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegPtr(int size, void *data)
Function: gdImageCreateFromJpegPtrEx
Parameters:
-
+
size - size of JPEG data in bytes.
data - pointer to JPEG data.
ignore_warning - if true, ignore recoverable warnings
@@ -1198,4 +1204,63 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile)
dest->outfile = outfile;
}
+#else /* !HAVE_LIBJPEG */
+
+static void _noJpegError(void)
+{
+ gd_error("JPEG image support has been disabled\n");
+}
+
+BGD_DECLARE(void) gdImageJpeg(gdImagePtr im, FILE *outFile, int quality)
+{
+ _noJpegError();
+}
+
+BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
+{
+ _noJpegError();
+ return NULL;
+}
+
+BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
+{
+ _noJpegError();
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromJpeg(FILE *inFile)
+{
+ _noJpegError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegEx(FILE *inFile, int ignore_warning)
+{
+ _noJpegError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegPtr(int size, void *data)
+{
+ _noJpegError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegPtrEx(int size, void *data, int ignore_warning)
+{
+ _noJpegError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegCtx(gdIOCtx *infile)
+{
+ _noJpegError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegCtxEx(gdIOCtx *infile, int ignore_warning)
+{
+ _noJpegError();
+ return NULL;
+}
+
#endif /* HAVE_LIBJPEG */
diff --git a/Build/source/libs/gd/libgd-src/src/gd_matrix.c b/Build/source/libs/gd/libgd-src/src/gd_matrix.c
index b7827a07034..ada63e694ca 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_matrix.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_matrix.c
@@ -57,13 +57,13 @@ BGD_DECLARE(int) gdAffineApplyToPointF (gdPointFPtr dst, const gdPointFPtr src,
* <gdAffineIdentity>
*
* Returns:
- * GD_TRUE if the affine is rectilinear or GD_FALSE
+ * GD_TRUE on success or GD_FALSE on failure
*/
BGD_DECLARE(int) gdAffineInvert (double dst[6], const double src[6])
{
double r_det = (src[0] * src[3] - src[1] * src[2]);
- if (r_det <= 0.0) {
+ if (fabs(r_det) <= 0.0) {
return GD_FALSE;
}
@@ -333,4 +333,3 @@ BGD_DECLARE(int) gdAffineEqual (const double m1[6], const double m2[6])
fabs (m1[4] - m2[4]) < GD_EPSILON &&
fabs (m1[5] - m2[5]) < GD_EPSILON);
}
-
diff --git a/Build/source/libs/gd/libgd-src/src/gd_nnquant.c b/Build/source/libs/gd/libgd-src/src/gd_nnquant.c
index 19190b7ed84..9129d84f354 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_nnquant.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_nnquant.c
@@ -464,7 +464,7 @@ int verbose;
radius = initradius;
rad = radius >> radiusbiasshift;
-
+
for (i=0; i<rad; i++)
nnq->radpower[i] = alpha*(((rad*rad - i*i)*radbias)/(rad*rad));
diff --git a/Build/source/libs/gd/libgd-src/src/gd_nnquant.h b/Build/source/libs/gd/libgd-src/src/gd_nnquant.h
index b054fb1da44..11643b7d622 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_nnquant.h
+++ b/Build/source/libs/gd/libgd-src/src/gd_nnquant.h
@@ -1,4 +1,3 @@
-
/* maximum number of colours that can be used.
actual number is now passed to initcolors */
#define MAXNETSIZE 256
@@ -15,5 +14,3 @@
#define prime4 503
#define minpicturebytes (4*prime4) /* minimum size for input image */
-
-
diff --git a/Build/source/libs/gd/libgd-src/src/gd_png.c b/Build/source/libs/gd/libgd-src/src/gd_png.c
index c9e3545de86..8119cf39c05 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_png.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_png.c
@@ -1,4 +1,3 @@
-/* $Id$ */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -592,7 +591,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
gdImagePtr im;
int black, white;
FILE *out;
-
+
im = gdImageCreate(100, 100); // Create the image
white = gdImageColorAllocate(im, 255, 255, 255); // Alloc background
black = gdImageColorAllocate(im, 0, 0, 0); // Allocate drawing color
@@ -772,6 +771,7 @@ static int _gdImagePngCtxEx(gdImagePtr im, gdIOCtx * outfile, int level)
png_color palette[gdMaxColors];
png_structp png_ptr;
png_infop info_ptr;
+ png_bytep *row_pointers = NULL;
volatile int transparent = im->transparent;
volatile int remap = FALSE;
#ifdef PNG_SETJMP_SUPPORTED
@@ -806,6 +806,13 @@ static int _gdImagePngCtxEx(gdImagePtr im, gdIOCtx * outfile, int level)
if (setjmp(jbw.jmpbuf)) {
gd_error("gd-png error: setjmp returns error condition\n");
png_destroy_write_struct (&png_ptr, &info_ptr);
+
+ if (row_pointers) {
+ for (i = 0; i < height; ++i)
+ gdFree(row_pointers[i]);
+ gdFree(row_pointers);
+ }
+
return 1;
}
#endif
@@ -981,7 +988,6 @@ static int _gdImagePngCtxEx(gdImagePtr im, gdIOCtx * outfile, int level)
/* performance optimizations by Phong Tran */
int channels = im->saveAlphaFlag ? 4 : 3;
/* Our little 7-bit alpha channel trick costs us a bit here. */
- png_bytep *row_pointers;
unsigned char *pOutputRow;
int **ptpixels = im->tpixels;
int *pThisRow;
@@ -993,7 +999,8 @@ static int _gdImagePngCtxEx(gdImagePtr im, gdIOCtx * outfile, int level)
ret = 1;
goto bail;
}
- row_pointers = gdMalloc (sizeof (png_bytep) * height);
+ /* Need to use calloc so we can clean it up sanely in the error handler. */
+ row_pointers = gdCalloc(height, sizeof (png_bytep));
if (row_pointers == NULL) {
gd_error("gd-png error: unable to allocate row_pointers\n");
ret = 1;
@@ -1082,5 +1089,57 @@ bail:
return ret;
}
+#else /* !HAVE_LIBPNG */
+
+static void _noPngError(void)
+{
+ gd_error("PNG image support has been disabled\n");
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromPng (FILE * inFile)
+{
+ _noPngError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromPngPtr (int size, void *data)
+{
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
+{
+ return NULL;
+}
+
+BGD_DECLARE(void) gdImagePngEx (gdImagePtr im, FILE * outFile, int level)
+{
+ _noPngError();
+}
+
+BGD_DECLARE(void) gdImagePng (gdImagePtr im, FILE * outFile)
+{
+ _noPngError();
+}
+
+BGD_DECLARE(void *) gdImagePngPtr (gdImagePtr im, int *size)
+{
+ return NULL;
+}
+
+BGD_DECLARE(void *) gdImagePngPtrEx (gdImagePtr im, int *size, int level)
+{
+ return NULL;
+}
+
+BGD_DECLARE(void) gdImagePngCtx (gdImagePtr im, gdIOCtx * outfile)
+{
+ _noPngError();
+}
+
+BGD_DECLARE(void) gdImagePngCtxEx (gdImagePtr im, gdIOCtx * outfile, int level)
+{
+ _noPngError();
+}
#endif /* HAVE_LIBPNG */
diff --git a/Build/source/libs/gd/libgd-src/src/gd_tga.c b/Build/source/libs/gd/libgd-src/src/gd_tga.c
index f80f0b16fb8..cae9428da50 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_tga.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_tga.c
@@ -206,7 +206,7 @@ int read_header_tga(gdIOCtx *ctx, oTga *tga)
int read_image_tga( gdIOCtx *ctx, oTga *tga )
{
int pixel_block_size = (tga->bits / 8);
- int image_block_size = (tga->width * tga->height) * pixel_block_size;
+ int image_block_size;
int* decompression_buffer = NULL;
unsigned char* conversion_buffer = NULL;
int buffer_caret = 0;
@@ -223,6 +223,7 @@ int read_image_tga( gdIOCtx *ctx, oTga *tga )
return -1;
}
+ image_block_size = (tga->width * tga->height) * pixel_block_size;
if(overflow2(image_block_size, sizeof(int))) {
return -1;
}
diff --git a/Build/source/libs/gd/libgd-src/src/gd_tiff.c b/Build/source/libs/gd/libgd-src/src/gd_tiff.c
index ae65ed7d5e2..4020a6f7054 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_tiff.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_tiff.c
@@ -27,7 +27,6 @@
----------------------------------------------------------------------------
*/
-/* $Id$ */
/**
* File: TIFF IO
@@ -790,7 +789,7 @@ static int createFromTiffRgba(TIFF * tif, gdImagePtr im)
rgba = buffer[(y * width + x)];
a = (0xff - TIFFGetA(rgba)) / 2;
color = gdTrueColorAlpha(TIFFGetR(rgba), TIFFGetG(rgba), TIFFGetB(rgba), a);
-
+
/* set pixel colour to this colour */
gdImageSetPixel(im, x, height - y - 1, color);
}
@@ -993,10 +992,10 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile)
goto error;
}
- if (TIFFGetField(tif, TIFFTAG_XRESOLUTION, &res_float)) {
+ if (TIFFGetField(tif, TIFFTAG_XRESOLUTION, &res_float)) {
im->res_x = (unsigned int)res_float; //truncate
}
- if (TIFFGetField(tif, TIFFTAG_YRESOLUTION, &res_float)) {
+ if (TIFFGetField(tif, TIFFTAG_YRESOLUTION, &res_float)) {
im->res_y = (unsigned int)res_float; //truncate
}
@@ -1070,4 +1069,45 @@ BGD_DECLARE(void *) gdImageTiffPtr(gdImagePtr im, int *size)
return rv;
}
+#else
+
+static void _noTiffError(void)
+{
+ gd_error("TIFF image support has been disabled\n");
+}
+
+BGD_DECLARE(void) gdImageTiffCtx(gdImagePtr image, gdIOCtx *out)
+{
+ _noTiffError();
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile)
+{
+ _noTiffError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromTiff(FILE *inFile)
+{
+ _noTiffError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffPtr(int size, void *data)
+{
+ _noTiffError();
+ return NULL;
+}
+
+BGD_DECLARE(void) gdImageTiff(gdImagePtr im, FILE *outFile)
+{
+ _noTiffError();
+}
+
+BGD_DECLARE(void *) gdImageTiffPtr(gdImagePtr im, int *size)
+{
+ _noTiffError();
+ return NULL;
+}
+
#endif
diff --git a/Build/source/libs/gd/libgd-src/src/gd_topal.c b/Build/source/libs/gd/libgd-src/src/gd_topal.c
index 3419512eee2..5ac226ae8fd 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_topal.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_topal.c
@@ -1383,7 +1383,7 @@ zeroHistogram (hist3d histogram)
* method - The quantization method, see <gdPaletteQuantizationMethod>.
* speed - The quantization speed between 1 (highest quality) and
* 10 (fastest). 0 selects a method-specific default (recommended).
- *
+ *
* Returns:
* Zero if the given method is invalid or not available; non-zero otherwise.
*
@@ -1451,7 +1451,7 @@ static int gdImageTrueColorToPaletteBody (gdImagePtr oim, int dither, int colors
*
* Returns:
* A newly create palette image; NULL on failure.
- *
+ *
* See also:
* - <gdImageCreatePaletteFromTrueColor>
* - <gdImageTrueColorToPaletteSetMethod>
@@ -1523,6 +1523,15 @@ static void free_truecolor_image_data(gdImagePtr oim)
oim->tpixels = 0;
}
+#ifdef HAVE_LIBIMAGEQUANT
+/* liq requires 16 byte aligned heap memory */
+static void *malloc16(size_t size)
+{
+ void *p;
+ return posix_memalign(&p, 16, size) == 0 ? p : NULL;
+}
+#endif
+
/*
* Module initialization routine for 2-pass color quantization.
*/
@@ -1586,7 +1595,7 @@ static int gdImageTrueColorToPaletteBody (gdImagePtr oim, int dither, int colors
nim = gdImageNeuQuant(oim, colorsWanted, oim->paletteQuantizationSpeed ? oim->paletteQuantizationSpeed : 2);
if (cimP) {
*cimP = nim;
- }
+ }
if (!nim) {
return FALSE;
} else {
@@ -1601,7 +1610,7 @@ static int gdImageTrueColorToPaletteBody (gdImagePtr oim, int dither, int colors
#ifdef HAVE_LIBIMAGEQUANT
if (oim->paletteQuantizationMethod == GD_QUANT_DEFAULT ||
oim->paletteQuantizationMethod == GD_QUANT_LIQ) {
- liq_attr *attr = liq_attr_create_with_allocator(gdMalloc, gdFree);
+ liq_attr *attr = liq_attr_create_with_allocator(malloc16, free);
liq_image *image;
liq_result *remap;
int remapped_ok = 0;
diff --git a/Build/source/libs/gd/libgd-src/src/gd_transform.c b/Build/source/libs/gd/libgd-src/src/gd_transform.c
index 1a96daaf438..fae1a5851ff 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_transform.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_transform.c
@@ -120,5 +120,3 @@ BGD_DECLARE(void) gdImageFlipBoth(gdImagePtr im)
gdImageFlipVertical(im);
gdImageFlipHorizontal(im);
}
-
-
diff --git a/Build/source/libs/gd/libgd-src/src/gd_wbmp.c b/Build/source/libs/gd/libgd-src/src/gd_wbmp.c
index 0028273d656..a49bdbecbb1 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_wbmp.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_wbmp.c
@@ -88,6 +88,8 @@ int gd_getin(void *in)
return (gdGetC((gdIOCtx *)in));
}
+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out);
+
/*
Function: gdImageWBMPCtx
@@ -101,13 +103,19 @@ int gd_getin(void *in)
*/
BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
{
+ _gdImageWBMPCtx(image, fg, out);
+}
+
+/* returns 0 on success, 1 on failure */
+static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
+{
int x, y, pos;
Wbmp *wbmp;
/* create the WBMP */
if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) {
gd_error("Could not create WBMP\n");
- return;
+ return 1;
}
/* fill up the WBMP structure */
@@ -123,18 +131,22 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
/* write the WBMP to a gd file descriptor */
if(writewbmp(wbmp, &gd_putout, out)) {
+ freewbmp(wbmp);
gd_error("Could not save WBMP\n");
+ return 1;
}
/* des submitted this bugfix: gdFree the memory. */
freewbmp(wbmp);
+
+ return 0;
}
/*
Function: gdImageCreateFromWBMPCtx
Reads in a WBMP image via a <gdIOCtx> struct. See
- <gdImageCreateFromWBMP>.
+ <gdImageCreateFromWBMP>.
*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPCtx(gdIOCtx *infile)
{
@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg)
void *rv;
gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
if (out == NULL) return NULL;
- gdImageWBMPCtx(im, fg, out);
- rv = gdDPExtractData(out, size);
+ if (!_gdImageWBMPCtx(im, fg, out)) {
+ rv = gdDPExtractData(out, size);
+ } else {
+ rv = NULL;
+ }
out->gd_free(out);
return rv;
}
diff --git a/Build/source/libs/gd/libgd-src/src/gd_webp.c b/Build/source/libs/gd/libgd-src/src/gd_webp.c
index b5ee2642634..ab15109d548 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_webp.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_webp.c
@@ -9,7 +9,6 @@
#endif /* HAVE_CONFIG_H */
-#ifdef HAVE_LIBWEBP
#include <stdio.h>
#include <math.h>
#include <string.h>
@@ -17,6 +16,8 @@
#include "gd.h"
#include "gd_errors.h"
#include "gdhelpers.h"
+
+#ifdef HAVE_LIBWEBP
#include "webp/decode.h"
#include "webp/encode.h"
@@ -212,7 +213,7 @@ static int _gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
}
*(p++) = gdTrueColorGetRed(c);
*(p++) = gdTrueColorGetGreen(c);
- *(p++) = gdTrueColorGetBlue(c);
+ *(p++) = gdTrueColorGetBlue(c);
*(p++) = a;
}
}
@@ -360,4 +361,57 @@ BGD_DECLARE(void *) gdImageWebpPtrEx (gdImagePtr im, int *size, int quality)
out->gd_free(out);
return rv;
}
+
+#else /* !HAVE_LIBWEBP */
+
+static void _noWebpError(void)
+{
+ gd_error("WEBP image support has been disabled\n");
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromWebp (FILE * inFile)
+{
+ _noWebpError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromWebpPtr (int size, void *data)
+{
+ _noWebpError();
+ return NULL;
+}
+
+BGD_DECLARE(gdImagePtr) gdImageCreateFromWebpCtx (gdIOCtx * infile)
+{
+ _noWebpError();
+ return NULL;
+}
+
+BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
+{
+ _noWebpError();
+}
+
+BGD_DECLARE(void) gdImageWebpEx (gdImagePtr im, FILE * outFile, int quality)
+{
+ _noWebpError();
+}
+
+BGD_DECLARE(void) gdImageWebp (gdImagePtr im, FILE * outFile)
+{
+ _noWebpError();
+}
+
+BGD_DECLARE(void *) gdImageWebpPtr (gdImagePtr im, int *size)
+{
+ _noWebpError();
+ return NULL;
+}
+
+BGD_DECLARE(void *) gdImageWebpPtrEx (gdImagePtr im, int *size, int quality)
+{
+ _noWebpError();
+ return NULL;
+}
+
#endif /* HAVE_LIBWEBP */
diff --git a/Build/source/libs/gd/libgd-src/src/gd_xbm.c b/Build/source/libs/gd/libgd-src/src/gd_xbm.c
index 29bc5c2e8d5..cf0545efdb4 100644
--- a/Build/source/libs/gd/libgd-src/src/gd_xbm.c
+++ b/Build/source/libs/gd/libgd-src/src/gd_xbm.c
@@ -169,7 +169,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd)
}
h[3] = ch;
}
- sscanf(h, "%x", &b);
+ if (sscanf(h, "%x", &b) != 1) {
+ gd_error("invalid XBM");
+ gdImageDestroy(im);
+ return 0;
+ }
for (bit = 1; bit <= max_bit; bit = bit << 1) {
gdImageSetPixel(im, x++, y, (b & bit) ? 1 : 0);
if (x == im->sx) {
@@ -220,7 +224,7 @@ static void gdCtxPrintf(gdIOCtx * out, const char *format, ...)
* gd - Which color to use as forground color. All pixels with another
* color are unset.
* out - The <gdIOCtx> to write the image file to.
- *
+ *
*/
BGD_DECLARE(void) gdImageXbmCtx(gdImagePtr image, char* file_name, int fg, gdIOCtx * out)
{
diff --git a/Build/source/libs/gd/libgd-src/src/gdcache.c b/Build/source/libs/gd/libgd-src/src/gdcache.c
index b264d6ef859..3aad153dc04 100644
--- a/Build/source/libs/gd/libgd-src/src/gdcache.c
+++ b/Build/source/libs/gd/libgd-src/src/gdcache.c
@@ -25,7 +25,9 @@
* John Ellson (ellson@graphviz.org) Oct 31, 1997
*
* Test this with:
- * gcc -o gdcache -g -Wall -DTEST gdcache.c
+ * gcc -o gdcache -g -Wall -DTEST -DNEED_CACHE gdcache.c -lgd
+ * or
+ * gcc -o gdcache -g -Wall -DTEST -DNEED_CACHE gdcache.c libgd.a
*
* The cache is implemented by a singly-linked list of elements
* each containing a pointer to a user struct that is being managed by
@@ -137,8 +139,13 @@ void * gdCacheGet(gdCache_head_t *head, void *keydata)
}
} else {
/* cache full - replace least-recently-used */
- /* preveprev becomes new end of list */
- prevprev->next = NULL;
+ if(!prevprev) {
+ /* cache size is 1 */
+ head->mru = NULL;
+ } else {
+ /* prevprev becomes new end of list */
+ prevprev->next = NULL;
+ }
elem = prev;
(*(head->gdCacheRelease))(elem->userdata);
}
@@ -192,7 +199,7 @@ static void cacheRelease(void *map)
gdFree((char *)map);
}
-int main(char *argv[], int argc)
+int main(int argc, char **argv)
{
gdCache_head_t *cacheTable;
int elem, key;
diff --git a/Build/source/libs/gd/libgd-src/src/gdcache.h b/Build/source/libs/gd/libgd-src/src/gdcache.h
index bf451dc6cc3..751a842154c 100644
--- a/Build/source/libs/gd/libgd-src/src/gdcache.h
+++ b/Build/source/libs/gd/libgd-src/src/gdcache.h
@@ -12,7 +12,9 @@ extern "C" {
* John Ellson (ellson@graphviz.org) Oct 31, 1997
*
* Test this with:
- * gcc -o gdcache -g -Wall -DTEST gdcache.c
+ * gcc -o gdcache -g -Wall -DTEST -DNEED_CACHE gdcache.c -lgd
+ * or
+ * gcc -o gdcache -g -Wall -DTEST -DNEED_CACHE gdcache.c libgd.a
*
* The cache is implemented by a singly-linked list of elements
* each containing a pointer to a user struct that is being managed by
diff --git a/Build/source/libs/gd/libgd-src/src/gdcmpgif.c b/Build/source/libs/gd/libgd-src/src/gdcmpgif.c
index 737f7ba90b8..d440f717276 100644
--- a/Build/source/libs/gd/libgd-src/src/gdcmpgif.c
+++ b/Build/source/libs/gd/libgd-src/src/gdcmpgif.c
@@ -89,5 +89,3 @@ void CompareImages(char *msg, gdImagePtr im1, gdImagePtr im2)
printf("-%s: INFO actual colours of pixels differ\n",msg);
}
}
-
-
diff --git a/Build/source/libs/gd/libgd-src/src/gddemo.c b/Build/source/libs/gd/libgd-src/src/gddemo.c
index 28afd3c1d12..69d9d35ddd3 100644
--- a/Build/source/libs/gd/libgd-src/src/gddemo.c
+++ b/Build/source/libs/gd/libgd-src/src/gddemo.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -16,7 +15,6 @@
int
main (void)
{
-#ifdef HAVE_LIBPNG
/* Input and output files */
FILE *in;
FILE *out;
@@ -181,8 +179,5 @@ main (void)
if (im_in) {
gdImageDestroy (im_in);
}
-#else
- fprintf(stderr, "No PNG library support.\n");
-#endif /* HAVE_LIBPNG */
return 0;
}
diff --git a/Build/source/libs/gd/libgd-src/src/gdfontg.c b/Build/source/libs/gd/libgd-src/src/gdfontg.c
index 2adf6da7995..2fe71662cf9 100644
--- a/Build/source/libs/gd/libgd-src/src/gdfontg.c
+++ b/Build/source/libs/gd/libgd-src/src/gdfontg.c
@@ -1,5 +1,3 @@
-
-
/*
This is a header file for gd font, generated using
bdftogd version 0.51 by Jan Pazdziora, adelton@fi.muni.cz
diff --git a/Build/source/libs/gd/libgd-src/src/gdfontl.c b/Build/source/libs/gd/libgd-src/src/gdfontl.c
index 97f7a65863d..f7ce2726375 100644
--- a/Build/source/libs/gd/libgd-src/src/gdfontl.c
+++ b/Build/source/libs/gd/libgd-src/src/gdfontl.c
@@ -1,5 +1,3 @@
-
-
/*
This is a header file for gd font, generated using
bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz
diff --git a/Build/source/libs/gd/libgd-src/src/gdfontmb.c b/Build/source/libs/gd/libgd-src/src/gdfontmb.c
index debee4e3105..ed0f1ace780 100644
--- a/Build/source/libs/gd/libgd-src/src/gdfontmb.c
+++ b/Build/source/libs/gd/libgd-src/src/gdfontmb.c
@@ -1,5 +1,3 @@
-
-
/*
This is a header file for gd font, generated using
bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz
diff --git a/Build/source/libs/gd/libgd-src/src/gdfontt.c b/Build/source/libs/gd/libgd-src/src/gdfontt.c
index e7bb3458e16..1fb96e14e25 100644
--- a/Build/source/libs/gd/libgd-src/src/gdfontt.c
+++ b/Build/source/libs/gd/libgd-src/src/gdfontt.c
@@ -1,5 +1,3 @@
-
-
/*
This is a header file for gd font, generated using
bdftogd version 0.5 by Jan Pazdziora, adelton@fi.muni.cz
diff --git a/Build/source/libs/gd/libgd-src/src/gdft.c b/Build/source/libs/gd/libgd-src/src/gdft.c
index d989ecc3873..98e74fa346c 100644
--- a/Build/source/libs/gd/libgd-src/src/gdft.c
+++ b/Build/source/libs/gd/libgd-src/src/gdft.c
@@ -1,4 +1,3 @@
-
/********************************************/
/* gd interface to freetype library */
/* */
@@ -72,9 +71,7 @@ static char *font_path(char **fontpath, char *name_list);
*/
#ifndef DEFAULT_FONTPATH
-# ifdef NETWARE
-# define DEFAULT_FONTPATH "sys:/java/nwgfx/lib/x11/fonts/ttf;."
-# elif defined(_WIN32)
+# if defined(_WIN32)
# define DEFAULT_FONTPATH "C:\\WINDOWS\\FONTS;C:\\WINNT\\FONTS"
# elif defined(__APPLE__) || (defined(__MWERKS__) && defined(macintosh))
# define DEFAULT_FONTPATH "/usr/share/fonts/truetype:/System/Library/Fonts:/Library/Fonts"
@@ -85,7 +82,7 @@ static char *font_path(char **fontpath, char *name_list);
#endif
#ifndef PATHSEPARATOR
-# if defined(NETWARE) || defined(_WIN32)
+# if defined(_WIN32)
# define PATHSEPARATOR ";"
# else
# define PATHSEPARATOR ":"
@@ -103,8 +100,8 @@ static char *font_path(char **fontpath, char *name_list);
*
* Alias of <gdImageStringFT>.
*/
-BGD_DECLARE(char *) gdImageStringTTF (gdImage * im, int *brect, int fg, char *fontlist,
- double ptsize, double angle, int x, int y, char *string)
+BGD_DECLARE(char *) gdImageStringTTF (gdImage * im, int *brect, int fg, const char *fontlist,
+ double ptsize, double angle, int x, int y, const char *string)
{
/* 2.0.6: valid return */
return gdImageStringFT (im, brect, fg, fontlist, ptsize,
@@ -112,8 +109,8 @@ BGD_DECLARE(char *) gdImageStringTTF (gdImage * im, int *brect, int fg, char *fo
}
#ifndef HAVE_LIBFREETYPE
-BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist,
- double ptsize, double angle, int x, int y, char *string,
+BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, const char *fontlist,
+ double ptsize, double angle, int x, int y, const char *string,
gdFTStringExtraPtr strex)
{
(void)im;
@@ -130,8 +127,8 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
return "libgd was not built with FreeType font support\n";
}
-BGD_DECLARE(char *) gdImageStringFT (gdImage * im, int *brect, int fg, char *fontlist,
- double ptsize, double angle, int x, int y, char *string)
+BGD_DECLARE(char *) gdImageStringFT (gdImage * im, int *brect, int fg, const char *fontlist,
+ double ptsize, double angle, int x, int y, const char *string)
{
(void)im;
(void)brect;
@@ -184,7 +181,7 @@ typedef struct {
font_t;
typedef struct {
- char *fontlist; /* key */
+ const char *fontlist; /* key */
int flags; /* key */
FT_Library *library;
}
@@ -260,7 +257,7 @@ static int comp_entities(const void *e1, const void *e2)
return strcmp(en1->name, en2->name);
}
-extern int any2eucjp (char *, char *, unsigned int);
+extern int any2eucjp (char *, const char *, unsigned int);
/* Persistent font cache until explicitly cleared */
/* Fonts can be used across multiple images */
@@ -273,7 +270,7 @@ static FT_Library library;
#define Tcl_UniChar int
#define TCL_UTF_MAX 3
static int
-gdTcl_UtfToUniChar (char *str, Tcl_UniChar * chPtr)
+gdTcl_UtfToUniChar (const char *str, Tcl_UniChar * chPtr)
/* str is the UTF8 next character pointer */
/* chPtr is the int for the result */
{
@@ -432,6 +429,107 @@ gdTcl_UtfToUniChar (char *str, Tcl_UniChar * chPtr)
return 1;
}
+#ifdef HAVE_LIBRAQM
+#include <raqm.h>
+#endif
+
+typedef struct {
+ unsigned int index;
+ FT_Pos x_advance;
+ FT_Pos x_offset;
+ FT_Pos y_offset;
+ uint32_t cluster;
+} glyphInfo;
+
+static size_t
+textLayout(uint32_t *text, int len,
+ FT_Face face, gdFTStringExtraPtr strex,
+ glyphInfo **glyph_info)
+{
+ size_t count;
+ glyphInfo *info;
+
+#ifdef HAVE_LIBRAQM
+ size_t i;
+ raqm_glyph_t *glyphs;
+ raqm_t *rq = raqm_create ();
+
+ if (!rq || !raqm_set_text (rq, text, len) ||
+ !raqm_set_freetype_face (rq, face) ||
+ !raqm_set_par_direction (rq, RAQM_DIRECTION_DEFAULT) ||
+ !raqm_layout (rq)) {
+ raqm_destroy (rq);
+ return 0;
+ }
+
+ glyphs = raqm_get_glyphs (rq, &count);
+ if (!glyphs) {
+ raqm_destroy (rq);
+ return 0;
+ }
+
+ info = (glyphInfo*) gdMalloc (sizeof (glyphInfo) * count);
+ if (!info) {
+ raqm_destroy (rq);
+ return 0;
+ }
+
+ for (i = 0; i < count; i++) {
+ info[i].index = glyphs[i].index;
+ info[i].x_offset = glyphs[i].x_offset;
+ info[i].y_offset = glyphs[i].y_offset;
+ info[i].x_advance = glyphs[i].x_advance;
+ info[i].cluster = glyphs[i].cluster;
+ }
+
+ raqm_destroy (rq);
+#else
+ FT_UInt glyph_index = 0, previous = 0;
+ FT_Vector delta;
+ FT_Error err;
+ info = (glyphInfo*) gdMalloc (sizeof (glyphInfo) * len);
+ if (!info) {
+ return 0;
+ }
+ for (count = 0; count < len; count++) {
+ /* Convert character code to glyph index */
+ glyph_index = FT_Get_Char_Index (face, text[count]);
+
+ /* retrieve kerning distance */
+ if (! (strex && (strex->flags & gdFTEX_DISABLE_KERNING))
+ && ! FT_IS_FIXED_WIDTH(face)
+ && FT_HAS_KERNING(face)
+ && previous
+ && glyph_index)
+ FT_Get_Kerning (face, previous, glyph_index, ft_kerning_default, &delta);
+ else
+ delta.x = delta.y = 0;
+
+ err = FT_Load_Glyph (face, glyph_index, FT_LOAD_DEFAULT);
+ if (err) {
+ gdFree (info);
+ return 0;
+ }
+ info[count].index = glyph_index;
+ info[count].x_offset = 0;
+ info[count].y_offset = 0;
+ if (delta.x != 0)
+ info[count - 1].x_advance += delta.x;
+ info[count].x_advance = face->glyph->metrics.horiAdvance;
+ info[count].cluster = count;
+
+ /* carriage returns or newlines */
+ if (text[count] == '\r' || text[count] == '\n')
+ previous = 0; /* clear kerning flag */
+ else
+ previous = glyph_index;
+ }
+#endif
+
+ *glyph_info = info;
+ return count;
+}
+
/********************************************************************/
/* font cache functions */
@@ -475,7 +573,7 @@ fontFetch (char **error, void *key)
gdFree(a);
return "could not alloc full list of fonts";
}
- strncpy(a->fontlist, b->fontlist, b_font_list_len);
+ memcpy(a->fontlist, b->fontlist, b_font_list_len);
a->fontlist[b_font_list_len] = 0;
a->flags = b->flags;
@@ -824,8 +922,8 @@ BGD_DECLARE(void) gdFontCacheShutdown ()
* See also:
* - <gdImageString>
*/
-BGD_DECLARE(char *) gdImageStringFT (gdImage * im, int *brect, int fg, char *fontlist,
- double ptsize, double angle, int x, int y, char *string)
+BGD_DECLARE(char *) gdImageStringFT (gdImage * im, int *brect, int fg, const char *fontlist,
+ double ptsize, double angle, int x, int y, const char *string)
{
return gdImageStringFTEx (im, brect, fg, fontlist,
ptsize, angle, x, y, string, 0);
@@ -872,13 +970,13 @@ BGD_DECLARE(int) gdFontCacheSetup (void)
typedef struct {
// logical OR of gdFTEX_ values
int flags;
-
+
// fine tune line spacing for '\n'
double linespacing;
-
+
// Preferred character mapping
int charmap;
-
+
// Rendering resolution
int hdpi;
int vdpi;
@@ -982,32 +1080,35 @@ BGD_DECLARE(int) gdFontCacheSetup (void)
> flags | gdFTEX_FONTPATHNAME;
- For more information, see <gdImageStringFT>.
+ For more information, see <gdImageStringFT>.
*/
/* the platform-independent resolution used for size and position calculations */
/* the size of the error introduced by rounding is affected by this number */
#define METRIC_RES 300
-BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist,
- double ptsize, double angle, int x, int y, char *string,
+BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, const char *fontlist,
+ double ptsize, double angle, int x, int y, const char *string,
gdFTStringExtraPtr strex)
{
FT_Matrix matrix;
- FT_Vector penf, oldpenf, delta, total_min = {0,0}, total_max = {0,0}, glyph_min, glyph_max;
+ FT_Vector penf, oldpenf, total_min = {0,0}, total_max = {0,0}, glyph_min, glyph_max;
FT_Face face;
FT_CharMap charmap = NULL;
FT_Glyph image;
FT_GlyphSlot slot;
FT_Error err;
- FT_UInt glyph_index, previous;
+ FT_UInt glyph_index;
double sin_a = sin (angle);
double cos_a = cos (angle);
- int len, i, ch;
+ int i, ch;
font_t *font;
fontkey_t fontkey;
- char *next;
+ const char *next;
char *tmpstr = 0;
+ uint32_t *text;
+ glyphInfo *info = NULL;
+ size_t count;
int render = (im && (im->trueColor || (fg <= 255 && fg >= -255)));
FT_BitmapGlyph bm;
/* 2.0.13: Bob Ostermann: don't force autohint, that's just for testing
@@ -1100,7 +1201,7 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
gdMutexUnlock(gdFontCacheMutex);
return "could not alloc full list of fonts";
}
- strncpy(strex->fontpath, font->fontpath, fontpath_len);
+ memcpy(strex->fontpath, font->fontpath, fontpath_len);
strex->fontpath[fontpath_len] = 0;
}
}
@@ -1220,31 +1321,11 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
oldpenf.x = oldpenf.y = 0; /* for postscript xshow operator */
penf.x = penf.y = 0; /* running position of non-rotated glyphs */
- previous = 0; /* index of previous glyph for kerning calculations */
- for (i=0; *next; i++) {
- FT_Activate_Size (platform_independent);
-
+ text = (uint32_t*) gdCalloc (sizeof (uint32_t), strlen(next));
+ i = 0;
+ while (*next) {
+ int len;
ch = *next;
-
- /* carriage returns */
- if (ch == '\r') {
- penf.x = 0;
- previous = 0; /* clear kerning flag */
- next++;
- continue;
- }
- /* newlines */
- if (ch == '\n') {
- /* 2.0.13: reset penf.x. Christopher J. Grayce */
- penf.x = 0;
- penf.y += linespace * ptsize * 64 * METRIC_RES / 72;
- penf.y &= ~63; /* round down to 1/METRIC_RES */
- previous = 0; /* clear kerning flag */
- next++;
- continue;
- }
-
-
switch (encoding) {
case gdFTEX_Unicode: {
/* use UTF-8 mapping from ASCII */
@@ -1320,22 +1401,43 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
next++;
break;
}
+ text[i] = ch;
+ i++;
+ }
- /* Convert character code to glyph index */
- glyph_index = FT_Get_Char_Index (face, ch);
+ FT_Activate_Size (platform_independent);
- /* retrieve kerning distance */
- if ( ! (strex && (strex->flags & gdFTEX_DISABLE_KERNING))
- && ! FT_IS_FIXED_WIDTH(face)
- && FT_HAS_KERNING(face)
- && previous
- && glyph_index)
- FT_Get_Kerning (face, previous, glyph_index, ft_kerning_default, &delta);
- else
- delta.x = delta.y = 0;
+ count = textLayout (text , i, face, strex, &info);
- penf.x += delta.x;
+ if (!count) {
+ gdFree (text);
+ gdFree (tmpstr);
+ gdCacheDelete (tc_cache);
+ gdMutexUnlock (gdFontCacheMutex);
+ return "Problem doing text layout";
+ }
+ for (i = 0; i < count; i++) {
+ FT_Activate_Size (platform_independent);
+
+ ch = text[info[i].cluster];
+
+ /* carriage returns */
+ if (ch == '\r') {
+ penf.x = 0;
+ continue;
+ }
+
+ /* newlines */
+ if (ch == '\n') {
+ /* 2.0.13: reset penf.x. Christopher J. Grayce */
+ penf.x = 0;
+ penf.y += linespace * ptsize * 64 * METRIC_RES / 72;
+ penf.y &= ~63; /* round down to 1/METRIC_RES */
+ continue;
+ }
+
+ glyph_index = info[i].index;
/* When we know the position of the second or subsequent character,
save the (kerned) advance from the preceeding character in the
xshow vector */
@@ -1348,6 +1450,7 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
if (!strex->xshow) {
if (tmpstr)
gdFree (tmpstr);
+ gdFree(text);
gdCacheDelete (tc_cache);
gdMutexUnlock (gdFontCacheMutex);
return "Problem allocating memory";
@@ -1359,6 +1462,7 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
if (!strex->xshow) {
if (tmpstr)
gdFree (tmpstr);
+ gdFree(text);
gdCacheDelete (tc_cache);
gdMutexUnlock (gdFontCacheMutex);
return "Problem allocating memory";
@@ -1374,12 +1478,13 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
if (err) {
if (tmpstr)
gdFree (tmpstr);
+ gdFree(text);
gdCacheDelete (tc_cache);
gdMutexUnlock (gdFontCacheMutex);
return "Problem loading glyph";
}
- horiAdvance = slot->metrics.horiAdvance;
+ horiAdvance = info[i].x_advance;
if (brect) {
/* only if need brect */
@@ -1414,6 +1519,8 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
}
if (render) {
+ FT_Pos pen_x;
+ FT_Pos pen_y;
FT_Activate_Size (platform_specific);
/* load glyph again into the slot (erase previous one) - this time with scaling */
@@ -1421,6 +1528,7 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
if (err) {
if (tmpstr)
gdFree (tmpstr);
+ gdFree(text);
gdCacheDelete (tc_cache);
gdMutexUnlock (gdFontCacheMutex);
return "Problem loading glyph";
@@ -1435,6 +1543,7 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
FT_Done_Glyph(image);
if (tmpstr)
gdFree (tmpstr);
+ gdFree(text);
gdCacheDelete (tc_cache);
gdMutexUnlock (gdFontCacheMutex);
return "Problem rendering glyph";
@@ -1445,19 +1554,22 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
bm = (FT_BitmapGlyph) image;
/* position rounded down to nearest pixel at current dpi
(the estimate was rounded up to next 1/METRIC_RES, so this should fit) */
+ pen_x = penf.x + info[i].x_offset;
+ pen_y = penf.y - info[i].y_offset;
gdft_draw_bitmap (tc_cache, im, fg, bm->bitmap,
- (int)(x + (penf.x * cos_a + penf.y * sin_a)*hdpi/(METRIC_RES*64) + bm->left),
- (int)(y - (penf.x * sin_a - penf.y * cos_a)*vdpi/(METRIC_RES*64) - bm->top));
+ (int)(x + (pen_x * cos_a + pen_y * sin_a)*hdpi/(METRIC_RES*64) + bm->left),
+ (int)(y - (pen_x * sin_a - pen_y * cos_a)*vdpi/(METRIC_RES*64) - bm->top));
FT_Done_Glyph (image);
}
- /* record current glyph index for kerning */
- previous = glyph_index;
penf.x += horiAdvance;
}
+ gdFree(text);
+ gdFree(info);
+
/* Save the (unkerned) advance from the last character in the xshow vector */
if (strex && (strex->flags & gdFTEX_XSHOW) && strex->xshow) {
sprintf(strex->xshow + xshow_pos, "%g",
@@ -1469,12 +1581,6 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
double scalex = (double)hdpi / (64 * METRIC_RES);
double scaley = (double)vdpi / (64 * METRIC_RES);
- /* increase by 1 pixel to allow for rounding */
- total_min.x -= METRIC_RES;
- total_min.y -= METRIC_RES;
- total_max.x += METRIC_RES;
- total_max.y += METRIC_RES;
-
/* rotate bounding rectangle, scale and round to int pixels, and translate */
brect[0] = x + (total_min.x * cos_a + total_max.y * sin_a)*scalex;
brect[1] = y - (total_min.x * sin_a - total_max.y * cos_a)*scaley;
@@ -1656,7 +1762,7 @@ static char * font_pattern(char **fontpath, char *fontpattern)
if (*fontpath == NULL) {
return "could not alloc font path";
}
- strncpy(*fontpath, (const char *)file, file_len);
+ memcpy(*fontpath, (const char *)file, file_len);
(*fontpath)[file_len] = 0;
}
FcPatternDestroy(font);
@@ -1685,11 +1791,11 @@ static char * font_path(char **fontpath, char *name_list)
fontsearchpath = getenv ("GDFONTPATH");
#ifdef _WIN32
if (!fontsearchpath) {
- char *ffptr = getenv ("SYSTEMROOT");
+ char *ffptr = getenv ("WINDIR");
if (ffptr) {
- fontsearchpath = malloc (strlen(ffptr) + strlen("\\fonts") + 1);
+ fontsearchpath = malloc (strlen(ffptr) + strlen("\\Fonts") + 1);
strcpy(fontsearchpath, ffptr);
- strcat(fontsearchpath, "\\fonts");
+ strcat(fontsearchpath, "\\Fonts");
}
}
#endif
@@ -1706,7 +1812,7 @@ static char * font_path(char **fontpath, char *name_list)
gdFree(path);
return "could not alloc full list of fonts";
}
- strncpy(fontlist, name_list, name_list_len);
+ memcpy(fontlist, name_list, name_list_len);
fontlist[name_list_len] = 0;
/*
@@ -1731,14 +1837,9 @@ static char * font_path(char **fontpath, char *name_list)
return "could not alloc full path of font";
}
/* if name is an absolute or relative pathname then test directly */
-#ifdef NETWARE
- /* netware uses the format "volume:/path" or the standard "/path" */
- if (name[0] != 0 && (strstr(name, ":/") || name[0] == '/'))
-#else
if (strchr (name, '/')
|| (name[0] != 0 && name[1] == ':'
&& (name[2] == '/' || name[2] == '\\')))
-#endif
{
sprintf (fullname, "%s", name);
if (access (fullname, R_OK) == 0) {
@@ -1820,4 +1921,3 @@ BGD_DECLARE(int) gdFTUseFontConfig(int flag)
return 0;
#endif /* HAVE_LIBFONTCONFIG */
}
-
diff --git a/Build/source/libs/gd/libgd-src/src/gdfx.c b/Build/source/libs/gd/libgd-src/src/gdfx.c
index d71a3421b2c..557f51c4653 100644
--- a/Build/source/libs/gd/libgd-src/src/gdfx.c
+++ b/Build/source/libs/gd/libgd-src/src/gdfx.c
@@ -522,4 +522,3 @@ gdImageSharpen (gdImagePtr im, int pct)
}
}
}
-
diff --git a/Build/source/libs/gd/libgd-src/src/gdfx.h b/Build/source/libs/gd/libgd-src/src/gdfx.h
index dbd74984ebe..b00f573a609 100644
--- a/Build/source/libs/gd/libgd-src/src/gdfx.h
+++ b/Build/source/libs/gd/libgd-src/src/gdfx.h
@@ -1,10 +1,10 @@
+#ifndef GDFX_H
+#define GDFX_H 1
+
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef GDFX_H
-#define GDFX_H 1
-
BGD_DECLARE(gdImagePtr) gdImageSquareToCircle(gdImagePtr im, int radius);
BGD_DECLARE(char *) gdImageStringFTCircle(
@@ -22,9 +22,8 @@ BGD_DECLARE(char *) gdImageStringFTCircle(
BGD_DECLARE(void) gdImageSharpen (gdImagePtr im, int pct);
-#endif /* GDFX_H */
-
-
#ifdef __cplusplus
}
#endif
+
+#endif /* GDFX_H */
diff --git a/Build/source/libs/gd/libgd-src/src/gdhelpers.c b/Build/source/libs/gd/libgd-src/src/gdhelpers.c
index 20fff5c0356..de7a0a39c8e 100644
--- a/Build/source/libs/gd/libgd-src/src/gdhelpers.c
+++ b/Build/source/libs/gd/libgd-src/src/gdhelpers.c
@@ -114,5 +114,3 @@ BGD_DECLARE(void) gdFree (void *ptr)
{
free (ptr);
}
-
-
diff --git a/Build/source/libs/gd/libgd-src/src/gdhelpers.h b/Build/source/libs/gd/libgd-src/src/gdhelpers.h
index 2a96b8b4e55..9c7ef104c28 100644
--- a/Build/source/libs/gd/libgd-src/src/gdhelpers.h
+++ b/Build/source/libs/gd/libgd-src/src/gdhelpers.h
@@ -1,10 +1,10 @@
+#ifndef GDHELPERS_H
+#define GDHELPERS_H 1
+
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef GDHELPERS_H
-#define GDHELPERS_H 1
-
/* sys/types.h is needed for size_t on Sparc-SunOS-4.1 */
#ifndef _WIN32_WCE
#include <sys/types.h>
@@ -69,8 +69,8 @@ extern "C" {
#define DPI2DPCM(dpi) (unsigned int)((dpi)/2.54 + 0.5)
#define DPI2DPM(dpi) (unsigned int)((dpi)/0.0254 + 0.5)
-#endif /* GDHELPERS_H */
-
#ifdef __cplusplus
}
#endif
+
+#endif /* GDHELPERS_H */
diff --git a/Build/source/libs/gd/libgd-src/src/gdkanji.c b/Build/source/libs/gd/libgd-src/src/gdkanji.c
index f05187e4580..c670d986433 100644
--- a/Build/source/libs/gd/libgd-src/src/gdkanji.c
+++ b/Build/source/libs/gd/libgd-src/src/gdkanji.c
@@ -11,11 +11,7 @@
#include "gd.h"
#include "gdhelpers.h"
#include "gd_errors.h"
-
-#ifdef HAVE_ERRNO_H
#include <errno.h>
-#endif
-
#include <stdarg.h>
#if defined(HAVE_ICONV_H)
#include <iconv.h>
@@ -98,7 +94,7 @@ iconv_close (iconv_t cd)
/* DetectKanjiCode() derived from DetectCodeType() by Ken Lunde. */
static int
-DetectKanjiCode (unsigned char *str)
+DetectKanjiCode (const unsigned char *str)
{
static int whatcode = ASCII;
int oldcode = ASCII;
@@ -146,7 +142,7 @@ DetectKanjiCode (unsigned char *str)
whatcode = EUCORSJIS;
else if (c >= 224 && c <= 239) {
whatcode = EUCORSJIS;
- while (c >= 64 && c != '\0' && whatcode == EUCORSJIS) {
+ while (c >= 64 && whatcode == EUCORSJIS) {
if (c >= 129) {
if (c <= 141 || (c >= 143 && c <= 159))
whatcode = SJIS;
@@ -334,20 +330,20 @@ han2zen (int *p1, int *p2)
#define ustrncpy(A,B, maxsize) (strncpy((char*)(A),(const char*)(B), maxsize))
static void
-do_convert (unsigned char **to_p, unsigned char **from_p, const char *code)
+do_convert (unsigned char **to_p, const unsigned char **from_p, const char *code)
{
unsigned char *to = *to_p;
- unsigned char *from = *from_p;
+ const unsigned char *from = *from_p;
#ifdef HAVE_ICONV
iconv_t cd;
size_t from_len, to_len;
if ((cd = iconv_open (EUCSTR, code)) == (iconv_t) - 1) {
gd_error ("iconv_open() error");
-#ifdef HAVE_ERRNO_H
+
if (errno == EINVAL)
gd_error ("invalid code specification: \"%s\" or \"%s\"", EUCSTR, code);
-#endif
+
ustrcpy (to, from);
return;
}
@@ -357,7 +353,7 @@ do_convert (unsigned char **to_p, unsigned char **from_p, const char *code)
if ((int) (iconv (cd, (char **)from_p, &from_len, (char **)to_p, &to_len))
== -1) {
-#ifdef HAVE_ERRNO_H
+
if (errno == EINVAL)
gd_error ("invalid end of input string");
else if (errno == EILSEQ)
@@ -365,7 +361,7 @@ do_convert (unsigned char **to_p, unsigned char **from_p, const char *code)
else if (errno == E2BIG)
gd_error ("output buffer overflow at do_convert()");
else
-#endif
+
gd_error ("something happen");
ustrcpy (to, from);
return;
@@ -436,7 +432,7 @@ do_convert (unsigned char **to_p, unsigned char **from_p, const char *code)
}
static int
-do_check_and_conv (unsigned char *to, unsigned char *from)
+do_check_and_conv (unsigned char *to, const unsigned char *from)
{
static unsigned char tmp[BUFSIZ];
unsigned char *tmp_p = &tmp[0];
@@ -527,7 +523,7 @@ do_check_and_conv (unsigned char *to, unsigned char *from)
}
int
-any2eucjp (unsigned char *dest, unsigned char *src, unsigned int dest_max)
+any2eucjp (unsigned char *dest, const unsigned char *src, unsigned int dest_max)
{
static unsigned char tmp_dest[BUFSIZ];
int ret;
diff --git a/Build/source/libs/gd/libgd-src/src/gdparttopng.c b/Build/source/libs/gd/libgd-src/src/gdparttopng.c
index 42d6df20368..4bf2fc82778 100644
--- a/Build/source/libs/gd/libgd-src/src/gdparttopng.c
+++ b/Build/source/libs/gd/libgd-src/src/gdparttopng.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -49,11 +48,7 @@ main (int argc, char **argv)
gdImageDestroy (im);
exit (1);
}
-#ifdef HAVE_LIBPNG
gdImagePng (im, out);
-#else
- fprintf(stderr, "No PNG library support.\n");
-#endif
fclose (out);
gdImageDestroy (im);
diff --git a/Build/source/libs/gd/libgd-src/src/gdpp.cxx b/Build/source/libs/gd/libgd-src/src/gdpp.cxx
index a8101fca29f..5e579da1fb3 100644
--- a/Build/source/libs/gd/libgd-src/src/gdpp.cxx
+++ b/Build/source/libs/gd/libgd-src/src/gdpp.cxx
@@ -1,12 +1,11 @@
/* *****************************************************************************
-** $Id$
** Initial file written and documented by:
** Kevin Shepherd <kshepherd@php.net> December 2007
** of Scarlet Line http://www.scarletline.com/
*******************************************************************************/
/** \file gdpp.cxx
\brief Implements the non-trivial methods of GD::Image.
-
+
Implementation of the more complex methods defined
in gdpp.h.
Notably includes the methods which determine the image file
@@ -19,13 +18,13 @@ namespace GD
{
/**
Load an image from a file, after attempting to
- determine it's image file format.
+ determine it's image file format.
Invoke CreateFrom with an already opened
- pointer to a file containing the desired image.
+ pointer to a file containing the desired image.
CreateFrom does not close the file.
\param[in] in An opened FILE * pointer.
- \return true for success, or false if unable to load the image (most often because the
- file is corrupt or does not contain a recognized image format).
+ \return true for success, or false if unable to load the image (most often because the
+ file is corrupt or does not contain a recognized image format).
You can call Width() and Height() member functions of the image to determine its size.
*/
bool Image::CreateFrom(FILE * in)
@@ -40,50 +39,47 @@ namespace GD
0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
== .PNG\r\n.\n
*/
-#ifdef HAVE_LIBPNG
case 0x89: // PNG
rtn = CreateFromPng(in);
break;
-#endif
+
/* GIF
0x47 0x49 0x46
*/
case 0x47: // GIF
rtn = CreateFromGif(in);
break;
-#ifdef HAVE_LIBJPEG
/* JPEG
A JFIF-standard file will start with the four bytes (hex) FF D8 FF E0,
- followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
+ followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
*/
case 0xFF: // JPEG
rtn = CreateFromJpeg(in);
break;
-#endif
/* WBMP
- WBMP Type 0: B/W, Uncompressed bitmap is the only gd supported type
+ WBMP Type 0: B/W, Uncompressed bitmap is the only gd supported type
*/
case 0x00: // WBMP
rtn = CreateFromWBMP(in);
break;
/* GD2
- 0x67 0x64 0x32 0x00
+ 0x67 0x64 0x32 0x00
== GD2\0
- Starts with gd2
+ Starts with gd2
*/
case 0x67: // GD2
rtn = CreateFromGd2(in);
break;
/* GD
0xFF 0xFE
- or
- 0xFF 0xFF
+ or
+ 0xFF 0xFF
Conflicts with Jpeg
*/
/* XBM
#define test_width 16
#define test_height 7
- */
+ */
case 0x23: // XBM
rtn = CreateFromXbm(in);
break;
@@ -91,18 +87,18 @@ namespace GD
rtn = false;
break;
}
- return rtn;
+ return rtn;
}
/**
Load an image from a standard input stream, after attempting to
- determine it's image file format.
+ determine it's image file format.
Invoke CreateFrom with an already opened stream
- containing the desired image.
+ containing the desired image.
CreateFrom does not close the stream.
\param[in] in An opened standard library input stream.
- \return true for success, or false if unable to load the image (most often because the
- file is corrupt or does not contain a recognized image format).
+ \return true for success, or false if unable to load the image (most often because the
+ file is corrupt or does not contain a recognized image format).
You can call Width() and Height() member functions of the image to determine its size.
Example usage, convert anything to gif:
#include <fstream>
@@ -122,7 +118,6 @@ namespace GD
bool rtn;
switch (in.peek())
{
-#ifdef HAVE_LIBPNG
/* PNG
The first eight bytes of a PNG file always contain the following (decimal) values:
0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
@@ -131,7 +126,6 @@ namespace GD
case 0x89: // PNG
rtn = CreateFromPng(in);
break;
-#endif
/* GIF
0x47 0x49 0x46
@@ -140,51 +134,49 @@ namespace GD
rtn = CreateFromGif(in);
break;
-#ifdef HAVE_LIBJPEG
/* JPEG
A JFIF-standard file will start with the four bytes (hex) FF D8 FF E0,
- followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
+ followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
*/
case 0xFF: // JPEG
rtn = CreateFromJpeg(in);
break;
-#endif
/* WBMP
- WBMP Type 0: B/W, Uncompressed bitmap is the only gd supported type
+ WBMP Type 0: B/W, Uncompressed bitmap is the only gd supported type
*/
case 0x00: // WBMP
rtn = CreateFromWBMP(in);
break;
/* GD2
- 0x67 0x64 0x32 0x00
+ 0x67 0x64 0x32 0x00
== GD2\0
- Starts with gd2
+ Starts with gd2
*/
case 0x67: // GD2
rtn = CreateFromGd2(in);
break;
/* GD
0xFF 0xFE
- or
- 0xFF 0xFF
+ or
+ 0xFF 0xFF
Conflicts with Jpeg
*/
default:
rtn = false;
break;
}
- return rtn;
+ return rtn;
}
/**
Load an image from an in-RAM memory block, after attempting to
- determine it's image format.
+ determine it's image format.
CreateFrom does not de-allocate the memory.
\param[in] size The byte count of the memory block.
\param[in] data A pointer to the memory block.
- \return true for success, or false if unable to load the image (most often because the
- formatting is corrupt or does not contain a recognized image format).
+ \return true for success, or false if unable to load the image (most often because the
+ formatting is corrupt or does not contain a recognized image format).
You can call Width() and Height() member functions of the image to determine its size.
*/
bool Image::CreateFrom(int size, void * data)
@@ -193,7 +185,6 @@ namespace GD
switch (((unsigned char * )data)[0])
{
-#ifdef HAVE_LIBPNG
/* PNG
The first eight bytes of a PNG file always contain the following (decimal) values:
0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
@@ -202,7 +193,7 @@ namespace GD
case 0x89: // PNG
rtn = CreateFromPng(size, data);
break;
-#endif
+
/* GIF
0x47 0x49 0x46
*/
@@ -210,45 +201,43 @@ namespace GD
rtn = CreateFromGif(size, data);
break;
-#ifdef HAVE_LIBJPEG
/* JPEG
A JFIF-standard file will start with the four bytes (hex) FF D8 FF E0,
- followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
+ followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
*/
case 0xFF: // JPEG
rtn = CreateFromJpeg(size, data);
break;
-#endif
/* WBMP
- WBMP Type 0: B/W, Uncompressed bitmap is the only gd supported type
+ WBMP Type 0: B/W, Uncompressed bitmap is the only gd supported type
*/
case 0x00: // WBMP
rtn = CreateFromWBMP(size, data);
break;
/* GD2
- 0x67 0x64 0x32 0x00
+ 0x67 0x64 0x32 0x00
== GD2\0
- Starts with gd2
+ Starts with gd2
*/
case 0x67: // GD2
rtn = CreateFromGd2(size, data);
break;
/* GD
0xFF 0xFE
- or
- 0xFF 0xFF
+ or
+ 0xFF 0xFF
Conflicts with Jpeg
*/
default:
rtn = false;
break;
}
- return rtn;
+ return rtn;
}
} // namespace GD
/**
- Load an image from a standard input stream, regardless of it's image file format.
+ Load an image from a standard input stream, regardless of it's image file format.
You can call Width() and Height() member functions of the image to determine its size.
Example usage, convert anything to gif:
#include <fstream>
diff --git a/Build/source/libs/gd/libgd-src/src/gdpp.h b/Build/source/libs/gd/libgd-src/src/gdpp.h
index 2ebda162e1c..3d58d899eed 100644
--- a/Build/source/libs/gd/libgd-src/src/gdpp.h
+++ b/Build/source/libs/gd/libgd-src/src/gdpp.h
@@ -1,5 +1,4 @@
/* *****************************************************************************
-** $Id$
** Initial file written and documented by:
** Kevin Shepherd <kshepherd@php.net> December 2007
** of Scarlet Line http://www.scarletline.com/
@@ -20,13 +19,9 @@
im.Gif(out);
}
*/
-#ifdef __cplusplus
#ifndef _gdpp_h
#define _gdpp_h
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
+#ifdef __cplusplus
#include "gd_io_stream.h"
#include <string>
@@ -292,7 +287,7 @@ public:
:im(0) {
CreateFrom(size, data);
}
-#ifdef HAVE_LIBPNG
+
/** Construct an image by reading from \p in.
The tag is an empty struct which simply tells the compiler which image read function to use.
e.g. GD::Image img(input, GD::Png_tag()); // read a png file from input
@@ -330,7 +325,6 @@ public:
:im(0) {
CreateFromPng(size, data);
}
-#endif
/** Construct an image by reading from \p in.
The tag is an empty struct which simply tells the compiler which image read function to use.
@@ -408,7 +402,6 @@ public:
CreateFromWBMP(size, data);
}
-#ifdef HAVE_LIBJPEG
/** Construct an image by reading from \p in.
The tag is an empty struct which simply tells the compiler which image read function to use.
e.g. GD::Image img(input, GD::Jpeg_tag()); // read a jpeg file from input
@@ -446,7 +439,6 @@ public:
:im(0) {
CreateFromJpeg(size, data);
}
-#endif
/** Construct an image by reading from \p in.
The tag is an empty struct which simply tells the compiler which image read function to use.
@@ -608,7 +600,6 @@ public:
/// Read an image from a memory block, after determining the image format
bool CreateFrom(int size, void * data);
-#ifdef HAVE_LIBPNG
// Png
bool CreateFromPng(FILE * in) {
clear();
@@ -627,7 +618,6 @@ public:
istreamIOCtx _in_ctx(in);
return ((im = gdImageCreateFromPngCtx( & _in_ctx)) != 0);
}
-#endif
// Gif
bool CreateFromGif(FILE * in) {
@@ -666,7 +656,6 @@ public:
return ((im = gdImageCreateFromWBMPCtx( & _in_ctx)) != 0);
}
-#ifdef HAVE_LIBJPEG
// Jpeg
/**
Load a truecolor image from a JPEG format file.
@@ -720,7 +709,6 @@ public:
istreamIOCtx _in_ctx(in);
return ((im = gdImageCreateFromJpegCtx( & _in_ctx)) != 0);
}
-#endif
// Gd
bool CreateFromGd(FILE * in) {
@@ -1089,7 +1077,6 @@ public:
gdImageGifCtx(im, & _out_ctx);
}
-#ifdef HAVE_LIBPNG
/**
Write out this image in PNG file format to \p out.
\param out A FILE * handle
@@ -1154,7 +1141,6 @@ public:
ostreamIOCtx _out_ctx(out);
gdImagePngCtxEx(im, & _out_ctx, level);
}
-#endif
/**
Write out this image in WBMP file format ( black and white only ) to \p out.
@@ -1191,7 +1177,6 @@ public:
gdImageWBMPCtx(im, fg, & _out_ctx);
}
-#ifdef HAVE_LIBJPEG
/**
Write out this image in JPEG file format to \p out.
\param out A FILE * handle
@@ -1226,7 +1211,6 @@ public:
ostreamIOCtx _out_ctx(out);
gdImageJpegCtx(im, & _out_ctx, quality);
}
-#endif
void GifAnimBegin(FILE * out, int GlobalCM, int Loops) const {
gdImageGifAnimBegin(im, out, GlobalCM, Loops);
@@ -1542,5 +1526,5 @@ protected:
/// Read in an image from a standard library input stream
std::istream & operator>> (std::istream & in, GD::Image & img);
-#endif /* _gdpp_h */
#endif /* __cplusplus */
+#endif /* _gdpp_h */
diff --git a/Build/source/libs/gd/libgd-src/src/gdtables.c b/Build/source/libs/gd/libgd-src/src/gdtables.c
index 7753b21a4b3..d368b8d9b78 100644
--- a/Build/source/libs/gd/libgd-src/src/gdtables.c
+++ b/Build/source/libs/gd/libgd-src/src/gdtables.c
@@ -1,4 +1,3 @@
-
const int gdCosT[] = {
1024,
1023,
diff --git a/Build/source/libs/gd/libgd-src/src/gdtest.c b/Build/source/libs/gd/libgd-src/src/gdtest.c
index 0f8febe077a..cf0eff5477c 100644
--- a/Build/source/libs/gd/libgd-src/src/gdtest.c
+++ b/Build/source/libs/gd/libgd-src/src/gdtest.c
@@ -24,7 +24,6 @@ static int fwriteWrapper (void *context, const char *buffer, int len);
int
main (int argc, char **argv)
{
-#ifdef HAVE_LIBPNG
gdImagePtr im, ref, im2, im3;
FILE *in, *out;
void *iptr;
@@ -87,12 +86,12 @@ main (int argc, char **argv)
}
im2 = gdImageCreateFromPng (in);
fclose (in);
-
+
if (!im2) {
fprintf(stderr, "gdImageCreateFromPng failed.\n");
exit (1);
}
-
+
CompareImages ("GD->PNG File->GD", ref, im2);
unlink (of);
@@ -196,7 +195,7 @@ main (int argc, char **argv)
fprintf(stderr, "gdImageCreateFromGdPtr failed.\n");
exit (1);
}
-
+
CompareImages ("GD->GD ptr->GD", ref, im2);
gdImageDestroy (im2);
@@ -409,9 +408,6 @@ main (int argc, char **argv)
}
gdImageDestroy (im);
gdImageDestroy (ref);
-#else
- fprintf(stderr, "No PNG library support.\n");
-#endif /* HAVE_LIBPNG */
return 0;
}
diff --git a/Build/source/libs/gd/libgd-src/src/gdtestft.c b/Build/source/libs/gd/libgd-src/src/gdtestft.c
index 53945a636cf..f50b17491ba 100644
--- a/Build/source/libs/gd/libgd-src/src/gdtestft.c
+++ b/Build/source/libs/gd/libgd-src/src/gdtestft.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -26,13 +25,6 @@
int
main (int argc, char *argv[])
{
-#ifndef HAVE_LIBFREETYPE
- fprintf(stderr, "gd was not compiled with HAVE_LIBFREETYPE defined.\n");
- fprintf(stderr, "Install the FreeType library, including the\n");
- fprintf(stderr, "header files. Then edit the gd Makefile, type\n");
- fprintf(stderr, "make clean, and type make again.\n");
- return 1;
-#else
gdImagePtr im;
int blue;
int blueAlpha;
@@ -40,7 +32,6 @@ main (int argc, char *argv[])
int brect[8];
int x, y, sx, sy;
char *err;
- FILE *out;
#ifdef JISX0208
char *s = "Hello. ‚±‚ñ‚É‚¿‚Í Qyjpqg,"; /* String to draw. */
#else
@@ -155,7 +146,7 @@ main (int argc, char *argv[])
/* TBB: Write img to test/fttest.jpg or test/fttest.png */
if (im->trueColor) {
#ifdef HAVE_LIBJPEG
- out = fopen ("test/fttest.jpg", "wb");
+ FILE *out = fopen ("test/fttest.jpg", "wb");
if (!out) {
fprintf(stderr, "Can't create test/fttest.jpg\n");
exit (1);
@@ -169,7 +160,7 @@ main (int argc, char *argv[])
#endif
} else {
#ifdef HAVE_LIBPNG
- out = fopen ("test/fttest.png", "wb");
+ FILE *out = fopen ("test/fttest.png", "wb");
if (!out) {
fprintf(stderr, "Can't create test/fttest.png\n");
exit (1);
@@ -186,5 +177,4 @@ main (int argc, char *argv[])
gdImageDestroy (im);
return 0;
-#endif /* HAVE_LIBFREETYPE */
}
diff --git a/Build/source/libs/gd/libgd-src/src/gdtopng.c b/Build/source/libs/gd/libgd-src/src/gdtopng.c
index d3341b43cad..c937558eb19 100644
--- a/Build/source/libs/gd/libgd-src/src/gdtopng.c
+++ b/Build/source/libs/gd/libgd-src/src/gdtopng.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -38,11 +37,7 @@ main (int argc, char **argv)
gdImageDestroy (im);
exit (1);
}
-#ifdef HAVE_LIBPNG
gdImagePng (im, out);
-#else
- fprintf(stderr, "No PNG library support.\n");
-#endif
fclose (out);
gdImageDestroy (im);
diff --git a/Build/source/libs/gd/libgd-src/src/getopt.c b/Build/source/libs/gd/libgd-src/src/getopt.c
new file mode 100644
index 00000000000..8651b87de74
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/src/getopt.c
@@ -0,0 +1,129 @@
+/* $NetBSD: getopt.c,v 1.29 2014/06/05 22:00:22 christos Exp $ */
+
+/*
+ * Copyright (c) 1987, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int opterr = 1, /* if error message should be printed */
+ optind = 1, /* index into parent argv vector */
+ optopt, /* character checked for validity */
+ optreset; /* reset getopt */
+char *optarg; /* argument associated with option */
+
+#define BADCH (int)'?'
+#define BADARG (int)':'
+#define EMSG ""
+
+/*
+ * getopt --
+ * Parse argc/argv argument vector.
+ */
+int
+getopt(int nargc, char * const nargv[], const char *ostr)
+{
+ static const char *place = EMSG; /* option letter processing */
+ char *oli; /* option letter list index */
+
+ if (optreset || *place == 0) { /* update scanning pointer */
+ optreset = 0;
+ place = nargv[optind];
+ if (optind >= nargc || *place++ != '-') {
+ /* Argument is absent or is not an option */
+ place = EMSG;
+ return (-1);
+ }
+ optopt = *place++;
+ if (optopt == '-' && *place == 0) {
+ /* "--" => end of options */
+ ++optind;
+ place = EMSG;
+ return (-1);
+ }
+ if (optopt == 0) {
+ /* Solitary '-', treat as a '-' option
+ if the program (eg su) is looking for it. */
+ place = EMSG;
+ if (strchr(ostr, '-') == NULL)
+ return -1;
+ optopt = '-';
+ }
+ } else
+ optopt = *place++;
+
+ /* See if option letter is one the caller wanted... */
+ if (optopt == ':' || (oli = strchr(ostr, optopt)) == NULL) {
+ if (*place == 0)
+ ++optind;
+ if (opterr && *ostr != ':')
+ (void)fprintf(stderr,
+ "%s: unknown option -- %c\n", nargv[0],
+ optopt);
+ return (BADCH);
+ }
+
+ /* Does this option need an argument? */
+ if (oli[1] != ':') {
+ /* don't need argument */
+ optarg = NULL;
+ if (*place == 0)
+ ++optind;
+ } else {
+ /* Option-argument is either the rest of this argument or the
+ entire next argument. */
+ if (*place)
+ optarg = (char *)place;
+ else if (oli[2] == ':')
+ /*
+ * GNU Extension, for optional arguments if the rest of
+ * the argument is empty, we return NULL
+ */
+ optarg = NULL;
+ else if (nargc > ++optind)
+ optarg = nargv[optind];
+ else {
+ /* option-argument absent */
+ place = EMSG;
+ if (*ostr == ':')
+ return (BADARG);
+ if (opterr)
+ (void)fprintf(stderr,
+ "%s: option requires an argument -- %c\n",
+ nargv[0], optopt);
+ return (BADCH);
+ }
+ place = EMSG;
+ ++optind;
+ }
+ return (optopt); /* return option letter */
+}
diff --git a/Build/source/libs/gd/libgd-src/src/gifanimtest.c b/Build/source/libs/gd/libgd-src/src/gifanimtest.c
index da17b9e24f5..28b7d27381b 100644
--- a/Build/source/libs/gd/libgd-src/src/gifanimtest.c
+++ b/Build/source/libs/gd/libgd-src/src/gifanimtest.c
@@ -32,4 +32,3 @@ int main(void)
gdImageDestroy(im);
return 0;
}
-
diff --git a/Build/source/libs/gd/libgd-src/src/giftogd2.c b/Build/source/libs/gd/libgd-src/src/giftogd2.c
index e7d0c6b8250..68c82a1e3fd 100644
--- a/Build/source/libs/gd/libgd-src/src/giftogd2.c
+++ b/Build/source/libs/gd/libgd-src/src/giftogd2.c
@@ -49,4 +49,3 @@ int main(int argc, char **argv)
return 0;
}
-
diff --git a/Build/source/libs/gd/libgd-src/src/jisx0208.h b/Build/source/libs/gd/libgd-src/src/jisx0208.h
index d49dddc010a..118c23e0aac 100644
--- a/Build/source/libs/gd/libgd-src/src/jisx0208.h
+++ b/Build/source/libs/gd/libgd-src/src/jisx0208.h
@@ -1,9 +1,9 @@
+#ifndef JISX0208_H
+#define JISX0208_H
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef JISX0208_H
-#define JISX0208_H
/* This file was derived from "src/VF_Ftype.c" in VFlib2-2.24.2
by Dr. Kakugawa */
@@ -1299,8 +1299,8 @@ extern "C" {
}
};
-#endif /* JISX0208_H */
-
#ifdef __cplusplus
}
#endif
+
+#endif /* JISX0208_H */
diff --git a/Build/source/libs/gd/libgd-src/src/msinttypes/inttypes.h b/Build/source/libs/gd/libgd-src/src/msinttypes/inttypes.h
index 4b3828a2162..ead903f78e4 100644
--- a/Build/source/libs/gd/libgd-src/src/msinttypes/inttypes.h
+++ b/Build/source/libs/gd/libgd-src/src/msinttypes/inttypes.h
@@ -1,32 +1,32 @@
// ISO C9x compliant inttypes.h for Microsoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
+// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
+//
// Copyright (c) 2006 Alexander Chemeris
-//
+//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
-//
+//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
-//
+//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
-//
+//
// 3. The name of the author may be used to endorse or promote products
// derived from this software without specific prior written permission.
-//
+//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
+//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_VER // [
diff --git a/Build/source/libs/gd/libgd-src/src/msinttypes/stdint.h b/Build/source/libs/gd/libgd-src/src/msinttypes/stdint.h
index d02608a5972..c66fbb817c0 100644
--- a/Build/source/libs/gd/libgd-src/src/msinttypes/stdint.h
+++ b/Build/source/libs/gd/libgd-src/src/msinttypes/stdint.h
@@ -1,32 +1,32 @@
// ISO C9x compliant stdint.h for Microsoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
+// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
+//
// Copyright (c) 2006-2008 Alexander Chemeris
-//
+//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
-//
+//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
-//
+//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
-//
+//
// 3. The name of the author may be used to endorse or promote products
// derived from this software without specific prior written permission.
-//
+//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
+//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_VER // [
diff --git a/Build/source/libs/gd/libgd-src/src/pngtogd.c b/Build/source/libs/gd/libgd-src/src/pngtogd.c
index f00fe8f7ac9..4f9804d177a 100644
--- a/Build/source/libs/gd/libgd-src/src/pngtogd.c
+++ b/Build/source/libs/gd/libgd-src/src/pngtogd.c
@@ -25,11 +25,7 @@ main (int argc, char **argv)
fprintf (stderr, "Input file does not exist!\n");
exit (1);
}
-#ifdef HAVE_LIBPNG
im = gdImageCreateFromPng (in);
-#else
- fprintf (stderr, "No PNG library support available.\n");
-#endif
fclose (in);
if (!im) {
fprintf (stderr, "Input is not in PNG format!\n");
diff --git a/Build/source/libs/gd/libgd-src/src/pngtogd2.c b/Build/source/libs/gd/libgd-src/src/pngtogd2.c
index e474afb6612..20fbee25daa 100644
--- a/Build/source/libs/gd/libgd-src/src/pngtogd2.c
+++ b/Build/source/libs/gd/libgd-src/src/pngtogd2.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -30,12 +29,7 @@ main (int argc, char **argv)
fprintf(stderr, "Input file does not exist!\n");
exit (1);
}
-#ifdef HAVE_LIBPNG
im = gdImageCreateFromPng (in);
-#else
- im = NULL;
- fprintf(stderr, "No PNG library support available.\n");
-#endif
fclose (in);
if (!im) {
fprintf(stderr, "Input is not in PNG format!\n");
diff --git a/Build/source/libs/gd/libgd-src/src/snprintf.c b/Build/source/libs/gd/libgd-src/src/snprintf.c
new file mode 100644
index 00000000000..33d1b42c81d
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/src/snprintf.c
@@ -0,0 +1,25 @@
+/* Provide a snprintf on Windows for older Visual Studio builds.
+ * VS2013 and older do not support C99 snprintf(). The subsitute _snprintf()
+ * does not correctly NUL-terminate buffers in case of overflow.
+ * This implementation emulates the ISO C99 snprintf() for VS2013 and older.
+ */
+
+#if defined(_MSC_VER) && _MSC_VER < 1900
+
+#include <stdio.h>
+#include <stdarg.h>
+
+int snprintf(char* buf, size_t len, const char* fmt, ...)
+{
+ int n;
+ va_list ap;
+ va_start(ap, fmt);
+
+ n = _vscprintf(fmt, ap);
+ vsnprintf_s(buf, len, _TRUNCATE, fmt, ap);
+
+ va_end(ap);
+ return n;
+}
+
+#endif
diff --git a/Build/source/libs/gd/libgd-src/src/testac.c b/Build/source/libs/gd/libgd-src/src/testac.c
index 0d200f0630c..bea4308f082 100644
--- a/Build/source/libs/gd/libgd-src/src/testac.c
+++ b/Build/source/libs/gd/libgd-src/src/testac.c
@@ -1,4 +1,3 @@
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -17,7 +16,6 @@ void testDrawing (gdImagePtr im_in,
int
main (int argc, char *argv[])
{
-#ifdef HAVE_LIBPNG
/* Input and output files */
FILE *in;
@@ -55,9 +53,6 @@ main (int argc, char *argv[])
testDrawing (im_in, 2.0, 0, 1, "noblending-doublesize-palette.png");
testDrawing (im_in, 2.0, 1, 1, "blending-doublesize-palette.png");
gdImageDestroy (im_in);
-#else
- fprintf (stderr, "No PNG library support.\n");
-#endif
return 0;
}
@@ -116,11 +111,7 @@ testDrawing (gdImagePtr im_in,
gdImageTrueColorToPalette (im_out, 1, 256);
}
-#ifdef HAVE_LIBPNG
gdImagePng (im_out, out);
-#else
- fprintf (stderr, "No PNG library support.\n");
-#endif
fclose (out);
gdImageDestroy (im_out);
diff --git a/Build/source/libs/gd/libgd-src/src/testtr.c b/Build/source/libs/gd/libgd-src/src/testtr.c
index b7b419f96c0..ed1b374a8e8 100644
--- a/Build/source/libs/gd/libgd-src/src/testtr.c
+++ b/Build/source/libs/gd/libgd-src/src/testtr.c
@@ -11,8 +11,6 @@
int
main(void)
{
-#ifdef HAVE_LIBFREETYPE
- FILE *out;
int transparent, green, black;
gdImagePtr im;
@@ -37,17 +35,15 @@ main(void)
gdImageSaveAlpha (im, TRUE);
#ifdef HAVE_LIBPNG
- out = fopen ("testtr.png", "wb");
- gdImagePng (im, out);
- fclose (out);
+ {
+ FILE *out = fopen("testtr.png", "wb");
+ gdImagePng(im, out);
+ fclose(out);
+ }
#else
fprintf(stderr, "Compiled without libpng support\n");
#endif /* HAVE_LIBPNG */
gdImageDestroy (im);
return 0;
-#else
- fprintf(stderr, "Compiled without freetype support\n");
- return 0;
-#endif /* HAVE_LIBFREETYPE */
}
diff --git a/Build/source/libs/gd/libgd-src/src/wbmp.c b/Build/source/libs/gd/libgd-src/src/wbmp.c
index 6be39410c55..6f187f9b1c5 100644
--- a/Build/source/libs/gd/libgd-src/src/wbmp.c
+++ b/Build/source/libs/gd/libgd-src/src/wbmp.c
@@ -38,7 +38,8 @@
*/
int getmbi(int (*getin) (void *in), void *in)
{
- int i, mbi = 0;
+ unsigned int mbi = 0;
+ int i;
do {
i = getin(in);
diff --git a/Build/source/libs/gd/libgd-src/src/wbmp.h b/Build/source/libs/gd/libgd-src/src/wbmp.h
index f163b4be410..9a93d6ebf09 100644
--- a/Build/source/libs/gd/libgd-src/src/wbmp.h
+++ b/Build/source/libs/gd/libgd-src/src/wbmp.h
@@ -1,7 +1,3 @@
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/* WBMP
* ----
* WBMP Level 0: B/W, Uncompressed
@@ -16,6 +12,10 @@ extern "C" {
#ifndef __WBMP_H
#define __WBMP_H 1
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* WBMP struct
* -----------
* A Wireless bitmap structure
@@ -44,8 +44,8 @@ extern "C" {
void freewbmp(Wbmp *wbmp);
void printwbmp(Wbmp *wbmp);
-#endif
-
#ifdef __cplusplus
}
#endif
+
+#endif
diff --git a/Build/source/libs/gd/libgd-src/src/webpng.c b/Build/source/libs/gd/libgd-src/src/webpng.c
index 2dff83294cf..b376253def9 100644
--- a/Build/source/libs/gd/libgd-src/src/webpng.c
+++ b/Build/source/libs/gd/libgd-src/src/webpng.c
@@ -4,16 +4,10 @@
/* Bring in standard I/O and string manipulation functions */
#include <stdarg.h>
-#ifdef HAVE_ERRNO_H
#include <errno.h>
-#endif
#include <stdio.h>
-#ifdef HAVE_STDLIB_H
#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
#include <string.h>
-#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
diff --git a/Build/source/libs/gd/libgd-src/tests/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/CMakeLists.txt
index 7eef4bf46eb..c99fe21457c 100644
--- a/Build/source/libs/gd/libgd-src/tests/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/CMakeLists.txt
@@ -1,4 +1,3 @@
-
if (BUILD_TEST)
SET(DART_TESTING_TIMEOUT 5)
@@ -28,15 +27,21 @@ if (BUILD_TEST)
gdimageclone
gdimagecolor
gdimagecolorclosest
+ gdimagecolorclosesthwb
gdimagecolordeallocate
gdimagecolorexact
+ gdimagecolormatch
gdimagecolorreplace
gdimagecolorresolve
gdimagecolortransparent
+ gdimagecompare
gdimagecontrast
gdimageconvolution
gdimagecopy
+ gdimagecopymerge
+ gdimagecopymergegray
gdimagecopyresampled
+ gdimagecopyresized
gdimagecopyrotated
gdimagecreate
gdimagecrop
@@ -49,6 +54,7 @@ if (BUILD_TEST)
gdimagefilltoborder
gdimagefilter
gdimageflip
+ gdimageellipse
gdimagegrayscale
gdimageline
gdimagenegate
@@ -59,15 +65,22 @@ if (BUILD_TEST)
gdimagerotate
gdimagescale
gdimagescatterex
+ gdimagesetinterpolationmethod
gdimagesetpixel
+ gdimagesquaretocircle
+ gdimagestring
+ gdimagestring16
gdimagestringft
gdimagestringftex
+ gdimagestringup
+ gdimagestringup16
gdimagetruecolortopalette
gdinterpolatedscale
gdnewfilectx
gdtest
gdtiled
gdtransformaffineboundingbox
+ gdtransformaffinecopy
gif
jpeg
png
diff --git a/Build/source/libs/gd/libgd-src/tests/Makefile.am b/Build/source/libs/gd/libgd-src/tests/Makefile.am
index 5f8b624bc1c..f342ceb088b 100644
--- a/Build/source/libs/gd/libgd-src/tests/Makefile.am
+++ b/Build/source/libs/gd/libgd-src/tests/Makefile.am
@@ -23,15 +23,21 @@ include gdimagebrightness/Makemodule.am
include gdimageclone/Makemodule.am
include gdimagecolor/Makemodule.am
include gdimagecolorclosest/Makemodule.am
+include gdimagecolorclosesthwb/Makemodule.am
include gdimagecolordeallocate/Makemodule.am
include gdimagecolorexact/Makemodule.am
+include gdimagecolormatch/Makemodule.am
include gdimagecolorreplace/Makemodule.am
include gdimagecolorresolve/Makemodule.am
include gdimagecolortransparent/Makemodule.am
+include gdimagecompare/Makemodule.am
include gdimagecontrast/Makemodule.am
include gdimageconvolution/Makemodule.am
include gdimagecopy/Makemodule.am
+include gdimagecopymerge/Makemodule.am
+include gdimagecopymergegray/Makemodule.am
include gdimagecopyresampled/Makemodule.am
+include gdimagecopyresized/Makemodule.am
include gdimagecopyrotated/Makemodule.am
include gdimagecreate/Makemodule.am
include gdimagecrop/Makemodule.am
@@ -44,6 +50,7 @@ include gdimagefilledrectangle/Makemodule.am
include gdimagefilltoborder/Makemodule.am
include gdimagefilter/Makemodule.am
include gdimageflip/Makemodule.am
+include gdimageellipse/Makemodule.am
include gdimagegrayscale/Makemodule.am
include gdimageline/Makemodule.am
include gdimagenegate/Makemodule.am
@@ -54,15 +61,22 @@ include gdimagerectangle/Makemodule.am
include gdimagerotate/Makemodule.am
include gdimagescale/Makemodule.am
include gdimagescatterex/Makemodule.am
+include gdimagesetinterpolationmethod/Makemodule.am
include gdimagesetpixel/Makemodule.am
+include gdimagesquaretocircle/Makemodule.am
+include gdimagestring/Makemodule.am
+include gdimagestring16/Makemodule.am
include gdimagestringft/Makemodule.am
include gdimagestringftex/Makemodule.am
+include gdimagestringup/Makemodule.am
+include gdimagestringup16/Makemodule.am
include gdimagetruecolortopalette/Makemodule.am
include gdinterpolatedscale/Makemodule.am
include gdnewfilectx/Makemodule.am
include gdtest/Makemodule.am
include gdtiled/Makemodule.am
include gdtransformaffineboundingbox/Makemodule.am
+include gdtransformaffinecopy/Makemodule.am
include gif/Makemodule.am
include jpeg/Makemodule.am
include png/Makemodule.am
diff --git a/Build/source/libs/gd/libgd-src/tests/bmp/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/bmp/CMakeLists.txt
index 8f2a88f9753..0cc1d067b93 100644
--- a/Build/source/libs/gd/libgd-src/tests/bmp/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/bmp/CMakeLists.txt
@@ -1,13 +1,9 @@
LIST(APPEND TESTS_FILES
bmp_null
bug00275
-)
-
-IF(PNG_FOUND)
-LIST(APPEND TESTS_FILES
+ bug00450
bmp_im2im
bug00276
)
-ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/bmp/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/bmp/Makemodule.am
index f3f1660e9ce..e7908f34c38 100644
--- a/Build/source/libs/gd/libgd-src/tests/bmp/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/bmp/Makemodule.am
@@ -1,12 +1,10 @@
libgd_test_programs += \
bmp/bmp_null \
- bmp/bug00275
-
-if HAVE_LIBPNG
-libgd_test_programs += \
+ bmp/bug00275 \
+ bmp/bug00450 \
bmp/bmp_im2im \
bmp/bug00276
-endif
EXTRA_DIST += \
+ bmp/bug00450.bmp \
bmp/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/bmp/bug00275.c b/Build/source/libs/gd/libgd-src/tests/bmp/bug00275.c
index 710c084c877..775d8495dd5 100644
--- a/Build/source/libs/gd/libgd-src/tests/bmp/bug00275.c
+++ b/Build/source/libs/gd/libgd-src/tests/bmp/bug00275.c
@@ -6,7 +6,7 @@
#ifdef __GNUC__
-#define UNUSED __attribute__((unused))
+#define UNUSED __attribute__((__unused__))
#else
#define UNUSED
#endif
@@ -49,5 +49,7 @@ int main()
/* "save" the image as BMP */
gdImageBmpCtx(im, &ctx, 2);
+ gdImageDestroy(im);
+
return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/bmp/bug00276.c b/Build/source/libs/gd/libgd-src/tests/bmp/bug00276.c
index 58ca423b7ee..dd5d5131202 100644
--- a/Build/source/libs/gd/libgd-src/tests/bmp/bug00276.c
+++ b/Build/source/libs/gd/libgd-src/tests/bmp/bug00276.c
@@ -28,5 +28,7 @@ int main()
gdImageDestroy(im_orig);
gdImageDestroy(im_saved);
+ gdFree(data);
+
return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/bmp/bug00450.bmp b/Build/source/libs/gd/libgd-src/tests/bmp/bug00450.bmp
new file mode 100644
index 00000000000..2db27a37f92
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/bmp/bug00450.bmp
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/bmp/bug00450.c b/Build/source/libs/gd/libgd-src/tests/bmp/bug00450.c
new file mode 100644
index 00000000000..e048845654f
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/bmp/bug00450.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main(void) {
+ char *path = gdTestFilePath("bmp/bug00450.bmp");
+ gdImagePtr im = gdImageCreateFromFile(path);
+ gdTestAssert(im != NULL);
+
+ if (im) {
+ char const ref[] =
+ "# "
+ "## "
+ "### "
+ "#### "
+ "##### "
+ "###### "
+ "####### "
+ "######## "
+ "######### "
+ "##########"
+ ;
+ int x, y;
+
+ for (y = 0; y < 10; ++y) {
+ for (x = 0; x < 10; ++x) {
+ int const expected_pixel = ref[x + y * 10] == '#';
+ int const actual_pixel = gdImageGetPixel(im, x, y);
+ gdTestAssert(expected_pixel == actual_pixel);
+ }
+ }
+
+ gdImageDestroy(im);
+ }
+
+ free(path);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/freetype/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/freetype/Makemodule.am
index 312759a176f..a0dda49c5fe 100644
--- a/Build/source/libs/gd/libgd-src/tests/freetype/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/freetype/Makemodule.am
@@ -1,5 +1,5 @@
if HAVE_LIBFREETYPE
-if HAVE_LIBPNG
+if HAVE_LIBPNG
libgd_test_programs += \
freetype/bug00132
endif
diff --git a/Build/source/libs/gd/libgd-src/tests/gd/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gd/CMakeLists.txt
index 6053ba50826..e86c7801dcc 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gd/CMakeLists.txt
@@ -1,13 +1,14 @@
LIST(APPEND TESTS_FILES
- gd_null
- gd_num_colors
gd_versiontest
)
-IF(PNG_FOUND)
+IF(ENABLE_GD_FORMATS)
LIST(APPEND TESTS_FILES
+ bug00383
+ gd_null
+ gd_num_colors
gd_im2im
)
-ENDIF(PNG_FOUND)
+ENDIF(ENABLE_GD_FORMATS)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gd/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gd/Makemodule.am
index e4a741fb9dd..4a45bc22025 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gd/Makemodule.am
@@ -1,13 +1,15 @@
libgd_test_programs += \
- gd/gd_null \
- gd/gd_num_colors \
gd/gd_versiontest
-if HAVE_LIBPNG
+if ENABLE_GD_FORMATS
libgd_test_programs += \
+ gd/bug00383 \
+ gd/gd_null \
+ gd/gd_num_colors \
gd/gd_im2im
endif
EXTRA_DIST += \
+ gd/bug00383.gd \
gd/crafted_num_colors.gd \
gd/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gd/bug00383.c b/Build/source/libs/gd/libgd-src/tests/gd/bug00383.c
new file mode 100644
index 00000000000..edcfd059456
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gd/bug00383.c
@@ -0,0 +1,32 @@
+/**
+ * Test that invalid transparent colors can't be read
+ *
+ * We're reading a corrupt palette image in GD format, which has only a single
+ * palette entry, but claims that the transparent color would be 1. We check
+ * that the transparency is simply ignored in this case.
+ *
+ * See also <https://github.com/libgd/libgd/issues/383>
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr im;
+ FILE *fp;
+
+ fp = gdTestFileOpen2("gd", "bug00383.gd");
+ gdTestAssert(fp != NULL);
+ im = gdImageCreateFromGd(fp);
+ gdTestAssert(im != NULL);
+ fclose(fp);
+
+ gdTestAssert(gdImageGetTransparent(im) == -1);
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gd/bug00383.gd b/Build/source/libs/gd/libgd-src/tests/gd/bug00383.gd
new file mode 100644
index 00000000000..7f8611cd76c
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gd/bug00383.gd
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gd2/CMakeLists.txt
index d60823130d8..cc188ca043d 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd2/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/CMakeLists.txt
@@ -1,25 +1,27 @@
+IF(ENABLE_GD_FORMATS)
+IF(ZLIB_FOUND)
LIST(APPEND TESTS_FILES
bug_289
bug00209
bug00309
bug00354
+ bug00383
+ createimagefromgd2part
+ createimagefromgd2partptr
gd2_empty_file
php_bug_72339
+ gd2_null
gd2_read_corrupt
too_few_image_data
-)
-
-IF(ZLIB_FOUND)
-LIST(APPEND TESTS_FILES
- gd2_null
+ gd2_im2im
)
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
- gd2_im2im
gd2_read
)
ENDIF(PNG_FOUND)
ENDIF(ZLIB_FOUND)
+ENDIF(ENABLE_GD_FORMATS)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gd2/Makemodule.am
index 9c53b85649a..5cd29e6f7f9 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd2/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/Makemodule.am
@@ -1,29 +1,33 @@
+if ENABLE_GD_FORMATS
+if HAVE_LIBZ
libgd_test_programs += \
gd2/bug_289 \
gd2/bug00209 \
gd2/bug00309 \
gd2/bug00354 \
+ gd2/bug00383 \
+ gd2/createimagefromgd2part \
+ gd2/createimagefromgd2partptr \
gd2/gd2_empty_file \
gd2/php_bug_72339 \
+ gd2/gd2_null \
gd2/gd2_read_corrupt \
- gd2/too_few_image_data
-
-if HAVE_LIBZ
-libgd_test_programs += \
- gd2/gd2_null
+ gd2/too_few_image_data \
+ gd2/gd2_im2im
if HAVE_LIBPNG
libgd_test_programs += \
- gd2/gd2_im2im \
gd2/gd2_read
endif
endif
+endif
EXTRA_DIST += \
gd2/CMakeLists.txt \
gd2/bug00209.gd2 \
gd2/bug00354a.gd2 \
gd2/bug00354b.gd2 \
+ gd2/bug00383.gd2 \
gd2/conv_gd2_exp.gd2 \
gd2/conv_test.gd2 \
gd2/conv_test_exp.png \
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/bug00209.c b/Build/source/libs/gd/libgd-src/tests/gd2/bug00209.c
index 4379d389ccc..7904d01fcf5 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd2/bug00209.c
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/bug00209.c
@@ -8,21 +8,19 @@
* See <https://github.com/libgd/libgd/issues/209>.
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
+ gdImagePtr im;
+ FILE *fp;
- fp = gdTestFileOpen2("gd2", "bug00209.gd2");
- gdTestAssert(fp != NULL);
- im = gdImageCreateFromGd2(fp);
- gdTestAssert(im == NULL);
- fclose(fp);
+ fp = gdTestFileOpen2("gd2", "bug00209.gd2");
+ gdTestAssert(fp != NULL);
+ im = gdImageCreateFromGd2(fp);
+ gdTestAssert(im == NULL);
+ fclose(fp);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/bug00354.c b/Build/source/libs/gd/libgd-src/tests/gd2/bug00354.c
index 8dc27cc5ad0..1bce091ab09 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd2/bug00354.c
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/bug00354.c
@@ -6,27 +6,25 @@
* See also <https://github.com/libgd/libgd/issues/354>.
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
+ gdImagePtr im;
+ FILE *fp;
- fp = gdTestFileOpen2("gd2", "bug00354a.gd2");
- gdTestAssert(fp != NULL);
- im = gdImageCreateFromGd2(fp);
- gdTestAssert(im == NULL);
- fclose(fp);
+ fp = gdTestFileOpen2("gd2", "bug00354a.gd2");
+ gdTestAssert(fp != NULL);
+ im = gdImageCreateFromGd2(fp);
+ gdTestAssert(im == NULL);
+ fclose(fp);
- fp = gdTestFileOpen2("gd2", "bug00354b.gd2");
- gdTestAssert(fp != NULL);
- im = gdImageCreateFromGd2(fp);
- gdTestAssert(im == NULL);
- fclose(fp);
+ fp = gdTestFileOpen2("gd2", "bug00354b.gd2");
+ gdTestAssert(fp != NULL);
+ im = gdImageCreateFromGd2(fp);
+ gdTestAssert(im == NULL);
+ fclose(fp);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/bug00383.c b/Build/source/libs/gd/libgd-src/tests/gd2/bug00383.c
new file mode 100644
index 00000000000..dbbf661aa58
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/bug00383.c
@@ -0,0 +1,32 @@
+/**
+ * Test that invalid transparent colors can't be read
+ *
+ * We're reading a corrupt palette image in GD2 format, which has only a single
+ * palette entry, but claims that the transparent color would be 1. We check
+ * that the transparency is simply ignored in this case.
+ *
+ * See also <https://github.com/libgd/libgd/issues/383>
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr im;
+ FILE *fp;
+
+ fp = gdTestFileOpen2("gd2", "bug00383.gd2");
+ gdTestAssert(fp != NULL);
+ im = gdImageCreateFromGd2(fp);
+ gdTestAssert(im != NULL);
+ fclose(fp);
+
+ gdTestAssert(gdImageGetTransparent(im) == -1);
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/bug00383.gd2 b/Build/source/libs/gd/libgd-src/tests/gd2/bug00383.gd2
new file mode 100644
index 00000000000..dcb164de288
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/bug00383.gd2
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/bug_289.c b/Build/source/libs/gd/libgd-src/tests/gd2/bug_289.c
index ad311e93ebc..9ca03cc1ee1 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd2/bug_289.c
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/bug_289.c
@@ -29,5 +29,7 @@ int main()
gdTestAssertMsg(buffer[12] == 0, MSG, "1st", 0, buffer[12]);
gdTestAssertMsg(buffer[13] == GD2_FMT_TRUECOLOR_COMPRESSED, MSG, "2nd", GD2_FMT_TRUECOLOR_COMPRESSED, buffer[13]);
+ gdFree(buffer);
+
return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2part.c b/Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2part.c
new file mode 100644
index 00000000000..0c81ba6235b
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2part.c
@@ -0,0 +1,35 @@
+/**
+ *Base test for gdImageCreateFromGd2Part()
+ */
+#include "gd.h"
+#include "gdtest.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+int main()
+{
+ gdImagePtr im;
+ FILE *p;
+ int expected_color = 0xffffff;
+ int actual_color = 0;
+
+ p = gdTestFileOpen2("gd2", "conv_test.gd2");
+
+ if (!p) {
+ gdTestErrorMsg("failed, connot open gd2 file: conv_test.gd2");
+ return 1;
+ }
+
+ im = gdImageCreateFromGd2Part(p, 3, 3, 3, 3);
+ fclose(p);
+
+ if (!im) {
+ return 1;
+ }
+
+ actual_color = gdImageGetPixel(im, 2, 2);
+ gdImageDestroy(im);
+ gdTestAssert(expected_color == actual_color);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2partptr.c b/Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2partptr.c
new file mode 100644
index 00000000000..e432874667f
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/createimagefromgd2partptr.c
@@ -0,0 +1,59 @@
+/**
+ * Base test for gdImageCreateFromGd2PartPtr()
+ */
+#include "gd.h"
+#include "gdtest.h"
+#include <stdio.h>
+
+int main()
+{
+ FILE *p;
+ gdImagePtr im, partim;
+ void *pg;
+ int size = 0;
+ int status = 0;
+ int actual_color = 0;
+ int expected_color = 0xffffff;
+
+ p = gdTestFileOpen2("gd2", "conv_test.gd2");
+ if (!p) {
+ gdTestErrorMsg("failed, cannot open gd2 file:conv_test.gd2");
+ return 1;
+ }
+
+ im = gdImageCreateFromGd2(p);
+ fclose(p);
+
+ if (!im) {
+ gdTestErrorMsg("failed, cannot create gd2 file.");
+ return 1;
+ }
+
+ pg = gdImageGd2Ptr(im, (GD2_CHUNKSIZE_MIN + GD2_CHUNKSIZE_MAX) / 2, GD2_FMT_COMPRESSED, &size);
+ if (!pg) {
+ status = 1;
+ goto done1;
+ }
+
+ if (size <= 0) {
+ status = 1;
+ goto done0;
+ }
+
+ partim = gdImageCreateFromGd2PartPtr(size, pg, 3, 3, 3, 3);
+ if (!partim) {
+ status = 1;
+ goto done0;
+ }
+
+ actual_color = gdImageGetPixel(partim, 2, 2);
+ status = (expected_color == actual_color) ? 0 : 1;
+ gdImageDestroy(partim);
+
+done0:
+ gdFree(pg);
+done1:
+ gdImageDestroy(im);
+
+ return status;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/gd2_read.c b/Build/source/libs/gd/libgd-src/tests/gd2/gd2_read.c
index 8ce8bd15d57..9f2b808255e 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd2/gd2_read.c
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/gd2_read.c
@@ -33,17 +33,18 @@ int main(int argc, char *argv[])
fp = gdTestFileOpen2("gd2", path_exp[i]);
if (!fp) {
gdTestErrorMsg("failed, cannot open file: %s\n", path_exp[i]);
+ gdImageDestroy(im);
return 1;
}
exp = gdImageCreateFromPng(fp);
if (!gdAssertImageEquals(exp, im)) {
gdTestErrorMsg("image %s differs from expected result\n", path[i]);
- gdImageDestroy(im);
error = 1;
}
if (exp) {
gdImageDestroy(exp);
}
+ gdImageDestroy(im);
} else {
/* expected to fail */
if (im) {
diff --git a/Build/source/libs/gd/libgd-src/tests/gd2/php_bug_72339.c b/Build/source/libs/gd/libgd-src/tests/gd2/php_bug_72339.c
index 7ce60289ef8..8217c87c1d5 100644
--- a/Build/source/libs/gd/libgd-src/tests/gd2/php_bug_72339.c
+++ b/Build/source/libs/gd/libgd-src/tests/gd2/php_bug_72339.c
@@ -29,7 +29,7 @@ int main()
im = gdImageCreateFromGd2(fp);
fclose(fp);
-
+
gdTestAssertMsg(im == NULL, "Image should have failed to be loaded\n");
return gdNumFailures();
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagebrightness/basic.c b/Build/source/libs/gd/libgd-src/tests/gdimagebrightness/basic.c
index 779704830f0..dfed2429970 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagebrightness/basic.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagebrightness/basic.c
@@ -2,40 +2,36 @@
* Basic test for gdImageBrightness()
*/
-
#include "gd.h"
#include "gdtest.h"
-
static void test_brightness(int brightness);
-
int main()
{
- test_brightness(+100);
- test_brightness(-100);
+ test_brightness(+100);
+ test_brightness(-100);
- return gdNumFailures();
+ return gdNumFailures();
}
-
static void test_brightness(int brightness)
{
- gdImagePtr im;
- FILE *fp;
- char basename[256];
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char basename[256];
+ char *path;
- fp = gdTestFileOpen2("gdimagebrightness", "basic.png");
- im = gdImageCreateFromPng(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("gdimagebrightness", "basic.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
- gdImageBrightness(im, brightness);
+ gdImageBrightness(im, brightness);
- sprintf(basename, "basic%+03d.png", brightness);
- path = gdTestFilePath2("gdimagebrightness", basename);
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ sprintf(basename, "basic%+03d.png", brightness);
+ path = gdTestFilePath2("gdimagebrightness", basename);
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageclone/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimageclone/CMakeLists.txt
index e6ccc318a0f..662f4e966a1 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageclone/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageclone/CMakeLists.txt
@@ -1,5 +1,6 @@
LIST(APPEND TESTS_FILES
bug00300
+ style
)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageclone/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimageclone/Makemodule.am
index 4b1b54c0100..51abf5c1171 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageclone/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageclone/Makemodule.am
@@ -1,5 +1,6 @@
libgd_test_programs += \
- gdimageclone/bug00300
+ gdimageclone/bug00300 \
+ gdimageclone/style
EXTRA_DIST += \
gdimageclone/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageclone/style.c b/Build/source/libs/gd/libgd-src/tests/gdimageclone/style.c
new file mode 100644
index 00000000000..c2b246ed705
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageclone/style.c
@@ -0,0 +1,30 @@
+/**
+ * Cloning an image should exactly reproduce all style related data
+ */
+
+
+#include <string.h>
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr im, clone;
+ int style[] = {0, 0, 0};
+
+ im = gdImageCreate(8, 8);
+ gdImageSetStyle(im, style, sizeof(style)/sizeof(style[0]));
+
+ clone = gdImageClone(im);
+ gdTestAssert(clone != NULL);
+
+ gdTestAssert(clone->styleLength == im->styleLength);
+ gdTestAssert(clone->stylePos == im->stylePos);
+ gdTestAssert(!memcmp(clone->style, im->style, sizeof(style)/sizeof(style[0])));
+
+ gdImageDestroy(clone);
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolor/basic.c b/Build/source/libs/gd/libgd-src/tests/gdimagecolor/basic.c
index ff2fe349854..86c0aff10be 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolor/basic.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolor/basic.c
@@ -2,28 +2,26 @@
* Basic test for gdImageColor()
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("gdimagecolor", "basic.png");
- im = gdImageCreateFromPng(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("gdimagecolor", "basic.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
- gdImageColor(im, 127, -127, -127, 0);
+ gdImageColor(im, 127, -127, -127, 0);
- path = gdTestFilePath2("gdimagecolor", "basic_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("gdimagecolor", "basic_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/CMakeLists.txt
index be903abe33e..3964bfa79c0 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/CMakeLists.txt
@@ -1,7 +1,5 @@
-IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
gdimagecolorclosest
)
-ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/Makemodule.am
index f4da8beca66..be4220412ef 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosest/Makemodule.am
@@ -1,7 +1,5 @@
-if HAVE_LIBPNG
libgd_test_programs += \
gdimagecolorclosest/gdimagecolorclosest
-endif
EXTRA_DIST += \
gdimagecolorclosest/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/CMakeLists.txt
new file mode 100644
index 00000000000..7a8afdc1e89
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdImageColorClosestHWB
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/Makemodule.am
new file mode 100644
index 00000000000..14eddbd2395
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/Makemodule.am
@@ -0,0 +1,7 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagecolorclosesthwb/gdImageColorClosestHWB
+endif
+
+EXTRA_DIST += \
+ gdimagecolorclosesthwb/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/gdImageColorClosestHWB.c b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/gdImageColorClosestHWB.c
new file mode 100644
index 00000000000..ab2018779fe
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorclosesthwb/gdImageColorClosestHWB.c
@@ -0,0 +1,26 @@
+/**
+ * Basic test for gdImageColorClosestHWB()
+ **/
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im;
+ FILE *fp;
+
+ fp = gdTestFileOpen2("gdimageflip", "remi.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
+
+ int result = gdImageColorClosestHWB(im, 255, 0, 255);
+
+ if (gdTestAssert(result <= 0))
+ {
+ gdImageDestroy(im);
+ return 1;
+ }
+
+ gdImageDestroy(im);
+ return 0;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/CMakeLists.txt
index 294fe4f7c9b..029d9296495 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/CMakeLists.txt
@@ -1,7 +1,5 @@
-IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
gdimagecolorexact
)
-ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/Makemodule.am
index 835b25ed62c..74279991e65 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorexact/Makemodule.am
@@ -1,7 +1,5 @@
-if HAVE_LIBPNG
libgd_test_programs += \
gdimagecolorexact/gdimagecolorexact
-endif
EXTRA_DIST += \
gdimagecolorexact/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/CMakeLists.txt
new file mode 100644
index 00000000000..857b99a278e
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/CMakeLists.txt
@@ -0,0 +1,6 @@
+LIST(APPEND TESTS_FILES
+ cve_2019_6977
+ gdimagecolormatch
+)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/Makemodule.am
new file mode 100644
index 00000000000..4ed48cec862
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/Makemodule.am
@@ -0,0 +1,6 @@
+libgd_test_programs += \
+ gdimagecolormatch/cve_2019_6977 \
+ gdimagecolormatch/gdimagecolormatch
+
+EXTRA_DIST += \
+ gdimagecolormatch/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/cve_2019_6977.c b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/cve_2019_6977.c
new file mode 100644
index 00000000000..fdd7af57a89
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/cve_2019_6977.c
@@ -0,0 +1,25 @@
+/**
+ * Test for CVE-2019-6977
+ */
+
+#include "gd.h"
+
+int main()
+{
+ gdImagePtr im1;
+ gdImagePtr im2;
+
+ im1 = gdImageCreateTrueColor(0xfff, 0xfff);
+ im2 = gdImageCreate(0xfff, 0xfff);
+ if (gdImageColorAllocate(im2, 0, 0, 0) < 0)
+ {
+ gdImageDestroy(im1);
+ gdImageDestroy(im2);
+ return 1;
+ }
+ gdImageSetPixel(im2, 0, 0, 255);
+ gdImageColorMatch(im1, im2);
+ gdImageDestroy(im1);
+ gdImageDestroy(im2);
+ return 0;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/gdimagecolormatch.c b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/gdimagecolormatch.c
new file mode 100644
index 00000000000..f59c7691b3d
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolormatch/gdimagecolormatch.c
@@ -0,0 +1,32 @@
+/**
+ * Basic test for gdImageColorMatch()
+ **/
+#include "gd.h"
+#include "gdtest.h"
+
+int main(){
+ gdImagePtr im1, im2;
+
+ im1 = gdImageCreateTrueColor(80, 80);
+ im2 = gdImageCreate(80, 80);
+
+ gdImageColorAllocate(im1, 255, 36, 74);
+
+ gdImageColorAllocate(im2, 255, 36, 74);
+ gdImageColorAllocate(im2, 40, 0, 240);
+ gdImageColorAllocate(im2, 255, 100, 255);
+ gdImageColorAllocate(im2, 80, 60, 44);
+
+ int ifMatch = gdImageColorMatch(im1, im2);
+
+ gdImageDestroy(im1);
+ gdImageDestroy(im2);
+
+ if (gdTestAssert(ifMatch != 0))
+ {
+ gdTestErrorMsg("gdImageColorMatch failed.\n");
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/CMakeLists.txt
index f2495d973ee..03bd9ebdf0a 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/CMakeLists.txt
@@ -1,7 +1,5 @@
-IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
gdimagecolorreplace
)
-ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/Makemodule.am
index a8badb05c99..3ea38e55500 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/Makemodule.am
@@ -1,7 +1,5 @@
-if HAVE_LIBPNG
libgd_test_programs += \
gdimagecolorreplace/gdimagecolorreplace
-endif
EXTRA_DIST += \
gdimagecolorreplace/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/gdimagecolorreplace.c b/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/gdimagecolorreplace.c
index dd3c17ee49d..102a674fe8c 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/gdimagecolorreplace.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorreplace/gdimagecolorreplace.c
@@ -44,22 +44,22 @@ static void run_tests(gdImagePtr im, int *error)
COLOR(yellow, 0xFF, 0xFF, 0);
#undef COLOR
-#define CHECK_VALUE(n, expected) do { \
- if (gdTestAssert((n) == (expected)) != 1) { \
+#define CHECK_VALUE(n, expected) do { \
+ if (gdTestAssert((n) == (expected)) != 1) { \
gdTestErrorMsg("%d is expected, but %d\n", expected, n);\
- *error = -1; \
- } \
+ *error = -1; \
+ } \
} while (0)
#define CHECK_PIXEL(x, y, expected) \
- do { \
- int pix; \
- gdImageSetClip(im, 0, 0, 4, 4); \
- pix = gdImageGetPixel(im, (x), (y)); \
- if (gdTestAssert(pix == (expected)) != 1) { \
+ do { \
+ int pix; \
+ gdImageSetClip(im, 0, 0, 4, 4); \
+ pix = gdImageGetPixel(im, (x), (y)); \
+ if (gdTestAssert(pix == (expected)) != 1) { \
gdTestErrorMsg("%d is expected, but %d\n", expected, pix); \
- *error = -1; \
- } \
+ *error = -1; \
+ } \
} while (0)
c = gdImageColorAllocate(im, 0xFF, 0, 0xFF);
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/CMakeLists.txt
index 5b553388668..a26084285d1 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/CMakeLists.txt
@@ -1,7 +1,5 @@
-IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
gdimagecolorresolve
)
-ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/Makemodule.am
index 316484c2068..a3e944276e4 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecolorresolve/Makemodule.am
@@ -1,7 +1,5 @@
-if HAVE_LIBPNG
libgd_test_programs += \
gdimagecolorresolve/gdimagecolorresolve
-endif
EXTRA_DIST += \
gdimagecolorresolve/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecompare/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/CMakeLists.txt
new file mode 100644
index 00000000000..2974a07a620
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/CMakeLists.txt
@@ -0,0 +1,4 @@
+LIST(APPEND TESTS_FILES
+ gdimagecompare
+)
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecompare/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/Makemodule.am
new file mode 100644
index 00000000000..b4b0ebbd62a
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/Makemodule.am
@@ -0,0 +1,5 @@
+libgd_test_programs += \
+ gdimagecompare/gdimagecompare
+
+EXTRA_DIST += \
+ gdimagecompare/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c
new file mode 100644
index 00000000000..0e8367a8095
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c
@@ -0,0 +1,56 @@
+/**
+ * Base test for gdImageCompare()
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im1;
+ gdImagePtr im2;
+ int black;
+ int red1, red2;
+ int yellow1, yellow2;
+ int white;
+ int blue;
+ int ret;
+
+ im1 = gdImageCreate(128, 128);
+ im2 = gdImageCreateTrueColor(256, 256);
+
+ /* Set different interlace */
+ gdImageInterlace(im1, 1);
+ gdImageInterlace(im2, 2);
+
+ /* Set different transparent */
+ gdImageColorTransparent(im1, 10);
+ gdImageColorTransparent(im2, 20);
+
+ /* Allocate different color number */
+ black = gdImageColorAllocate(im1, 0, 0, 0);
+ red1 = gdImageColorAllocate(im1, 255, 0, 0);
+ yellow1 = gdImageColorAllocate(im1, 255, 255, 0);
+ red2 = gdImageColorAllocate(im2, 255, 0, 0);
+ yellow2 = gdImageColorAllocate(im2, 255, 255, 0);
+ white = gdImageColorAllocate(im2, 255, 255, 255);
+ blue = gdImageColorAllocate(im2, 0, 0, 255);
+
+ /* Filled different color */
+ gdImageFilledRectangle(im1, 0, 0, 127, 8, black);
+ gdImageFilledRectangle(im1, 9, 0, 127, 16, red1);
+ gdImageFilledRectangle(im1, 17, 0, 127, 24, yellow1);
+ gdImageFilledRectangle(im2, 0, 0, 127, 8, red2);
+ gdImageFilledRectangle(im2, 9, 0, 127, 16, yellow2);
+ gdImageFilledRectangle(im2, 17, 0, 127, 24, white);
+ gdImageFilledRectangle(im2, 25, 0, 127, 32, blue);
+
+ ret = gdImageCompare(im1, im2);
+
+ gdTestAssert(ret == (GD_CMP_INTERLACE | GD_CMP_TRANSPARENT | GD_CMP_TRUECOLOR | GD_CMP_SIZE_X | GD_CMP_SIZE_Y | GD_CMP_COLOR | GD_CMP_IMAGE | GD_CMP_NUM_COLORS));
+
+ gdImageDestroy(im1);
+ gdImageDestroy(im2);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecontrast/basic.c b/Build/source/libs/gd/libgd-src/tests/gdimagecontrast/basic.c
index 66c17ab9fb9..ef1f44ac16b 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecontrast/basic.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecontrast/basic.c
@@ -2,40 +2,36 @@
* Basic test for gdImageContrast()
*/
-
#include "gd.h"
#include "gdtest.h"
-
static void test_contrast(double contrast);
-
int main()
{
- test_contrast(+50.0);
- test_contrast(-50.0);
+ test_contrast(+50.0);
+ test_contrast(-50.0);
- return gdNumFailures();
+ return gdNumFailures();
}
-
static void test_contrast(double contrast)
{
- gdImagePtr im;
- FILE *fp;
- char basename[256];
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char basename[256];
+ char *path;
- fp = gdTestFileOpen2("gdimagecontrast", "basic.png");
- im = gdImageCreateFromPng(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("gdimagecontrast", "basic.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
- gdImageContrast(im, contrast);
+ gdImageContrast(im, contrast);
- sprintf(basename, "basic%+03.0f.png", contrast);
- path = gdTestFilePath2("gdimagecontrast", basename);
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ sprintf(basename, "basic%+03.0f.png", contrast);
+ path = gdTestFilePath2("gdimagecontrast", basename);
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/CMakeLists.txt
index 802c38220ae..dc1fc51cefb 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/CMakeLists.txt
@@ -1,3 +1,5 @@
+LIST(APPEND TESTS_FILES bug00369)
+
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
basic
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/Makemodule.am
index 8f65b0f36e9..df5249d4529 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/Makemodule.am
@@ -1,3 +1,6 @@
+libgd_test_programs += \
+ gdimageconvolution/bug00369
+
if HAVE_LIBPNG
libgd_test_programs += \
gdimageconvolution/basic
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/basic.c b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/basic.c
index 267a079d898..5fe308ca043 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/basic.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/basic.c
@@ -2,61 +2,54 @@
* Basic test for gdImageConvolution() and related functions
*/
-
#include "gd.h"
#include "gdtest.h"
-
static void test_convolution(void (*convolution_func)(gdImagePtr im), const char *expected)
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("gdimageconvolution", "basic.png");
- im = gdImageCreateFromPng(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("gdimageconvolution", "basic.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
- convolution_func(im);
+ convolution_func(im);
- path = gdTestFilePath2("gdimageconvolution", expected);
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("gdimageconvolution", expected);
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
}
-
static void test_edge_detect_quick(gdImagePtr im)
{
- gdImageEdgeDetectQuick(im);
+ gdImageEdgeDetectQuick(im);
}
-
static void test_smooth(gdImagePtr im)
{
- gdImageSmooth(im, 5);
+ gdImageSmooth(im, 5);
}
-
static void test_emboss(gdImagePtr im)
{
- gdImageEmboss(im);
+ gdImageEmboss(im);
}
-
static void test_mean_removal(gdImagePtr im)
{
- gdImageMeanRemoval(im);
+ gdImageMeanRemoval(im);
}
-
int main()
{
- test_convolution(&test_edge_detect_quick, "basic_edge_detect_quick.png");
- test_convolution(&test_smooth, "basic_smooth.png");
- test_convolution(&test_emboss, "basic_emboss.png");
- test_convolution(&test_mean_removal, "basic_mean_removal.png");
+ test_convolution(&test_edge_detect_quick, "basic_edge_detect_quick.png");
+ test_convolution(&test_smooth, "basic_smooth.png");
+ test_convolution(&test_emboss, "basic_emboss.png");
+ test_convolution(&test_mean_removal, "basic_mean_removal.png");
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/bug00369.c b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/bug00369.c
new file mode 100644
index 00000000000..631cb7adbc1
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageconvolution/bug00369.c
@@ -0,0 +1,28 @@
+/**
+ * Test Issue #369 for gdImageConvolution()
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im;
+ float matrix[3][3] = {
+ {1, 0, 1},
+ {0, 5, 0},
+ {1, 0, 0}
+ };
+
+ im = gdImageCreateTrueColor(40, 40);
+ gdImageAlphaBlending(im, gdEffectReplace);
+ gdImageFilledRectangle(im, 0, 0, 39, 39, 0x7FFFFFFF);
+ gdImageFilledEllipse(im, 19, 19, 20, 20, 0x00FF00);
+
+ gdImageConvolution(im, matrix, 9, 1);
+ gdTestAssert(0x7F010101 == gdImageGetPixel(im, 0, 0));
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/CMakeLists.txt
new file mode 100644
index 00000000000..df9bdc67f3b
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagecopymerge
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/Makemodule.am
new file mode 100644
index 00000000000..67511681117
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagecopymerge/gdimagecopymerge
+endif
+
+EXTRA_DIST += \
+ gdimagecopymerge/CMakeLists.txt \
+ gdimagecopymerge/gdimagecopymerge_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge.c b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge.c
new file mode 100644
index 00000000000..9f08020dd48
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge.c
@@ -0,0 +1,38 @@
+/**
+ * Basic test for gdImageCopyMerge()
+ */
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr dst = NULL;
+ gdImagePtr src = NULL;
+ int error = 0;
+
+ dst = gdImageCreate(100, 100);
+ src = gdImageCreate(50, 50);
+
+ if (gdTestAssert(!dst)) {
+ error = 1;
+ goto done;
+ }
+ if (gdTestAssert(!src)) {
+ error = 1;
+ goto done;
+ }
+
+ gdImageColorAllocate(src, 255, 255, 255);
+ gdImageColorAllocate(dst, 0, 0, 0);
+ gdImageCopyMerge(dst, src, 25, 25, 0, 0, 50, 50, 50);
+
+ if (!gdAssertImageEqualsToFile("gdimagecopymerge/gdimagecopymerge_exp.png", dst)) {
+ error = 1;
+ }
+
+done:
+ gdImageDestroy(dst);
+ gdImageDestroy(src);
+
+ return error;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge_exp.png
new file mode 100644
index 00000000000..18302817297
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymerge/gdimagecopymerge_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/CMakeLists.txt
new file mode 100644
index 00000000000..e0656ef6a8e
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagecopymergegray
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/Makemodule.am
new file mode 100644
index 00000000000..6856d750579
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagecopymergegray/gdimagecopymergegray
+endif
+
+EXTRA_DIST += \
+ gdimagecopymergegray/CMakeLists.txt \
+ gdimagecopymergegray/gdimagecopymergegray_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray.c b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray.c
new file mode 100644
index 00000000000..34a8923a708
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray.c
@@ -0,0 +1,38 @@
+/**
+ * Basic test for gdImageCopyMergeGray()
+ */
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr dst = NULL;
+ gdImagePtr src = NULL;
+ int error = 0;
+
+ dst = gdImageCreate(100, 100);
+ src = gdImageCreate(50, 50);
+
+ if (gdTestAssert(!dst)) {
+ error = 1;
+ goto done;
+ }
+ if (gdTestAssert(!src)) {
+ error = 1;
+ goto done;
+ }
+
+ gdImageColorAllocate(src, 255, 255, 255);
+ gdImageColorAllocate(dst, 0, 0, 0);
+ gdImageCopyMergeGray(dst, src, 25, 25, 0, 0, 50, 50, 50);
+
+ if (!gdAssertImageEqualsToFile("gdimagecopymergegray/gdimagecopymergegray_exp.png", dst)) {
+ error = 1;
+ }
+
+done:
+ gdImageDestroy(dst);
+ gdImageDestroy(src);
+
+ return error;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray_exp.png
new file mode 100644
index 00000000000..18302817297
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopymergegray/gdimagecopymergegray_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/CMakeLists.txt
index 4d0d66ba436..00351ca4c70 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/CMakeLists.txt
@@ -1,8 +1,10 @@
+LIST(APPEND TESTS_FILES
+ exact_alpha
+)
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
basic
basic_alpha
- exact_alpha
bug00201
)
ENDIF(PNG_FOUND)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/Makemodule.am
index 5d0d714e8bb..d42eab559c2 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/Makemodule.am
@@ -1,8 +1,10 @@
+libgd_test_programs += \
+ gdimagecopyresampled/exact_alpha
+
if HAVE_LIBPNG
libgd_test_programs += \
gdimagecopyresampled/basic \
gdimagecopyresampled/basic_alpha \
- gdimagecopyresampled/exact_alpha \
gdimagecopyresampled/bug00201
endif
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/bug00201.c b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/bug00201.c
index 053b6db3b72..0287267e6f2 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/bug00201.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresampled/bug00201.c
@@ -48,23 +48,23 @@ int main()
fp = gdTestFileOpen2("gdimagecopyresampled", "bug00201_src.png");
logo_source = gdImageCreateFromPng(fp);
fclose(fp);
-
+
logo = blank_image(SRC_WIDTH,SRC_HEIGHT);
gdImageAlphaBlending(logo, 0);
gdImageCopy(logo, logo_source, 0,0, 0,0, SRC_WIDTH,SRC_HEIGHT);
gdImageDestroy(logo_source);
-
+
scaled_logo = blank_image(DEST_WIDTH,DEST_HEIGHT);
gdImageAlphaBlending(scaled_logo, 0);
gdImageCopyResampled(scaled_logo, logo, 0,0, 0,0, 200,105, SRC_WIDTH,SRC_HEIGHT);
gdImageDestroy(logo);
-
+
layers[0] = background;
layers[1] = scaled_logo;
img = flatten(layers, 2, DEST_WIDTH, DEST_HEIGHT);
gdImageDestroy(background);
gdImageDestroy(scaled_logo);
-
+
gdAssertImageEqualsToFile("gdimagecopyresampled/bug00201_exp.png", img);
gdImageDestroy(img);
return gdNumFailures();
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/CMakeLists.txt
new file mode 100644
index 00000000000..78b4fa9aab4
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagecopyresized
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/Makemodule.am
new file mode 100644
index 00000000000..9d83e40052f
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagecopyresized/gdimagecopyresized
+endif
+
+EXTRA_DIST += \
+ gdimagecopyresized/CMakeLists.txt \
+ gdimagecopyresized/gdimagecopyresized_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized.c b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized.c
new file mode 100644
index 00000000000..137f84b2146
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized.c
@@ -0,0 +1,35 @@
+/**
+ * add test case for gdImageCopyResized
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr src;
+ gdImagePtr dst;
+ gdImagePtr dst_tc;
+
+ /* We prepare two image type: Palette and True Color */
+ /* src image is white, while dst and dst_tc is black */
+ src = gdImageCreate(64, 64);
+ gdImageColorAllocate(src, 255, 255, 255);
+ dst = gdImageCreate(128, 128);
+ gdImageColorAllocate(dst, 0, 0, 0);
+ dst_tc = gdImageCreateTrueColor(128, 128);
+
+ /* Copy src to two image type separately */
+ /* We copy src to the center of dst and dst_tc */
+ gdImageCopyResized(dst, src, 32, 32, 0, 0, 64, 64, 64, 64);
+ gdImageCopyResized(dst_tc, src, 32, 32, 0, 0, 64, 64, 64, 64);
+
+ gdAssertImageEqualsToFile("gdimagecopyresized/gdimagecopyresized_exp.png", dst);
+ gdAssertImageEqualsToFile("gdimagecopyresized/gdimagecopyresized_exp.png", dst_tc);
+
+ gdImageDestroy(src);
+ gdImageDestroy(dst);
+ gdImageDestroy(dst_tc);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized_exp.png
new file mode 100644
index 00000000000..32fa084520a
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecopyresized/gdimagecopyresized_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecreate/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecreate/CMakeLists.txt
index 905e79c52e2..1cd0c1a6033 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecreate/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecreate/CMakeLists.txt
@@ -1,4 +1,4 @@
-SET(TESTS_FILES
+LIST(APPEND TESTS_FILES
bug00340
)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c b/Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c
index 14129ab8660..9c6eff3ad64 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecreate/bug00340.c
@@ -5,29 +5,25 @@
* triggering an appropriate warning.
*/
-
#include <string.h>
#include "gd.h"
#include "gd_errors.h"
#include "gdtest.h"
-
#define MSG "product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully\n"
-
void error_handler(int priority, const char *format, ...)
{
- gdTestAssert(priority == GD_WARNING);
- gdTestAssert(!strcmp(format, MSG));
+ gdTestAssert(priority == GD_WARNING);
+ gdTestAssert(!strcmp(format, MSG));
}
-
int main()
{
- gdImagePtr im;
+ gdImagePtr im;
- im = gdImageCreate(64970, 65111);
- gdTestAssert(im == NULL);
+ im = gdImageCreate(64970, 65111);
+ gdTestAssert(im == NULL);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/CMakeLists.txt
index 4b1e97e292c..43f6f6c14cd 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/CMakeLists.txt
@@ -1,6 +1,10 @@
-SET(TESTS_FILES
+LIST(APPEND TESTS_FILES
bug00297
+ bug00432
+ bug00485_auto
+ bug00485_threshold
php_bug_72494
+ bug00486
)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/Makemodule.am
index fe73c1de929..1725f6cbc5f 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/Makemodule.am
@@ -1,5 +1,9 @@
libgd_test_programs += \
gdimagecrop/bug00297 \
+ gdimagecrop/bug00432 \
+ gdimagecrop/bug00485_auto \
+ gdimagecrop/bug00485_threshold \
+ gdimagecrop/bug00486 \
gdimagecrop/php_bug_72494
EXTRA_DIST += \
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00432.c b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00432.c
new file mode 100644
index 00000000000..d3f681f9857
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00432.c
@@ -0,0 +1,45 @@
+/**
+ * Test that gdImageCrop() retains transparency
+ *
+ * We create an image with transparent pixels, crop the image, and check whether
+ * all pixels are identical to the respective source image.
+ *
+ * See <https://github.com/libgd/libgd/issues/432>
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+#define WIDTH 10
+#define HEIGHT 10
+#define XOFF 1
+#define YOFF 1
+
+
+int main()
+{
+ gdImagePtr src, dst;
+ gdRect crop = {XOFF, YOFF, WIDTH-XOFF-1, HEIGHT-YOFF-1};
+ int i, j;
+
+ src = gdImageCreateTrueColor(WIDTH, HEIGHT);
+ gdImageAlphaBlending(src, gdEffectReplace);
+ gdImageFilledRectangle(src, 0, 0, WIDTH-1, HEIGHT-1,
+ gdTrueColorAlpha(gdRedMax, gdGreenMax, gdBlueMax, gdAlphaMax));
+
+ dst = gdImageCrop(src, &crop);
+ gdTestAssert(dst != NULL);
+
+ for (i = 0; i < gdImageSX(dst); i++) {
+ for (j = 0; j < gdImageSY(dst); j++) {
+ gdTestAssert(gdImageGetPixel(dst, i, j) == gdImageGetPixel(src, i+XOFF, j+YOFF));
+ }
+ }
+
+ gdImageDestroy(src);
+ gdImageDestroy(dst);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_auto.c b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_auto.c
new file mode 100644
index 00000000000..3c0627e49d8
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_auto.c
@@ -0,0 +1,52 @@
+/**
+ * Test that gdImageCropAuto() works pixel precise
+ *
+ * We test that a single black pixel anywhere (but the corners) on an 8x8 pixel
+ * image with a white background is auto-cropped to a 1x1 pixel image with a
+ * black pixel.
+ *
+ * See <https://github.com/libgd/libgd/issues/485>
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+gdImagePtr createWhiteImageWithBlackPixelAt(int x, int y)
+{
+ gdImagePtr im = gdImageCreateTrueColor(8, 8);
+ gdImageFilledRectangle(im, 0, 0, 7, 7, 0xffffff);
+ gdImageSetPixel(im, x, y, 0x000000);
+ return im;
+}
+
+
+int main()
+{
+ int x, y, height, width, color;
+ gdImagePtr orig, cropped;
+
+ for (y = 0; y < 8; y++) {
+ for (x = 0; x < 8; x++) {
+ if ((x == 0 && (y == 0 || y == 7)) || (x == 7 && (y == 0 || y == 7))) {
+ continue; // skip the corners
+ }
+ orig = createWhiteImageWithBlackPixelAt(x, y);
+ cropped = gdImageCropAuto(orig, GD_CROP_SIDES);
+ gdTestAssertMsg(cropped != NULL, "Pixel at %d, %d: unexpected NULL crop\n", x, y);
+ if (cropped) {
+ width = gdImageSX(cropped);
+ gdTestAssertMsg(width == 1, "Pixel at %d, %d: unexpected width (%d)\n", x, y, width);
+ height = gdImageSY(cropped);
+ gdTestAssertMsg(height == 1, "Pixel at %d, %d: unexpected height (%d)\n", x, y, height);
+ color = gdImageGetPixel(cropped, 0, 0);
+ gdTestAssertMsg(color == 0x000000, "Pixel at %d, %d: unexpected color (%d)\n", x, y, color);
+ gdImageDestroy(cropped);
+ }
+ gdImageDestroy(orig);
+ }
+ }
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_threshold.c b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_threshold.c
new file mode 100644
index 00000000000..31ac38f1577
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00485_threshold.c
@@ -0,0 +1,48 @@
+/**
+ * Test that gdImageCropThreshold() works pixel precise
+ *
+ * We test that a single black pixel anywhere on an 8x8 pixel image with a white
+ * background is threshold-cropped to a 1x1 pixel image with a black pixel.
+ *
+ * See <https://github.com/libgd/libgd/issues/485>
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+gdImagePtr createWhiteImageWithBlackPixelAt(int x, int y)
+{
+ gdImagePtr im = gdImageCreateTrueColor(8, 8);
+ gdImageFilledRectangle(im, 0, 0, 7, 7, 0xffffff);
+ gdImageSetPixel(im, x, y, 0x000000);
+ return im;
+}
+
+
+int main()
+{
+ int x, y, height, width, color;
+ gdImagePtr orig, cropped;
+
+ for (y = 0; y < 8; y++) {
+ for (x = 0; x < 8; x++) {
+ orig = createWhiteImageWithBlackPixelAt(x, y);
+ cropped = gdImageCropThreshold(orig, 0xffffff, 1.0);
+ gdTestAssertMsg(cropped != NULL, "Pixel at %d, %d: unexpected NULL crop\n", x, y);
+ if (cropped) {
+ width = gdImageSX(cropped);
+ gdTestAssertMsg(width == 1, "Pixel at %d, %d: unexpected width (%d)\n", x, y, width);
+ height = gdImageSY(cropped);
+ gdTestAssertMsg(height == 1, "Pixel at %d, %d: unexpected height (%d)\n", x, y, height);
+ color = gdImageGetPixel(cropped, 0, 0);
+ gdTestAssertMsg(color == 0x000000, "Pixel at %d, %d: unexpected color (%d)\n", x, y, color);
+ gdImageDestroy(cropped);
+ }
+ gdImageDestroy(orig);
+ }
+ }
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00486.c b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00486.c
new file mode 100644
index 00000000000..289d88fe596
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecrop/bug00486.c
@@ -0,0 +1,48 @@
+/**
+ * Test that gdImageCropAuto() crops left and right as well
+ *
+ * We test that an image with four unicolored quadrants, where either both left
+ * quadrants or both right quadrants have the same color, but the remaining
+ * quadrants have different colors, are treated identically by
+ * gdImageCropAuto(…, GD_CROP_SIDES).
+ *
+ * See <https://github.com/libgd/libgd/issues/486>
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr orig, croppedLeft, croppedRight;
+ int red, green, blue;
+
+ orig = gdImageCreateTrueColor(8, 8);
+ red = gdImageColorAllocate(orig, 255, 0, 0);
+ green = gdImageColorAllocate(orig, 0, 255, 0);
+ blue = gdImageColorAllocate(orig, 0, 0, 255);
+
+ gdImageFilledRectangle(orig, 0, 0, 3, 3, green); // tl
+ gdImageFilledRectangle(orig, 4, 0, 7, 3, red); // tr
+ gdImageFilledRectangle(orig, 0, 4, 3, 7, green); // bl
+ gdImageFilledRectangle(orig, 4, 4, 7, 7, blue); // br
+ croppedLeft = gdImageCropAuto(orig, GD_CROP_SIDES);
+ gdTestAssert(croppedLeft != NULL);
+
+ gdImageFilledRectangle(orig, 0, 0, 3, 3, red); // tl
+ gdImageFilledRectangle(orig, 4, 0, 7, 3, green); // tr
+ gdImageFilledRectangle(orig, 0, 4, 3, 7, blue); // bl
+ gdImageFilledRectangle(orig, 4, 4, 7, 7, green); // br
+ croppedRight = gdImageCropAuto(orig, GD_CROP_SIDES);
+ gdTestAssert(croppedRight != NULL);
+
+ gdAssertImageEquals(croppedRight, croppedLeft);
+
+ gdImageDestroy(orig);
+ gdImageDestroy(croppedLeft);
+ gdImageDestroy(croppedRight);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageellipse/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/CMakeLists.txt
new file mode 100644
index 00000000000..b7d79f2cd8b
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ bug00169
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageellipse/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/Makemodule.am
new file mode 100644
index 00000000000..11d207902b0
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimageellipse/bug00169
+endif
+
+EXTRA_DIST += \
+ gdimageellipse/CMakeLists.txt \
+ gdimageellipse/bug00169_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169.c b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169.c
new file mode 100644
index 00000000000..8246c8c6394
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169.c
@@ -0,0 +1,22 @@
+/**
+ * add test case for gdImageEllipse
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im;
+ int white = 0;
+
+ im = gdImageCreateTrueColor(2200, 2200);
+ white = gdImageColorAllocate(im, 255, 255, 255);
+
+ gdImageEllipse(im, 1100, 1100, 2200, 2200, white);
+ gdAssertImageEqualsToFile("gdimageellipse/bug00169_exp.png", im);
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169_exp.png
new file mode 100644
index 00000000000..f844608ab8f
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageellipse/bug00169_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefile/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagefile/Makemodule.am
index df86097df95..8c9e4d53913 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefile/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefile/Makemodule.am
@@ -1,9 +1,11 @@
if HAVE_LIBTIFF
if HAVE_LIBWEBP
+if ENABLE_GD_FORMATS
libgd_test_programs += \
gdimagefile/gdnametest
endif
endif
+endif
EXTRA_DIST += \
gdimagefile/CMakeLists.txt \
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefile/gdnametest.c b/Build/source/libs/gd/libgd-src/tests/gdimagefile/gdnametest.c
index 2b3cc322c45..fcd040adbec 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefile/gdnametest.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefile/gdnametest.c
@@ -11,149 +11,145 @@
#define LY (HEIGHT/2) // Line Y
#define HT 2 // Half of line-thickness
-
-gdImagePtr mkwhite(int x, int y)
+static gdImagePtr
+mkwhite(int x, int y)
{
- gdImagePtr im;
+ gdImagePtr im;
im = gdImageCreateTrueColor(x, y);
gdImageFilledRectangle(im, 0, 0, x-1, y-1,
- gdImageColorExactAlpha(im, 255, 255, 255, 0));
+ gdImageColorExactAlpha(im, 255, 255, 255, 0));
- gdTestAssert(im != NULL);
+ gdTestAssert(im != NULL);
- gdImageSetInterpolationMethod(im, GD_BICUBIC); // FP interp'n
+ gdImageSetInterpolationMethod(im, GD_BICUBIC); // FP interp'n
- return im;
+ return im;
}/* mkwhite*/
+static gdImagePtr
+mkcross(void)
+{
+ gdImagePtr im;
+ int fg, n;
-gdImagePtr mkcross() {
- gdImagePtr im;
- int fg, n;
-
- im = mkwhite(WIDTH, HEIGHT);
- fg = gdImageColorAllocate(im, 0, 0, 0);
+ im = mkwhite(WIDTH, HEIGHT);
+ fg = gdImageColorAllocate(im, 0, 0, 0);
- for (n = -HT; n < HT; n++) {
- gdImageLine(im, LX-n, 0, LX-n, HEIGHT-1, fg);
- gdImageLine(im, 0, LY-n, WIDTH-1, LY-n, fg);
- }/* for */
+ for (n = -HT; n < HT; n++) {
+ gdImageLine(im, LX-n, 0, LX-n, HEIGHT-1, fg);
+ gdImageLine(im, 0, LY-n, WIDTH-1, LY-n, fg);
+ }/* for */
- return im;
+ return im;
}/* mkcross*/
-
-
-
-void
-do_test() {
-
- gdTestAssertMsg(strchr("123",'2') != 0, "strchr() is not functional.\n");
- gdTestAssertMsg(strcasecmp("123abC","123Abc") == 0, "strcasecmp() is not functional.\n");
-
- int n;
- struct {
- const char *nm; // Filename
- unsigned maxdiff; // Maximum total pixel diff
- int required; // 1 -> image type always supported, -1 -> skip it
- int readonly; // 1 -> gd can only read this type
- } names[] = {
- {"img.png", 0, 0, 0},
- {"img.gif", 5, 1, 0}, // This seems to come from tc<->palette
- {"img.GIF", 5, 1, 0}, // Test for case insensitivity
- {"img.gd", 0, 1, 0},
- {"img.gd2", 0, 0, 0},
- {"img.jpg", 25, 0, 0},
- {"img.jpeg", 25, 0, 0},
- {"img.wbmp", 0, 1, 0},
- {"img.bmp", 0, 1, 0},
- {"img-ref.xpm", 0, 0, 1},
- {"img-ref.xbm", 0, 1, 1},
- {"img-ref.tga", 0, 1, 1},
- {"img.webp", 10, 1, 0},
- {"img.tiff", 0, 1, 0},
-
- {NULL, 0}
- };
-
- for (n = 0; names[n].nm; n++) {
- gdImagePtr orig, copy;
- int status;
- char *full_filename = NULL;
- unsigned int pixels;
-
- /* Some image readers are buggy and crash the program so we
- * skip them. Bug fixers should remove these from the list of
- * skipped items as bugs are fixed. */
- if (names[n].required < 0) {
- printf("Skipping test for '%s'. FIX THIS!\n", names[n].nm);
- continue;
- }/* if */
-
- /* Skip this file if the current library build doesn't support
- * it. (If it's one of the built-in types, *that* a different
- * problem; we assert that here.) */
- if (!gdSupportsFileType(names[n].nm, 0)) {
- gdTestAssertMsg(!names[n].required, "GD doesn't support required file type: %s\n", names[n].nm);
- continue;
- }/* if */
-
- orig = mkcross();
-
- /* Write the image unless writing is not supported. */
- if (!names[n].readonly) {
- /* Prepend the test directory; this is expected to be run in
- * the parent dir. */
- full_filename = gdTestTempFile(names[n].nm);
- status = gdImageFile(orig, full_filename);
- gdTestAssertMsg(status == GD_TRUE, "Failed to create %s\n", full_filename);
- } else {
- /* Prepend the test directory; this is expected to be run in
- * the parent dir. */
- full_filename = gdTestFilePath2("gdimagefile", names[n].nm);
- }/* if */
-
- copy = gdImageCreateFromFile(full_filename);
- gdTestAssertMsg(!!copy, "Failed to load %s\n", full_filename);
- if (!copy) continue;
-
- pixels = gdMaxPixelDiff(orig, copy);
- gdTestAssertMsg(pixels <= names[n].maxdiff, "%u pixels different on %s\n", pixels, full_filename);
-
- if (!names[n].readonly) {
- status = remove(full_filename);
- gdTestAssertMsg(status == 0, "Failed to delete %s\n", full_filename);
- }/* if */
-
- free(full_filename);
- gdImageDestroy(orig);
- gdImageDestroy(copy);
- }/* for */
+static void
+do_test(void)
+{
+ gdTestAssertMsg(strchr("123",'2') != 0, "strchr() is not functional.\n");
+ gdTestAssertMsg(strcasecmp("123abC","123Abc") == 0, "strcasecmp() is not functional.\n");
+
+ int n;
+ struct {
+ const char *nm; // Filename
+ unsigned maxdiff; // Maximum total pixel diff
+ int required; // 1 -> image type always supported, -1 -> skip it
+ int readonly; // 1 -> gd can only read this type
+ } names[] = {
+ {"img.png", 0, 0, 0},
+ {"img.gif", 5, 1, 0}, // This seems to come from tc<->palette
+ {"img.GIF", 5, 1, 0}, // Test for case insensitivity
+ {"img.gd", 0, 1, 0},
+ {"img.gd2", 0, 0, 0},
+ {"img.jpg", 25, 0, 0},
+ {"img.jpeg", 25, 0, 0},
+ {"img.wbmp", 0, 1, 0},
+ {"img.bmp", 0, 1, 0},
+ {"img-ref.xpm", 0, 0, 1},
+ {"img-ref.xbm", 0, 1, 1},
+ {"img-ref.tga", 0, 1, 1},
+ {"img.webp", 10, 1, 0},
+ {"img.tiff", 0, 1, 0},
+
+ {NULL, 0}
+ };
+
+ for (n = 0; names[n].nm; n++) {
+ gdImagePtr orig, copy;
+ int status;
+ char *full_filename = NULL;
+ unsigned int pixels;
+
+ /* Some image readers are buggy and crash the program so we
+ * skip them. Bug fixers should remove these from the list of
+ * skipped items as bugs are fixed. */
+ if (names[n].required < 0) {
+ printf("Skipping test for '%s'. FIX THIS!\n", names[n].nm);
+ continue;
+ }/* if */
+
+ /* Skip this file if the current library build doesn't support
+ * it. (If it's one of the built-in types, *that* a different
+ * problem; we assert that here.) */
+ if (!gdSupportsFileType(names[n].nm, 0)) {
+ gdTestAssertMsg(!names[n].required, "GD doesn't support required file type: %s\n", names[n].nm);
+ continue;
+ }/* if */
+
+ orig = mkcross();
+
+ /* Write the image unless writing is not supported. */
+ if (!names[n].readonly) {
+ /* Prepend the test directory; this is expected to be run in
+ * the parent dir. */
+ full_filename = gdTestTempFile(names[n].nm);
+ status = gdImageFile(orig, full_filename);
+ gdTestAssertMsg(status == GD_TRUE, "Failed to create %s\n", full_filename);
+ } else {
+ /* Prepend the test directory; this is expected to be run in
+ * the parent dir. */
+ full_filename = gdTestFilePath2("gdimagefile", names[n].nm);
+ }/* if */
+
+ copy = gdImageCreateFromFile(full_filename);
+ gdTestAssertMsg(!!copy, "Failed to load %s\n", full_filename);
+ if (!copy) continue;
+
+ pixels = gdMaxPixelDiff(orig, copy);
+ gdTestAssertMsg(pixels <= names[n].maxdiff, "%u pixels different on %s\n", pixels, full_filename);
+
+ if (!names[n].readonly) {
+ status = remove(full_filename);
+ gdTestAssertMsg(status == 0, "Failed to delete %s\n", full_filename);
+ }/* if */
+
+ free(full_filename);
+ gdImageDestroy(orig);
+ gdImageDestroy(copy);
+ }/* for */
}/* do_test*/
+static void
+do_errortest(void)
+{
+ gdImagePtr im;
-void
-do_errortest() {
- gdImagePtr im;
-
- im = mkcross();
+ im = mkcross();
- gdTestAssert(!gdImageFile(im, "img.xpng"));
- gdTestAssert(!gdImageFile(im, "bobo"));
- gdTestAssert(!gdImageFile(im, "png"));
- gdTestAssert(!gdImageFile(im, ""));
+ gdTestAssert(!gdImageFile(im, "img.xpng"));
+ gdTestAssert(!gdImageFile(im, "bobo"));
+ gdTestAssert(!gdImageFile(im, "png"));
+ gdTestAssert(!gdImageFile(im, ""));
- gdImageDestroy(im);
+ gdImageDestroy(im);
}/* do_errortest*/
-
int main()
{
+ do_test();
+ do_errortest();
- do_test();
- do_errortest();
-
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_1.c b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_1.c
index 752178a4805..3feaf42f68d 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_1.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_1.c
@@ -37,4 +37,3 @@ int main()
return error;
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_2.c b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_2.c
index 982ae8f64d4..4edcd6aca7c 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_2.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_2.c
@@ -46,4 +46,3 @@ int main()
gdImageDestroy(tile);
return error;
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_3.c b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_3.c
index b11fbc91ccb..1a1929e4205 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_3.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00002_3.c
@@ -51,4 +51,3 @@ int main()
gdImageDestroy(tile);
return error;
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00104_1.c b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00104_1.c
index 13247cab4e0..694788a5f86 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00104_1.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefill/bug00104_1.c
@@ -8,26 +8,26 @@ int main()
gdImagePtr im, tile;
int tile_red, tile_blue;
int error = 0;
-
+
im = gdImageCreate(200, 150);
tile = gdImageCreateTrueColor(2, 2);
-
+
tile_red = gdImageColorAllocate(tile, 255, 0, 0);
tile_blue = gdImageColorAllocate(tile, 0, 0, 255);
-
+
gdImageSetPixel(tile, 0, 0, tile_red);
gdImageSetPixel(tile, 1, 1, tile_red);
gdImageSetPixel(tile, 1, 0, tile_blue);
gdImageSetPixel(tile, 0, 1, tile_blue);
-
+
gdImageSetTile(im, tile);
gdImageFill(im, 11, 12, gdTiled);
if (!gdAssertImageEqualsToFile("gdimagefill/bug00104_1_exp.png", im)) {
error = 1;
}
-
+
gdImageDestroy(im);
gdImageDestroy(tile);
return error;
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/CMakeLists.txt
index ba6d28f49a6..4042df931c2 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/CMakeLists.txt
@@ -1,5 +1,6 @@
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
+ bug00351
php_bug43828
)
ENDIF(PNG_FOUND)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/Makemodule.am
index 4af6963f86c..710c0a095ee 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/Makemodule.am
@@ -1,8 +1,10 @@
if HAVE_LIBPNG
libgd_test_programs += \
+ gdimagefilledarc/bug00351 \
gdimagefilledarc/php_bug43828
endif
EXTRA_DIST += \
gdimagefilledarc/CMakeLists.txt \
+ gdimagefilledarc/bug00351_exp.png \
gdimagefilledarc/php_bug43828_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351.c
new file mode 100644
index 00000000000..20b0fdea308
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351.c
@@ -0,0 +1,30 @@
+/**
+ * Test drawing of pies starting and/or ending near 90°
+ *
+ * See <https://github.com/libgd/libgd/issues/351>.
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr im;
+ int white, navy, red;
+
+ im = gdImageCreateTrueColor(500, 500);
+ white = gdTrueColorAlpha(0xFF, 0xFF, 0xFF, gdAlphaOpaque);
+ navy = gdTrueColorAlpha(0x00, 0x00, 0x80, gdAlphaOpaque);
+ red = gdTrueColorAlpha(0xFF, 0x00, 0x00, gdAlphaOpaque);
+
+ gdImageFilledArc(im, 250, 250, 500, 250, 0, 88, white, gdPie);
+ gdImageFilledArc(im, 250, 250, 500, 250, 88, 91 , navy, gdPie);
+ gdImageFilledArc(im, 250, 250, 500, 250, 91, 360 , red, gdPie);
+
+ gdAssertImageEqualsToFile("gdimagefilledarc/bug00351_exp.png", im);
+
+ gdImageDestroy(im);
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351_exp.png
new file mode 100644
index 00000000000..16b2db2623e
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledarc/bug00351_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/CMakeLists.txt
index 5fe4edd1ad4..48286e4a5ef 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/CMakeLists.txt
@@ -1,6 +1,7 @@
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
bug00010
+ bug00169
bug00191
github_bug_00238
)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/Makemodule.am
index 6a5185a10c1..0a886868967 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/Makemodule.am
@@ -1,6 +1,7 @@
if HAVE_LIBPNG
libgd_test_programs += \
gdimagefilledellipse/bug00010 \
+ gdimagefilledellipse/bug00169 \
gdimagefilledellipse/bug00191 \
gdimagefilledellipse/github_bug_00238
endif
@@ -8,5 +9,6 @@ endif
EXTRA_DIST += \
gdimagefilledellipse/CMakeLists.txt \
gdimagefilledellipse/bug00010_exp.png \
+ gdimagefilledellipse/bug00169_exp.png \
gdimagefilledellipse/bug00191.png \
gdimagefilledellipse/github_bug_00238_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169.c
new file mode 100644
index 00000000000..639e52fc767
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169.c
@@ -0,0 +1,22 @@
+/**
+ * add test case for gdImageFilledEllipse
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im;
+ int white = 0;
+
+ im = gdImageCreateTrueColor(2200, 2200);
+ white = gdImageColorAllocate(im, 255, 255, 255);
+
+ gdImageFilledEllipse(im, 1100, 1100, 2200, 2200, white);
+ gdAssertImageEqualsToFile("gdimagefilledellipse/bug00169_exp.png", im);
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169_exp.png
new file mode 100644
index 00000000000..db883907cdc
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/bug00169_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/github_bug_00238.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/github_bug_00238.c
index 499923fedd3..67c93fd551b 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/github_bug_00238.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledellipse/github_bug_00238.c
@@ -12,7 +12,7 @@ int main()
goto exit;
}
- gdImageAlphaBlending(im, gdEffectNormal);
+ gdImageAlphaBlending(im, gdEffectNormal);
gdImageFilledRectangle(im, 0, 0, 140, 199, gdTrueColorAlpha(0,0,0,127));
gdImageAlphaBlending(im, gdEffectAlphaBlend);
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/self_intersecting.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/self_intersecting.c
index ebb1404984d..f9b96dac535 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/self_intersecting.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/self_intersecting.c
@@ -3,29 +3,27 @@
* *currently* using the even-odd fillrule.
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- int black;
- gdPoint points[] = {{50, 5}, {24, 86}, {93, 36}, {7, 36}, {76, 86}};
- char *path;
+ gdImagePtr im;
+ int black;
+ gdPoint points[] = {{50, 5}, {24, 86}, {93, 36}, {7, 36}, {76, 86}};
+ char *path;
- im = gdImageCreate(100, 100);
- gdImageColorAllocate(im, 255, 255, 255);
- black = gdImageColorAllocate(im, 0, 0, 0);
+ im = gdImageCreate(100, 100);
+ gdImageColorAllocate(im, 255, 255, 255);
+ black = gdImageColorAllocate(im, 0, 0, 0);
- gdImageFilledPolygon(im, points, 5, black);
+ gdImageFilledPolygon(im, points, 5, black);
- path = gdTestFilePath2("gdimagefilledpolygon", "self_intersecting_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("gdimagefilledpolygon", "self_intersecting_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00004.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00004.c
index 594e29637d7..87e33dc3a22 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00004.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00004.c
@@ -24,4 +24,3 @@ int main()
return 1;
}
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00078.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00078.c
index adf244ebca2..4cde69867ee 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00078.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00078.c
@@ -36,4 +36,3 @@ int main()
gdImageDestroy(im);
return 0;
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c
index 24f5ceb9327..a6f5c06959b 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c
@@ -24,4 +24,3 @@ int main()
return 1;
}
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/CMakeLists.txt
index fcf18f1a2e5..29502352ad3 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/CMakeLists.txt
@@ -1,8 +1,6 @@
-IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
bug00037
github_bug_215
)
-ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/Makemodule.am
index fc7ed3d05d6..779bda0565b 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/Makemodule.am
@@ -1,8 +1,6 @@
-if HAVE_LIBPNG
libgd_test_programs += \
gdimagefilltoborder/bug00037 \
gdimagefilltoborder/github_bug_215
-endif
EXTRA_DIST += \
gdimagefilltoborder/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/bug00037.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/bug00037.c
index ab7e1b805bf..72e58b7fe64 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/bug00037.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilltoborder/bug00037.c
@@ -27,4 +27,3 @@ int main()
}
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilter/gdCopyBlurred.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilter/gdCopyBlurred.c
index dee2f1f8d52..aec49f51eb9 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagefilter/gdCopyBlurred.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilter/gdCopyBlurred.c
@@ -143,7 +143,7 @@ void do_crosstest()
{
gdImagePtr im = mkcross();
gdImagePtr blurred;
- const int RADIUS = 16;
+ const int RADIUS = 16;
gdTestAssert(!!im);
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageflip/gdimageflip.c b/Build/source/libs/gd/libgd-src/tests/gdimageflip/gdimageflip.c
index a29e50e18f2..da834eeda65 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageflip/gdimageflip.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageflip/gdimageflip.c
@@ -2,36 +2,33 @@
* Testing the basic operation of the gdImageFlip*() functions
*/
-
#include "gd.h"
#include "gdtest.h"
-
static void test_flip(void (BGD_STDCALL *func)(gdImagePtr), const char *filename)
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("gdimageflip", "remi.png");
- im = gdImageCreateFromPng(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("gdimageflip", "remi.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
- func(im);
+ func(im);
- path = gdTestFilePath2("gdimageflip", filename);
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("gdimageflip", filename);
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
}
-
int main()
{
- test_flip(gdImageFlipVertical, "gdimageflipvertical_exp.png");
- test_flip(gdImageFlipHorizontal, "gdimagefliphorizontal_exp.png");
- test_flip(gdImageFlipBoth, "gdimageflipboth_exp.png");
+ test_flip(gdImageFlipVertical, "gdimageflipvertical_exp.png");
+ test_flip(gdImageFlipHorizontal, "gdimagefliphorizontal_exp.png");
+ test_flip(gdImageFlipBoth, "gdimageflipboth_exp.png");
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/basic.c b/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/basic.c
index 40b4201944a..3ecc482366d 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/basic.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/basic.c
@@ -2,28 +2,26 @@
* Basic test for gdImageGrayScale()
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("gdimagegrayscale", "basic.png");
- im = gdImageCreateFromPng(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("gdimagegrayscale", "basic.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
- gdImageGrayScale(im);
+ gdImageGrayScale(im);
- path = gdTestFilePath2("gdimagegrayscale", "basic_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("gdimagegrayscale", "basic_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/bug00386.c b/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/bug00386.c
index 5b6d048130a..2e68ed4d051 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/bug00386.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagegrayscale/bug00386.c
@@ -47,5 +47,7 @@ int main()
}
}
+ gdImageDestroy(im);
+
return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageline/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimageline/CMakeLists.txt
index 1f8c419a682..c345ed1426e 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageline/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageline/CMakeLists.txt
@@ -7,6 +7,7 @@ LIST(APPEND TESTS_FILES
bug00077
bug00072
bug00111
+ bug00315
gdimageline_aa
gdimageline_bug5
gdImageAALine_thickness
@@ -14,4 +15,4 @@ LIST(APPEND TESTS_FILES
)
ENDIF(PNG_FOUND)
-ADD_GD_TESTS(m)
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageline/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimageline/Makemodule.am
index 3b541a16a9a..9c104da2d5e 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimageline/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageline/Makemodule.am
@@ -6,6 +6,7 @@ libgd_test_programs += \
gdimageline/bug00072 \
gdimageline/bug00077 \
gdimageline/bug00111 \
+ gdimageline/bug00315 \
gdimageline/gdimageline_aa \
gdimageline/gdimageline_bug5 \
gdimageline/gdImageAALine_thickness \
@@ -17,6 +18,7 @@ EXTRA_DIST += \
gdimageline/bug00072_exp.png \
gdimageline/bug00077_exp.png \
gdimageline/bug00111_exp.png \
+ gdimageline/bug00315_exp.png \
gdimageline/gdimageline_aa_a_1_exp.png \
gdimageline/gdimageline_aa_b_0_exp.png \
gdimageline/gdimageline_aa_c_0_exp.png \
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315.c b/Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315.c
new file mode 100644
index 00000000000..719d155e0ba
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315.c
@@ -0,0 +1,37 @@
+/**
+ * Regression test for <https://github.com/libgd/libgd/issues/315>
+ *
+ * We're testing that a single-pointed gdImageAALine() is drawn as a single
+ * non-antialized pixel, according to (two-pointed) vertical and horizontal
+ * lines.
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im;
+ int white, black;
+ char *path;
+
+ im = gdImageCreateTrueColor(6, 6);
+ white = gdImageColorAllocate(im, 255, 255, 255);
+ black = gdImageColorAllocate(im, 0, 0, 0);
+ gdImageFilledRectangle(im, 0,0, 5,5, white);
+
+ gdImageLine(im, 4,4, 4,4, black);
+ gdImageLine(im, 1,4, 2,4, black);
+ gdImageLine(im, 4,1, 4,2, black);
+
+ gdImageSetAntiAliased(im, black);
+ gdImageLine(im, 1,1, 1,1, gdAntiAliased);
+
+ path = gdTestFilePath2("gdimageline", "bug00315_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315_exp.png
new file mode 100644
index 00000000000..a6b2d850597
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimageline/bug00315_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagenegate/basic.c b/Build/source/libs/gd/libgd-src/tests/gdimagenegate/basic.c
index f8dafc8ea23..563eec60d33 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagenegate/basic.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagenegate/basic.c
@@ -2,28 +2,26 @@
* Basic test for gdImageNegate()
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("gdimagenegate", "basic.png");
- im = gdImageCreateFromPng(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("gdimagenegate", "basic.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
- gdImageNegate(im);
+ gdImageNegate(im);
- path = gdTestFilePath2("gdimagenegate", "basic_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("gdimagenegate", "basic_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagepixelate/gdimagepixelate.c b/Build/source/libs/gd/libgd-src/tests/gdimagepixelate/gdimagepixelate.c
index 047ac8f446e..f8e6646d05b 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagepixelate/gdimagepixelate.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagepixelate/gdimagepixelate.c
@@ -27,28 +27,28 @@ static const int expected_average[][3] = {
} \
} while (0)
-#define CHECK_PIXELS(im, expected) do { \
- int x, y; \
- for (y = 0; y < (im)->sy; y++) { \
- for (x = 0; x < (im)->sx; x++) { \
- int p = gdImageGetPixel(im, x, y); \
- int r = ((expected)[y/BLOCK_SIZE][x/BLOCK_SIZE]>>16)&0xFF; \
- int g = ((expected)[y/BLOCK_SIZE][x/BLOCK_SIZE]>> 8)&0xFF; \
- int b = ((expected)[y/BLOCK_SIZE][x/BLOCK_SIZE] )&0xFF; \
- if (r != gdImageRed(im, p)) { \
+#define CHECK_PIXELS(im, expected) do { \
+ int x, y; \
+ for (y = 0; y < (im)->sy; y++) { \
+ for (x = 0; x < (im)->sx; x++) { \
+ int p = gdImageGetPixel(im, x, y); \
+ int r = ((expected)[y/BLOCK_SIZE][x/BLOCK_SIZE]>>16)&0xFF; \
+ int g = ((expected)[y/BLOCK_SIZE][x/BLOCK_SIZE]>> 8)&0xFF; \
+ int b = ((expected)[y/BLOCK_SIZE][x/BLOCK_SIZE] )&0xFF; \
+ if (r != gdImageRed(im, p)) { \
gdTestErrorMsg("Red %x is expected, but %x\n", r, gdImageRed(im, p)); \
- return 0; \
- } \
- if (g != gdImageGreen(im, p)) { \
+ return 0; \
+ } \
+ if (g != gdImageGreen(im, p)) { \
gdTestErrorMsg("Green %x is expected, but %x\n", g, gdImageGreen(im, p)); \
- return 0; \
- } \
- if (b != gdImageBlue(im, p)) { \
+ return 0; \
+ } \
+ if (b != gdImageBlue(im, p)) { \
gdTestErrorMsg("Blue %x is expected, but %x\n", b, gdImageBlue(im, p)); \
- return 0; \
- } \
- } \
- } \
+ return 0; \
+ } \
+ } \
+ } \
} while (0)
static int testPixelate(gdImagePtr im)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/github_bug_00172.c b/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/github_bug_00172.c
index 6519342041f..9fd18aad8f8 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/github_bug_00172.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/github_bug_00172.c
@@ -40,13 +40,6 @@ int main() {
error |=1;
}
}
-
- if (gdImageGetPixel(im, xs -1, 95) != white) {
- error |=1;
- }
- if (gdImageGetPixel(im, xe +1, 95) != white) {
- error |=1;
- }
gdImageDestroy(im);
return error;
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/point_ordering.c b/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/point_ordering.c
index b2ea4ed1735..704b3bd35b2 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/point_ordering.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagerectangle/point_ordering.c
@@ -1,7 +1,7 @@
/**
* Test point ordering of gdImageRectangle()
*
- * We're testing the two allowed point orders with and without thickness,
+ * We're testing all four possible point orders with and without thickness,
* and verify that all sides of the rectangle are drawn.
*
* See also <https://github.com/libgd/libgd/issues/177>
@@ -27,10 +27,14 @@ int main()
red = gdImageColorAllocate(im, 255, 0, 0);
draw_and_check_rectangle(im, 10, 10, 50, 50, black, red);
+ draw_and_check_rectangle(im, 50, 60, 10, 100, black, red);
draw_and_check_rectangle(im, 50, 150, 10, 110, black, red);
+ draw_and_check_rectangle(im, 10, 200, 50, 160, black, red);
gdImageSetThickness(im, 4);
draw_and_check_rectangle(im, 60, 10, 100, 50, black, red);
+ draw_and_check_rectangle(im, 100, 60, 60, 100, black, red);
draw_and_check_rectangle(im, 100, 150, 60, 110, black, red);
+ draw_and_check_rectangle(im, 60, 200, 100, 160, black, red);
#if 0
/* save image for debugging purposes */
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/CMakeLists.txt
index 01957c5905c..7b8ab14b35a 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/CMakeLists.txt
@@ -1,11 +1,6 @@
IF(PNG_FOUND)
-IF(JPEG_FOUND)
LIST(APPEND TESTS_FILES
bug00067
-)
-ENDIF(JPEG_FOUND)
-
-LIST(APPEND TESTS_FILES
php_bug_64898
php_bug_65070
)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/Makemodule.am
index 9d375f39b9e..116c851b432 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/Makemodule.am
@@ -1,10 +1,6 @@
if HAVE_LIBPNG
-if HAVE_LIBJPEG
-libgd_test_programs += \
- gdimagerotate/bug00067
-endif
-
libgd_test_programs += \
+ gdimagerotate/bug00067 \
gdimagerotate/php_bug_64898 \
gdimagerotate/php_bug_65070
endif
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070.c b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070.c
index 0bf34a3d78e..87a43ea2e7c 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070.c
@@ -5,11 +5,9 @@
* color.
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
gdImagePtr src, dst;
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070_exp.png
index fba85f6f06f..64b8b1095b7 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070_exp.png
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagerotate/php_bug_65070_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00329.c b/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00329.c
index bc505c12935..67a15618879 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00329.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00329.c
@@ -6,48 +6,45 @@
* expected color.
*/
-
#include <string.h>
#include "gd.h"
#include "gdtest.h"
-
static void test(const char *mode)
{
- gdImagePtr src, dst;
- int expected, actual;
-
- if (strcmp(mode, "palette")) {
- src = gdImageCreateTrueColor(100, 100);
- expected = gdTrueColorAlpha(255, 255, 255, gdAlphaOpaque);
- gdImageFilledRectangle(src, 0,0, 99,99, expected);
- } else {
- src = gdImageCreate(100, 100);
- gdImageColorAllocate(src, 255, 255, 255);
- expected = gdImageGetTrueColorPixel(src, 49, 49);
- }
-
- gdImageSetInterpolationMethod(src, GD_BILINEAR_FIXED);
- dst = gdImageScale(src, 200, 200);
-
- actual = gdImageGetPixel(dst, 0, 0);
- gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
- actual = gdImageGetPixel(dst, 0, 199);
- gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
- actual = gdImageGetPixel(dst, 199, 199);
- gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
- actual = gdImageGetPixel(dst, 199, 0);
- gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
-
- gdImageDestroy(src);
- gdImageDestroy(dst);
+ gdImagePtr src, dst;
+ int expected, actual;
+
+ if (strcmp(mode, "palette")) {
+ src = gdImageCreateTrueColor(100, 100);
+ expected = gdTrueColorAlpha(255, 255, 255, gdAlphaOpaque);
+ gdImageFilledRectangle(src, 0,0, 99,99, expected);
+ } else {
+ src = gdImageCreate(100, 100);
+ gdImageColorAllocate(src, 255, 255, 255);
+ expected = gdImageGetTrueColorPixel(src, 49, 49);
+ }
+
+ gdImageSetInterpolationMethod(src, GD_BILINEAR_FIXED);
+ dst = gdImageScale(src, 200, 200);
+
+ actual = gdImageGetPixel(dst, 0, 0);
+ gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
+ actual = gdImageGetPixel(dst, 0, 199);
+ gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
+ actual = gdImageGetPixel(dst, 199, 199);
+ gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
+ actual = gdImageGetPixel(dst, 199, 0);
+ gdTestAssertMsg(actual == expected, "%s: wrong color; expected %x, but got %x", mode, expected, actual);
+
+ gdImageDestroy(src);
+ gdImageDestroy(dst);
}
-
int main()
{
- test("palette");
- test("truecolor");
+ test("palette");
+ test("truecolor");
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00330.c b/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00330.c
index 0c9d10c9139..44ba2f473fd 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00330.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug00330.c
@@ -5,28 +5,26 @@
* has the expected color value.
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr src, dst;
- int color;
+ gdImagePtr src, dst;
+ int color;
- src = gdImageCreate(100, 100);
- gdImageColorAllocate(src, 255, 255, 255);
+ src = gdImageCreate(100, 100);
+ gdImageColorAllocate(src, 255, 255, 255);
- gdImageSetInterpolationMethod(src, GD_BILINEAR_FIXED);
- dst = gdImageScale(src, 200, 200);
+ gdImageSetInterpolationMethod(src, GD_BILINEAR_FIXED);
+ dst = gdImageScale(src, 200, 200);
- color = gdImageGetPixel(dst, 99, 99);
- gdTestAssertMsg(color == 0xffffff,
- "expected color ffffff, but got %x\n", color);
+ color = gdImageGetPixel(dst, 99, 99);
+ gdTestAssertMsg(color == 0xffffff,
+ "expected color ffffff, but got %x\n", color);
- gdImageDestroy(src);
- gdImageDestroy(dst);
+ gdImageDestroy(src);
+ gdImageDestroy(dst);
- return 0;
+ return 0;
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug_overflow_large_new_size.c b/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug_overflow_large_new_size.c
index 0a8503b745f..20cda1d03e2 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug_overflow_large_new_size.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagescale/bug_overflow_large_new_size.c
@@ -15,13 +15,14 @@ int main()
return 1;
}
gdImageSetInterpolationMethod(im, GD_BELL);
-
+
/* here the call may pass if the system has enough memory (physical or swap)
or fails (overflow check or alloc fails.
in both cases the tests pass */
im2 = gdImageScale(im,0x15555556, 1);
if (im2 == NULL) {
printf("gdImageScale failed, expected (out of memory or overflow validation\n");
+ gdImageDestroy(im);
return 0;
}
gdImageDestroy(im);
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/CMakeLists.txt
new file mode 100644
index 00000000000..655106266cd
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/CMakeLists.txt
@@ -0,0 +1,5 @@
+LIST(APPEND TESTS_FILES
+ github_bug_00584
+)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/Makemodule.am
new file mode 100644
index 00000000000..1b833367e5e
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/Makemodule.am
@@ -0,0 +1,5 @@
+libgd_test_programs += \
+ gdimagesetinterpolationmethod/github_bug_00584
+
+EXTRA_DIST += \
+ gdimagesetinterpolationmethod/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/github_bug_00584.c b/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/github_bug_00584.c
new file mode 100644
index 00000000000..e11f9f06331
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesetinterpolationmethod/github_bug_00584.c
@@ -0,0 +1,31 @@
+/**
+ * Test that gdImageSetInterpolationMethod(im, GD_DEFAULT) is consistent
+ *
+ * See <https://github.com/libgd/libgd/issues/584>
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr im;
+ gdInterpolationMethod old_m, new_m;
+ interpolation_method old_f, new_f;
+
+ im = gdImageCreateTrueColor(8, 8);
+ gdTestAssert(im != NULL);
+ gdTestAssert(gdImageSetInterpolationMethod(im, GD_SINC));
+ old_m = gdImageGetInterpolationMethod(im);
+ gdTestAssert(old_m == GD_SINC);
+ old_f = im->interpolation;
+ gdTestAssert(gdImageSetInterpolationMethod(im, GD_DEFAULT));
+ new_m = gdImageGetInterpolationMethod(im);
+ gdTestAssert(new_m == GD_LINEAR);
+ new_f = im->interpolation;
+ gdTestAssert(new_m != old_m);
+ gdTestAssert(new_f != old_f);
+ gdImageDestroy(im);
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesetpixel/alpha_blending.c b/Build/source/libs/gd/libgd-src/tests/gdimagesetpixel/alpha_blending.c
index 9874df659d9..f182d59f124 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagesetpixel/alpha_blending.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesetpixel/alpha_blending.c
@@ -2,53 +2,51 @@
* Testing all effects
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- int effects[] = {
- gdEffectReplace, gdEffectAlphaBlend, gdEffectNormal,
- gdEffectOverlay, gdEffectMultiply
- };
- int red[3], blue[3];
- int x, y, i, j;
- char *path;
-
- red[0] = gdTrueColorAlpha(0, 0, 255, 127);
- red[1] = gdTrueColorAlpha(0, 0, 255, 63);
- red[2] = gdTrueColorAlpha(0, 0, 255, 0);
- blue[0] = gdTrueColorAlpha(255, 0, 0, 127);
- blue[1] = gdTrueColorAlpha(255, 0, 0, 63);
- blue[2] = gdTrueColorAlpha(255, 0, 0, 0);
-
- im = gdImageCreateTrueColor(120, 180);
-
- gdImageAlphaBlending(im, gdEffectReplace);
- for (j = 0; j < 3; j++) {
- y = 60 * j;
- gdImageFilledRectangle(im, 0,y, 119,y+59, red[j]);
- }
-
- for (i = 0; i < 5; i++) {
- x = 20 * i;
- gdImageAlphaBlending(im, effects[i]);
- for (j = 0; j < 9; j++) {
- y = 20 * j;
- gdImageFilledRectangle(im, x+20,y, x+39,y+19, blue[j % 3]);
- }
- }
-
- gdImageSaveAlpha(im, 1);
-
- path = gdTestFilePath2("gdimagesetpixel", "alphablending_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
-
- gdImageDestroy(im);
-
- return gdNumFailures();
+ gdImagePtr im;
+ int effects[] = {
+ gdEffectReplace, gdEffectAlphaBlend, gdEffectNormal,
+ gdEffectOverlay, gdEffectMultiply
+ };
+ int red[3], blue[3];
+ int x, y, i, j;
+ char *path;
+
+ red[0] = gdTrueColorAlpha(0, 0, 255, 127);
+ red[1] = gdTrueColorAlpha(0, 0, 255, 63);
+ red[2] = gdTrueColorAlpha(0, 0, 255, 0);
+ blue[0] = gdTrueColorAlpha(255, 0, 0, 127);
+ blue[1] = gdTrueColorAlpha(255, 0, 0, 63);
+ blue[2] = gdTrueColorAlpha(255, 0, 0, 0);
+
+ im = gdImageCreateTrueColor(120, 180);
+
+ gdImageAlphaBlending(im, gdEffectReplace);
+ for (j = 0; j < 3; j++) {
+ y = 60 * j;
+ gdImageFilledRectangle(im, 0,y, 119,y+59, red[j]);
+ }
+
+ for (i = 0; i < 5; i++) {
+ x = 20 * i;
+ gdImageAlphaBlending(im, effects[i]);
+ for (j = 0; j < 9; j++) {
+ y = 20 * j;
+ gdImageFilledRectangle(im, x+20,y, x+39,y+19, blue[j % 3]);
+ }
+ }
+
+ gdImageSaveAlpha(im, 1);
+
+ path = gdTestFilePath2("gdimagesetpixel", "alphablending_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/CMakeLists.txt
new file mode 100644
index 00000000000..a8c9430b5c7
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagesquaretocircle
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/Makemodule.am
new file mode 100644
index 00000000000..5b303000756
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/Makemodule.am
@@ -0,0 +1,6 @@
+libgd_test_programs += \
+ gdimagesquaretocircle/gdimagesquaretocircle
+
+EXTRA_DIST += \
+ gdimagesquaretocircle/CMakeLists.txt \
+ gdimagesquaretocircle/gdimagesquaretocircle_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle.c b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle.c
new file mode 100644
index 00000000000..f8fba91d384
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle.c
@@ -0,0 +1,32 @@
+/**
+ * Basic test for gdImageSquareToCircle()
+ */
+#include "gd.h"
+#include "gdfx.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im1, im2;
+ int white;
+ int black;
+
+ im1 = gdImageCreateTrueColor(128, 128);
+ white = gdImageColorAllocate(im1, 255, 255, 255);
+ black = gdImageColorAllocate(im1, 0, 0, 0);
+ gdImageFilledRectangle(im1, 0, 0, 127, 127, white);
+
+ /* Draw a cross line in the middle of im1 */
+ /* The horizonal line will become a circle in im2 */
+ /* The vertical line will become a horizonal with half len in im2 */
+ gdImageLine(im1, 0, 63, 127, 63, black);
+ gdImageLine(im1, 63, 0, 63, 127, black);
+ im2 = gdImageSquareToCircle(im1, 64);
+
+ gdAssertImageEqualsToFile("gdimagesquaretocircle/gdimagesquaretocircle_exp.png", im2);
+
+ gdImageDestroy(im1);
+ gdImageDestroy(im2);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle_exp.png
new file mode 100644
index 00000000000..222bb13f6fa
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagesquaretocircle/gdimagesquaretocircle_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagestring/CMakeLists.txt
new file mode 100644
index 00000000000..3cabaec548b
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagestring
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagestring/Makemodule.am
new file mode 100644
index 00000000000..84ca656555f
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagestring/gdimagestring
+endif
+
+EXTRA_DIST += \
+ gdimagestring/CMakeLists.txt \
+ gdimagestring/gdimagestring_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring.c b/Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring.c
new file mode 100644
index 00000000000..c4b4aa1e898
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring.c
@@ -0,0 +1,34 @@
+/**
+ * Base test for gdImageString()
+ */
+#include <gd.h>
+#include <gdfontl.h>
+#include "gdtest.h"
+#include <string.h>
+
+int main()
+{
+ /* Declare the image */
+ gdImagePtr im = NULL;
+ char *s = "Hello gd";
+ int foreground = 0;
+ int error = 0;
+ gdFontPtr fontptr = gdFontGetLarge();
+
+ im = gdImageCreate(100, 50);
+ gdImageColorAllocate(im, 202, 202, 0);
+ foreground = gdImageColorAllocate(im, 22, 4, 238);
+
+ gdImageString(im, fontptr,
+ im->sx / 2 - (strlen(s) * fontptr->w / 2),
+ im->sy / 2 - fontptr->h / 2,
+ (unsigned char*)s, foreground);
+
+ if (!gdAssertImageEqualsToFile("gdimagestring/gdimagestring_exp.png", im))
+ error= 1;
+
+ /* Destroy the image in memory. */
+ gdImageDestroy(im);
+
+ return error;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring_exp.png
new file mode 100644
index 00000000000..24356267fe9
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring/gdimagestring_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring16/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/CMakeLists.txt
new file mode 100644
index 00000000000..e85db9b587c
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagestring16
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring16/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/Makemodule.am
new file mode 100644
index 00000000000..84b6b5fd2fe
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagestring16/gdimagestring16
+endif
+
+EXTRA_DIST += \
+ gdimagestring16/CMakeLists.txt \
+ gdimagestring16/gdimagestring16_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16.c b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16.c
new file mode 100644
index 00000000000..57eae978c36
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16.c
@@ -0,0 +1,32 @@
+/**
+ * Base test for gdImageString16()
+ */
+#include <gd.h>
+#include <gdfontl.h>
+#include "gdtest.h"
+
+int main()
+{
+ /* Declare the image */
+ gdImagePtr im = NULL;
+ wchar_t *wchr = L"H";
+ unsigned short *sptr;
+ sptr = (unsigned short *)wchr;
+ int foreground;
+ int errorcode = 0;
+ gdFontPtr fontptr = gdFontGetLarge();
+
+ im = gdImageCreate(20, 20);
+ gdImageColorAllocate(im, 255, 255, 255);
+ foreground = gdImageColorAllocate(im, 22, 4, 238);
+
+ gdImageString16(im, fontptr, 2, 2, sptr, foreground);
+
+ if (!gdAssertImageEqualsToFile("gdimagestring16/gdimagestring16_exp.png", im))
+ errorcode = 1;
+
+ /* Destroy the image in memory */
+ gdImageDestroy(im);
+
+ return errorcode;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16_exp.png
new file mode 100644
index 00000000000..5700578b0e2
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestring16/gdimagestring16_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringft/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagestringft/CMakeLists.txt
index 00a8f43cb63..f46b9006ee6 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagestringft/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringft/CMakeLists.txt
@@ -1,9 +1,7 @@
IF(FREETYPE_FOUND)
-IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
gdimagestringft_bbox
)
-ENDIF(PNG_FOUND)
ENDIF(FREETYPE_FOUND)
-ADD_GD_TESTS(m)
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringft/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagestringft/Makemodule.am
index 956e1db0d10..0dfe26fb13c 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagestringft/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringft/Makemodule.am
@@ -1,9 +1,7 @@
if HAVE_LIBFREETYPE
-if HAVE_LIBPNG
libgd_test_programs += \
gdimagestringft/gdimagestringft_bbox
endif
-endif
EXTRA_DIST += \
gdimagestringft/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringft/gdimagestringft_bbox.c b/Build/source/libs/gd/libgd-src/tests/gdimagestringft/gdimagestringft_bbox.c
index 1596a9e7be5..5d57bc7b062 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagestringft/gdimagestringft_bbox.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringft/gdimagestringft_bbox.c
@@ -8,22 +8,22 @@
#define DELTA (PI/8)
static int EXPECT[16][8] = {
- {498, 401, 630, 401, 630, 374, 498, 374},
- {491, 364, 613, 313, 602, 288, 481, 338},
- {470, 332, 563, 239, 544, 219, 451, 312},
- {438, 310, 488, 189, 463, 178, 412, 300},
- {401, 303, 401, 171, 374, 171, 374, 303},
- {365, 310, 314, 188, 289, 199, 339, 320},
- {334, 331, 241, 238, 221, 257, 314, 350},
- {313, 362, 192, 312, 181, 337, 303, 388},
- {306, 398, 174, 398, 174, 425, 306, 425},
- {313, 433, 191, 484, 202, 509, 323, 459},
- {333, 463, 240, 556, 259, 576, 352, 483},
- {363, 484, 313, 605, 338, 616, 389, 494},
- {398, 490, 398, 622, 425, 622, 425, 490},
- {432, 483, 483, 605, 508, 594, 458, 473},
- {461, 464, 554, 557, 574, 538, 481, 445},
- {481, 435, 602, 485, 613, 460, 491, 409},
+ {500, 400, 628, 400, 628, 376, 500, 376},
+ {492, 362, 611, 312, 601, 290, 483, 339},
+ {470, 330, 561, 239, 544, 221, 453, 312},
+ {437, 308, 486, 189, 464, 180, 414, 299},
+ {400, 301, 400, 173, 376, 173, 376, 301},
+ {363, 309, 313, 190, 291, 200, 340, 318},
+ {332, 331, 241, 240, 223, 257, 314, 348},
+ {311, 363, 192, 314, 183, 336, 302, 386},
+ {304, 399, 176, 399, 176, 423, 304, 423},
+ {312, 435, 193, 485, 203, 507, 321, 458},
+ {333, 465, 242, 556, 259, 574, 350, 483},
+ {364, 486, 315, 605, 337, 614, 387, 495},
+ {399, 492, 399, 620, 423, 620, 423, 492},
+ {434, 484, 484, 603, 506, 593, 457, 475},
+ {463, 464, 554, 555, 572, 538, 481, 447},
+ {483, 434, 602, 483, 611, 461, 492, 411},
};
int main()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/CMakeLists.txt
new file mode 100644
index 00000000000..424cb837dad
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagestringup
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/Makemodule.am
new file mode 100644
index 00000000000..b136c80c906
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagestringup/gdimagestringup
+endif
+
+EXTRA_DIST += \
+ gdimagestringup/CMakeLists.txt \
+ gdimagestringup/gdimagestringup_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup.c b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup.c
new file mode 100644
index 00000000000..0832bd79072
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup.c
@@ -0,0 +1,34 @@
+/**
+ * Base test for gdImageStringUp()
+ */
+#include <gd.h>
+#include <gdfontl.h>
+#include "gdtest.h"
+#include <string.h>
+
+int main()
+{
+ /* Declare the image */
+ gdImagePtr im = NULL;
+ char *s = "Hello gd";
+ int errorcode = 0;
+ int foreground;
+ gdFontPtr fontptr = gdFontGetLarge();
+
+ im = gdImageCreate(50, 100);
+ gdImageColorAllocate(im, 202, 202, 0);
+ foreground = gdImageColorAllocate(im, 22, 4, 238);
+
+ gdImageStringUp(im, fontptr,
+ im->sx / 2 - fontptr->h / 2,
+ im->sy / 2 + (strlen(s) * fontptr->w / 2),
+ (unsigned char*)s, foreground);
+
+ if (!gdAssertImageEqualsToFile("gdimagestringup/gdimagestringup_exp.png", im))
+ errorcode = 1;
+
+ /* Destroy the image im memory */
+ gdImageDestroy(im);
+
+ return errorcode;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup_exp.png
new file mode 100644
index 00000000000..d1f6d664848
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup/gdimagestringup_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/CMakeLists.txt
new file mode 100644
index 00000000000..08f4ff8238f
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/CMakeLists.txt
@@ -0,0 +1,7 @@
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
+ gdimagestringup16
+)
+ENDIF(PNG_FOUND)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/Makemodule.am
new file mode 100644
index 00000000000..7735432b3da
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/Makemodule.am
@@ -0,0 +1,8 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimagestringup16/gdimagestringup16
+endif
+
+EXTRA_DIST += \
+ gdimagestringup16/CMakeLists.txt \
+ gdimagestringup16/gdimagestringup16_exp.png
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16.c b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16.c
new file mode 100644
index 00000000000..c843abec473
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16.c
@@ -0,0 +1,31 @@
+/**
+ * Base test for gdImageStringUp16()
+ */
+#include <gd.h>
+#include <gdfontl.h>
+#include "gdtest.h"
+
+int main()
+{
+ /* Declare the image */
+ gdImagePtr im = NULL;
+ wchar_t *wchr = L"H";
+ unsigned short *sptr;
+ sptr = (unsigned short *)wchr;
+ int foreground;
+ int errorcode = 0;
+ gdFontPtr fontptr = gdFontGetLarge();
+
+ im = gdImageCreate(20, 20);
+ gdImageColorAllocate(im, 255, 255, 255);
+ foreground = gdImageColorAllocate(im, 22, 4, 238);
+
+ gdImageStringUp16(im, fontptr, 2, 18, sptr, foreground);
+
+ if (!gdAssertImageEqualsToFile("gdimagestringup16/gdimagestringup16_exp.png", im))
+ errorcode = 1;
+
+ gdImageDestroy(im);
+
+ return errorcode;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16_exp.png b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16_exp.png
new file mode 100644
index 00000000000..a1a457016dc
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagestringup16/gdimagestringup16_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/CMakeLists.txt
index b23d2a1b86a..fc7f6f73b14 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/CMakeLists.txt
@@ -1,4 +1,4 @@
-SET(TESTS_FILES
+LIST(APPEND TESTS_FILES
bug00307
php_bug_72512
)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/bug00307.c b/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/bug00307.c
index a5c6a04b64f..a01eb5ae940 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/bug00307.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagetruecolortopalette/bug00307.c
@@ -5,7 +5,7 @@
* GD_QUANT_NEUQUANT has its trueColor flag unset.
*/
-
+
#include "gd.h"
#include "gdtest.h"
diff --git a/Build/source/libs/gd/libgd-src/tests/gdinterpolatedscale/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdinterpolatedscale/CMakeLists.txt
index af0fd8c585e..7957c156a86 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdinterpolatedscale/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gdinterpolatedscale/CMakeLists.txt
@@ -4,3 +4,6 @@ LIST(APPEND TESTS_FILES
)
ADD_GD_TESTS()
+
+# Probably should speed this test up.
+set_tests_properties(test_${TEST_PREFIX}_gdTrivialResize PROPERTIES TIMEOUT 20)
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.c b/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.c
index 7e9ee362985..832f27ae303 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.c
@@ -1,4 +1,6 @@
+#ifdef HAVE_CONFIG_H
#include <config.h>
+#endif
#include <assert.h>
#include <setjmp.h>
#include <stdlib.h>
@@ -21,7 +23,14 @@
#endif
#ifdef _WIN32
-# include "readdir.h"
+#include "readdir.h"
+#include <errno.h>
+#endif
+
+/* GDTEST_TOP_DIR is defined in other compile ways except msys
+ * test_config.h is created by windows/msys/run_test.sh*/
+#ifndef GDTEST_TOP_DIR
+#include <test_config.h>
#endif
#include "gd.h"
@@ -40,7 +49,6 @@ void gdSilence(int priority, const char *format, va_list args)
(void)args;
}
-#ifdef HAVE_LIBPNG
gdImagePtr gdTestImageFromPng(const char *filename)
{
gdImagePtr image;
@@ -58,14 +66,13 @@ gdImagePtr gdTestImageFromPng(const char *filename)
}
if (fp == NULL) {
- return NULL;
+ return NULL;
}
image = gdImageCreateFromPng(fp);
fclose(fp);
return image;
}
-#endif
static char *tmpdir_base;
@@ -188,11 +195,11 @@ static int getfilesystemtime(struct timeval *tv)
fft.LowPart = ft.dwLowDateTime;
ff = fft.QuadPart;
- ff /= 10Ui64; /* convert to microseconds */
- ff -= 11644473600000000Ui64; /* convert to unix epoch */
+ ff /= 10ULL; /* convert to microseconds */
+ ff -= 11644473600000000ULL; /* convert to unix epoch */
- tv->tv_sec = (long)(ff / 1000000Ui64);
- tv->tv_usec = (long)(ff % 1000000Ui64);
+ tv->tv_sec = (long)(ff / 1000000ULL);
+ tv->tv_usec = (long)(ff % 1000000ULL);
return 0;
}
@@ -205,7 +212,7 @@ mkdtemp (char *tmpl)
static int counter = 0;
char *XXXXXX;
struct timeval tv;
- _int64 value;
+ __int64 value;
int count;
/* find the last occurrence of "XXXXXX" */
@@ -221,7 +228,7 @@ mkdtemp (char *tmpl)
value = (tv.tv_usec ^ tv.tv_sec) + counter++;
for (count = 0; count < 100; value += 7777, ++count) {
- _int64 v = value;
+ __int64 v = value;
/* Fill in the random bits. */
XXXXXX[0] = letters[v % NLETTERS];
@@ -306,7 +313,7 @@ char *gdTestTempFile(const char *template)
ret);
gdTestAssert(error != 0);
} else {
- sprintf(ret, "%s\\%s", tempdir, template);
+ sprintf(ret, "%s\\%s", tempdir, template);
}
}
#else
@@ -363,6 +370,7 @@ char *gdTestFilePathV(const char *path, va_list args)
strcat(file, "/");
#endif
strcat(file, p);
+
} while ((p = va_arg(args, const char *)) != NULL);
va_end(args);
@@ -502,7 +510,6 @@ unsigned int gdMaxPixelDiff(gdImagePtr a, gdImagePtr b)
return diff;
}
-#ifdef HAVE_LIBPNG
int gdTestImageCompareToImage(const char* file, unsigned int line, const char* message,
gdImagePtr expected, gdImagePtr actual)
{
@@ -562,6 +569,7 @@ int gdTestImageCompareToImage(const char* file, unsigned int line, const char* m
if (!fp) goto fail;
gdImagePng(surface_diff,fp);
fclose(fp);
+ gdImageDestroy(surface_diff);
fp = fopen(file_out, "wb");
if (!fp) goto fail;
@@ -581,9 +589,7 @@ fail:
}
return 1;
}
-#endif
-#ifdef HAVE_LIBPNG
int gdTestImageCompareToFile(const char* file, unsigned int line, const char* message,
const char *expected_file, gdImagePtr actual)
{
@@ -601,7 +607,6 @@ int gdTestImageCompareToFile(const char* file, unsigned int line, const char* me
}
return res;
}
-#endif
static int failureCount = 0;
@@ -622,9 +627,9 @@ int _gdTestAssert(const char* file, unsigned int line, int condition)
int _gdTestAssertMsg(const char* file, unsigned int line, int condition, const char* message, ...)
{
va_list args;
-
+
if (condition) return 1;
-
+
fprintf(stderr, "%s:%u: ", file, line);
va_start(args, message);
vfprintf(stderr, message, args);
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.h b/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.h
index 82d2feba305..16d89aa48cb 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.h
+++ b/Build/source/libs/gd/libgd-src/tests/gdtest/gdtest.h
@@ -3,7 +3,6 @@
#include <stdarg.h>
-#define GDTEST_STRING_MAX 1024
typedef struct CuTestImageResult CuTestImageResult;
struct CuTestImageResult {
unsigned int pixels_changed;
@@ -64,10 +63,8 @@ int _gdTestErrorMsg(const char* file, unsigned int line, const char* string, ...
/* public assert functions */
#define gdAssertImageEqualsToFile(ex,ac) gdTestImageCompareToFile(__FILE__,__LINE__,NULL,(ex),(ac))
-#define gdAssertImageFileEqualsMsg(ex,ac,ms) gdTestImageCompareFiles(__FILE__,__LINE__,(ms),(ex),(ac))
#define gdAssertImageEquals(ex,ac) gdTestImageCompareToImage(__FILE__,__LINE__,NULL,(ex),(ac))
-#define gdAssertImageEqualsMsg(ex,ac,ms) gdTestImageCompareToImage(__FILE__,__LINE__,(ms),(ex),(ac))
#define gdTestAssert(cond) _gdTestAssert(__FILE__, __LINE__, (cond))
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtiled/bug00032.c b/Build/source/libs/gd/libgd-src/tests/gdtiled/bug00032.c
index 4c788e235cc..7a2b5cccb0d 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdtiled/bug00032.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdtiled/bug00032.c
@@ -29,4 +29,3 @@ int main()
gdImageDestroy(tile);
return 0;
}
-
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtransformaffineboundingbox/github_bug_00221.c b/Build/source/libs/gd/libgd-src/tests/gdtransformaffineboundingbox/github_bug_00221.c
index c327789d9f8..9e75d0ee368 100644
--- a/Build/source/libs/gd/libgd-src/tests/gdtransformaffineboundingbox/github_bug_00221.c
+++ b/Build/source/libs/gd/libgd-src/tests/gdtransformaffineboundingbox/github_bug_00221.c
@@ -10,7 +10,7 @@ int main()
gdRect bbox;
gdRect area;
double affine[6];
-
+
affine[0] = -0.965926;
affine[1] = -0.258819;
affine[2] = 0.258819;
@@ -24,7 +24,7 @@ int main()
if (gdTransformAffineBoundingBox(&area, affine, &bbox) != GD_TRUE) {
return 1;
}
- if (!(bbox.x ==-253 && bbox.y ==-228 && bbox.width == 298 && bbox.height == 230)) {
+ if (!(bbox.x ==-253 && bbox.y ==-228 && bbox.width == 297 && bbox.height == 229)) {
return 1;
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/CMakeLists.txt
new file mode 100644
index 00000000000..4af9fcc2b10
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/CMakeLists.txt
@@ -0,0 +1,8 @@
+LIST(APPEND TESTS_FILES
+ github_bug_00583
+ github_bug_00585
+ github_bug_00586
+ github_bug_00596
+)
+
+ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/Makemodule.am
new file mode 100644
index 00000000000..494ec80d535
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/Makemodule.am
@@ -0,0 +1,8 @@
+libgd_test_programs += \
+ gdtransformaffinecopy/github_bug_00583 \
+ gdtransformaffinecopy/github_bug_00585 \
+ gdtransformaffinecopy/github_bug_00586 \
+ gdtransformaffinecopy/github_bug_00596
+
+EXTRA_DIST += \
+ gdtransformaffinecopy/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00583.c b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00583.c
new file mode 100644
index 00000000000..6b0fd53d1ca
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00583.c
@@ -0,0 +1,30 @@
+/**
+ * Test that a zero determinant matrix causes gdTransformAffineCopy() to fail
+ *
+ * See <https://github.com/libgd/libgd/issues/583>
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr src, dst;
+ gdRect rect = {0, 0, 8, 8};
+ double matrix[] = {1, 1, 1, 1, 1, 1};
+ int white;
+ int res;
+
+ src = gdImageCreateTrueColor(8, 8);
+ gdTestAssert(src != NULL);
+ dst = gdImageCreateTrueColor(8, 8);
+ gdTestAssert(dst != NULL);
+ white = gdImageColorAllocate(src, 255, 255, 255);
+ gdImageFilledRectangle(src, 0, 0, 7, 7, white);
+ res = gdTransformAffineCopy(dst, 0, 0, src, &rect, matrix);
+ gdTestAssert(res == GD_FALSE);
+ gdImageDestroy(dst);
+ gdImageDestroy(src);
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00585.c b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00585.c
new file mode 100644
index 00000000000..e83910c95ac
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00585.c
@@ -0,0 +1,33 @@
+/*
+ * Test that gdTransformAffineCopy() does not change the interpolation method
+ *
+ * See <https://github.com/libgd/libgd/issues/585>
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr src, dst;
+ gdRect rect = {0, 0, 8, 8};
+ double matrix[] = {1, 1, 1, 1, 1, 1};
+ int res;
+ gdInterpolationMethod old_m, new_m;
+
+ src = gdImageCreateTrueColor(8, 8);
+ gdTestAssert(src != NULL);
+ dst = gdImageCreateTrueColor(8, 8);
+ gdTestAssert(dst != NULL);
+
+ res = gdImageSetInterpolationMethod(src, GD_CATMULLROM);
+ gdTestAssert(res == GD_TRUE);
+ old_m = gdImageGetInterpolationMethod(src);
+ gdTransformAffineCopy(dst, 0, 0, src, &rect, matrix);
+ new_m = gdImageGetInterpolationMethod(src);
+ gdTestAssert(new_m == old_m);
+
+ gdImageDestroy(src);
+ gdImageDestroy(dst);
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00586.c b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00586.c
new file mode 100644
index 00000000000..4cf2f2ee572
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00586.c
@@ -0,0 +1,26 @@
+/*
+ * Test that gdTransformAffineCopy() does not segfault for palette images
+ *
+ * See <>
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr src, dst;
+ gdRect rect = {0, 0, 8, 8};
+ double matrix[] = {1, 0, 0, 1, 0, 0};
+
+ src = gdImageCreate(8, 8);
+ gdTestAssert(src != NULL);
+ dst = gdImageCreate(8, 8);
+ gdTestAssert(dst != NULL);
+
+ gdTransformAffineCopy(dst, 0, 0, src, &rect, matrix);
+
+ gdImageDestroy(dst);
+ gdImageDestroy(src);
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00596.c b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00596.c
new file mode 100644
index 00000000000..51912e1a1ec
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdtransformaffinecopy/github_bug_00596.c
@@ -0,0 +1,42 @@
+/**
+ * Test gdTransformAffineCopy() run error
+ *
+ * See <https://github.com/libgd/libgd/issues/596>
+ *
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ double matrix[] = {1, 0, 0, 1, 0, 0};
+ gdImagePtr src, dst;
+ gdRect rect = {0, 0, 16, 16};
+ int white, green;
+ int status = 0;
+ int res;
+ int actual_color = 0;
+ int expected_color = 0x00ff00;
+
+ src = gdImageCreateTrueColor(16, 16);
+ gdTestAssert(src != NULL);
+ white = gdImageColorAllocate(src, 255, 255, 255);
+ gdImageFilledRectangle(src, 0, 0, 16, 16, white);
+
+ dst = gdImageCreateTrueColor(50, 50);
+ gdTestAssert(dst != NULL);
+ green = gdImageColorAllocate(dst, 0, 255, 0);
+ gdImageFilledRectangle(dst, 0, 0, 50, 50, green);
+
+ res = gdTransformAffineCopy(dst, 4, 4, src, &rect, matrix);
+ gdTestAssert(res != GD_FALSE);
+
+ status = gdNumFailures();
+ actual_color = gdImageGetPixel(dst, 20, 5);
+ status = (actual_color == expected_color) ? status : 1;
+
+ gdImageDestroy(src);
+ gdImageDestroy(dst);
+ return status;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gif/CMakeLists.txt
index 7d40cddca6a..c4b90077a28 100644
--- a/Build/source/libs/gd/libgd-src/tests/gif/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/gif/CMakeLists.txt
@@ -2,17 +2,20 @@ LIST(APPEND TESTS_FILES
bug00005_2
bug00181
bug00227
+ bug00499
gif_null
+ ossfuzz5700
+ php_bug_75571
+ uninitialized_memory_read
+ bug00006
+ bug00060
+ gif_im2im
)
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
bug00005
- bug00006
- bug00060
bug00066
- gif_im2im
- uninitialized_memory_read
)
ENDIF(PNG_FOUND)
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gif/Makemodule.am
index 0bdeab7e663..9306b7189e7 100644
--- a/Build/source/libs/gd/libgd-src/tests/gif/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/gif/Makemodule.am
@@ -2,16 +2,19 @@ libgd_test_programs += \
gif/bug00005_2 \
gif/bug00181 \
gif/bug00227 \
+ gif/bug00499 \
gif/gif_null \
- gif/uninitialized_memory_read
+ gif/ossfuzz5700 \
+ gif/php_bug_75571 \
+ gif/uninitialized_memory_read \
+ gif/bug00006 \
+ gif/bug00060 \
+ gif/gif_im2im
if HAVE_LIBPNG
libgd_test_programs += \
gif/bug00005 \
- gif/bug00006 \
- gif/bug00060 \
- gif/bug00066 \
- gif/gif_im2im
+ gif/bug00066
endif
EXTRA_DIST += \
@@ -24,4 +27,6 @@ EXTRA_DIST += \
gif/bug00060.gif \
gif/bug00066.gif \
gif/bug00066_exp.png \
+ gif/ossfuzz5700.gif \
+ gif/php_bug_75571.gif \
gif/unitialized_memory_read.gif
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/bug00006.c b/Build/source/libs/gd/libgd-src/tests/gif/bug00006.c
index c80d3878e5b..95f76203b29 100644
--- a/Build/source/libs/gd/libgd-src/tests/gif/bug00006.c
+++ b/Build/source/libs/gd/libgd-src/tests/gif/bug00006.c
@@ -64,5 +64,6 @@ int main()
/* Destroy it */
gdImageDestroy(im);
+ free(file);
return error;
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/bug00181.c b/Build/source/libs/gd/libgd-src/tests/gif/bug00181.c
index 43b9e3b15c9..878537ff839 100644
--- a/Build/source/libs/gd/libgd-src/tests/gif/bug00181.c
+++ b/Build/source/libs/gd/libgd-src/tests/gif/bug00181.c
@@ -92,6 +92,7 @@ int main()
}
error = !im->interlace;
gdImageDestroy(im);
+ free(file);
return error;
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/bug00227.c b/Build/source/libs/gd/libgd-src/tests/gif/bug00227.c
index e25bd9a92a8..aa20645114f 100644
--- a/Build/source/libs/gd/libgd-src/tests/gif/bug00227.c
+++ b/Build/source/libs/gd/libgd-src/tests/gif/bug00227.c
@@ -65,5 +65,7 @@ int main()
if (buf[PROBE_SIZE-1] & 0x80) return 1;
free(buf);
fclose(fp);
+
+ free(file);
return 0;
}
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/bug00499.c b/Build/source/libs/gd/libgd-src/tests/gif/bug00499.c
new file mode 100644
index 00000000000..0fedb927ca4
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gif/bug00499.c
@@ -0,0 +1,51 @@
+/**
+ * Test that adding identical images to GIF animations do no double-free
+ *
+ * We are adding two frames to a GIF animation in gdDisposalNone mode, were the
+ * second frame is identical to the first, which result in that image to have
+ * zero extent. This program must not cause any memory issues.
+ *
+ * See also <https://github.com/libgd/libgd/issues/499>.
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr im;
+ int black;
+ int size;
+ void * res;
+
+ im = gdImageCreate(100, 100);
+ black = gdImageColorAllocate(im, 0, 0, 0);
+ gdImageRectangle(im, 0, 0, 10, 10, black);
+
+ res = gdImageGifAnimBeginPtr(im, &size, 1, 3);
+ if (res != NULL) {
+ gdFree(res);
+ }
+
+ res = gdImageGifAnimAddPtr(im, &size, 0, 0, 0, 100, gdDisposalNone, NULL);
+ if (res != NULL) {
+ gdFree(res);
+ }
+
+ res = gdImageGifAnimAddPtr(im, &size, 0, 0, 0, 100, gdDisposalNone, im);
+ gdTestAssert(res == NULL);
+ if (res != NULL) {
+ gdFree(res);
+ }
+
+ res = gdImageGifAnimEndPtr(&size);
+ if (res != NULL) {
+ gdFree(res);
+ }
+
+ gdImageDestroy(im);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.c b/Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.c
new file mode 100644
index 00000000000..8fc9f88cd6c
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im;
+ FILE *fp = gdTestFileOpen("gif/ossfuzz5700.gif");
+ im = gdImageCreateFromGif(fp);
+ fclose(fp);
+ gdImageDestroy(im);
+ return 0;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.gif b/Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.gif
new file mode 100644
index 00000000000..315c5a88dbc
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gif/ossfuzz5700.gif
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c b/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c
new file mode 100644
index 00000000000..ec1f37e4e58
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.c
@@ -0,0 +1,28 @@
+/**
+ * Test that GIF reading does not loop infinitely
+ *
+ * We are reading a crafted GIF image which has been truncated. This would
+ * trigger an infinite loop formerly, but know bails out early, returning
+ * NULL from gdImageCreateFromGif().
+ *
+ * See also https://bugs.php.net/bug.php?id=75571.
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr im;
+ FILE *fp;
+
+ fp = gdTestFileOpen2("gif", "php_bug_75571.gif");
+ gdTestAssert(fp != NULL);
+ im = gdImageCreateFromGif(fp);
+ gdTestAssert(im == NULL);
+ fclose(fp);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.gif b/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.gif
new file mode 100644
index 00000000000..3c30b40f281
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gif/php_bug_75571.gif
Binary files differ
diff --git a/Build/source/libs/gd/libgd-src/tests/jpeg/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/jpeg/CMakeLists.txt
index 19964b0ce2c..ff188a93888 100644
--- a/Build/source/libs/gd/libgd-src/tests/jpeg/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/jpeg/CMakeLists.txt
@@ -2,14 +2,15 @@ IF(JPEG_FOUND)
LIST(APPEND TESTS_FILES
jpeg_empty_file
jpeg_im2im
+ jpeg_ptr_double_free
jpeg_null
+ jpeg_resolution
)
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
bug_github_18
jpeg_read
- jpeg_resolution
bug00338
)
ENDIF(PNG_FOUND)
diff --git a/Build/source/libs/gd/libgd-src/tests/jpeg/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/jpeg/Makemodule.am
index 7e5d317b69f..b778470a9de 100644
--- a/Build/source/libs/gd/libgd-src/tests/jpeg/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/jpeg/Makemodule.am
@@ -2,14 +2,15 @@ if HAVE_LIBJPEG
libgd_test_programs += \
jpeg/jpeg_empty_file \
jpeg/jpeg_im2im \
- jpeg/jpeg_null
+ jpeg/jpeg_null \
+ jpeg/jpeg_ptr_double_free \
+ jpeg/jpeg_resolution
if HAVE_LIBPNG
libgd_test_programs += \
jpeg/bug_github_18 \
jpeg/bug00338 \
- jpeg/jpeg_read \
- jpeg/jpeg_resolution
+ jpeg/jpeg_read
endif
endif
diff --git a/Build/source/libs/gd/libgd-src/tests/jpeg/bug00338.c b/Build/source/libs/gd/libgd-src/tests/jpeg/bug00338.c
index 15224d32b34..7874df28ed2 100644
--- a/Build/source/libs/gd/libgd-src/tests/jpeg/bug00338.c
+++ b/Build/source/libs/gd/libgd-src/tests/jpeg/bug00338.c
@@ -8,44 +8,39 @@
* See also ../png/bug00338.c
*/
-
#include <string.h>
#include "gd.h"
#include "gd_errors.h"
#include "gdtest.h"
-
#define MSG "gd-jpeg: JPEG library reports unrecoverable error: %s"
-
static int error_handler_called = 0;
-
static void error_handler(int priority, const char *format, va_list args)
{
- if (!strcmp(format, MSG)) {
- gdTestAssertMsg(priority == GD_WARNING, "expected priority %d, but got %d", GD_WARNING, priority);
- error_handler_called = 1;
- }
+ if (!strcmp(format, MSG)) {
+ gdTestAssertMsg(priority == GD_WARNING, "expected priority %d, but got %d", GD_WARNING, priority);
+ error_handler_called = 1;
+ }
}
-
int main()
{
- gdImagePtr im;
- FILE *fp;
+ gdImagePtr im;
+ FILE *fp;
- gdSetErrorMethod(error_handler);
+ gdSetErrorMethod(error_handler);
- im = gdImageCreateTrueColor(10, 10);
- fp = gdTestTempFp();
- gdImagePng(im, fp);
- gdImageDestroy(im);
+ im = gdImageCreateTrueColor(10, 10);
+ fp = gdTestTempFp();
+ gdImagePng(im, fp);
+ gdImageDestroy(im);
- im = gdImageCreateFromJpeg(fp);
- gdTestAssert(im == NULL);
+ im = gdImageCreateFromJpeg(fp);
+ gdTestAssert(im == NULL);
- gdTestAssert(error_handler_called);
+ gdTestAssert(error_handler_called);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/jpeg/jpeg_ptr_double_free.c b/Build/source/libs/gd/libgd-src/tests/jpeg/jpeg_ptr_double_free.c
new file mode 100644
index 00000000000..df5a510bb55
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/jpeg/jpeg_ptr_double_free.c
@@ -0,0 +1,31 @@
+/**
+ * Test that failure to convert to JPEG returns NULL
+ *
+ * We are creating an image, set its width to zero, and pass this image to
+ * `gdImageJpegPtr()` which is supposed to fail, and as such should return NULL.
+ *
+ * See also <https://github.com/libgd/libgd/issues/381>
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ gdImagePtr src, dst;
+ int size;
+
+ src = gdImageCreateTrueColor(1, 10);
+ gdTestAssert(src != NULL);
+
+ src->sx = 0; /* this hack forces gdImageJpegPtr() to fail */
+
+ dst = gdImageJpegPtr(src, &size, 0);
+ gdTestAssert(dst == NULL);
+
+ gdImageDestroy(src);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/png/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/png/CMakeLists.txt
index 6fd64b24447..6d618a0e56a 100644
--- a/Build/source/libs/gd/libgd-src/tests/png/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/png/CMakeLists.txt
@@ -10,8 +10,13 @@ LIST(APPEND TESTS_FILES
bug00193
bug00338
bug00381_1
+)
+
+IF(ENABLE_GD_FORMATS)
+LIST(APPEND TESTS_FILES
bug00381_2
)
+ENDIF(ENABLE_GD_FORMATS)
ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/png/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/png/Makemodule.am
index c167955b1cb..d28253effff 100644
--- a/Build/source/libs/gd/libgd-src/tests/png/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/png/Makemodule.am
@@ -7,10 +7,14 @@ libgd_test_programs += \
png/bug00193 \
png/bug00338 \
png/bug00381_1 \
- png/bug00381_2 \
png/png_im2im \
png/png_null \
png/png_resolution
+
+if ENABLE_GD_FORMATS
+libgd_test_programs += \
+ png/bug00381_2
+endif
endif
EXTRA_DIST += \
diff --git a/Build/source/libs/gd/libgd-src/tests/png/bug00338.c b/Build/source/libs/gd/libgd-src/tests/png/bug00338.c
index 0bdd9f9a6f0..f439d8cb8ce 100644
--- a/Build/source/libs/gd/libgd-src/tests/png/bug00338.c
+++ b/Build/source/libs/gd/libgd-src/tests/png/bug00338.c
@@ -8,41 +8,37 @@
* See also ../jpeg/bug00338.c
*/
-
#include <string.h>
#include "gd.h"
#include "gd_errors.h"
#include "gdtest.h"
-
#define MSG "gd-png: fatal libpng error: %s\n"
-
static int error_handler_called = 0;
-
static void error_handler(int priority, const char *format, va_list args)
{
- if (!strcmp(format, MSG)) {
- gdTestAssertMsg(priority == GD_WARNING, "expected priority %d, but got %d", GD_WARNING, priority);
- error_handler_called = 1;
- }
+ if (!strcmp(format, MSG)) {
+ gdTestAssertMsg(priority == GD_WARNING, "expected priority %d, but got %d", GD_WARNING, priority);
+ error_handler_called = 1;
+ }
}
-
int main()
{
- gdImagePtr im;
- FILE *fp;
+ gdImagePtr im;
+ FILE *fp;
- gdSetErrorMethod(error_handler);
+ gdSetErrorMethod(error_handler);
- im = gdImageCreateTrueColor(10, 10);
- fp = gdTestTempFp();
- gdImagePngEx(im, fp, 100);
- gdImageDestroy(im);
+ im = gdImageCreateTrueColor(10, 10);
+ fp = gdTestTempFp();
+ gdImagePngEx(im, fp, 100);
+ gdImageDestroy(im);
+ fclose(fp);
- gdTestAssert(error_handler_called);
+ gdTestAssert(error_handler_called);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/png/png_resolution.c b/Build/source/libs/gd/libgd-src/tests/png/png_resolution.c
index aed7545ba51..bfc944d01ff 100644
--- a/Build/source/libs/gd/libgd-src/tests/png/png_resolution.c
+++ b/Build/source/libs/gd/libgd-src/tests/png/png_resolution.c
@@ -24,7 +24,7 @@ int main()
gdImageDestroy(im);
return 1;
}
-
+
gdImageDestroy(im);
return 0;
}
diff --git a/Build/source/libs/gd/libgd-src/tests/tiff/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/tiff/CMakeLists.txt
index 8e542e690c4..b1ce8a81627 100644
--- a/Build/source/libs/gd/libgd-src/tests/tiff/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/tiff/CMakeLists.txt
@@ -4,8 +4,13 @@ LIST(APPEND TESTS_FILES
tiff_invalid_read
tiff_null
tiff_dpi
+)
+
+IF(PNG_FOUND)
+LIST(APPEND TESTS_FILES
tiff_read_bw
)
+ENDIF(PNG_FOUND)
ENDIF(TIFF_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/tiff/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/tiff/Makemodule.am
index 2a88d68df3c..a1364399080 100644
--- a/Build/source/libs/gd/libgd-src/tests/tiff/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/tiff/Makemodule.am
@@ -3,9 +3,13 @@ libgd_test_programs += \
tiff/tiff_dpi \
tiff/tiff_im2im \
tiff/tiff_invalid_read \
- tiff/tiff_null \
+ tiff/tiff_null
+
+if HAVE_LIBPNG
+libgd_test_programs += \
tiff/tiff_read_bw
endif
+endif
EXTRA_DIST += \
tiff/CMakeLists.txt \
diff --git a/Build/source/libs/gd/libgd-src/tests/tiff/tiff_dpi.c b/Build/source/libs/gd/libgd-src/tests/tiff/tiff_dpi.c
index 7b607a25fa1..73626466dc1 100644
--- a/Build/source/libs/gd/libgd-src/tests/tiff/tiff_dpi.c
+++ b/Build/source/libs/gd/libgd-src/tests/tiff/tiff_dpi.c
@@ -1,4 +1,4 @@
-/*
+/*
* Test that reading and writing image resolution values to/from TIFF files
* works correctly. Set the image resolution, write the file, read the file
* back and test that the image resolution comes back correct.
@@ -23,7 +23,7 @@ int main()
r = gdImageColorAllocate(src, 0xFF, 0, 0);
gdImageFilledRectangle(src, 0, 0, 99, 99, r);
- // gd default DPI is 96; libtiff default is 72.
+ // gd default DPI is 96; libtiff default is 72.
// Use something else so we know the value has been
// written / read correctly.
res_x = 100;
diff --git a/Build/source/libs/gd/libgd-src/tests/tiff/tiff_read_bw.c b/Build/source/libs/gd/libgd-src/tests/tiff/tiff_read_bw.c
index c302c63aa86..93b646dfd97 100644
--- a/Build/source/libs/gd/libgd-src/tests/tiff/tiff_read_bw.c
+++ b/Build/source/libs/gd/libgd-src/tests/tiff/tiff_read_bw.c
@@ -1,26 +1,25 @@
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("tiff", "tiff_read_bw.tiff");
- gdTestAssert(fp != NULL);
- im = gdImageCreateFromTiff(fp);
- fclose(fp);
+ fp = gdTestFileOpen2("tiff", "tiff_read_bw.tiff");
+ gdTestAssert(fp != NULL);
+ im = gdImageCreateFromTiff(fp);
+ fclose(fp);
- gdTestAssert(im != NULL);
- gdTestAssert(!gdImageTrueColor(im));
+ gdTestAssert(im != NULL);
+ gdTestAssert(!gdImageTrueColor(im));
- path = gdTestFilePath2("tiff", "tiff_read_bw_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("tiff", "tiff_read_bw_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/wbmp/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/wbmp/CMakeLists.txt
index 1f85a15f86e..4ec45bd30b1 100644
--- a/Build/source/libs/gd/libgd-src/tests/wbmp/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/wbmp/CMakeLists.txt
@@ -1,11 +1,6 @@
LIST(APPEND TESTS_FILES
wbmp_null
-)
-
-IF(PNG_FOUND)
-LIST(APPEND TESTS_FILES
wbmp_im2im
)
-ENDIF(PNG_FOUND)
ADD_GD_TESTS()
diff --git a/Build/source/libs/gd/libgd-src/tests/wbmp/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/wbmp/Makemodule.am
index fb12272cd83..37f09e1896d 100644
--- a/Build/source/libs/gd/libgd-src/tests/wbmp/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/wbmp/Makemodule.am
@@ -1,10 +1,6 @@
libgd_test_programs += \
- wbmp/wbmp_null
-
-if HAVE_LIBPNG
-libgd_test_programs += \
+ wbmp/wbmp_null \
wbmp/wbmp_im2im
-endif
EXTRA_DIST += \
wbmp/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-src/tests/webp/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/webp/CMakeLists.txt
index ec27127b1d6..bfabf2626cd 100644
--- a/Build/source/libs/gd/libgd-src/tests/webp/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/webp/CMakeLists.txt
@@ -2,6 +2,7 @@ IF(WEBP_FOUND)
LIST(APPEND TESTS_FILES
bug00111
bug_double_free
+ gdImageWebpEx
)
ENDIF(WEBP_FOUND)
diff --git a/Build/source/libs/gd/libgd-src/tests/webp/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/webp/Makemodule.am
index f01f9e672fc..48f2a527014 100644
--- a/Build/source/libs/gd/libgd-src/tests/webp/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/webp/Makemodule.am
@@ -1,7 +1,8 @@
if HAVE_LIBWEBP
libgd_test_programs += \
webp/bug00111 \
- webp/bug_double_free
+ webp/bug_double_free \
+ webp/gdImageWebpEx
endif
EXTRA_DIST += \
diff --git a/Build/source/libs/gd/libgd-src/tests/webp/gdImageWebpEx.c b/Build/source/libs/gd/libgd-src/tests/webp/gdImageWebpEx.c
new file mode 100644
index 00000000000..43011de9446
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/webp/gdImageWebpEx.c
@@ -0,0 +1,26 @@
+/**
+ * Basic testcase for gdImageWebpEx()
+ **/
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im;
+ FILE *fp1;
+ int size = 1;
+
+ im = gdImageCreateTrueColor(20, 20);
+ if (!im) {
+ return 1;
+ }
+
+ fp1 = gdTestTempFp();
+ gdImageWebpEx(im, fp1, 8);
+ gdImageWebpPtrEx(im, &size, 9);
+
+ fclose(fp1);
+
+ gdImageDestroy(im);
+ return 0;
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt
index 3e3bb696cad..2447fd54d67 100644
--- a/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt
@@ -1,7 +1,11 @@
+LIST(APPEND TESTS_FILES
+ github_bug_501
+ github_bug_170
+)
+
IF(PNG_FOUND)
LIST(APPEND TESTS_FILES
github_bug_109
- github_bug_170
x10_basic_read
)
ENDIF(PNG_FOUND)
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am
index a9a293d1612..4d14916b133 100644
--- a/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am
+++ b/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am
@@ -1,7 +1,10 @@
+libgd_test_programs += \
+ xbm/github_bug_501 \
+ xbm/github_bug_170
+
if HAVE_LIBPNG
libgd_test_programs += \
xbm/github_bug_109 \
- xbm/github_bug_170 \
xbm/x10_basic_read
endif
@@ -10,4 +13,5 @@ EXTRA_DIST += \
xbm/github_bug_109.xbm \
xbm/github_bug_109_exp.png \
xbm/x10_basic_read.xbm \
- xbm/x10_basic_read_exp.png
+ xbm/x10_basic_read_exp.png \
+ xbm/github_bug_501.xbm
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c
index c0b50a8f0d4..70b793738e1 100644
--- a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c
+++ b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c
@@ -7,29 +7,27 @@
* See also <https://github.com/libgd/libgd/issues/109>.
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("xbm", "github_bug_109.xbm");
- im = gdImageCreateFromXbm(fp);
- fclose(fp);
- gdTestAssert(im != NULL);
- gdTestAssert(gdImageGetTrueColorPixel(im, 0, 0) == 0);
- gdTestAssert(gdImageGetTrueColorPixel(im, 0, 1) == 0xffffff);
+ fp = gdTestFileOpen2("xbm", "github_bug_109.xbm");
+ im = gdImageCreateFromXbm(fp);
+ fclose(fp);
+ gdTestAssert(im != NULL);
+ gdTestAssert(gdImageGetTrueColorPixel(im, 0, 0) == 0);
+ gdTestAssert(gdImageGetTrueColorPixel(im, 0, 1) == 0xffffff);
- path = gdTestFilePath2("xbm", "github_bug_109_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("xbm", "github_bug_109_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_170.c b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_170.c
index 3900da7b1b6..8134fb82fdb 100644
--- a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_170.c
+++ b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_170.c
@@ -47,4 +47,4 @@ int main()
gdTestAssertMsg(length == 250, "expected to write 250 bytes; %jd bytes written", (intmax_t) length);
return gdNumFailures();
}
-#endif \ No newline at end of file
+#endif
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.c b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.c
new file mode 100644
index 00000000000..5d8bfd76b80
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.c
@@ -0,0 +1,39 @@
+/*
+ Test reading an invalid XBM image.
+
+ The pixels of the XBM image are invalid hex which makes the uninitialezed
+ variable be encoded into the output image i.e. information disclosure.
+ The image is 8*2.
+
+ See also <https://github.com/libgd/libgd/issues/501>.
+*/
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+
+ gdImagePtr im;
+ FILE *fp;
+
+ fp = gdTestFileOpen2("xbm", "github_bug_501.xbm");
+ im = gdImageCreateFromXbm(fp);
+
+ gdTestAssert(im == NULL);
+
+ if (im) {
+ gdTestErrorMsg("Info Disclosed\n");
+ int i;
+ for (i = 0; i < 8; i++) {
+ printf("Pixel(%d, 0) %0x\n", i, gdImageGetPixel(im, i, 0));
+ }
+ for (i = 0; i < 8; i++) {
+ printf("Pixel(%d, 1) %0x\n", i, gdImageGetPixel(im, i, 1));
+ }
+ gdImageDestroy(im);
+ }
+
+ fclose(fp);
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.xbm b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.xbm
new file mode 100644
index 00000000000..41ad301e7fe
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_501.xbm
@@ -0,0 +1,4 @@
+#define width 8
+#define height 2
+static char bits[] ={
+xzzxzz
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c
index 99b9019c5f7..f7c505e55b7 100644
--- a/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c
+++ b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c
@@ -6,27 +6,25 @@
* which is 2 bytes instead of 1, and the endianess.
*/
-
#include "gd.h"
#include "gdtest.h"
-
int main()
{
- gdImagePtr im;
- FILE *fp;
- char *path;
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
- fp = gdTestFileOpen2("xbm", "x10_basic_read.xbm");
- im = gdImageCreateFromXbm(fp);
- fclose(fp);
- gdTestAssert(im != NULL);
+ fp = gdTestFileOpen2("xbm", "x10_basic_read.xbm");
+ im = gdImageCreateFromXbm(fp);
+ fclose(fp);
+ gdTestAssert(im != NULL);
- path = gdTestFilePath2("xbm", "x10_basic_read_exp.png");
- gdAssertImageEqualsToFile(path, im);
- gdFree(path);
+ path = gdTestFilePath2("xbm", "x10_basic_read_exp.png");
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
- gdImageDestroy(im);
+ gdImageDestroy(im);
- return gdNumFailures();
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-src/windows/Makefile.vc b/Build/source/libs/gd/libgd-src/windows/Makefile.vc
index c87583c5089..67a8014196b 100644
--- a/Build/source/libs/gd/libgd-src/windows/Makefile.vc
+++ b/Build/source/libs/gd/libgd-src/windows/Makefile.vc
@@ -130,16 +130,16 @@ CFLAGS= $(CFLAGS) \
/D_WIN32=1\
/DMSWIN32=1\
/DBGDWIN32=1\
+ /DENABLE_GD_FORMATS=1\
/DHAVE_FT2BUILD_H=1\
/DHAVE_GD_H=1\
/DHAVE_ICONV_H=1\
- /DHAVE_GD_BUNDLED=1\
/DHAVE_LIBFREETYPE=1\
/DHAVE_LIBJPEG=1\
/DHAVE_LIBPNG=1\
- /DHAVE_LIBWEBP=1\
+ /DHAVE_LIBWEBP=1\
/DHAVE_LIBZ=1\
- /DHAVE_LIBXPM=1\
+ /DHAVE_LIBXPM=1\
/DHAVE_LIBTIFF=1\
$(INCLUDES)
diff --git a/Build/source/libs/gd/libgd-src/windows/Makefiletest.vc b/Build/source/libs/gd/libgd-src/windows/Makefiletest.vc
new file mode 100644
index 00000000000..827a4e79e04
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/windows/Makefiletest.vc
@@ -0,0 +1,117 @@
+TESTS=bmp\bmp_im2im \
+bmp\bmp_null \
+freetype\bug00132 \
+gd\gd_im2im \
+gd\gd_null \
+gd\gd_num_colors \
+gd\gd_versiontest \
+gd2\gd2_empty_file \
+gd2\gd2_im2im \
+gd2\gd2_null \
+gd2\gd2_read \
+gd2\gd2_read_corrupt \
+gd2\php_bug_72339 \
+gdimagearc\bug00079 \
+gdimagecolorclosest\gdimagecolorclosest \
+gdimagecolordeallocate\gdimagecolordeallocate \
+gdimagecolorexact\gdimagecolorexact \
+gdimagecolorreplace\gdimagecolorreplace \
+gdimagecolorresolve\gdimagecolorresolve \
+gdimagecolortransparent\gdimagecolortransparent \
+gdimagecopy\bug00007 \
+gdimagecopy\bug00081 \
+gdimagecopyrotated\bug00020 \
+gdimagecrop\php_bug_72494 \
+gdimagefile\gdnametest \
+gdimagefill\bug00002_1 \
+gdimagefill\bug00002_2 \
+gdimagefill\bug00002_3 \
+gdimagefill\bug00002_4 \
+gdimagefill\bug00104_1 \
+gdimagefilledellipse\bug00010 \
+gdimagefilledellipse\bug00191 \
+gdimagefilledellipse\github_bug_00238 \
+gdimagefilledpolygon\bug00100 \
+gdimagefilledpolygon\gdimagefilledpolygon0 \
+gdimagefilledpolygon\gdimagefilledpolygon1 \
+gdimagefilledpolygon\gdimagefilledpolygon2 \
+gdimagefilledpolygon\gdimagefilledpolygon3 \
+gdimagefilledpolygon\php_bug_64641 \
+gdimagefilledrectangle\bug00004 \
+gdimagefilledrectangle\bug00078 \
+gdimagefilledrectangle\bug00106_gdimagefilledrectangle \
+gdimagefilltoborder\bug00037 \
+gdimagefilltoborder\github_bug_215 \
+gdimagefilter\gdCopyBlurred \
+gdimageline\bug00072 \
+gdimageline\bug00077 \
+gdimageline\bug00111 \
+gdimageline\gdImageAALine_thickness \
+gdimageline\gdimageline_aa \
+gdimageline\gdimageline_aa_outofrange \
+gdimageline\gdimageline_bug5 \
+gdimageline\github_bug_167 \
+gdimageopenpolygon\gdimageopenpolygon0 \
+gdimageopenpolygon\gdimageopenpolygon1 \
+gdimageopenpolygon\gdimageopenpolygon2 \
+gdimageopenpolygon\gdimageopenpolygon3 \
+gdimagepixelate\gdimagepixelate \
+gdimagepolygon\gdimagepolygon0 \
+gdimagepolygon\gdimagepolygon1 \
+gdimagepolygon\gdimagepolygon2 \
+gdimagepolygon\gdimagepolygon3 \
+gdimagerectangle\bug00003 \
+gdimagerectangle\bug00106_gdimagerectangle \
+gdimagerectangle\github_bug_00172 \
+gdimagerotate\bug00067 \
+gdimagerotate\php_bug_64898 \
+gdimagescale\github_bug_00218 \
+gdimagescatterex\bug00208_1 \
+gdimagescatterex\bug00208_2 \
+gdimagesetpixel\bug00186 \
+gdimagesetpixel\gdeffectmultiply \
+gdimagesetpixel\gdeffectoverlay \
+gdimagestringft\gdimagestringft_bbox \
+gdimagestringftex\gdimagestringftex_returnfontpathname \
+gdinterpolatedscale\gdModesAndPalettes \
+gdinterpolatedscale\gdTrivialResize \
+gdnewfilectx\gdnewfilectx_null \
+gdtiled\bug00032 \
+gdtransformaffineboundingbox\github_bug_00221 \
+gif\bug00005 \
+gif\bug00005_2 \
+gif\bug00006 \
+gif\bug00060 \
+gif\bug00066 \
+gif\bug00181 \
+gif\bug00227 \
+gif\gif_im2im \
+gif\gif_null \
+jpeg\bug_github_18 \
+jpeg\jpeg_empty_file \
+jpeg\jpeg_im2im \
+jpeg\jpeg_null \
+jpeg\jpeg_read \
+jpeg\jpeg_resolution \
+png\bug00011 \
+png\bug00033 \
+png\bug00086 \
+png\bug00088 \
+png\bug00193 \
+png\png_im2im \
+png\png_null \
+png\png_resolution \
+tga\bug00084 \
+tga\bug00247 \
+tga\bug00247a \
+tga\tga_null \
+tiff\tiff_dpi \
+tiff\tiff_im2im \
+tiff\tiff_null \
+wbmp\wbmp_im2im \
+wbmp\wbmp_null \
+webp\bug00111 \
+xbm\github_bug_170 \
+xpm\bug00166 \
+xpm\bug00185 \
+xpm\color_name
diff --git a/Build/source/libs/gd/libgd-src/windows/gentest.bat b/Build/source/libs/gd/libgd-src/windows/gentest.bat
index f57d08b6708..756e0f91bb2 100644
--- a/Build/source/libs/gd/libgd-src/windows/gentest.bat
+++ b/Build/source/libs/gd/libgd-src/windows/gentest.bat
@@ -1,35 +1,35 @@
-SETLOCAL ENABLEDELAYEDEXPANSION
-@echo off
-set testsdir=%~1
-set builddir=%~2
-set CFLAGS=%~3
-set LDFLAGS=%~4
-set CC=%~5
-set LD=%~6
-set TESTMK=%~7
-set TESTLIST=%~8
-echo %*
-echo recieved !testsdir! !builddir! !CFLAGS! !LDFLAGS! !CC!
-
-copy NUL !TESTMK! > nul
-copy NUL !TESTLIST! > nul
-
-for /D %%d in (!testsdir!/*) do (
- if NOT "%%d"=="fontconfig" if NOT "%%d"=="gdtest" for %%f in (!testsdir!/%%d/*.c) do (
- echo TEST_EXES=!builddir!\tests\%%d_%%~nf.exe ^$^(TEST_EXES^) >> !TESTMK!
- )
-)
-
-for /D %%d in (!testsdir!/*) do (
- if NOT "%%d"=="fontconfig" if NOT "%%d"=="gdtest" for %%f in (!testsdir!/%%d/*.c) do (
- echo !builddir!\%%d_%%~nf.obj: !testsdir!\%%d\%%f; ^$^(CC^) ^$^(TEST_CFLAGS^) /c ^$** /Fd$*.pdb /Fo:$@ >> !TESTMK!
- )
-)
-
-for /D %%d in (!testsdir!/*) do (
- if NOT "%%d"=="fontconfig" if NOT "%%d"=="gdtest" for %%f in (!testsdir!/%%d/*.c) do (
- echo !builddir!\tests\%%d_%%~nf.exe: !builddir!\%%d_%%~nf.obj; !LD! !LDFLAGS! $** /out:$@ >> !TESTMK!
- echo %%d_%%~nf.exe >> !TESTLIST!
- )
-)
-ENDLOCAL \ No newline at end of file
+SETLOCAL ENABLEDELAYEDEXPANSION
+@echo off
+set testsdir=%~1
+set builddir=%~2
+set CFLAGS=%~3
+set LDFLAGS=%~4
+set CC=%~5
+set LD=%~6
+set TESTMK=%~7
+set TESTLIST=%~8
+echo %*
+echo recieved !testsdir! !builddir! !CFLAGS! !LDFLAGS! !CC!
+
+copy NUL !TESTMK! > nul
+copy NUL !TESTLIST! > nul
+
+for /D %%d in (!testsdir!/*) do (
+ if NOT "%%d"=="fontconfig" if NOT "%%d"=="gdtest" for %%f in (!testsdir!/%%d/*.c) do (
+ echo TEST_EXES=!builddir!\tests\%%d_%%~nf.exe ^$^(TEST_EXES^) >> !TESTMK!
+ )
+)
+
+for /D %%d in (!testsdir!/*) do (
+ if NOT "%%d"=="fontconfig" if NOT "%%d"=="gdtest" for %%f in (!testsdir!/%%d/*.c) do (
+ echo !builddir!\%%d_%%~nf.obj: !testsdir!\%%d\%%f; ^$^(CC^) ^$^(TEST_CFLAGS^) /c ^$** /Fd$*.pdb /Fo:$@ >> !TESTMK!
+ )
+)
+
+for /D %%d in (!testsdir!/*) do (
+ if NOT "%%d"=="fontconfig" if NOT "%%d"=="gdtest" for %%f in (!testsdir!/%%d/*.c) do (
+ echo !builddir!\tests\%%d_%%~nf.exe: !builddir!\%%d_%%~nf.obj; !LD! !LDFLAGS! $** /out:$@ >> !TESTMK!
+ echo %%d_%%~nf.exe >> !TESTLIST!
+ )
+)
+ENDLOCAL
diff --git a/Build/source/libs/gd/libgd-src/windows/libgd.rc b/Build/source/libs/gd/libgd-src/windows/libgd.rc
index dfe6ff0aa78..803b3462123 100644
--- a/Build/source/libs/gd/libgd-src/windows/libgd.rc
+++ b/Build/source/libs/gd/libgd-src/windows/libgd.rc
@@ -1,5 +1,4 @@
/* This is a template RC file.
- * $Id$
* Do not edit with MSVC */
#ifdef APSTUDIO_INVOKED
# error dont edit with MSVC
@@ -38,7 +37,7 @@ BEGIN
VALUE "FileDescription", "LIBGD" "\0"
VALUE "FileVersion", GD_VERSION_STRING "\0"
VALUE "InternalName", "bgd.dll" "\0"
- VALUE "LegalCopyright", "Copyright © 1997-2008 Thomas Boutell, Pierre A. Joye and contributors, see COPYING\0"
+ VALUE "LegalCopyright", "Copyright © 1997-2008 Thomas Boutell, Pierre A. Joye and contributors, see COPYING\0"
VALUE "LegalTrademarks", "Thomas Boutell, Pierre A. Joye and contributors\0"
VALUE "OriginalFilename", "bgd.dll" "\0"
VALUE "PrivateBuild", "\0"
@@ -56,4 +55,3 @@ END
#ifdef MC_INCLUDE
#include MC_INCLUDE
#endif
-
diff --git a/Build/source/libs/gd/libgd-src/windows/msys/Makefile b/Build/source/libs/gd/libgd-src/windows/msys/Makefile
index 3b1ced42b64..d4acaafc324 100644
--- a/Build/source/libs/gd/libgd-src/windows/msys/Makefile
+++ b/Build/source/libs/gd/libgd-src/windows/msys/Makefile
@@ -1,4 +1,3 @@
-
# Simple makefile for building and testing libgd under MSYS/MinGW on
# Windows
@@ -7,9 +6,10 @@
LIBVER=3.0.1
# Misc. config flags.
-CDEFS=-DHAVE_ERRNO_H -DHAVE_ICONV -DHAVE_ICONV_H \
--DHAVE_ICONV_T_DEF -DHAVE_INTTYPES_H -DHAVE_LIMITS_H -DHAVE_STDDEF_H \
--DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_VISIBILITY -DICONV_CONST
+CDEFS=-DHAVE_ICONV -DHAVE_ICONV_H \
+-DHAVE_ICONV_T_DEF -DHAVE_INTTYPES_H \
+-DHAVE_STDINT_H -DHAVE_VISIBILITY -DICONV_CONST \
+-DENABLE_GD_FORMATS=1
# GnuWin32 libs should all be installed in one place.
GNUDIR=/c/tools/GnuWin32
@@ -131,13 +131,3 @@ $(TARGET): $(OBJ)
$(OBJ) $(LIBS)
include deps.mk
-
-
-
-
-
-
-
-
-
-
diff --git a/Build/source/libs/gd/libgd-src/windows/msys/README.MSYS.md b/Build/source/libs/gd/libgd-src/windows/msys/README.MSYS.md
index 601802dd8e0..e45adc64a3e 100644
--- a/Build/source/libs/gd/libgd-src/windows/msys/README.MSYS.md
+++ b/Build/source/libs/gd/libgd-src/windows/msys/README.MSYS.md
@@ -1,4 +1,3 @@
-
# MSYS Fallback Makefile
This is a simple, straightforward Makefile for building LibGD with
@@ -49,6 +48,14 @@ use one of the other build systems (or add them yourself.)
DLLs; it sweeps up all of the DLLs in the directories pointed to
by *_DLLDIR Makefile variables.
+ Before type "make dist", please make sure you have installed
+ zip command in msys. Or you can try:
+ * If you use msys, you can install msys-zip(lib, docs, lic)
+ in MinGW Installation Manager/all package.
+ * If you use msys2, you can install msys/zip by pacman and running:
+
+ pacman -S msys/zip
+
Alternately, you can copy the lib (in src/) to wherever it needs
to go.
@@ -59,7 +66,3 @@ use one of the other build systems (or add them yourself.)
worth.
* LibFontconfig: I couldn't find Windows binaries for it anywhere
reputable.
-
-
-
-
diff --git a/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh b/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh
index 22de13c4036..f7c4b44cf51 100755
--- a/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh
+++ b/Build/source/libs/gd/libgd-src/windows/msys/run_tests.sh
@@ -5,11 +5,11 @@ set -e
# Parameters
DLLPATH_EXTRA=$1 # Path to supporting DLLs
CFLAGS_EXTRA=$2 # Extra C flags
-
+
LOG=run_tests.log
-CFLAGS="-g -Igdtest/ -I. -I../src/ -D_WIN32 $CFLAGS_EXTRA"
+CFLAGS="-g -Igdtest/ -I. -I../src/ -D_WIN32 -DHAVE_SYS_STAT_H $CFLAGS_EXTRA"
LDFLAGS='-L../src -llibgd'
DLLPATH=../src:$DLLPATH_EXTRA
@@ -38,7 +38,7 @@ echo "Running tests:"
count=0
failures=0
compile_failures=0
-for test in `find . -name \*.c | grep -v '^./gdtest'`; do
+for test in `find . -name \*.c | grep -vE '^./(fontconfig|gdtest|gdhelpers|xpm)'`; do
count=`expr $count + 1`
exe=${test%.c}.exe
@@ -49,7 +49,7 @@ for test in `find . -name \*.c | grep -v '^./gdtest'`; do
compile_failures=`expr $compile_failures + 1`
continue
fi
-
+
echo "Running $exe:" >> $LOG
if $exe 2>&1 >> $LOG; then
echo "PASS: $test"
@@ -62,6 +62,3 @@ done
echo "$failures failures and $compile_failures compile failures out of $count tests."
echo "Error messages in $LOG"
-
-
-
diff --git a/Build/source/libs/gd/libgd-src/windows/readme.md b/Build/source/libs/gd/libgd-src/windows/readme.md
index cd95b790331..dce52026e62 100644
--- a/Build/source/libs/gd/libgd-src/windows/readme.md
+++ b/Build/source/libs/gd/libgd-src/windows/readme.md
@@ -1,53 +1,53 @@
-# Building on Windows with Visual Studio 2015
-
-* Get the required dependencies from
- http://windows.php.net/downloads/php-sdk/deps/vc14/ and
- http://windows.php.net/downloads/pecl/deps/, respectively. Choose the x86 or
- x64 packages depending on your needs.
-
- * freetype
- * libiconv
- * libjpeg
- * libpng
- * libtiff
- * libwebp
- * libxpm
- * zlib
-
-* Unpack all dependency packages into the same folder.
-
-* Open the VS2015 x86 or x64 Native Tools Command Prompt.
-
-* Set the environment variable `WITH_DEVEL` to the path where you have unpacked
- the dependencies. `WITH_DEVEL` defaults to `..\deps`.
-
-* If you want a debug build, do
-````
-set DEBUG=1
-````
-
-* `cd` into the libgd source folder.
-
-* To build the libraries, do:
-```
-nmake /f windows\Makefile.vc
-```
-
-* To build and run the tests, do:
-````
-nmake /f windows\Makefile.vc check
-````
-
-* To build the executable programs, do:
-````
-nmake /f windows\Makefile.vc build_progs
-````
-
-* After a successful build, you find the libraries and test executables in
- `..\gdbuild`. You can change the build folder by setting the environment
- variable `WITH_BUILD` to the desired path.
-
-* Before rebuilding, you may have to run:
-```
-nmake /f windows\Makefile.vc clean
-```
+# Building on Windows with Visual Studio 2015
+
+* Get the required dependencies from
+ http://windows.php.net/downloads/php-sdk/deps/vc14/ and
+ http://windows.php.net/downloads/pecl/deps/, respectively. Choose the x86 or
+ x64 packages depending on your needs.
+
+ * freetype
+ * libiconv
+ * libjpeg
+ * libpng
+ * libtiff
+ * libwebp
+ * libxpm
+ * zlib
+
+* Unpack all dependency packages into the same folder.
+
+* Open the VS2015 x86 or x64 Native Tools Command Prompt.
+
+* Set the environment variable `WITH_DEVEL` to the path where you have unpacked
+ the dependencies. `WITH_DEVEL` defaults to `..\deps`.
+
+* If you want a debug build, do
+````
+set DEBUG=1
+````
+
+* `cd` into the libgd source folder.
+
+* To build the libraries, do:
+```
+nmake /f windows\Makefile.vc
+```
+
+* To build and run the tests, do:
+````
+nmake /f windows\Makefile.vc check
+````
+
+* To build the executable programs, do:
+````
+nmake /f windows\Makefile.vc build_progs
+````
+
+* After a successful build, you find the libraries and test executables in
+ `..\gdbuild`. You can change the build folder by setting the environment
+ variable `WITH_BUILD` to the desired path.
+
+* Before rebuilding, you may have to run:
+```
+nmake /f windows\Makefile.vc clean
+```
diff --git a/Build/source/libs/gd/libgd-src/windows/run_tests.bat b/Build/source/libs/gd/libgd-src/windows/run_tests.bat
index bd739469d2a..097d3b9094d 100644
--- a/Build/source/libs/gd/libgd-src/windows/run_tests.bat
+++ b/Build/source/libs/gd/libgd-src/windows/run_tests.bat
@@ -1,43 +1,43 @@
-@echo off
-setlocal EnableDelayedExpansion
-if [%PLATFORM%]==[] set PLATFORM=x86
-if [%PREFERREDTOOLARCHITECTURE%]==[x64] set PLATFORM=x64
-set PLATFORM=%PLATFORM:X=x%
-
-set total=0
-set total_passed=0
-set total_failed=0
-set total_missing=0
-
-for /f %%T in (testlist.txt) do (
- set test=%%T
- set output=test: !test!....................................................................
- set target=%%~nT.exe
- if not exist !target! SET result=NotFound
- call !target! && (SET result=Passed) || (SET result=Failed)
-
- rem > last_test.out 2> last_test.err
- rem set /p testerr=<last_test.err
- rem set /p testout=<last_test.out
-
- echo !output:~0,70!!result!
-
- rem if defined testerr echo error: !testerr!
- rem if defined testout echo msg: !testout!
-
- set /a total=total+1
- if "!result!"=="Passed" set /a total_passed=total_passed+1
- if "!result!"=="Failed" set /a total_failed=total_failed+1
- if "!result!"=="NotFound" set /a total_missing=total_missing+1
-
- if defined APPVEYOR (
- appveyor AddTest "!test! %PLATFORM%" -Outcome !result! -Framework Custom -Filename %%~nT.exe -Duration 0
- )
-)
-echo.
-echo Tests: !total!
-echo Passed: !total_passed!
-echo Failed: !total_failed!
-echo Missing: !total_missing!
-
-exit /b 0 \ No newline at end of file
+@echo off
+setlocal EnableDelayedExpansion
+if [%PLATFORM%]==[] set PLATFORM=x86
+if [%PREFERREDTOOLARCHITECTURE%]==[x64] set PLATFORM=x64
+set PLATFORM=%PLATFORM:X=x%
+
+set total=0
+set total_passed=0
+set total_failed=0
+set total_missing=0
+
+for /f %%T in (testlist.txt) do (
+ set test=%%T
+ set output=test: !test!....................................................................
+ set target=%%~nT.exe
+ if not exist !target! SET result=NotFound
+ call !target! && (SET result=Passed) || (SET result=Failed)
+
+ rem > last_test.out 2> last_test.err
+ rem set /p testerr=<last_test.err
+ rem set /p testout=<last_test.out
+
+ echo !output:~0,70!!result!
+
+ rem if defined testerr echo error: !testerr!
+ rem if defined testout echo msg: !testout!
+
+ set /a total=total+1
+ if "!result!"=="Passed" set /a total_passed=total_passed+1
+ if "!result!"=="Failed" set /a total_failed=total_failed+1
+ if "!result!"=="NotFound" set /a total_missing=total_missing+1
+
+ if defined APPVEYOR (
+ appveyor AddTest "!test! %PLATFORM%" -Outcome !result! -Framework Custom -Filename %%~nT.exe -Duration 0
+ )
+)
+echo.
+echo Tests: !total!
+echo Passed: !total_passed!
+echo Failed: !total_failed!
+echo Missing: !total_missing!
+
+exit /b 0
diff --git a/Build/source/libs/gd/version.ac b/Build/source/libs/gd/version.ac
index ce56a629a49..f55562bce77 100644
--- a/Build/source/libs/gd/version.ac
+++ b/Build/source/libs/gd/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current gd version
-m4_define([gd_version], [2.2.5])
+m4_define([gd_version], [2.3.0])