cairo 1.14.1-x86-mingw32 → 1.14.2-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 (215) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS +21 -0
  3. data/Rakefile +18 -7
  4. data/ext/cairo/cairo.def +1 -0
  5. data/ext/cairo/extconf.rb +23 -10
  6. data/ext/cairo/rb_cairo.c +3 -0
  7. data/ext/cairo/rb_cairo.h +3 -3
  8. data/ext/cairo/rb_cairo_context.c +1 -1
  9. data/ext/cairo/rb_cairo_io.c +4 -0
  10. data/ext/cairo/rb_cairo_io.h +2 -0
  11. data/ext/cairo/rb_cairo_pattern.c +4 -4
  12. data/ext/cairo/rb_cairo_private.h +2 -0
  13. data/ext/cairo/rb_cairo_surface.c +64 -232
  14. data/lib/2.0/cairo.so +0 -0
  15. data/lib/2.1/cairo.so +0 -0
  16. data/lib/2.2/cairo.so +0 -0
  17. data/lib/cairo.rb +20 -19
  18. data/lib/cairo/region.rb +14 -0
  19. data/test/test_region.rb +26 -0
  20. data/vendor/local/bin/fc-cache.exe +0 -0
  21. data/vendor/local/bin/fc-cat.exe +0 -0
  22. data/vendor/local/bin/fc-list.exe +0 -0
  23. data/vendor/local/bin/fc-match.exe +0 -0
  24. data/vendor/local/bin/fc-pattern.exe +0 -0
  25. data/vendor/local/bin/fc-query.exe +0 -0
  26. data/vendor/local/bin/fc-scan.exe +0 -0
  27. data/vendor/local/bin/fc-validate.exe +0 -0
  28. data/vendor/local/bin/freetype-config +2 -2
  29. data/vendor/local/bin/libcairo-2.dll +0 -0
  30. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  31. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  32. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  33. data/vendor/local/bin/libfreetype-6.dll +0 -0
  34. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  35. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  36. data/vendor/local/bin/libpng-config +1 -1
  37. data/vendor/local/bin/libpng16-16.dll +0 -0
  38. data/vendor/local/bin/libpng16-config +1 -1
  39. data/vendor/local/bin/libstdc++-6.dll +0 -0
  40. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  41. data/vendor/local/bin/libxml2-2.dll +0 -0
  42. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  43. data/vendor/local/bin/pngfix.exe +0 -0
  44. data/vendor/local/bin/xmlcatalog.exe +0 -0
  45. data/vendor/local/bin/xmllint.exe +0 -0
  46. data/vendor/local/bin/zlib1.dll +0 -0
  47. data/vendor/local/include/cairo/cairo-version.h +1 -1
  48. data/vendor/local/include/freetype2/config/ftconfig.h +19 -2
  49. data/vendor/local/include/freetype2/config/ftheader.h +7 -5
  50. data/vendor/local/include/freetype2/config/ftoption.h +9 -22
  51. data/vendor/local/include/freetype2/config/ftstdlib.h +2 -3
  52. data/vendor/local/include/freetype2/freetype.h +38 -17
  53. data/vendor/local/include/freetype2/ft2build.h +1 -1
  54. data/vendor/local/include/freetype2/ftadvanc.h +2 -2
  55. data/vendor/local/include/freetype2/ftautoh.h +50 -2
  56. data/vendor/local/include/freetype2/ftbbox.h +1 -1
  57. data/vendor/local/include/freetype2/ftbdf.h +1 -1
  58. data/vendor/local/include/freetype2/ftbitmap.h +11 -3
  59. data/vendor/local/include/freetype2/ftbzip2.h +1 -1
  60. data/vendor/local/include/freetype2/ftcache.h +3 -3
  61. data/vendor/local/include/freetype2/ftcffdrv.h +1 -1
  62. data/vendor/local/include/freetype2/ftcid.h +2 -1
  63. data/vendor/local/include/freetype2/fterrdef.h +1 -1
  64. data/vendor/local/include/freetype2/fterrors.h +1 -1
  65. data/vendor/local/include/freetype2/{ftxf86.h → ftfntfmt.h} +22 -14
  66. data/vendor/local/include/freetype2/ftgasp.h +1 -1
  67. data/vendor/local/include/freetype2/ftglyph.h +1 -1
  68. data/vendor/local/include/freetype2/ftgxval.h +1 -1
  69. data/vendor/local/include/freetype2/ftgzip.h +1 -1
  70. data/vendor/local/include/freetype2/ftimage.h +7 -13
  71. data/vendor/local/include/freetype2/ftincrem.h +1 -1
  72. data/vendor/local/include/freetype2/ftlcdfil.h +2 -2
  73. data/vendor/local/include/freetype2/ftlist.h +1 -1
  74. data/vendor/local/include/freetype2/ftlzw.h +1 -1
  75. data/vendor/local/include/freetype2/ftmac.h +1 -1
  76. data/vendor/local/include/freetype2/ftmm.h +17 -11
  77. data/vendor/local/include/freetype2/ftmodapi.h +4 -2
  78. data/vendor/local/include/freetype2/ftmoderr.h +1 -1
  79. data/vendor/local/include/freetype2/ftotval.h +1 -1
  80. data/vendor/local/include/freetype2/ftoutln.h +1 -1
  81. data/vendor/local/include/freetype2/ftpfr.h +1 -1
  82. data/vendor/local/include/freetype2/ftrender.h +3 -8
  83. data/vendor/local/include/freetype2/ftsizes.h +1 -1
  84. data/vendor/local/include/freetype2/ftsnames.h +1 -1
  85. data/vendor/local/include/freetype2/ftstroke.h +1 -1
  86. data/vendor/local/include/freetype2/ftsynth.h +5 -3
  87. data/vendor/local/include/freetype2/ftsystem.h +10 -1
  88. data/vendor/local/include/freetype2/fttrigon.h +1 -1
  89. data/vendor/local/include/freetype2/ftttdrv.h +85 -22
  90. data/vendor/local/include/freetype2/fttypes.h +1 -1
  91. data/vendor/local/include/freetype2/ftwinfnt.h +3 -3
  92. data/vendor/local/include/freetype2/t1tables.h +4 -3
  93. data/vendor/local/include/freetype2/ttnameid.h +116 -116
  94. data/vendor/local/include/freetype2/tttables.h +2 -2
  95. data/vendor/local/include/freetype2/tttags.h +1 -1
  96. data/vendor/local/include/freetype2/ttunpat.h +1 -1
  97. data/vendor/local/include/libpng16/png.h +63 -80
  98. data/vendor/local/include/libpng16/pngconf.h +8 -30
  99. data/vendor/local/include/libpng16/pnglibconf.h +10 -4
  100. data/vendor/local/include/png.h +63 -80
  101. data/vendor/local/include/pngconf.h +8 -30
  102. data/vendor/local/include/pnglibconf.h +10 -4
  103. data/vendor/local/lib/libcairo-gobject.a +0 -0
  104. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  105. data/vendor/local/lib/libcairo-gobject.la +2 -2
  106. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  107. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  108. data/vendor/local/lib/libcairo-script-interpreter.la +2 -2
  109. data/vendor/local/lib/libcairo.a +0 -0
  110. data/vendor/local/lib/libcairo.dll.a +0 -0
  111. data/vendor/local/lib/libcairo.la +2 -2
  112. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  113. data/vendor/local/lib/libfreetype.a +0 -0
  114. data/vendor/local/lib/libfreetype.dll.a +0 -0
  115. data/vendor/local/lib/libfreetype.la +4 -4
  116. data/vendor/local/lib/libpixman-1.a +0 -0
  117. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  118. data/vendor/local/lib/libpng.a +0 -0
  119. data/vendor/local/lib/libpng.dll.a +0 -0
  120. data/vendor/local/lib/libpng.la +4 -4
  121. data/vendor/local/lib/libpng16.a +0 -0
  122. data/vendor/local/lib/libpng16.dll.a +0 -0
  123. data/vendor/local/lib/libpng16.la +4 -4
  124. data/vendor/local/lib/libxml2.a +0 -0
  125. data/vendor/local/lib/libxml2.dll.a +0 -0
  126. data/vendor/local/lib/libz.a +0 -0
  127. data/vendor/local/lib/libz.dll.a +0 -0
  128. data/vendor/local/lib/pkgconfig/cairo-fc.pc +1 -1
  129. data/vendor/local/lib/pkgconfig/cairo-ft.pc +1 -1
  130. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +1 -1
  131. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +1 -1
  132. data/vendor/local/lib/pkgconfig/cairo-png.pc +1 -1
  133. data/vendor/local/lib/pkgconfig/cairo-ps.pc +1 -1
  134. data/vendor/local/lib/pkgconfig/cairo-script.pc +1 -1
  135. data/vendor/local/lib/pkgconfig/cairo-svg.pc +1 -1
  136. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +1 -1
  137. data/vendor/local/lib/pkgconfig/cairo-win32.pc +1 -1
  138. data/vendor/local/lib/pkgconfig/cairo.pc +1 -1
  139. data/vendor/local/lib/pkgconfig/freetype2.pc +1 -1
  140. data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
  141. data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
  142. data/vendor/local/share/aclocal/freetype2.m4 +1 -1
  143. data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +12 -12
  144. data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +12 -12
  145. data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +12 -12
  146. data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +13 -13
  147. data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +12 -12
  148. data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +35 -35
  149. data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +10 -10
  150. data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +11 -11
  151. data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +13 -13
  152. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +294 -225
  153. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +387 -269
  154. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +432 -302
  155. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +325 -217
  156. data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +298 -193
  157. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1121 -812
  158. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +513 -383
  159. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +126 -83
  160. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +172 -119
  161. data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +581 -372
  162. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +179 -130
  163. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +888 -539
  164. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +287 -192
  165. data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +374 -231
  166. data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +395 -219
  167. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +125 -75
  168. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +630 -464
  169. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +225 -200
  170. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +336 -214
  171. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +277 -186
  172. data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +495 -350
  173. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +557 -362
  174. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +158 -111
  175. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +655 -441
  176. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +389 -280
  177. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +667 -451
  178. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +579 -351
  179. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +2006 -1545
  180. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +892 -618
  181. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1624 -1188
  182. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2903 -2104
  183. data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +13 -13
  184. data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +13 -13
  185. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +13 -13
  186. data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +13 -13
  187. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1115 -758
  188. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +419 -604
  189. data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  190. data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +56 -56
  191. data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +70 -70
  192. data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +58 -58
  193. data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +39 -39
  194. data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +30 -30
  195. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +38 -38
  196. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +426 -426
  197. data/vendor/local/share/gtk-doc/html/cairo/index.html +6 -6
  198. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +234 -325
  199. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +12 -12
  200. data/vendor/local/share/gtk-doc/html/cairo/left-insensitive.png +0 -0
  201. data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  202. data/vendor/local/share/gtk-doc/html/cairo/right-insensitive.png +0 -0
  203. data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  204. data/vendor/local/share/gtk-doc/html/cairo/style.css +221 -26
  205. data/vendor/local/share/gtk-doc/html/cairo/up-insensitive.png +0 -0
  206. data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  207. data/vendor/local/share/license/cairo/README +1 -1
  208. data/vendor/local/share/license/freetype/README +6 -6
  209. data/vendor/local/share/license/freetype/README.git +1 -1
  210. data/vendor/local/share/license/libpng/README +2 -2
  211. data/vendor/local/share/man/man1/freetype-config.1 +1 -1
  212. data/vendor/local/share/man/man3/libpng.3 +85 -92
  213. data/vendor/local/share/man/man3/libpngpf.3 +2 -2
  214. data/vendor/local/share/man/man5/png.5 +1 -1
  215. metadata +23 -19
