cairo 1.8.3-x86-mingw32 → 1.8.4-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

Files changed (126) hide show
  1. data/NEWS +14 -0
  2. data/Rakefile +2 -2
  3. data/ext/cairo/rb_cairo.c +1 -1
  4. data/extconf.rb +11 -11
  5. data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/freetype6.dll +0 -0
  6. data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/libcairo-2.dll +0 -0
  7. data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/libfontconfig-1.dll +0 -0
  8. data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/libpng14-14.dll +0 -0
  9. data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/zlib1.dll +0 -0
  10. data/home/kou/work/ruby/rcairo.win32/vendor/local/etc/fonts/fonts.conf +151 -0
  11. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-deprecated.h +138 -0
  12. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-features.h +20 -0
  13. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-ft.h +75 -0
  14. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-pdf.h +68 -0
  15. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-ps.h +114 -0
  16. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-svg.h +82 -0
  17. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-version.h +8 -0
  18. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-win32.h +112 -0
  19. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo.h +2328 -0
  20. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/libpng14/png.h +2701 -0
  21. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/libpng14/pngconf.h +1525 -0
  22. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/png.h +2701 -0
  23. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/pngconf.h +1525 -0
  24. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/zconf.h +461 -0
  25. data/home/kou/work/ruby/rcairo.win32/vendor/local/include/zlib.h +1589 -0
  26. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/cairo.def +278 -0
  27. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/cairo.lib +0 -0
  28. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libcairo.dll.a +0 -0
  29. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libpng.def +192 -0
  30. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libpng.lib +0 -0
  31. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libpng14.dll.a +0 -0
  32. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libz.dll.a +0 -0
  33. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-ft.pc +12 -0
  34. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-pdf.pc +12 -0
  35. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-png.pc +12 -0
  36. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-ps.pc +12 -0
  37. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-svg.pc +12 -0
  38. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-win32-font.pc +12 -0
  39. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-win32.pc +12 -0
  40. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo.pc +13 -0
  41. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/libpng.pc +11 -0
  42. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/libpng14.pc +11 -0
  43. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/zdll.lib +0 -0
  44. data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/zlib.def +67 -0
  45. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/cairo-dev_1.8.10-4_win32.mft +76 -0
  46. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/cairo_1.8.10-4_win32.mft +5 -0
  47. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/fontconfig_2.8.0-2_win32.mft +3 -0
  48. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/freetype_2.4.2-1_win32.mft +2 -0
  49. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/libpng-dev_1.4.3-1_win32.mft +15 -0
  50. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/libpng_1.4.3-1_win32.mft +2 -0
  51. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/zlib-dev_1.2.5-2_win32.mft +8 -0
  52. data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/zlib_1.2.5-2_win32.mft +2 -0
  53. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/doc/cairo_1.8.10-4_win32/COPYING +32 -0
  54. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/doc/cairo_1.8.10-4_win32/COPYING-LGPL-2.1 +510 -0
  55. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/doc/cairo_1.8.10-4_win32/COPYING-MPL-1.1 +470 -0
  56. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +132 -0
  57. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +63 -0
  58. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +133 -0
  59. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +131 -0
  60. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +127 -0
  61. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +67 -0
  62. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +130 -0
  63. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +102 -0
  64. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +103 -0
  65. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-context.html +2643 -0
  66. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +57 -0
  67. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-error-status.html +360 -0
  68. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-font-face.html +408 -0
  69. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-font-options.html +678 -0
  70. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +63 -0
  71. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-ft-font.html +319 -0
  72. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-image-surface.html +473 -0
  73. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-matrix.html +596 -0
  74. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-paths.html +1274 -0
  75. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-pattern.html +1485 -0
  76. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-pdf-surface.html +238 -0
  77. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-png-functions.html +341 -0
  78. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-ps-surface.html +622 -0
  79. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-quartz-font.html +151 -0
  80. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-quartz-surface.html +219 -0
  81. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-scaled-font.html +1023 -0
  82. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +54 -0
  83. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-surface.html +1026 -0
  84. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +69 -0
  85. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-svg-surface.html +321 -0
  86. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1222 -0
  87. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-transformations.html +436 -0
  88. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-types.html +133 -0
  89. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-user-font.html +735 -0
  90. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-version-info.html +345 -0
  91. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-win32-font.html +358 -0
  92. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-win32-surface.html +312 -0
  93. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-xlib-surface.html +492 -0
  94. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp +417 -0
  95. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +542 -0
  96. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  97. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +141 -0
  98. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +109 -0
  99. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +71 -0
  100. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +107 -0
  101. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-all.html +759 -0
  102. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index.html +144 -0
  103. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index.sgml +478 -0
  104. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +83 -0
  105. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  106. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  107. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/style.css +167 -0
  108. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  109. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/man/man3/libpng.3 +4455 -0
  110. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/man/man3/libpngpf.3 +808 -0
  111. data/home/kou/work/ruby/rcairo.win32/vendor/local/share/man/man5/png.5 +74 -0
  112. data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/cairo_1.8.10-4_win32.log +920 -0
  113. data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/cairo_1.8.10-4_win32.sh +76 -0
  114. data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/libpng_1.4.3-1_win32.log +272 -0
  115. data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/libpng_1.4.3-1_win32.sh +71 -0
  116. data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.log +42 -0
  117. data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.sh +189 -0
  118. data/lib/1.8/cairo.so +0 -0
  119. data/lib/1.9/cairo.so +0 -0
  120. data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.8.7/fake.rb +0 -0
  121. data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.8.7/mkmf.rb +0 -0
  122. data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.8.7/rbconfig.rb +0 -0
  123. data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.9.2/fake.rb +0 -0
  124. data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.9.2/mkmf.rb +0 -0
  125. data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.9.2/rbconfig.rb +1 -1
  126. metadata +126 -40