@@ -5,7 +5,7 @@
5
5
  /* Basic SFNT/TrueType tables definitions and interface */
6
6
  /* (specification only). */
7
7
  /* */
8
- /* Copyright 1996-2005, 2008-2014 by */
8
+ /* Copyright 1996-2015 by */
9
9
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10
10
  /* */
11
11
  /* This file is part of the FreeType project, and may only be used, */
@@ -371,7 +371,7 @@ FT_BEGIN_HEADER
371
371
  FT_Short xAvgCharWidth;
372
372
  FT_UShort usWeightClass;
373
373
  FT_UShort usWidthClass;
374
- FT_Short fsType;
374
+ FT_UShort fsType;
375
375
  FT_Short ySubscriptXSize;
376
376
  FT_Short ySubscriptYSize;
377
377
  FT_Short ySubscriptXOffset;
@@ -4,7 +4,7 @@
4
4
  /* */
5
5
  /* Tags for TrueType and OpenType tables (specification only). */
6
6
  /* */
7
- /* Copyright 1996-2001, 2004, 2005, 2007, 2008, 2013 by */
7
+ /* Copyright 1996-2015 by */
8
8
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9
9
  /* */
10
10
  /* This file is part of the FreeType project, and may only be used, */
@@ -4,7 +4,7 @@
4
4
  /* */
5
5
  /* Definitions for the unpatented TrueType hinting system */
6
6
  /* */
7
- /* Copyright 2003, 2006 by */
7
+ /* Copyright 2003-2015 by */
8
8
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9
9
  /* */
10
10
  /* Written by Graham Asher <graham.asher@btinternet.com> */
@@ -1,8 +1,9 @@
1
1
 
2
2
  /* png.h - header file for PNG reference library
3
3
  *
4
- * libpng version 1.6.16, December 22, 2014
5
- * Copyright (c) 1998-2014 Glenn Randers-Pehrson
4
+ * libpng version 1.6.18, July 23, 2015
5
+ *
6
+ * Copyright (c) 1998-2015 Glenn Randers-Pehrson
6
7
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
7
8
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
8
9
  *
@@ -10,8 +11,8 @@
10
11
  *
11
12
  * Authors and maintainers:
12
13
  * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
13
- * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
14
- * libpng versions 0.97, January 1998, through 1.6.16, December 22, 2014: Glenn
14
+ * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
15
+ * libpng versions 0.97, January 1998, through 1.6.18, July 23, 2015: Glenn
15
16
  * See also "Contributing Authors", below.
16
17
  *
17
18
  * Note about libpng version numbers:
@@ -212,6 +213,12 @@
212
213
  * 1.6.16beta01-03 16 10616 16.so.16.16[.0]
213
214
  * 1.6.16rc01-02 16 10616 16.so.16.16[.0]
214
215
  * 1.6.16 16 10616 16.so.16.16[.0]
216
+ * 1.6.17beta01-06 16 10617 16.so.16.17[.0]
217
+ * 1.6.17rc01-06 16 10617 16.so.16.17[.0]
218
+ * 1.6.17 16 10617 16.so.16.17[.0]
219
+ * 1.6.18beta01-09 16 10618 16.so.16.18[.0]
220
+ * 1.6.18rc01-03 16 10618 16.so.16.18[.0]
221
+ * 1.6.18 16 10618 16.so.16.18[.0]
215
222
  *
216
223
  * Henceforth the source version will match the shared-library major
217
224
  * and minor numbers; the shared-library major version number will be
@@ -243,21 +250,16 @@
243
250
  *
244
251
  * This code is released under the libpng license.
245
252
  *
246
- * libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22, 2014, are
247
- * Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
248
- * distributed according to the same disclaimer and license as libpng-1.2.5
249
- * with the following individual added to the list of Contributing Authors:
250
- *
251
- * Cosmin Truta
252
- *
253
- * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
254
- * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
253
+ * libpng versions 1.0.7, July 1, 2000, through 1.6.18, July 23, 2015, are
254
+ * Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
255
255
  * distributed according to the same disclaimer and license as libpng-1.0.6
256
256
  * with the following individuals added to the list of Contributing Authors:
257
257
  *
258
258
  * Simon-Pierre Cadieux
259
- * Eric S. Raymond
259
+ * Mans Rullgard
260
+ * Cosmin Truta
260
261
  * Gilles Vollant
262
+ * James Yu
261
263
  *
262
264
  * and with the following additions to the disclaimer:
263
265
  *
@@ -269,17 +271,18 @@
269
271
  * the user.
270
272
  *
271
273
  * libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
272
- * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
273
- * distributed according to the same disclaimer and license as libpng-0.96,
274
- * with the following individuals added to the list of Contributing Authors:
274
+ * Copyright (c) 1998-2000 Glenn Randers-Pehrson, and are distributed according
275
+ * to the same disclaimer and license as libpng-0.96, with the following
276
+ * individuals added to the list of Contributing Authors:
275
277
  *
276
278
  * Tom Lane
277
279
  * Glenn Randers-Pehrson
280
+ * Eric S. Raymond
278
281
  * Willem van Schaik
279
282
  *
280
283
  * libpng versions 0.89, June 1996, through 0.96, May 1997, are
281
- * Copyright (c) 1996, 1997 Andreas Dilger
282
- * Distributed according to the same disclaimer and license as libpng-0.88,
284
+ * Copyright (c) 1996-1997 Andreas Dilger, and are
285
+ * distributed according to the same disclaimer and license as libpng-0.88,
283
286
  * with the following individuals added to the list of Contributing Authors:
284
287
  *
285
288
  * John Bowler
@@ -290,7 +293,7 @@
290
293
  * Tom Tanner
291
294
  *
292
295
  * libpng versions 0.5, May 1995, through 0.88, January 1996, are
293
- * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
296
+ * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
294
297
  *
295
298
  * For the purposes of this copyright and license, "Contributing Authors"
296
299
  * is defined as the following set of individuals:
@@ -318,8 +321,8 @@
318
321
  * 2. Altered versions must be plainly marked as such and must not
319
322
  * be misrepresented as being the original source.
320
323
  *
321
- * 3. This Copyright notice may not be removed or altered from
322
- * any source or altered source distribution.
324
+ * 3. This Copyright notice may not be removed or altered from any
325
+ * source or altered source distribution.
323
326
  *
324
327
  * The Contributing Authors and Group 42, Inc. specifically permit, without
325
328
  * fee, and encourage the use of this source code as a component to
@@ -332,15 +335,16 @@
332
335
  * A "png_get_copyright" function is available, for convenient use in "about"
333
336
  * boxes and the like:
334
337
  *
335
- * printf("%s", png_get_copyright(NULL));
338
+ * printf("%s", png_get_copyright(NULL));
336
339
  *
337
340
  * Also, the PNG logo (in PNG format, of course) is supplied in the
338
341
  * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
339
342
  */