@@ -0,0 +1,1525 @@
1
+
2
+ /* pngconf.h - machine configurable file for libpng
3
+ *
4
+ * libpng version 1.4.3 - June 26, 2010
5
+ * For conditions of distribution and use, see copyright notice in png.h
6
+ * Copyright (c) 1998-2010 Glenn Randers-Pehrson
7
+ * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
8
+ * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
9
+ *
10
+ * This code is released under the libpng license.
11
+ * For conditions of distribution and use, see the disclaimer
12
+ * and license in png.h
13
+ *
14
+ */
15
+
16
+ /* Any machine specific code is near the front of this file, so if you
17
+ * are configuring libpng for a machine, you may want to read the section
18
+ * starting here down to where it starts to typedef png_color, png_text,
19
+ * and png_info.
20
+ */
21
+
22
+ #ifndef PNGCONF_H
23
+ #define PNGCONF_H
24
+
25
+ #ifndef PNG_NO_LIMITS_H
26
+ # include <limits.h>
27
+ #endif
28
+
29
+ /* Added at libpng-1.2.9 */
30
+
31
+ /* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure"
32
+ * script.
33
+ */
34
+ #ifdef PNG_CONFIGURE_LIBPNG
35
+ # ifdef HAVE_CONFIG_H
36
+ # include "config.h"
37
+ # endif
38
+ #endif
39
+
40
+ /*
41
+ * Added at libpng-1.2.8
42
+ *
43
+ * PNG_USER_CONFIG has to be defined on the compiler command line. This
44
+ * includes the resource compiler for Windows DLL configurations.
45
+ */
46
+ #ifdef PNG_USER_CONFIG
47
+ # ifndef PNG_USER_PRIVATEBUILD
48
+ # define PNG_USER_PRIVATEBUILD
49
+ # endif
50
+ # include "pngusr.h"
51
+ #endif
52
+
53
+ /*
54
+ * If you create a private DLL you need to define in "pngusr.h" the followings:
55
+ * #define PNG_USER_PRIVATEBUILD <Describes by whom and why this version of
56
+ * the DLL was built>
57
+ * e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons."
58
+ * #define PNG_USER_DLLFNAME_POSTFIX <two-letter postfix that serve to
59
+ * distinguish your DLL from those of the official release. These
60
+ * correspond to the trailing letters that come after the version
61
+ * number and must match your private DLL name>
62
+ * e.g. // private DLL "libpng13gx.dll"
63
+ * #define PNG_USER_DLLFNAME_POSTFIX "gx"
64
+ *
65
+ * The following macros are also at your disposal if you want to complete the
66
+ * DLL VERSIONINFO structure.
67
+ * - PNG_USER_VERSIONINFO_COMMENTS
68
+ * - PNG_USER_VERSIONINFO_COMPANYNAME
69
+ * - PNG_USER_VERSIONINFO_LEGALTRADEMARKS
70
+ */
71
+
72
+ #ifdef __STDC__
73
+ # ifdef SPECIALBUILD
74
+ # pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\
75
+ are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.")
76
+ # endif
77
+
78
+ # ifdef PRIVATEBUILD
79
+ # pragma message("PRIVATEBUILD is deprecated.\
80
+ Use PNG_USER_PRIVATEBUILD instead.")
81
+ # define PNG_USER_PRIVATEBUILD PRIVATEBUILD
82
+ # endif
83
+ #endif /* __STDC__ */
84
+
85
+ /* End of material added to libpng-1.2.8 */
86
+
87
+ #ifndef PNG_VERSION_INFO_ONLY
88
+
89
+ /* This is the size of the compression buffer, and thus the size of
90
+ * an IDAT chunk. Make this whatever size you feel is best for your
91
+ * machine. One of these will be allocated per png_struct. When this
92
+ * is full, it writes the data to the disk, and does some other
93
+ * calculations. Making this an extremely small size will slow
94
+ * the library down, but you may want to experiment to determine
95
+ * where it becomes significant, if you are concerned with memory
96
+ * usage. Note that zlib allocates at least 32Kb also. For readers,
97
+ * this describes the size of the buffer available to read the data in.
98
+ * Unless this gets smaller than the size of a row (compressed),
99
+ * it should not make much difference how big this is.
100
+ */
101
+
102
+ #ifndef PNG_ZBUF_SIZE
103
+ # define PNG_ZBUF_SIZE 8192
104
+ #endif
105
+
106
+ /* Enable if you want a write-only libpng */
107
+
108
+ #ifndef PNG_NO_READ_SUPPORTED
109
+ # define PNG_READ_SUPPORTED
110
+ #endif
111
+
112
+ /* Enable if you want a read-only libpng */
113
+
114
+ #ifndef PNG_NO_WRITE_SUPPORTED
115
+ # define PNG_WRITE_SUPPORTED
116
+ #endif
117
+
118
+ /* Enabled in 1.4.0. */
119
+ #ifdef PNG_ALLOW_BENIGN_ERRORS
120
+ # define png_benign_error png_warning
121
+ # define png_chunk_benign_error png_chunk_warning
122
+ #else
123
+ # ifndef PNG_BENIGN_ERRORS_SUPPORTED
124
+ # define png_benign_error png_error
125
+ # define png_chunk_benign_error png_chunk_error
126
+ # endif
127
+ #endif
128
+
129
+ /* Added at libpng version 1.4.0 */
130
+ #if !defined(PNG_NO_WARNINGS) && !defined(PNG_WARNINGS_SUPPORTED)
131
+ # define PNG_WARNINGS_SUPPORTED
132
+ #endif
133
+
134
+ /* Added at libpng version 1.4.0 */
135
+ #if !defined(PNG_NO_ERROR_TEXT) && !defined(PNG_ERROR_TEXT_SUPPORTED)
136
+ # define PNG_ERROR_TEXT_SUPPORTED
137
+ #endif
138
+
139
+ /* Added at libpng version 1.4.0 */
140
+ #if !defined(PNG_NO_CHECK_cHRM) && !defined(PNG_CHECK_cHRM_SUPPORTED)
141
+ # define PNG_CHECK_cHRM_SUPPORTED
142
+ #endif
143
+
144
+ /* Added at libpng version 1.4.0 */
145
+ #if !defined(PNG_NO_ALIGNED_MEMORY) && !defined(PNG_ALIGNED_MEMORY_SUPPORTED)
146
+ # define PNG_ALIGNED_MEMORY_SUPPORTED
147
+ #endif
148
+
149
+ /* Enabled by default in 1.2.0. You can disable this if you don't need to
150
+ support PNGs that are embedded in MNG datastreams */
151
+ #ifndef PNG_NO_MNG_FEATURES
152
+ # ifndef PNG_MNG_FEATURES_SUPPORTED
153
+ # define PNG_MNG_FEATURES_SUPPORTED
154
+ # endif
155
+ #endif
156
+
157
+ /* Added at libpng version 1.4.0 */
158
+ #ifndef PNG_NO_FLOATING_POINT_SUPPORTED
159
+ # ifndef PNG_FLOATING_POINT_SUPPORTED
160
+ # define PNG_FLOATING_POINT_SUPPORTED
161
+ # endif
162
+ #endif
163
+
164
+ /* Added at libpng-1.4.0beta49 for testing (this test is no longer used
165
+ in libpng and png_calloc() is always present)
166
+ */
167
+ #define PNG_CALLOC_SUPPORTED
168
+
169
+ /* If you are running on a machine where you cannot allocate more
170
+ * than 64K of memory at once, uncomment this. While libpng will not
171
+ * normally need that much memory in a chunk (unless you load up a very
172
+ * large file), zlib needs to know how big of a chunk it can use, and
173
+ * libpng thus makes sure to check any memory allocation to verify it
174
+ * will fit into memory.
175
+ #define PNG_MAX_MALLOC_64K
176
+ */
177
+ #if defined(MAXSEG_64K) && !defined(PNG_MAX_MALLOC_64K)
178
+ # define PNG_MAX_MALLOC_64K
179
+ #endif
180
+
181
+ /* Special munging to support doing things the 'cygwin' way:
182
+ * 'Normal' png-on-win32 defines/defaults:
183
+ * PNG_BUILD_DLL -- building dll
184
+ * PNG_USE_DLL -- building an application, linking to dll
185
+ * (no define) -- building static library, or building an
186
+ * application and linking to the static lib
187
+ * 'Cygwin' defines/defaults:
188
+ * PNG_BUILD_DLL -- (ignored) building the dll
189
+ * (no define) -- (ignored) building an application, linking to the dll
190
+ * PNG_STATIC -- (ignored) building the static lib, or building an
191
+ * application that links to the static lib.
192
+ * ALL_STATIC -- (ignored) building various static libs, or building an
193
+ * application that links to the static libs.
194
+ * Thus,
195
+ * a cygwin user should define either PNG_BUILD_DLL or PNG_STATIC, and
196
+ * this bit of #ifdefs will define the 'correct' config variables based on
197
+ * that. If a cygwin user *wants* to define 'PNG_USE_DLL' that's okay, but
198
+ * unnecessary.
199
+ *
200
+ * Also, the precedence order is:
201
+ * ALL_STATIC (since we can't #undef something outside our namespace)
202
+ * PNG_BUILD_DLL
203
+ * PNG_STATIC
204
+ * (nothing) == PNG_USE_DLL
205
+ *
206
+ * CYGWIN (2002-01-20): The preceding is now obsolete. With the advent
207
+ * of auto-import in binutils, we no longer need to worry about
208
+ * __declspec(dllexport) / __declspec(dllimport) and friends. Therefore,
209
+ * we don't need to worry about PNG_STATIC or ALL_STATIC when it comes
210
+ * to __declspec() stuff. However, we DO need to worry about
211
+ * PNG_BUILD_DLL and PNG_STATIC because those change some defaults
212
+ * such as CONSOLE_IO.
213
+ */
214
+ #ifdef __CYGWIN__
215
+ # ifdef ALL_STATIC
216
+ # ifdef PNG_BUILD_DLL
217
+ # undef PNG_BUILD_DLL
218
+ # endif
219
+ # ifdef PNG_USE_DLL
220
+ # undef PNG_USE_DLL
221
+ # endif
222
+ # ifdef PNG_DLL
223
+ # undef PNG_DLL
224
+ # endif
225
+ # ifndef PNG_STATIC
226
+ # define PNG_STATIC
227
+ # endif
228
+ # else
229
+ # ifdef PNG_BUILD_DLL
230
+ # ifdef PNG_STATIC
231
+ # undef PNG_STATIC
232
+ # endif
233
+ # ifdef PNG_USE_DLL
234
+ # undef PNG_USE_DLL
235
+ # endif
236
+ # ifndef PNG_DLL
237
+ # define PNG_DLL
238
+ # endif
239
+ # else
240
+ # ifdef PNG_STATIC
241
+ # ifdef PNG_USE_DLL
242
+ # undef PNG_USE_DLL
243
+ # endif
244
+ # ifdef PNG_DLL
245
+ # undef PNG_DLL
246
+ # endif
247
+ # else
248
+ # ifndef PNG_USE_DLL
249
+ # define PNG_USE_DLL
250
+ # endif
251
+ # ifndef PNG_DLL
252
+ # define PNG_DLL
253
+ # endif
254
+ # endif
255
+ # endif
256
+ # endif
257
+ #endif
258
+
259
+ /* This protects us against compilers that run on a windowing system
260
+ * and thus don't have or would rather us not use the stdio types:
261
+ * stdin, stdout, and stderr. The only one currently used is stderr
262
+ * in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will
263
+ * prevent these from being compiled and used. #defining PNG_NO_STDIO
264
+ * will also prevent these, plus will prevent the entire set of stdio
265
+ * macros and functions (FILE *, printf, etc.) from being compiled and used,
266
+ * unless (PNG_DEBUG > 0) has been #defined.
267
+ *
268
+ * #define PNG_NO_CONSOLE_IO
269
+ * #define PNG_NO_STDIO
270
+ */
271
+
272
+ #if !defined(PNG_NO_STDIO) && !defined(PNG_STDIO_SUPPORTED)
273
+ # define PNG_STDIO_SUPPORTED
274
+ #endif
275
+
276
+
277
+ #ifdef PNG_BUILD_DLL
278
+ # if !defined(PNG_CONSOLE_IO_SUPPORTED) && !defined(PNG_NO_CONSOLE_IO)
279
+ # define PNG_NO_CONSOLE_IO
280
+ # endif
281
+ #endif
282
+
283
+ # ifdef PNG_NO_STDIO
284
+ # ifndef PNG_NO_CONSOLE_IO
285
+ # define PNG_NO_CONSOLE_IO
286
+ # endif
287
+ # ifdef PNG_DEBUG
288
+ # if (PNG_DEBUG > 0)
289
+ # include <stdio.h>
290
+ # endif
291
+ # endif
292
+ # else
293
+ # include <stdio.h>
294
+ # endif
295
+
296
+ #if !(defined PNG_NO_CONSOLE_IO) && !defined(PNG_CONSOLE_IO_SUPPORTED)
297
+ # define PNG_CONSOLE_IO_SUPPORTED
298
+ #endif
299
+
300
+ /* This macro protects us against machines that don't have function
301
+ * prototypes (ie K&R style headers). If your compiler does not handle
302
+ * function prototypes, define this macro and use the included ansi2knr.
303
+ * I've always been able to use _NO_PROTO as the indicator, but you may
304
+ * need to drag the empty declaration out in front of here, or change the
305
+ * ifdef to suit your own needs.
306
+ */
307
+ #ifndef PNGARG
308
+
309
+ #ifdef OF /* zlib prototype munger */
310
+ # define PNGARG(arglist) OF(arglist)
311
+ #else
312
+
313
+ #ifdef _NO_PROTO
314
+ # define PNGARG(arglist) ()
315
+ #else
316
+ # define PNGARG(arglist) arglist
317
+ #endif /* _NO_PROTO */
318
+
319
+ #endif /* OF */
320
+
321
+ #endif /* PNGARG */
322
+
323
+ /* Try to determine if we are compiling on a Mac. Note that testing for
324
+ * just __MWERKS__ is not good enough, because the Codewarrior is now used
325
+ * on non-Mac platforms.
326
+ */
327
+ #ifndef MACOS
328
+ # if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
329
+ defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
330
+ # define MACOS
331
+ # endif
332
+ #endif
333
+
334
+ /* Enough people need this for various reasons to include it here */
335
+ #if !defined(MACOS) && !defined(RISCOS)
336
+ # include <sys/types.h>
337
+ #endif
338
+
339
+ /* PNG_SETJMP_NOT_SUPPORTED and PNG_NO_SETJMP_SUPPORTED are deprecated. */
340
+ #if !defined(PNG_NO_SETJMP) && \
341
+ !defined(PNG_SETJMP_NOT_SUPPORTED) && !defined(PNG_NO_SETJMP_SUPPORTED)
342
+ # define PNG_SETJMP_SUPPORTED
343
+ #endif
344
+
345
+ #ifdef PNG_SETJMP_SUPPORTED
346
+ /* This is an attempt to force a single setjmp behaviour on Linux. If
347
+ * the X config stuff didn't define _BSD_SOURCE we wouldn't need this.
348
+ *
349
+ * You can bypass this test if you know that your application uses exactly
350
+ * the same setjmp.h that was included when libpng was built. Only define
351
+ * PNG_SKIP_SETJMP_CHECK while building your application, prior to the
352
+ * application's '#include "png.h"'. Don't define PNG_SKIP_SETJMP_CHECK
353
+ * while building a separate libpng library for general use.
354
+ */
355
+
356
+ # ifndef PNG_SKIP_SETJMP_CHECK
357
+ # ifdef __linux__
358
+ # ifdef _BSD_SOURCE
359
+ # define PNG_SAVE_BSD_SOURCE
360
+ # undef _BSD_SOURCE
361
+ # endif
362
+ # ifdef _SETJMP_H
363
+ /* If you encounter a compiler error here, see the explanation
364
+ * near the end of INSTALL.
365
+ */
366
+ __pngconf.h__ in libpng already includes setjmp.h;
367
+ __dont__ include it again.;
368
+ # endif
369
+ # endif /* __linux__ */
370
+ # endif /* PNG_SKIP_SETJMP_CHECK */
371
+
372
+ /* Include setjmp.h for error handling */
373
+ # include <setjmp.h>
374
+
375
+ # ifdef __linux__
376
+ # ifdef PNG_SAVE_BSD_SOURCE
377
+ # ifdef _BSD_SOURCE
378
+ # undef _BSD_SOURCE
379
+ # endif
380
+ # define _BSD_SOURCE
381
+ # undef PNG_SAVE_BSD_SOURCE
382
+ # endif
383
+ # endif /* __linux__ */
384
+ #endif /* PNG_SETJMP_SUPPORTED */
385
+
386
+ #ifdef BSD
387
+ # include <strings.h>
388
+ #else
389
+ # include <string.h>
390
+ #endif
391
+
392
+ /* Other defines for things like memory and the like can go here. */
393
+
394
+ /* This controls how fine the quantizing gets. As this allocates
395
+ * a largish chunk of memory (32K), those who are not as concerned
396
+ * with quantizing quality can decrease some or all of these.
397
+ */
398
+
399
+ /* Prior to libpng-1.4.2, these were PNG_DITHER_*_BITS
400
+ * These migration aids will be removed from libpng-1.5.0.
401
+ */
402
+ #ifdef PNG_DITHER_RED_BITS
403
+ # define PNG_QUANTIZE_RED_BITS PNG_DITHER_RED_BITS
404
+ #endif
405
+ #ifdef PNG_DITHER_GREEN_BITS
406
+ # define PNG_QUANTIZE_GREEN_BITS PNG_DITHER_GREEN_BITS
407
+ #endif
408
+ #ifdef PNG_DITHER_BLUE_BITS
409
+ # define PNG_QUANTIZE_BLUE_BITS PNG_DITHER_BLUE_BITS
410
+ #endif
411
+
412
+ #ifndef PNG_QUANTIZE_RED_BITS
413
+ # define PNG_QUANTIZE_RED_BITS 5
414
+ #endif
415
+ #ifndef PNG_QUANTIZE_GREEN_BITS
416
+ # define PNG_QUANTIZE_GREEN_BITS 5
417
+ #endif
418
+ #ifndef PNG_QUANTIZE_BLUE_BITS
419
+ # define PNG_QUANTIZE_BLUE_BITS 5
420
+ #endif
421
+
422
+ /* This controls how fine the gamma correction becomes when you
423
+ * are only interested in 8 bits anyway. Increasing this value
424
+ * results in more memory being used, and more pow() functions
425
+ * being called to fill in the gamma tables. Don't set this value
426
+ * less then 8, and even that may not work (I haven't tested it).
427
+ */
428
+
429
+ #ifndef PNG_MAX_GAMMA_8
430
+ # define PNG_MAX_GAMMA_8 11
431
+ #endif
432
+
433
+ /* This controls how much a difference in gamma we can tolerate before
434
+ * we actually start doing gamma conversion.
435
+ */
436
+ #ifndef PNG_GAMMA_THRESHOLD
437
+ # define PNG_GAMMA_THRESHOLD 0.05
438
+ #endif
439
+
440
+ /* The following uses const char * instead of char * for error
441
+ * and warning message functions, so some compilers won't complain.
442
+ * If you do not want to use const, define PNG_NO_CONST here.
443
+ */
444
+
445
+ #ifndef PNG_CONST
446
+ # ifndef PNG_NO_CONST
447
+ # define PNG_CONST const
448
+ # else
449
+ # define PNG_CONST
450
+ # endif
451
+ #endif
452
+
453
+ /* The following defines give you the ability to remove code from the
454
+ * library that you will not be using. I wish I could figure out how to
455
+ * automate this, but I can't do that without making it seriously hard
456
+ * on the users. So if you are not using an ability, change the #define
457
+ * to and #undef, and that part of the library will not be compiled. If
458
+ * your linker can't find a function, you may want to make sure the
459
+ * ability is defined here. Some of these depend upon some others being
460
+ * defined. I haven't figured out all the interactions here, so you may
461
+ * have to experiment awhile to get everything to compile. If you are
462
+ * creating or using a shared library, you probably shouldn't touch this,
463
+ * as it will affect the size of the structures, and this will cause bad
464
+ * things to happen if the library and/or application ever change.
465
+ */
466
+
467
+ /* Any features you will not be using can be undef'ed here */
468
+
469
+ /* GR-P, 0.96a: Set "*TRANSFORMS_SUPPORTED as default but allow user
470
+ * to turn it off with PNG_NO_READ|WRITE_TRANSFORMS on the compile line,
471
+ * then pick and choose which ones to define without having to edit this
472
+ * file. It is safe to use the PNG_NO_READ|WRITE_TRANSFORMS
473
+ * if you only want to have a png-compliant reader/writer but don't need
474
+ * any of the extra transformations. This saves about 80 kbytes in a
475
+ * typical installation of the library. (PNG_NO_* form added in version
476
+ * 1.0.1c, for consistency; PNG_*_TRANSFORMS_NOT_SUPPORTED deprecated in
477
+ * 1.4.0)
478
+ */
479
+
480
+ /* Ignore attempt to turn off both floating and fixed point support */
481
+ #if !defined(PNG_FLOATING_POINT_SUPPORTED) || \
482
+ !defined(PNG_NO_FIXED_POINT_SUPPORTED)
483
+ # define PNG_FIXED_POINT_SUPPORTED
484
+ #endif
485
+
486
+ #ifdef PNG_READ_SUPPORTED
487
+
488
+ /* PNG_READ_TRANSFORMS_NOT_SUPPORTED is deprecated. */
489
+ #if !defined(PNG_READ_TRANSFORMS_NOT_SUPPORTED) && \
490
+ !defined(PNG_NO_READ_TRANSFORMS)
491
+ # define PNG_READ_TRANSFORMS_SUPPORTED
492
+ #endif
493
+
494
+ #ifdef PNG_READ_TRANSFORMS_SUPPORTED
495
+ # ifndef PNG_NO_READ_EXPAND
496
+ # define PNG_READ_EXPAND_SUPPORTED
497
+ # endif
498
+ # ifndef PNG_NO_READ_SHIFT
499
+ # define PNG_READ_SHIFT_SUPPORTED
500
+ # endif
501
+ # ifndef PNG_NO_READ_PACK
502
+ # define PNG_READ_PACK_SUPPORTED
503
+ # endif
504
+ # ifndef PNG_NO_READ_BGR
505
+ # define PNG_READ_BGR_SUPPORTED
506
+ # endif
507
+ # ifndef PNG_NO_READ_SWAP
508
+ # define PNG_READ_SWAP_SUPPORTED
509
+ # endif
510
+ # ifndef PNG_NO_READ_PACKSWAP
511
+ # define PNG_READ_PACKSWAP_SUPPORTED
512
+ # endif
513
+ # ifndef PNG_NO_READ_INVERT
514
+ # define PNG_READ_INVERT_SUPPORTED
515
+ # endif
516
+ # ifndef PNG_NO_READ_QUANTIZE
517
+ /* Prior to libpng-1.4.0 this was PNG_READ_DITHER_SUPPORTED */
518
+ # ifndef PNG_NO_READ_DITHER /* This migration aid will be removed */
519
+ # define PNG_READ_QUANTIZE_SUPPORTED
520
+ # endif
521
+ # endif
522
+ # ifndef PNG_NO_READ_BACKGROUND
523
+ # define PNG_READ_BACKGROUND_SUPPORTED
524
+ # endif
525
+ # ifndef PNG_NO_READ_16_TO_8
526
+ # define PNG_READ_16_TO_8_SUPPORTED
527
+ # endif
528
+ # ifndef PNG_NO_READ_FILLER
529
+ # define PNG_READ_FILLER_SUPPORTED
530
+ # endif
531
+ # ifndef PNG_NO_READ_GAMMA
532
+ # define PNG_READ_GAMMA_SUPPORTED
533
+ # endif
534
+ # ifndef PNG_NO_READ_GRAY_TO_RGB
535
+ # define PNG_READ_GRAY_TO_RGB_SUPPORTED
536
+ # endif
537
+ # ifndef PNG_NO_READ_SWAP_ALPHA
538
+ # define PNG_READ_SWAP_ALPHA_SUPPORTED
539
+ # endif
540
+ # ifndef PNG_NO_READ_INVERT_ALPHA
541
+ # define PNG_READ_INVERT_ALPHA_SUPPORTED
542
+ # endif
543
+ # ifndef PNG_NO_READ_STRIP_ALPHA
544
+ # define PNG_READ_STRIP_ALPHA_SUPPORTED
545
+ # endif
546
+ # ifndef PNG_NO_READ_USER_TRANSFORM
547
+ # define PNG_READ_USER_TRANSFORM_SUPPORTED
548
+ # endif
549
+ # ifndef PNG_NO_READ_RGB_TO_GRAY
550
+ # define PNG_READ_RGB_TO_GRAY_SUPPORTED
551
+ # endif
552
+ #endif /* PNG_READ_TRANSFORMS_SUPPORTED */
553
+
554
+ /* PNG_PROGRESSIVE_READ_NOT_SUPPORTED is deprecated. */
555
+ #if !defined(PNG_NO_PROGRESSIVE_READ) && \
556
+ !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED) /* if you don't do progressive */
557
+ # define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */
558
+ #endif /* about interlacing capability! You'll */
559
+ /* still have interlacing unless you change the following define: */
560
+
561
+ #define PNG_READ_INTERLACING_SUPPORTED /* required for PNG-compliant decoders */
562
+
563
+ /* PNG_NO_SEQUENTIAL_READ_SUPPORTED is deprecated. */
564
+ #if !defined(PNG_NO_SEQUENTIAL_READ) && \
565
+ !defined(PNG_SEQUENTIAL_READ_SUPPORTED) && \
566
+ !defined(PNG_NO_SEQUENTIAL_READ_SUPPORTED)
567
+ # define PNG_SEQUENTIAL_READ_SUPPORTED
568
+ #endif
569
+
570
+ #ifndef PNG_NO_READ_COMPOSITE_NODIV
571
+ # ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */
572
+ # define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */
573
+ # endif
574
+ #endif
575
+
576
+ #if !defined(PNG_NO_GET_INT_32) || defined(PNG_READ_oFFS_SUPPORTED) || \
577
+ defined(PNG_READ_pCAL_SUPPORTED)
578
+ # ifndef PNG_GET_INT_32_SUPPORTED
579
+ # define PNG_GET_INT_32_SUPPORTED
580
+ # endif
581
+ #endif
582
+
583
+ #endif /* PNG_READ_SUPPORTED */
584
+
585
+ #ifdef PNG_WRITE_SUPPORTED
586
+
587
+ /* PNG_WRITE_TRANSFORMS_NOT_SUPPORTED is deprecated. */
588
+ #if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \
589
+ !defined(PNG_NO_WRITE_TRANSFORMS)
590
+ # define PNG_WRITE_TRANSFORMS_SUPPORTED
591
+ #endif
592
+
593
+ #ifdef PNG_WRITE_TRANSFORMS_SUPPORTED
594
+ # ifndef PNG_NO_WRITE_SHIFT
595
+ # define PNG_WRITE_SHIFT_SUPPORTED
596
+ # endif
597
+ # ifndef PNG_NO_WRITE_PACK
598
+ # define PNG_WRITE_PACK_SUPPORTED
599
+ # endif
600
+ # ifndef PNG_NO_WRITE_BGR
601
+ # define PNG_WRITE_BGR_SUPPORTED
602
+ # endif
603
+ # ifndef PNG_NO_WRITE_SWAP
604
+ # define PNG_WRITE_SWAP_SUPPORTED
605
+ # endif
606
+ # ifndef PNG_NO_WRITE_PACKSWAP
607
+ # define PNG_WRITE_PACKSWAP_SUPPORTED
608
+ # endif
609
+ # ifndef PNG_NO_WRITE_INVERT
610
+ # define PNG_WRITE_INVERT_SUPPORTED
611
+ # endif
612
+ # ifndef PNG_NO_WRITE_FILLER
613
+ # define PNG_WRITE_FILLER_SUPPORTED /* same as WRITE_STRIP_ALPHA */
614
+ # endif
615
+ # ifndef PNG_NO_WRITE_SWAP_ALPHA
616
+ # define PNG_WRITE_SWAP_ALPHA_SUPPORTED
617
+ # endif
618
+ # ifndef PNG_NO_WRITE_INVERT_ALPHA
619
+ # define PNG_WRITE_INVERT_ALPHA_SUPPORTED
620
+ # endif
621
+ # ifndef PNG_NO_WRITE_USER_TRANSFORM
622
+ # define PNG_WRITE_USER_TRANSFORM_SUPPORTED
623
+ # endif
624
+ #endif /* PNG_WRITE_TRANSFORMS_SUPPORTED */
625
+
626
+ #if !defined(PNG_NO_WRITE_INTERLACING_SUPPORTED) && \
627
+ !defined(PNG_WRITE_INTERLACING_SUPPORTED)
628
+ /* This is not required for PNG-compliant encoders, but can cause
629
+ * trouble if left undefined
630
+ */
631
+ # define PNG_WRITE_INTERLACING_SUPPORTED
632
+ #endif
633
+
634
+ #if !defined(PNG_NO_WRITE_WEIGHTED_FILTER) && \
635
+ !defined(PNG_WRITE_WEIGHTED_FILTER) && \
636
+ defined(PNG_FLOATING_POINT_SUPPORTED)
637
+ # define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
638
+ #endif
639
+
640
+ #ifndef PNG_NO_WRITE_FLUSH
641
+ # define PNG_WRITE_FLUSH_SUPPORTED
642
+ #endif
643
+
644
+ #if !defined(PNG_NO_SAVE_INT_32) || defined(PNG_WRITE_oFFS_SUPPORTED) || \
645
+ defined(PNG_WRITE_pCAL_SUPPORTED)
646
+ # ifndef PNG_SAVE_INT_32_SUPPORTED
647
+ # define PNG_SAVE_INT_32_SUPPORTED
648
+ # endif
649
+ #endif
650
+
651
+ #endif /* PNG_WRITE_SUPPORTED */
652
+
653
+ #define PNG_NO_ERROR_NUMBERS
654
+
655
+ #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
656
+ defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
657
+ # ifndef PNG_NO_USER_TRANSFORM_PTR
658
+ # define PNG_USER_TRANSFORM_PTR_SUPPORTED
659
+ # endif
660
+ #endif
661
+
662
+ #if defined(PNG_STDIO_SUPPORTED) && !defined(PNG_TIME_RFC1123_SUPPORTED)
663
+ # define PNG_TIME_RFC1123_SUPPORTED
664
+ #endif
665
+
666
+ /* This adds extra functions in pngget.c for accessing data from the
667
+ * info pointer (added in version 0.99)
668
+ * png_get_image_width()
669
+ * png_get_image_height()
670
+ * png_get_bit_depth()
671
+ * png_get_color_type()
672
+ * png_get_compression_type()
673
+ * png_get_filter_type()
674
+ * png_get_interlace_type()
675
+ * png_get_pixel_aspect_ratio()
676
+ * png_get_pixels_per_meter()
677
+ * png_get_x_offset_pixels()
678
+ * png_get_y_offset_pixels()
679
+ * png_get_x_offset_microns()
680
+ * png_get_y_offset_microns()
681
+ */
682
+ #if !defined(PNG_NO_EASY_ACCESS) && !defined(PNG_EASY_ACCESS_SUPPORTED)
683
+ # define PNG_EASY_ACCESS_SUPPORTED
684
+ #endif
685
+
686
+ /* Added at libpng-1.2.0 */
687
+ #if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED)
688
+ # define PNG_USER_MEM_SUPPORTED
689
+ #endif
690
+
691
+ /* Added at libpng-1.2.6 */
692
+ #ifndef PNG_NO_SET_USER_LIMITS
693
+ # ifndef PNG_SET_USER_LIMITS_SUPPORTED
694
+ # define PNG_SET_USER_LIMITS_SUPPORTED
695
+ # endif
696
+ /* Feature added at libpng-1.4.0, this flag added at 1.4.1 */
697
+ # ifndef PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
698
+ # define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
699
+ # endif
700
+ /* Feature added at libpng-1.4.1, this flag added at 1.4.1 */
701
+ # ifndef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
702
+ # define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
703
+ # endif
704
+ #endif
705
+
706
+ /* Added at libpng-1.2.43 */
707
+ #ifndef PNG_USER_LIMITS_SUPPORTED
708
+ # ifndef PNG_NO_USER_LIMITS
709
+ # define PNG_USER_LIMITS_SUPPORTED
710
+ # endif
711
+ #endif
712
+
713
+ /* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGs no matter
714
+ * how large, set these two limits to 0x7fffffffL
715
+ */
716
+ #ifndef PNG_USER_WIDTH_MAX
717
+ # define PNG_USER_WIDTH_MAX 1000000L
718
+ #endif
719
+ #ifndef PNG_USER_HEIGHT_MAX
720
+ # define PNG_USER_HEIGHT_MAX 1000000L
721
+ #endif
722
+
723
+ /* Added at libpng-1.2.43. To accept all valid PNGs no matter
724
+ * how large, set these two limits to 0.
725
+ */
726
+ #ifndef PNG_USER_CHUNK_CACHE_MAX
727
+ # define PNG_USER_CHUNK_CACHE_MAX 0
728
+ #endif
729
+
730
+ /* Added at libpng-1.2.43 */
731
+ #ifndef PNG_USER_CHUNK_MALLOC_MAX
732
+ # define PNG_USER_CHUNK_MALLOC_MAX 0
733
+ #endif
734
+
735
+ /* Added at libpng-1.4.0 */
736
+ #if !defined(PNG_NO_IO_STATE) && !defined(PNG_IO_STATE_SUPPORTED)
737
+ # define PNG_IO_STATE_SUPPORTED
738
+ #endif
739
+
740
+ #ifndef PNG_LITERAL_SHARP
741
+ # define PNG_LITERAL_SHARP 0x23
742
+ #endif
743
+ #ifndef PNG_LITERAL_LEFT_SQUARE_BRACKET
744
+ # define PNG_LITERAL_LEFT_SQUARE_BRACKET 0x5b
745
+ #endif
746
+ #ifndef PNG_LITERAL_RIGHT_SQUARE_BRACKET
747
+ # define PNG_LITERAL_RIGHT_SQUARE_BRACKET 0x5d
748
+ #endif
749
+ #ifndef PNG_STRING_NEWLINE
750
+ #define PNG_STRING_NEWLINE "\n"
751
+ #endif
752
+
753
+ /* These are currently experimental features, define them if you want */
754
+
755
+ /* Very little testing */
756
+ /*
757
+ #ifdef PNG_READ_SUPPORTED
758
+ # ifndef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
759
+ # define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
760
+ # endif
761
+ #endif
762
+ */
763
+
764
+ /* This is only for PowerPC big-endian and 680x0 systems */
765
+ /* some testing */
766
+ /*
767
+ #ifndef PNG_READ_BIG_ENDIAN_SUPPORTED
768
+ # define PNG_READ_BIG_ENDIAN_SUPPORTED
769
+ #endif
770
+ */
771
+
772
+ #if !defined(PNG_NO_USE_READ_MACROS) && !defined(PNG_USE_READ_MACROS)
773
+ # define PNG_USE_READ_MACROS
774
+ #endif
775
+
776
+ /* Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING */
777
+
778
+ #if !defined(PNG_NO_POINTER_INDEXING) && \
779
+ !defined(PNG_POINTER_INDEXING_SUPPORTED)
780
+ # define PNG_POINTER_INDEXING_SUPPORTED
781
+ #endif
782
+
783
+
784
+ /* Any chunks you are not interested in, you can undef here. The
785
+ * ones that allocate memory may be expecially important (hIST,
786
+ * tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info
787
+ * a bit smaller.
788
+ */
789
+
790
+ /* The size of the png_text structure changed in libpng-1.0.6 when
791
+ * iTXt support was added. iTXt support was turned off by default through
792
+ * libpng-1.2.x, to support old apps that malloc the png_text structure
793
+ * instead of calling png_set_text() and letting libpng malloc it. It
794
+ * was turned on by default in libpng-1.4.0.
795
+ */
796
+
797
+ /* PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. */
798
+ #if defined(PNG_READ_SUPPORTED) && \
799
+ !defined(PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \
800
+ !defined(PNG_NO_READ_ANCILLARY_CHUNKS)
801
+ # define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
802
+ #endif
803
+
804
+ /* PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED is deprecated. */
805
+ #if defined(PNG_WRITE_SUPPORTED) && \
806
+ !defined(PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \
807
+ !defined(PNG_NO_WRITE_ANCILLARY_CHUNKS)
808
+ # define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
809
+ #endif
810
+
811
+ #ifdef PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
812
+
813
+ #ifdef PNG_NO_READ_TEXT
814
+ # define PNG_NO_READ_iTXt
815
+ # define PNG_NO_READ_tEXt
816
+ # define PNG_NO_READ_zTXt
817
+ #endif
818
+
819
+ #ifndef PNG_NO_READ_bKGD
820
+ # define PNG_READ_bKGD_SUPPORTED
821
+ # define PNG_bKGD_SUPPORTED
822
+ #endif
823
+ #ifndef PNG_NO_READ_cHRM
824
+ # define PNG_READ_cHRM_SUPPORTED
825
+ # define PNG_cHRM_SUPPORTED
826
+ #endif
827
+ #ifndef PNG_NO_READ_gAMA
828
+ # define PNG_READ_gAMA_SUPPORTED
829
+ # define PNG_gAMA_SUPPORTED
830
+ #endif
831
+ #ifndef PNG_NO_READ_hIST
832
+ # define PNG_READ_hIST_SUPPORTED
833
+ # define PNG_hIST_SUPPORTED
834
+ #endif
835
+ #ifndef PNG_NO_READ_iCCP
836
+ # define PNG_READ_iCCP_SUPPORTED
837
+ # define PNG_iCCP_SUPPORTED
838
+ #endif
839
+ #ifndef PNG_NO_READ_iTXt
840
+ # ifndef PNG_READ_iTXt_SUPPORTED
841
+ # define PNG_READ_iTXt_SUPPORTED
842
+ # endif
843
+ # ifndef PNG_iTXt_SUPPORTED
844
+ # define PNG_iTXt_SUPPORTED
845
+ # endif
846
+ #endif
847
+ #ifndef PNG_NO_READ_oFFs
848
+ # define PNG_READ_oFFs_SUPPORTED
849
+ # define PNG_oFFs_SUPPORTED
850
+ #endif
851
+ #ifndef PNG_NO_READ_pCAL
852
+ # define PNG_READ_pCAL_SUPPORTED
853
+ # define PNG_pCAL_SUPPORTED
854
+ #endif
855
+ #ifndef PNG_NO_READ_sCAL
856
+ # define PNG_READ_sCAL_SUPPORTED
857
+ # define PNG_sCAL_SUPPORTED
858
+ #endif
859
+ #ifndef PNG_NO_READ_pHYs
860
+ # define PNG_READ_pHYs_SUPPORTED
861
+ # define PNG_pHYs_SUPPORTED
862
+ #endif
863
+ #ifndef PNG_NO_READ_sBIT
864
+ # define PNG_READ_sBIT_SUPPORTED
865
+ # define PNG_sBIT_SUPPORTED
866
+ #endif
867
+ #ifndef PNG_NO_READ_sPLT
868
+ # define PNG_READ_sPLT_SUPPORTED
869
+ # define PNG_sPLT_SUPPORTED
870
+ #endif
871
+ #ifndef PNG_NO_READ_sRGB
872
+ # define PNG_READ_sRGB_SUPPORTED
873
+ # define PNG_sRGB_SUPPORTED
874
+ #endif
875
+ #ifndef PNG_NO_READ_tEXt
876
+ # define PNG_READ_tEXt_SUPPORTED
877
+ # define PNG_tEXt_SUPPORTED
878
+ #endif
879
+ #ifndef PNG_NO_READ_tIME
880
+ # define PNG_READ_tIME_SUPPORTED
881
+ # define PNG_tIME_SUPPORTED
882
+ #endif
883
+ #ifndef PNG_NO_READ_tRNS
884
+ # define PNG_READ_tRNS_SUPPORTED
885
+ # define PNG_tRNS_SUPPORTED
886
+ #endif
887
+ #ifndef PNG_NO_READ_zTXt
888
+ # define PNG_READ_zTXt_SUPPORTED
889
+ # define PNG_zTXt_SUPPORTED
890
+ #endif
891
+ #ifndef PNG_NO_READ_OPT_PLTE
892
+ # define PNG_READ_OPT_PLTE_SUPPORTED /* only affects support of the */
893
+ #endif /* optional PLTE chunk in RGB and RGBA images */
894
+ #if defined(PNG_READ_iTXt_SUPPORTED) || defined(PNG_READ_tEXt_SUPPORTED) || \
895
+ defined(PNG_READ_zTXt_SUPPORTED)
896
+ # define PNG_READ_TEXT_SUPPORTED
897
+ # define PNG_TEXT_SUPPORTED
898
+ #endif
899
+
900
+ #endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */
901
+
902
+ #ifndef PNG_NO_READ_UNKNOWN_CHUNKS
903
+ # ifndef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
904
+ # define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
905
+ # endif
906
+ # ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
907
+ # define PNG_UNKNOWN_CHUNKS_SUPPORTED
908
+ # endif
909
+ # ifndef PNG_READ_USER_CHUNKS_SUPPORTED
910
+ # define PNG_READ_USER_CHUNKS_SUPPORTED
911
+ # endif
912
+ #endif
913
+ #ifndef PNG_NO_READ_USER_CHUNKS
914
+ # ifndef PNG_READ_USER_CHUNKS_SUPPORTED
915
+ # define PNG_READ_USER_CHUNKS_SUPPORTED
916
+ # endif
917
+ # ifndef PNG_USER_CHUNKS_SUPPORTED
918
+ # define PNG_USER_CHUNKS_SUPPORTED
919
+ # endif
920
+ #endif
921
+ #ifndef PNG_NO_HANDLE_AS_UNKNOWN
922
+ # ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
923
+ # define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
924
+ # endif
925
+ #endif
926
+
927
+ #ifdef PNG_WRITE_SUPPORTED
928
+ #ifdef PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
929
+
930
+ #ifdef PNG_NO_WRITE_TEXT
931
+ # define PNG_NO_WRITE_iTXt
932
+ # define PNG_NO_WRITE_tEXt
933
+ # define PNG_NO_WRITE_zTXt
934
+ #endif
935
+ #ifndef PNG_NO_WRITE_bKGD
936
+ # define PNG_WRITE_bKGD_SUPPORTED
937
+ # ifndef PNG_bKGD_SUPPORTED
938
+ # define PNG_bKGD_SUPPORTED
939
+ # endif
940
+ #endif
941
+ #ifndef PNG_NO_WRITE_cHRM
942
+ # define PNG_WRITE_cHRM_SUPPORTED
943
+ # ifndef PNG_cHRM_SUPPORTED
944
+ # define PNG_cHRM_SUPPORTED
945
+ # endif
946
+ #endif
947
+ #ifndef PNG_NO_WRITE_gAMA
948
+ # define PNG_WRITE_gAMA_SUPPORTED
949
+ # ifndef PNG_gAMA_SUPPORTED
950
+ # define PNG_gAMA_SUPPORTED
951
+ # endif
952
+ #endif
953
+ #ifndef PNG_NO_WRITE_hIST
954
+ # define PNG_WRITE_hIST_SUPPORTED
955
+ # ifndef PNG_hIST_SUPPORTED
956
+ # define PNG_hIST_SUPPORTED
957
+ # endif
958
+ #endif
959
+ #ifndef PNG_NO_WRITE_iCCP
960
+ # define PNG_WRITE_iCCP_SUPPORTED
961
+ # ifndef PNG_iCCP_SUPPORTED
962
+ # define PNG_iCCP_SUPPORTED
963
+ # endif
964
+ #endif
965
+ #ifndef PNG_NO_WRITE_iTXt
966
+ # ifndef PNG_WRITE_iTXt_SUPPORTED
967
+ # define PNG_WRITE_iTXt_SUPPORTED
968
+ # endif
969
+ # ifndef PNG_iTXt_SUPPORTED
970
+ # define PNG_iTXt_SUPPORTED
971
+ # endif
972
+ #endif
973
+ #ifndef PNG_NO_WRITE_oFFs
974
+ # define PNG_WRITE_oFFs_SUPPORTED
975
+ # ifndef PNG_oFFs_SUPPORTED
976
+ # define PNG_oFFs_SUPPORTED
977
+ # endif
978
+ #endif
979
+ #ifndef PNG_NO_WRITE_pCAL
980
+ # define PNG_WRITE_pCAL_SUPPORTED
981
+ # ifndef PNG_pCAL_SUPPORTED
982
+ # define PNG_pCAL_SUPPORTED
983
+ # endif
984
+ #endif
985
+ #ifndef PNG_NO_WRITE_sCAL
986
+ # define PNG_WRITE_sCAL_SUPPORTED
987
+ # ifndef PNG_sCAL_SUPPORTED
988
+ # define PNG_sCAL_SUPPORTED
989
+ # endif
990
+ #endif
991
+ #ifndef PNG_NO_WRITE_pHYs
992
+ # define PNG_WRITE_pHYs_SUPPORTED
993
+ # ifndef PNG_pHYs_SUPPORTED
994
+ # define PNG_pHYs_SUPPORTED
995
+ # endif
996
+ #endif
997
+ #ifndef PNG_NO_WRITE_sBIT
998
+ # define PNG_WRITE_sBIT_SUPPORTED
999
+ # ifndef PNG_sBIT_SUPPORTED
1000
+ # define PNG_sBIT_SUPPORTED
1001
+ # endif
1002
+ #endif
1003
+ #ifndef PNG_NO_WRITE_sPLT
1004
+ # define PNG_WRITE_sPLT_SUPPORTED
1005
+ # ifndef PNG_sPLT_SUPPORTED
1006
+ # define PNG_sPLT_SUPPORTED
1007
+ # endif
1008
+ #endif
1009
+ #ifndef PNG_NO_WRITE_sRGB
1010
+ # define PNG_WRITE_sRGB_SUPPORTED
1011
+ # ifndef PNG_sRGB_SUPPORTED
1012
+ # define PNG_sRGB_SUPPORTED
1013
+ # endif
1014
+ #endif
1015
+ #ifndef PNG_NO_WRITE_tEXt
1016
+ # define PNG_WRITE_tEXt_SUPPORTED
1017
+ # ifndef PNG_tEXt_SUPPORTED
1018
+ # define PNG_tEXt_SUPPORTED
1019
+ # endif
1020
+ #endif
1021
+ #ifndef PNG_NO_WRITE_tIME
1022
+ # define PNG_WRITE_tIME_SUPPORTED
1023
+ # ifndef PNG_tIME_SUPPORTED
1024
+ # define PNG_tIME_SUPPORTED
1025
+ # endif
1026
+ #endif
1027
+ #ifndef PNG_NO_WRITE_tRNS
1028
+ # define PNG_WRITE_tRNS_SUPPORTED
1029
+ # ifndef PNG_tRNS_SUPPORTED
1030
+ # define PNG_tRNS_SUPPORTED
1031
+ # endif
1032
+ #endif
1033
+ #ifndef PNG_NO_WRITE_zTXt
1034
+ # define PNG_WRITE_zTXt_SUPPORTED
1035
+ # ifndef PNG_zTXt_SUPPORTED
1036
+ # define PNG_zTXt_SUPPORTED
1037
+ # endif
1038
+ #endif
1039
+ #if defined(PNG_WRITE_iTXt_SUPPORTED) || defined(PNG_WRITE_tEXt_SUPPORTED) || \
1040
+ defined(PNG_WRITE_zTXt_SUPPORTED)
1041
+ # define PNG_WRITE_TEXT_SUPPORTED
1042
+ # ifndef PNG_TEXT_SUPPORTED
1043
+ # define PNG_TEXT_SUPPORTED
1044
+ # endif
1045
+ #endif
1046
+
1047
+ #ifdef PNG_WRITE_tIME_SUPPORTED
1048
+ # ifndef PNG_NO_CONVERT_tIME
1049
+ # ifndef _WIN32_WCE
1050
+ /* The "tm" structure is not supported on WindowsCE */
1051
+ # ifndef PNG_CONVERT_tIME_SUPPORTED
1052
+ # define PNG_CONVERT_tIME_SUPPORTED
1053
+ # endif
1054
+ # endif
1055
+ # endif
1056
+ #endif
1057
+
1058
+ #endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */
1059
+
1060
+ #ifndef PNG_NO_WRITE_FILTER
1061
+ # ifndef PNG_WRITE_FILTER_SUPPORTED
1062
+ # define PNG_WRITE_FILTER_SUPPORTED
1063
+ # endif
1064
+ #endif
1065
+
1066
+ #ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS
1067
+ # define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
1068
+ # ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
1069
+ # define PNG_UNKNOWN_CHUNKS_SUPPORTED
1070
+ # endif
1071
+ #endif
1072
+ #ifndef PNG_NO_HANDLE_AS_UNKNOWN
1073
+ # ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
1074
+ # define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
1075
+ # endif
1076
+ #endif
1077
+ #endif /* PNG_WRITE_SUPPORTED */
1078
+
1079
+ /* Turn this off to disable png_read_png() and
1080
+ * png_write_png() and leave the row_pointers member
1081
+ * out of the info structure.
1082
+ */
1083
+ #ifndef PNG_NO_INFO_IMAGE
1084
+ # define PNG_INFO_IMAGE_SUPPORTED
1085
+ #endif
1086
+
1087
+ /* Need the time information for converting tIME chunks */
1088
+ #ifdef PNG_CONVERT_tIME_SUPPORTED
1089
+ /* "time.h" functions are not supported on WindowsCE */
1090
+ # include <time.h>
1091
+ #endif
1092
+
1093
+ /* Some typedefs to get us started. These should be safe on most of the
1094
+ * common platforms. The typedefs should be at least as large as the
1095
+ * numbers suggest (a png_uint_32 must be at least 32 bits long), but they
1096
+ * don't have to be exactly that size. Some compilers dislike passing
1097
+ * unsigned shorts as function parameters, so you may be better off using
1098
+ * unsigned int for png_uint_16.
1099
+ */
1100
+
1101
+ #if defined(INT_MAX) && (INT_MAX > 0x7ffffffeL)
1102
+ typedef unsigned int png_uint_32;
1103
+ typedef int png_int_32;
1104
+ #else
1105
+ typedef unsigned long png_uint_32;
1106
+ typedef long png_int_32;
1107
+ #endif
1108
+ typedef unsigned short png_uint_16;
1109
+ typedef short png_int_16;
1110
+ typedef unsigned char png_byte;
1111
+
1112
+ #ifdef PNG_NO_SIZE_T
1113
+ typedef unsigned int png_size_t;
1114
+ #else
1115
+ typedef size_t png_size_t;
1116
+ #endif
1117
+ #define png_sizeof(x) sizeof(x)
1118
+
1119
+ /* The following is needed for medium model support. It cannot be in the
1120
+ * pngpriv.h header. Needs modification for other compilers besides
1121
+ * MSC. Model independent support declares all arrays and pointers to be
1122
+ * large using the far keyword. The zlib version used must also support
1123
+ * model independent data. As of version zlib 1.0.4, the necessary changes
1124
+ * have been made in zlib. The USE_FAR_KEYWORD define triggers other
1125
+ * changes that are needed. (Tim Wegner)
1126
+ */
1127
+
1128
+ /* Separate compiler dependencies (problem here is that zlib.h always
1129
+ * defines FAR. (SJT)
1130
+ */
1131
+ #ifdef __BORLANDC__
1132
+ # if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__)
1133
+ # define LDATA 1
1134
+ # else
1135
+ # define LDATA 0
1136
+ # endif
1137
+ /* GRR: why is Cygwin in here? Cygwin is not Borland C... */
1138
+ # if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__)
1139
+ # define PNG_MAX_MALLOC_64K
1140
+ # if (LDATA != 1)
1141
+ # ifndef FAR
1142
+ # define FAR __far
1143
+ # endif
1144
+ # define USE_FAR_KEYWORD
1145
+ # endif /* LDATA != 1 */
1146
+ /* Possibly useful for moving data out of default segment.
1147
+ * Uncomment it if you want. Could also define FARDATA as
1148
+ * const if your compiler supports it. (SJT)
1149
+ # define FARDATA FAR
1150
+ */
1151
+ # endif /* __WIN32__, __FLAT__, __CYGWIN__ */
1152
+ #endif /* __BORLANDC__ */
1153
+
1154
+
1155
+ /* Suggest testing for specific compiler first before testing for
1156
+ * FAR. The Watcom compiler defines both __MEDIUM__ and M_I86MM,
1157
+ * making reliance oncertain keywords suspect. (SJT)
1158
+ */
1159
+
1160
+ /* MSC Medium model */
1161
+ #ifdef FAR
1162
+ # ifdef M_I86MM
1163
+ # define USE_FAR_KEYWORD
1164
+ # define FARDATA FAR
1165
+ # include <dos.h>
1166
+ # endif
1167
+ #endif
1168
+
1169
+ /* SJT: default case */
1170
+ #ifndef FAR
1171
+ # define FAR
1172
+ #endif
1173
+
1174
+ /* At this point FAR is always defined */
1175
+ #ifndef FARDATA
1176
+ # define FARDATA
1177
+ #endif
1178
+
1179
+ /* Typedef for floating-point numbers that are converted
1180
+ to fixed-point with a multiple of 100,000, e.g., int_gamma */
1181
+ typedef png_int_32 png_fixed_point;
1182
+
1183
+ /* Add typedefs for pointers */
1184
+ typedef void FAR * png_voidp;
1185
+ typedef png_byte FAR * png_bytep;
1186
+ typedef png_uint_32 FAR * png_uint_32p;
1187
+ typedef png_int_32 FAR * png_int_32p;
1188
+ typedef png_uint_16 FAR * png_uint_16p;
1189
+ typedef png_int_16 FAR * png_int_16p;
1190
+ typedef PNG_CONST char FAR * png_const_charp;
1191
+ typedef char FAR * png_charp;
1192
+ typedef png_fixed_point FAR * png_fixed_point_p;
1193
+
1194
+ #ifndef PNG_NO_STDIO
1195
+ typedef FILE * png_FILE_p;
1196
+ #endif
1197
+
1198
+ #ifdef PNG_FLOATING_POINT_SUPPORTED
1199
+ typedef double FAR * png_doublep;
1200
+ #endif
1201
+
1202
+ /* Pointers to pointers; i.e. arrays */
1203
+ typedef png_byte FAR * FAR * png_bytepp;
1204
+ typedef png_uint_32 FAR * FAR * png_uint_32pp;
1205
+ typedef png_int_32 FAR * FAR * png_int_32pp;
1206
+ typedef png_uint_16 FAR * FAR * png_uint_16pp;
1207
+ typedef png_int_16 FAR * FAR * png_int_16pp;
1208
+ typedef PNG_CONST char FAR * FAR * png_const_charpp;
1209
+ typedef char FAR * FAR * png_charpp;
1210
+ typedef png_fixed_point FAR * FAR * png_fixed_point_pp;
1211
+ #ifdef PNG_FLOATING_POINT_SUPPORTED
1212
+ typedef double FAR * FAR * png_doublepp;
1213
+ #endif
1214
+
1215
+ /* Pointers to pointers to pointers; i.e., pointer to array */
1216
+ typedef char FAR * FAR * FAR * png_charppp;
1217
+
1218
+ /* Define PNG_BUILD_DLL if the module being built is a Windows
1219
+ * LIBPNG DLL.
1220
+ *
1221
+ * Define PNG_USE_DLL if you want to *link* to the Windows LIBPNG DLL.
1222
+ * It is equivalent to Microsoft predefined macro _DLL that is
1223
+ * automatically defined when you compile using the share
1224
+ * version of the CRT (C Run-Time library)
1225
+ *
1226
+ * The cygwin mods make this behavior a little different:
1227
+ * Define PNG_BUILD_DLL if you are building a dll for use with cygwin
1228
+ * Define PNG_STATIC if you are building a static library for use with cygwin,
1229
+ * -or- if you are building an application that you want to link to the
1230
+ * static library.
1231
+ * PNG_USE_DLL is defined by default (no user action needed) unless one of
1232
+ * the other flags is defined.
1233
+ */
1234
+
1235
+ #if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL))
1236
+ # define PNG_DLL
1237
+ #endif
1238
+
1239
+ #ifdef __CYGWIN__
1240
+ # undef PNGAPI
1241
+ # define PNGAPI __cdecl
1242
+ # undef PNG_IMPEXP
1243
+ # define PNG_IMPEXP
1244
+ #endif
1245
+
1246
+ #define PNG_USE_LOCAL_ARRAYS /* Not used in libpng, defined for legacy apps */
1247
+
1248
+ /* If you define PNGAPI, e.g., with compiler option "-DPNGAPI=__stdcall",
1249
+ * you may get warnings regarding the linkage of png_zalloc and png_zfree.
1250
+ * Don't ignore those warnings; you must also reset the default calling
1251
+ * convention in your compiler to match your PNGAPI, and you must build
1252
+ * zlib and your applications the same way you build libpng.
1253
+ */
1254
+
1255
+ #if defined(__MINGW32__) && !defined(PNG_MODULEDEF)
1256
+ # ifndef PNG_NO_MODULEDEF
1257
+ # define PNG_NO_MODULEDEF
1258
+ # endif
1259
+ #endif
1260
+
1261
+ #if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF)
1262
+ # define PNG_IMPEXP
1263
+ #endif
1264
+
1265
+ #if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \
1266
+ (( defined(_Windows) || defined(_WINDOWS) || \
1267
+ defined(WIN32) || defined(_WIN32) || defined(__WIN32__) ))
1268
+
1269
+ # ifndef PNGAPI
1270
+ # if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
1271
+ # define PNGAPI __cdecl
1272
+ # else
1273
+ # define PNGAPI _cdecl
1274
+ # endif
1275
+ # endif
1276
+
1277
+ # if !defined(PNG_IMPEXP) && (!defined(PNG_DLL) || \
1278
+ 0 /* WINCOMPILER_WITH_NO_SUPPORT_FOR_DECLIMPEXP */)
1279
+ # define PNG_IMPEXP
1280
+ # endif
1281
+
1282
+ # ifndef PNG_IMPEXP
1283
+
1284
+ # define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol
1285
+ # define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol
1286
+
1287
+ /* Borland/Microsoft */
1288
+ # if defined(_MSC_VER) || defined(__BORLANDC__)
1289
+ # if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500)
1290
+ # define PNG_EXPORT PNG_EXPORT_TYPE1
1291
+ # else
1292
+ # define PNG_EXPORT PNG_EXPORT_TYPE2
1293
+ # ifdef PNG_BUILD_DLL
1294
+ # define PNG_IMPEXP __export
1295
+ # else
1296
+ # define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in VC++ */
1297
+ # endif /* Exists in Borland C++ for
1298
+ C++ classes (== huge) */
1299
+ # endif
1300
+ # endif
1301
+
1302
+ # ifndef PNG_IMPEXP
1303
+ # ifdef PNG_BUILD_DLL
1304
+ # define PNG_IMPEXP __declspec(dllexport)
1305
+ # else
1306
+ # define PNG_IMPEXP __declspec(dllimport)
1307
+ # endif
1308
+ # endif
1309
+ # endif /* PNG_IMPEXP */
1310
+ #else /* !(DLL || non-cygwin WINDOWS) */
1311
+ # if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
1312
+ # ifndef PNGAPI
1313
+ # define PNGAPI _System
1314
+ # endif
1315
+ # else
1316
+ # if 0 /* ... other platforms, with other meanings */
1317
+ # endif
1318
+ # endif
1319
+ #endif
1320
+
1321
+ #ifndef PNGAPI
1322
+ # define PNGAPI
1323
+ #endif
1324
+ #ifndef PNG_IMPEXP
1325
+ # define PNG_IMPEXP
1326
+ #endif
1327
+
1328
+ #ifdef PNG_BUILDSYMS
1329
+ # ifndef PNG_EXPORT
1330
+ # define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END
1331
+ # endif
1332
+ #endif
1333
+
1334
+ #ifndef PNG_EXPORT
1335
+ # define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
1336
+ #endif
1337
+
1338
+ /* Support for compiler specific function attributes. These are used
1339
+ * so that where compiler support is available incorrect use of API
1340
+ * functions in png.h will generate compiler warnings.
1341
+ *
1342
+ * Added at libpng-1.2.41.
1343
+ */
1344
+
1345
+ #ifndef PNG_NO_PEDANTIC_WARNINGS
1346
+ # ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED
1347
+ # define PNG_PEDANTIC_WARNINGS_SUPPORTED
1348
+ # endif
1349
+ #endif
1350
+
1351
+ #ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
1352
+ /* Support for compiler specific function attributes. These are used
1353
+ * so that where compiler support is available incorrect use of API
1354
+ * functions in png.h will generate compiler warnings. Added at libpng
1355
+ * version 1.2.41.
1356
+ */
1357
+ # ifdef __GNUC__
1358
+ # ifndef PNG_USE_RESULT
1359
+ # define PNG_USE_RESULT __attribute__((__warn_unused_result__))
1360
+ # endif
1361
+ # ifndef PNG_NORETURN
1362
+ # define PNG_NORETURN __attribute__((__noreturn__))
1363
+ # endif
1364
+ # ifndef PNG_ALLOCATED
1365
+ # define PNG_ALLOCATED __attribute__((__malloc__))
1366
+ # endif
1367
+
1368
+ /* This specifically protects structure members that should only be
1369
+ * accessed from within the library, therefore should be empty during
1370
+ * a library build.
1371
+ */
1372
+ # ifndef PNG_DEPRECATED
1373
+ # define PNG_DEPRECATED __attribute__((__deprecated__))
1374
+ # endif
1375
+ # ifndef PNG_DEPSTRUCT
1376
+ # define PNG_DEPSTRUCT __attribute__((__deprecated__))
1377
+ # endif
1378
+ # ifndef PNG_PRIVATE
1379
+ # if 0 /* Doesn't work so we use deprecated instead*/
1380
+ # define PNG_PRIVATE \
1381
+ __attribute__((warning("This function is not exported by libpng.")))
1382
+ # else
1383
+ # define PNG_PRIVATE \
1384
+ __attribute__((__deprecated__))
1385
+ # endif
1386
+ # endif /* PNG_PRIVATE */
1387
+ # endif /* __GNUC__ */
1388
+ #endif /* PNG_PEDANTIC_WARNINGS */
1389
+
1390
+ #ifndef PNG_DEPRECATED
1391
+ # define PNG_DEPRECATED /* Use of this function is deprecated */
1392
+ #endif
1393
+ #ifndef PNG_USE_RESULT
1394
+ # define PNG_USE_RESULT /* The result of this function must be checked */
1395
+ #endif
1396
+ #ifndef PNG_NORETURN
1397
+ # define PNG_NORETURN /* This function does not return */
1398
+ #endif
1399
+ #ifndef PNG_ALLOCATED
1400
+ # define PNG_ALLOCATED /* The result of the function is new memory */
1401
+ #endif
1402
+ #ifndef PNG_DEPSTRUCT
1403
+ # define PNG_DEPSTRUCT /* Access to this struct member is deprecated */
1404
+ #endif
1405
+ #ifndef PNG_PRIVATE
1406
+ # define PNG_PRIVATE /* This is a private libpng function */
1407
+ #endif
1408
+
1409
+ /* Users may want to use these so they are not private. Any library
1410
+ * functions that are passed far data must be model-independent.
1411
+ */
1412
+
1413
+ /* memory model/platform independent fns */
1414
+ #ifndef PNG_ABORT
1415
+ # ifdef _WINDOWS_
1416
+ # define PNG_ABORT() ExitProcess(0)
1417
+ # else
1418
+ # define PNG_ABORT() abort()
1419
+ # endif
1420
+ #endif
1421
+
1422
+ #ifdef USE_FAR_KEYWORD
1423
+ /* Use this to make far-to-near assignments */
1424
+ # define CHECK 1
1425
+ # define NOCHECK 0
1426
+ # define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK))
1427
+ # define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK))
1428
+ # define png_strcpy _fstrcpy
1429
+ # define png_strncpy _fstrncpy /* Added to v 1.2.6 */
1430
+ # define png_strlen _fstrlen
1431
+ # define png_memcmp _fmemcmp /* SJT: added */
1432
+ # define png_memcpy _fmemcpy
1433
+ # define png_memset _fmemset
1434
+ # define png_sprintf sprintf
1435
+ #else
1436
+ # ifdef _WINDOWS_ /* Favor Windows over C runtime fns */
1437
+ # define CVT_PTR(ptr) (ptr)
1438
+ # define CVT_PTR_NOCHECK(ptr) (ptr)
1439
+ # define png_strcpy lstrcpyA
1440
+ # define png_strncpy lstrcpynA
1441
+ # define png_strlen lstrlenA
1442
+ # define png_memcmp memcmp
1443
+ # define png_memcpy CopyMemory
1444
+ # define png_memset memset
1445
+ # define png_sprintf wsprintfA
1446
+ # else
1447
+ # define CVT_PTR(ptr) (ptr)
1448
+ # define CVT_PTR_NOCHECK(ptr) (ptr)
1449
+ # define png_strcpy strcpy
1450
+ # define png_strncpy strncpy /* Added to v 1.2.6 */
1451
+ # define png_strlen strlen
1452
+ # define png_memcmp memcmp /* SJT: added */
1453
+ # define png_memcpy memcpy
1454
+ # define png_memset memset
1455
+ # define png_sprintf sprintf
1456
+ # ifndef PNG_NO_SNPRINTF
1457
+ # ifdef _MSC_VER
1458
+ # define png_snprintf _snprintf /* Added to v 1.2.19 */
1459
+ # define png_snprintf2 _snprintf
1460
+ # define png_snprintf6 _snprintf
1461
+ # else
1462
+ # define png_snprintf snprintf /* Added to v 1.2.19 */
1463
+ # define png_snprintf2 snprintf
1464
+ # define png_snprintf6 snprintf
1465
+ # endif
1466
+ # else
1467
+ /* You don't have or don't want to use snprintf(). Caution: Using
1468
+ * sprintf instead of snprintf exposes your application to accidental
1469
+ * or malevolent buffer overflows. If you don't have snprintf()
1470
+ * as a general rule you should provide one (you can get one from
1471
+ * Portable OpenSSH).
1472
+ */
1473
+ # define png_snprintf(s1,n,fmt,x1) sprintf(s1,fmt,x1)
1474
+ # define png_snprintf2(s1,n,fmt,x1,x2) sprintf(s1,fmt,x1,x2)
1475
+ # define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \
1476
+ sprintf(s1,fmt,x1,x2,x3,x4,x5,x6)
1477
+ # endif
1478
+ # endif
1479
+ #endif
1480
+
1481
+ /* png_alloc_size_t is guaranteed to be no smaller than png_size_t,
1482
+ * and no smaller than png_uint_32. Casts from png_size_t or png_uint_32
1483
+ * to png_alloc_size_t are not necessary; in fact, it is recommended
1484
+ * not to use them at all so that the compiler can complain when something
1485
+ * turns out to be problematic.
1486
+ * Casts in the other direction (from png_alloc_size_t to png_size_t or
1487
+ * png_uint_32) should be explicitly applied; however, we do not expect
1488
+ * to encounter practical situations that require such conversions.
1489
+ */
1490
+ #if defined(__TURBOC__) && !defined(__FLAT__)
1491
+ # define png_mem_alloc farmalloc
1492
+ # define png_mem_free farfree
1493
+ typedef unsigned long png_alloc_size_t;
1494
+ #else
1495
+ # if defined(_MSC_VER) && defined(MAXSEG_64K)
1496
+ # define png_mem_alloc(s) halloc(s, 1)
1497
+ # define png_mem_free hfree
1498
+ typedef unsigned long png_alloc_size_t;
1499
+ # else
1500
+ # if defined(_WINDOWS_) && (!defined(INT_MAX) || INT_MAX <= 0x7ffffffeL)
1501
+ # define png_mem_alloc(s) HeapAlloc(GetProcessHeap(), 0, s)
1502
+ # define png_mem_free(p) HeapFree(GetProcessHeap(), 0, p)
1503
+ typedef DWORD png_alloc_size_t;
1504
+ # else
1505
+ # define png_mem_alloc malloc
1506
+ # define png_mem_free free
1507
+ typedef png_size_t png_alloc_size_t;
1508
+ # endif
1509
+ # endif
1510
+ #endif
1511
+ /* End of memory model/platform independent support */
1512
+
1513
+ /* Just a little check that someone hasn't tried to define something
1514
+ * contradictory.
1515
+ */
1516
+ #if (PNG_ZBUF_SIZE > 65536L) && defined(PNG_MAX_MALLOC_64K)
1517
+ # undef PNG_ZBUF_SIZE
1518
+ # define PNG_ZBUF_SIZE 65536L
1519
+ #endif
1520
+
1521
+
1522
+ /* Added at libpng-1.2.8 */
1523
+ #endif /* PNG_VERSION_INFO_ONLY */
1524
+
1525
+ #endif /* PNGCONF_H */