340
343
 
341
344
  /*
342
- * Libpng is OSI Certified Open Source Software. OSI Certified is a
343
- * certification mark of the Open Source Initiative.
345
+ * Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
346
+ * a certification mark of the Open Source Initiative. OSI has not addressed
347
+ * the additional disclaimers inserted at version 1.0.7.
344
348
  */
345
349
 
346
350
  /*
@@ -355,13 +359,13 @@
355
359
  * Y2K compliance in libpng:
356
360
  * =========================
357
361
  *
358
- * December 22, 2014
362
+ * July 23, 2015
359
363
  *
360
364
  * Since the PNG Development group is an ad-hoc body, we can't make
361
365
  * an official declaration.
362
366
  *
363
367
  * This is your unofficial assurance that libpng from version 0.71 and
364
- * upward through 1.6.16 are Y2K compliant. It is my belief that
368
+ * upward through 1.6.18 are Y2K compliant. It is my belief that
365
369
  * earlier versions were also Y2K compliant.
366
370
  *
367
371
  * Libpng only has two year fields. One is a 2-byte unsigned integer
@@ -423,9 +427,9 @@
423
427
  */
424
428
 
425
429
  /* Version information for png.h - this should match the version in png.c */
426
- #define PNG_LIBPNG_VER_STRING "1.6.16"
430
+ #define PNG_LIBPNG_VER_STRING "1.6.18"
427
431
  #define PNG_HEADER_VERSION_STRING \
428
- " libpng version 1.6.16 - December 22, 2014\n"
432
+ " libpng version 1.6.18 - July 23, 2015\n"
429
433
 
430
434
  #define PNG_LIBPNG_VER_SONUM 16
431
435
  #define PNG_LIBPNG_VER_DLLNUM 16
@@ -433,7 +437,7 @@
433
437
  /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
434
438
  #define PNG_LIBPNG_VER_MAJOR 1
435
439
  #define PNG_LIBPNG_VER_MINOR 6
436
- #define PNG_LIBPNG_VER_RELEASE 16
440
+ #define PNG_LIBPNG_VER_RELEASE 18
437
441
 
438
442
  /* This should match the numeric part of the final component of
439
443
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
@@ -464,7 +468,7 @@
464
468
  * version 1.0.0 was mis-numbered 100 instead of 10000). From
465
469
  * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
466
470
  */
467
- #define PNG_LIBPNG_VER 10616 /* 1.6.16 */
471
+ #define PNG_LIBPNG_VER 10618 /* 1.6.18 */
468
472
 
469
473
  /* Library configuration: these options cannot be changed after
470
474
  * the library has been built.
@@ -569,7 +573,7 @@ extern "C" {
569
573
  /* This triggers a compiler error in png.c, if png.c and png.h
570
574
  * do not agree upon the version number.
571
575
  */
572
- typedef char* png_libpng_version_1_6_16;
576
+ typedef char* png_libpng_version_1_6_18;
573
577
 
574
578
  /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
575
579
  *
@@ -1578,6 +1582,7 @@ PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action,
1578
1582
  #define PNG_CRC_QUIET_USE 4 /* quiet/use data quiet/use data */
1579
1583
  #define PNG_CRC_NO_CHANGE 5 /* use current value use current value */
1580
1584
 
1585
+ #ifdef PNG_WRITE_SUPPORTED
1581
1586
  /* These functions give the user control over the scan-line filtering in
1582
1587
  * libpng and the compression methods used by zlib. These functions are
1583
1588
  * mainly useful for testing, as the defaults should work with most users.
@@ -1591,6 +1596,7 @@ PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action,
1591
1596
  */
1592
1597
  PNG_EXPORT(67, void, png_set_filter, (png_structrp png_ptr, int method,
1593
1598
  int filters));
1599
+ #endif /* WRITE */
1594
1600
 
1595
1601
  /* Flags for png_set_filter() to say which filters to use. The flags
1596
1602
  * are chosen so that they don't conflict with real filter types
@@ -1616,35 +1622,8 @@ PNG_EXPORT(67, void, png_set_filter, (png_structrp png_ptr, int method,
1616
1622
  #define PNG_FILTER_VALUE_PAETH 4
1617
1623
  #define PNG_FILTER_VALUE_LAST 5
1618
1624
 
1619
- #ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED /* EXPERIMENTAL */
1620
- /* The "heuristic_method" is given by one of the PNG_FILTER_HEURISTIC_
1621
- * defines, either the default (minimum-sum-of-absolute-differences), or
1622
- * the experimental method (weighted-minimum-sum-of-absolute-differences).
1623
- *
1624
- * Weights are factors >= 1.0, indicating how important it is to keep the
1625
- * filter type consistent between rows. Larger numbers mean the current
1626
- * filter is that many times as likely to be the same as the "num_weights"
1627
- * previous filters. This is cumulative for each previous row with a weight.
1628
- * There needs to be "num_weights" values in "filter_weights", or it can be
1629
- * NULL if the weights aren't being specified. Weights have no influence on
1630
- * the selection of the first row filter. Well chosen weights can (in theory)
1631
- * improve the compression for a given image.
1632
- *
1633
- * Costs are factors >= 1.0 indicating the relative decoding costs of a
1634
- * filter type. Higher costs indicate more decoding expense, and are
1635
- * therefore less likely to be selected over a filter with lower computational
1636
- * costs. There needs to be a value in "filter_costs" for each valid filter
1637
- * type (given by PNG_FILTER_VALUE_LAST), or it can be NULL if you aren't
1638
- * setting the costs. Costs try to improve the speed of decompression without
1639
- * unduly increasing the compressed image size.
1640
- *
1641
- * A negative weight or cost indicates the default value is to be used, and
1642
- * values in the range [0.0, 1.0) indicate the value is to remain unchanged.
1643
- * The default values for both weights and costs are currently 1.0, but may
1644
- * change if good general weighting/cost heuristics can be found. If both
1645
- * the weights and costs are set to 1.0, this degenerates the WEIGHTED method
1646
- * to the UNWEIGHTED method, but with added encoding time/computation.
1647
- */
1625
+ #ifdef PNG_WRITE_SUPPORTED
1626
+ #ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED /* DEPRECATED */
1648
1627
  PNG_FP_EXPORT(68, void, png_set_filter_heuristics, (png_structrp png_ptr,
1649
1628
  int heuristic_method, int num_weights, png_const_doublep filter_weights,
1650
1629
  png_const_doublep filter_costs))
@@ -1654,15 +1633,12 @@ PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed,
1654
1633
  png_const_fixed_point_p filter_costs))
1655
1634
  #endif /* WRITE_WEIGHTED_FILTER */
1656
1635
 
1657
- /* Heuristic used for row filter selection. These defines should NOT be
1658
- * changed.
1659
- */
1636
+ /* The following are no longer used and will be removed from libpng-1.7: */
1660
1637
  #define PNG_FILTER_HEURISTIC_DEFAULT 0 /* Currently "UNWEIGHTED" */
1661
1638
  #define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 /* Used by libpng < 0.95 */
1662
1639
  #define PNG_FILTER_HEURISTIC_WEIGHTED 2 /* Experimental feature */
1663
1640
  #define PNG_FILTER_HEURISTIC_LAST 3 /* Not a valid value */
1664
1641
 
1665
- #ifdef PNG_WRITE_SUPPORTED
1666
1642
  /* Set the library compression level. Currently, valid values range from
1667
1643
  * 0 - 9, corresponding directly to the zlib compression levels 0 - 9
1668
1644
  * (0 - no compression, 9 - "maximal" compression). Note that tests have
@@ -1670,6 +1646,7 @@ PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed,
1670
1646
  * for PNG images, and do considerably fewer caclulations. In the future,
1671
1647
  * these values may not correspond directly to the zlib compression levels.
1672
1648
  */
1649
+ #ifdef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED
1673
1650
  PNG_EXPORT(69, void, png_set_compression_level, (png_structrp png_ptr,
1674
1651
  int level));
1675
1652
 
@@ -1687,7 +1664,7 @@ PNG_EXPORT(72, void, png_set_compression_window_bits, (png_structrp png_ptr,
1687
1664
 
1688
1665
  PNG_EXPORT(73, void, png_set_compression_method, (png_structrp png_ptr,
1689
1666
  int method));
1690
- #endif
1667
+ #endif /* WRITE_CUSTOMIZE_COMPRESSION */
1691
1668
 
1692
1669
  #ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
1693
1670
  /* Also set zlib parameters for compressing non-IDAT chunks */
@@ -1709,6 +1686,7 @@ PNG_EXPORT(225, void, png_set_text_compression_window_bits,
1709
1686
  PNG_EXPORT(226, void, png_set_text_compression_method, (png_structrp png_ptr,
1710
1687
  int method));
1711
1688
  #endif /* WRITE_CUSTOMIZE_ZTXT_COMPRESSION */
1689
+ #endif /* WRITE */
1712
1690
 
1713
1691
  /* These next functions are called for input/output, memory, and error
1714
1692
  * handling. They are in the file pngrio.c, pngwio.c, and pngerror.c,
@@ -1819,7 +1797,7 @@ PNG_EXPORT(218, png_byte, png_get_current_pass_number, (png_const_structrp));
1819
1797
  *
1820
1798
  * The integer return from the callback function is interpreted thus:
1821
1799
  *
1822
- * negative: An error occured, png_chunk_error will be called.
1800
+ * negative: An error occurred; png_chunk_error will be called.
1823
1801
  * zero: The chunk was not handled, the chunk will be saved. A critical
1824
1802
  * chunk will cause an error at this point unless it is to be saved.
1825
1803
  * positive: The chunk was handled, libpng will ignore/discard it.
@@ -2664,26 +2642,28 @@ PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type,
2664
2642
  * (png_uint_16)(alpha) \
2665
2643
  + (png_uint_16)(bg)*(png_uint_16)(255 \
2666
2644
  - (png_uint_16)(alpha)) + 128); \
2667
- (composite) = (png_byte)((temp + (temp >> 8)) >> 8); }
2645
+ (composite) = (png_byte)(((temp + (temp >> 8)) >> 8) & 0xff); }
2668
2646
 
2669
2647
  # define png_composite_16(composite, fg, alpha, bg) \
2670
2648
  { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \
2671
2649
  * (png_uint_32)(alpha) \
2672
2650
  + (png_uint_32)(bg)*(65535 \
2673
2651
  - (png_uint_32)(alpha)) + 32768); \
2674
- (composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); }
2652
+ (composite) = (png_uint_16)(0xffff & ((temp + (temp >> 16)) >> 16)); }
2675
2653
 
2676
2654
  #else /* Standard method using integer division */
2677
2655
 
2678
- # define png_composite(composite, fg, alpha, bg) \
2679
- (composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \
2680
- (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \
2681
- 127) / 255)
2656
+ # define png_composite(composite, fg, alpha, bg) \
2657
+ (composite) = \
2658
+ (png_byte)(0xff & (((png_uint_16)(fg) * (png_uint_16)(alpha) + \
2659
+ (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \
2660
+ 127) / 255))
2682
2661
 
2683
2662
  # define png_composite_16(composite, fg, alpha, bg) \
2684
- (composite) = (png_uint_16)(((png_uint_32)(fg) * (png_uint_32)(alpha) + \
2685
- (png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \
2686
- 32767) / 65535)
2663
+ (composite) = \
2664
+ (png_uint_16)(0xffff & (((png_uint_32)(fg) * (png_uint_32)(alpha) + \
2665
+ (png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \
2666
+ 32767) / 65535))
2687
2667
  #endif /* READ_COMPOSITE_NODIV */
2688
2668
 
2689
2669
  #ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED
@@ -2773,8 +2753,9 @@ PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i));
2773
2753
  *
2774
2754
  * To read a PNG file using the simplified API:
2775
2755
  *
2776
- * 1) Declare a 'png_image' structure (see below) on the stack and set the
2777
- * version field to PNG_IMAGE_VERSION.
2756
+ * 1) Declare a 'png_image' structure (see below) on the stack, set the
2757
+ * version field to PNG_IMAGE_VERSION and the 'opaque' pointer to NULL
2758
+ * (this is REQUIRED, your program may crash if you don't do it.)
2778
2759
  * 2) Call the appropriate png_image_begin_read... function.
2779
2760
  * 3) Set the png_image 'format' member to the required sample format.
2780
2761
  * 4) Allocate a buffer for the image and, if required, the color-map.
@@ -3199,9 +3180,11 @@ PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
3199
3180
  *
3200
3181
  * With all APIs row_stride is handled as in the read APIs - it is the spacing
3201
3182
  * from one row to the next in component sized units (1 or 2 bytes) and if
3202
- * negative indicates a bottom-up row layout in the buffer.
3183
+ * negative indicates a bottom-up row layout in the buffer. If row_stride is zero,
3184
+ * libpng will calculate it for you from the image width and number of channels.
3203
3185
  *
3204
- * Note that the write API does not support interlacing or sub-8-bit pixels.
3186
+ * Note that the write API does not support interlacing, sub-8-bit pixels, indexed
3187
+ * PNG (color_type 3) or most ancillary chunks.
3205
3188
  */
3206
3189
  #endif /* STDIO */
3207
3190
  #endif /* SIMPLIFIED_WRITE */
@@ -1,9 +1,9 @@
1
1
 
2
2
  /* pngconf.h - machine configurable file for libpng
3
3
  *
4
- * libpng version 1.6.16,December 22, 2014
4
+ * libpng version 1.6.18, July 23, 2015
5
5
  *
6
- * Copyright (c) 1998-2014 Glenn Randers-Pehrson
6
+ * Copyright (c) 1998-2015 Glenn Randers-Pehrson
7
7
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
8
8
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
9
9
  *
@@ -11,9 +11,7 @@
11
11
  * For conditions of distribution and use, see the disclaimer
12
12
  * and license in png.h
13
13
  *
14
- */
15
-
16
- /* Any machine specific code is near the front of this file, so if you
14
+ * Any machine specific code is near the front of this file, so if you
17
15
  * are configuring libpng for a machine, you may want to read the section
18
16
  * starting here down to where it starts to typedef png_color, png_text,
19
17
  * and png_info.
@@ -22,26 +20,6 @@
22
20
  #ifndef PNGCONF_H
23
21
  #define PNGCONF_H
24
22
 
25
- /* To do: Do all of this in scripts/pnglibconf.dfa */
26
- #ifdef PNG_SAFE_LIMITS_SUPPORTED
27
- # ifdef PNG_USER_WIDTH_MAX
28
- # undef PNG_USER_WIDTH_MAX
29
- # define PNG_USER_WIDTH_MAX 1000000L
30
- # endif
31
- # ifdef PNG_USER_HEIGHT_MAX
32
- # undef PNG_USER_HEIGHT_MAX
33
- # define PNG_USER_HEIGHT_MAX 1000000L
34
- # endif
35
- # ifdef PNG_USER_CHUNK_MALLOC_MAX
36
- # undef PNG_USER_CHUNK_MALLOC_MAX
37
- # define PNG_USER_CHUNK_MALLOC_MAX 4000000L
38
- # endif
39
- # ifdef PNG_USER_CHUNK_CACHE_MAX
40
- # undef PNG_USER_CHUNK_CACHE_MAX
41
- # define PNG_USER_CHUNK_CACHE_MAX 128
42
- # endif
43
- #endif
44
-
45
23
  #ifndef PNG_BUILDING_SYMBOL_TABLE /* else includes may cause problems */
46
24
 
47
25
  /* From libpng 1.6.0 libpng requires an ANSI X3.159-1989 ("ISOC90") compliant C
@@ -317,11 +295,11 @@
317
295
  * table entries, so we discard it here. See the .dfn files in the
318
296
  * scripts directory.
319
297
  */
320
- #ifndef PNG_EXPORTA
321
298
 
322
- # define PNG_EXPORTA(ordinal, type, name, args, attributes)\
323
- PNG_FUNCTION(PNG_EXPORT_TYPE(type),(PNGAPI name),PNGARG(args), \
324
- extern attributes)
299
+ #ifndef PNG_EXPORTA
300
+ # define PNG_EXPORTA(ordinal, type, name, args, attributes) \
301
+ PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \
302
+ PNG_LINKAGE_API attributes)
325
303
  #endif
326
304
 
327
305
  /* ANSI-C (C90) does not permit a macro to be invoked with an empty argument,
@@ -329,7 +307,7 @@
329
307
  */
330
308
  #define PNG_EMPTY /*empty list*/
331
309
 
332
- #define PNG_EXPORT(ordinal, type, name, args)\
310
+ #define PNG_EXPORT(ordinal, type, name, args) \
333
311
  PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY)
334
312
 
335
313
  /* Use PNG_REMOVED to comment out a removed interface. */