cairo 1.8.0-x86-mswin32 → 1.8.1-x86-mswin32

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 (117) hide show
  1. data/ChangeLog +25 -0
  2. data/NEWS +8 -0
  3. data/Rakefile +5 -32
  4. data/cairo/bin/libcairo-2.dll +0 -0
  5. data/cairo/bin/libpng12-0.dll +0 -0
  6. data/cairo/include/cairo/cairo-features.h +1 -1
  7. data/cairo/include/cairo/cairo-ft.h +75 -0
  8. data/cairo/include/cairo/cairo-version.h +1 -1
  9. data/cairo/include/cairo/cairo.h +16 -21
  10. data/cairo/include/libpng12/png.h +251 -121
  11. data/cairo/include/libpng12/pngconf.h +83 -56
  12. data/cairo/include/png.h +251 -121
  13. data/cairo/include/pngconf.h +83 -56
  14. data/cairo/lib/cairo.def +5 -0
  15. data/cairo/lib/cairo.lib +0 -0
  16. data/cairo/lib/libcairo.dll.a +0 -0
  17. data/cairo/lib/libpng.def +3 -0
  18. data/cairo/lib/libpng.lib +0 -0
  19. data/cairo/lib/libpng12.dll.a +0 -0
  20. data/cairo/lib/pkgconfig/cairo-ft.pc +12 -0
  21. data/cairo/lib/pkgconfig/cairo-pdf.pc +2 -2
  22. data/cairo/lib/pkgconfig/cairo-png.pc +2 -2
  23. data/cairo/lib/pkgconfig/cairo-ps.pc +2 -2
  24. data/cairo/lib/pkgconfig/cairo-svg.pc +2 -2
  25. data/cairo/lib/pkgconfig/cairo-win32-font.pc +2 -2
  26. data/cairo/lib/pkgconfig/cairo-win32.pc +2 -2
  27. data/cairo/lib/pkgconfig/cairo.pc +4 -4
  28. data/cairo/lib/pkgconfig/libpng.pc +2 -2
  29. data/cairo/lib/pkgconfig/libpng12.pc +2 -2
  30. data/cairo/manifest/{cairo-dev_1.8.0-1_win32.mft → cairo-dev_1.8.8-2_win32.mft} +5 -3
  31. data/cairo/manifest/cairo_1.8.8-2_win32.mft +5 -0
  32. data/cairo/manifest/{libpng-dev_1.2.32-1_win32.mft → libpng-dev_1.2.39-1_win32.mft} +3 -3
  33. data/cairo/manifest/libpng_1.2.39-1_win32.mft +2 -0
  34. data/cairo/share/doc/{cairo_1.8.0-1_win32 → cairo_1.8.8-2_win32}/COPYING +0 -0
  35. data/cairo/share/doc/{cairo_1.8.0-1_win32 → cairo_1.8.8-2_win32}/COPYING-LGPL-2.1 +0 -0
  36. data/cairo/share/doc/{cairo_1.8.0-1_win32 → cairo_1.8.8-2_win32}/COPYING-MPL-1.1 +0 -0
  37. data/cairo/share/gtk-doc/html/cairo/bindings-errors.html +9 -9
  38. data/cairo/share/gtk-doc/html/cairo/bindings-fonts.html +5 -5
  39. data/cairo/share/gtk-doc/html/cairo/bindings-memory.html +8 -8
  40. data/cairo/share/gtk-doc/html/cairo/bindings-overloading.html +5 -5
  41. data/cairo/share/gtk-doc/html/cairo/bindings-path.html +5 -5
  42. data/cairo/share/gtk-doc/html/cairo/bindings-patterns.html +6 -6
  43. data/cairo/share/gtk-doc/html/cairo/bindings-return-values.html +5 -5
  44. data/cairo/share/gtk-doc/html/cairo/bindings-streams.html +5 -5
  45. data/cairo/share/gtk-doc/html/cairo/bindings-surfaces.html +5 -5
  46. data/cairo/share/gtk-doc/html/cairo/cairo-context.html +200 -262
  47. data/cairo/share/gtk-doc/html/cairo/cairo-drawing.html +5 -5
  48. data/cairo/share/gtk-doc/html/cairo/cairo-error-status.html +61 -60
  49. data/cairo/share/gtk-doc/html/cairo/cairo-font-face.html +51 -53
  50. data/cairo/share/gtk-doc/html/cairo/cairo-font-options.html +65 -78
  51. data/cairo/share/gtk-doc/html/cairo/cairo-fonts.html +5 -5
  52. data/cairo/share/gtk-doc/html/cairo/cairo-ft-font.html +37 -34
  53. data/cairo/share/gtk-doc/html/cairo/cairo-image-surface.html +49 -60
  54. data/cairo/share/gtk-doc/html/cairo/cairo-matrix.html +30 -41
  55. data/cairo/share/gtk-doc/html/cairo/cairo-paths.html +72 -97
  56. data/cairo/share/gtk-doc/html/cairo/cairo-pattern.html +184 -175
  57. data/cairo/share/gtk-doc/html/cairo/cairo-pdf-surface.html +40 -34
  58. data/cairo/share/gtk-doc/html/cairo/cairo-png-functions.html +57 -48
  59. data/cairo/share/gtk-doc/html/cairo/cairo-ps-surface.html +73 -76
  60. data/cairo/share/gtk-doc/html/cairo/cairo-quartz-font.html +27 -30
  61. data/cairo/share/gtk-doc/html/cairo/cairo-quartz-surface.html +29 -34
  62. data/cairo/share/gtk-doc/html/cairo/cairo-scaled-font.html +102 -106
  63. data/cairo/share/gtk-doc/html/cairo/cairo-support.html +5 -5
  64. data/cairo/share/gtk-doc/html/cairo/cairo-surface.html +101 -127
  65. data/cairo/share/gtk-doc/html/cairo/cairo-surfaces.html +5 -5
  66. data/cairo/share/gtk-doc/html/cairo/cairo-svg-surface.html +52 -49
  67. data/cairo/share/gtk-doc/html/cairo/cairo-text.html +126 -146
  68. data/cairo/share/gtk-doc/html/cairo/cairo-transformations.html +26 -35
  69. data/cairo/share/gtk-doc/html/cairo/cairo-types.html +16 -17
  70. data/cairo/share/gtk-doc/html/cairo/cairo-user-font.html +121 -127
  71. data/cairo/share/gtk-doc/html/cairo/cairo-version-info.html +50 -60
  72. data/cairo/share/gtk-doc/html/cairo/cairo-win32-font.html +37 -46
  73. data/cairo/share/gtk-doc/html/cairo/cairo-win32-surface.html +58 -58
  74. data/cairo/share/gtk-doc/html/cairo/cairo-xlib-surface.html +47 -63
  75. data/cairo/share/gtk-doc/html/cairo/cairo.devhelp +21 -21
  76. data/cairo/share/gtk-doc/html/cairo/cairo.devhelp2 +21 -21
  77. data/cairo/share/gtk-doc/html/cairo/index-1.2.html +5 -5
  78. data/cairo/share/gtk-doc/html/cairo/index-1.4.html +5 -5
  79. data/cairo/share/gtk-doc/html/cairo/index-1.6.html +5 -5
  80. data/cairo/share/gtk-doc/html/cairo/index-1.8.html +8 -8
  81. data/cairo/share/gtk-doc/html/cairo/index-all.html +24 -24
  82. data/cairo/share/gtk-doc/html/cairo/index.html +6 -6
  83. data/cairo/share/gtk-doc/html/cairo/index.sgml +19 -19
  84. data/cairo/share/gtk-doc/html/cairo/language-bindings.html +6 -6
  85. data/cairo/share/gtk-doc/html/cairo/style.css +8 -1
  86. data/cairo/share/man/man3/libpng.3 +299 -59
  87. data/cairo/share/man/man3/libpngpf.3 +2 -2
  88. data/cairo/share/man/man5/png.5 +1 -1
  89. data/cairo/src/tml/packaging/cairo_1.8.8-2_win32.log +949 -0
  90. data/cairo/src/tml/{make/cairo_1.8.0-1_win32.sh → packaging/cairo_1.8.8-2_win32.sh} +6 -6
  91. data/cairo/src/tml/{make/libpng_1.2.32-1_win32.log → packaging/libpng_1.2.39-1_win32.log} +74 -73
  92. data/cairo/src/tml/{make/libpng_1.2.32-1_win32.sh → packaging/libpng_1.2.39-1_win32.sh} +4 -4
  93. data/doc/ja/cairo-context.html +1 -1
  94. data/doc/ja/index.html +0 -3
  95. data/extconf.rb +1 -0
  96. data/pkg-config.rb +4 -0
  97. data/src/cairo.so +0 -0
  98. data/src/libruby-cairo.a +0 -0
  99. data/src/rb_cairo.c +2 -2
  100. data/src/rb_cairo_surface.c +6 -2
  101. metadata +20 -50
  102. data/cairo/DLL_FAQ.txt +0 -397
  103. data/cairo/README.txt +0 -53
  104. data/cairo/USAGE.txt +0 -94
  105. data/cairo/bin/zlib1.dll +0 -0
  106. data/cairo/include/zconf.h +0 -332
  107. data/cairo/include/zlib.h +0 -1357
  108. data/cairo/lib/zdll.exp +0 -0
  109. data/cairo/lib/zdll.lib +0 -0
  110. data/cairo/lib/zlib.def +0 -60
  111. data/cairo/manifest/cairo_1.8.0-1_win32.mft +0 -5
  112. data/cairo/manifest/libpng_1.2.32-1_win32.mft +0 -2
  113. data/cairo/src/tml/make/cairo_1.8.0-1_win32.log +0 -1021
  114. data/cairo/test/example_d.exe +0 -0
  115. data/cairo/test/minigzip_d.exe +0 -0
  116. data/cairo/test/testzlib_d.exe +0 -0
  117. data/cairo/test/untgz_d.exe +0 -0
@@ -3,10 +3,10 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
  <title>Cairo: A Vector Graphics Library</title>
6
- <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
- <link rel="start" href="index.html" title="Cairo: A Vector Graphics Library">
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
7
+ <link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
8
8
  <link rel="next" href="cairo-drawing.html" title="Drawing">
9
- <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
9
+ <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
10
10
  <link rel="stylesheet" href="style.css" type="text/css">
11
11
  <link rel="chapter" href="cairo-drawing.html" title="Drawing">
12
12
  <link rel="chapter" href="cairo-fonts.html" title="Fonts">
@@ -20,11 +20,11 @@
20
20
  <link rel="appendix" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo">
21
21
  </head>
22
22
  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
23
- <div class="book" lang="en">
23
+ <div lang="en" class="book" title="Cairo: A Vector Graphics Library">
24
24
  <div class="titlepage">
25
25
  <div>
26
26
  <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Cairo: A Vector Graphics Library</p></th></tr></table></div>
27
- <div><p class="releaseinfo">for Cairo 1.0.8
27
+ <div><p class="releaseinfo">for Cairo 1.8.8
28
28
  </p></div>
29
29
  </div>
30
30
  <hr>
@@ -139,6 +139,6 @@
139
139
  </div>
140
140
  <div class="footer">
141
141
  <hr>
142
- Generated by GTK-Doc V1.10</div>
142
+ Generated by GTK-Doc V1.11</div>
143
143
  </body>
144
144
  </html>
@@ -250,7 +250,7 @@
250
250
  <ANCHOR id="cairo-ft-font.synopsis" href="cairo/cairo-ft-font.html#cairo-ft-font.synopsis">
251
251
  <ANCHOR id="cairo-ft-font.description" href="cairo/cairo-ft-font.html#cairo-ft-font.description">
252
252
  <ANCHOR id="cairo-ft-font.details" href="cairo/cairo-ft-font.html#cairo-ft-font.details">
253
- <ANCHOR id="CAIRO-HAS-FT-FONT:CAPS" href="cairo/cairo-ft-font.html#CAIRO-HAS-FT-FONT:CAPS">
253
+ <ANCHOR id="CAIRO-HAS-FT-FONT--CAPS" href="cairo/cairo-ft-font.html#CAIRO-HAS-FT-FONT--CAPS">
254
254
  <ANCHOR id="cairo-ft-font-face-create-for-ft-face" href="cairo/cairo-ft-font.html#cairo-ft-font-face-create-for-ft-face">
255
255
  <ANCHOR id="cairo-ft-font-face-create-for-pattern" href="cairo/cairo-ft-font.html#cairo-ft-font-face-create-for-pattern">
256
256
  <ANCHOR id="cairo-ft-font-options-substitute" href="cairo/cairo-ft-font.html#cairo-ft-font-options-substitute">
@@ -261,7 +261,7 @@
261
261
  <ANCHOR id="cairo-win32-font.synopsis" href="cairo/cairo-win32-font.html#cairo-win32-font.synopsis">
262
262
  <ANCHOR id="cairo-win32-font.description" href="cairo/cairo-win32-font.html#cairo-win32-font.description">
263
263
  <ANCHOR id="cairo-win32-font.details" href="cairo/cairo-win32-font.html#cairo-win32-font.details">
264
- <ANCHOR id="CAIRO-HAS-WIN32-FONT:CAPS" href="cairo/cairo-win32-font.html#CAIRO-HAS-WIN32-FONT:CAPS">
264
+ <ANCHOR id="CAIRO-HAS-WIN32-FONT--CAPS" href="cairo/cairo-win32-font.html#CAIRO-HAS-WIN32-FONT--CAPS">
265
265
  <ANCHOR id="cairo-win32-font-face-create-for-logfontw" href="cairo/cairo-win32-font.html#cairo-win32-font-face-create-for-logfontw">
266
266
  <ANCHOR id="cairo-win32-font-face-create-for-hfont" href="cairo/cairo-win32-font.html#cairo-win32-font-face-create-for-hfont">
267
267
  <ANCHOR id="cairo-win32-font-face-create-for-logfontw-hfont" href="cairo/cairo-win32-font.html#cairo-win32-font-face-create-for-logfontw-hfont">
@@ -275,7 +275,7 @@
275
275
  <ANCHOR id="cairo-quartz-font.synopsis" href="cairo/cairo-quartz-font.html#cairo-quartz-font.synopsis">
276
276
  <ANCHOR id="cairo-quartz-font.description" href="cairo/cairo-quartz-font.html#cairo-quartz-font.description">
277
277
  <ANCHOR id="cairo-quartz-font.details" href="cairo/cairo-quartz-font.html#cairo-quartz-font.details">
278
- <ANCHOR id="CAIRO-HAS-QUARTZ-FONT:CAPS" href="cairo/cairo-quartz-font.html#CAIRO-HAS-QUARTZ-FONT:CAPS">
278
+ <ANCHOR id="CAIRO-HAS-QUARTZ-FONT--CAPS" href="cairo/cairo-quartz-font.html#CAIRO-HAS-QUARTZ-FONT--CAPS">
279
279
  <ANCHOR id="cairo-quartz-font-face-create-for-cgfont" href="cairo/cairo-quartz-font.html#cairo-quartz-font-face-create-for-cgfont">
280
280
  <ANCHOR id="cairo-quartz-font-face-create-for-atsu-font-id" href="cairo/cairo-quartz-font.html#cairo-quartz-font-face-create-for-atsu-font-id">
281
281
  <ANCHOR id="cairo-quartz-font.see-also" href="cairo/cairo-quartz-font.html#cairo-quartz-font.see-also">
@@ -283,7 +283,7 @@
283
283
  <ANCHOR id="cairo-user-font.synopsis" href="cairo/cairo-user-font.html#cairo-user-font.synopsis">
284
284
  <ANCHOR id="cairo-user-font.description" href="cairo/cairo-user-font.html#cairo-user-font.description">
285
285
  <ANCHOR id="cairo-user-font.details" href="cairo/cairo-user-font.html#cairo-user-font.details">
286
- <ANCHOR id="CAIRO-HAS-USER-FONT:CAPS" href="cairo/cairo-user-font.html#CAIRO-HAS-USER-FONT:CAPS">
286
+ <ANCHOR id="CAIRO-HAS-USER-FONT--CAPS" href="cairo/cairo-user-font.html#CAIRO-HAS-USER-FONT--CAPS">
287
287
  <ANCHOR id="cairo-user-scaled-font-init-func-t" href="cairo/cairo-user-font.html#cairo-user-scaled-font-init-func-t">
288
288
  <ANCHOR id="cairo-user-scaled-font-render-glyph-func-t" href="cairo/cairo-user-font.html#cairo-user-scaled-font-render-glyph-func-t">
289
289
  <ANCHOR id="cairo-user-scaled-font-text-to-glyphs-func-t" href="cairo/cairo-user-font.html#cairo-user-scaled-font-text-to-glyphs-func-t">
@@ -330,7 +330,7 @@
330
330
  <ANCHOR id="cairo-image-surface.synopsis" href="cairo/cairo-image-surface.html#cairo-image-surface.synopsis">
331
331
  <ANCHOR id="cairo-image-surface.description" href="cairo/cairo-image-surface.html#cairo-image-surface.description">
332
332
  <ANCHOR id="cairo-image-surface.details" href="cairo/cairo-image-surface.html#cairo-image-surface.details">
333
- <ANCHOR id="CAIRO-HAS-IMAGE-SURFACE:CAPS" href="cairo/cairo-image-surface.html#CAIRO-HAS-IMAGE-SURFACE:CAPS">
333
+ <ANCHOR id="CAIRO-HAS-IMAGE-SURFACE--CAPS" href="cairo/cairo-image-surface.html#CAIRO-HAS-IMAGE-SURFACE--CAPS">
334
334
  <ANCHOR id="cairo-format-t" href="cairo/cairo-image-surface.html#cairo-format-t">
335
335
  <ANCHOR id="cairo-format-stride-for-width" href="cairo/cairo-image-surface.html#cairo-format-stride-for-width">
336
336
  <ANCHOR id="cairo-image-surface-create" href="cairo/cairo-image-surface.html#cairo-image-surface-create">
@@ -345,7 +345,7 @@
345
345
  <ANCHOR id="cairo-pdf-surface.synopsis" href="cairo/cairo-pdf-surface.html#cairo-pdf-surface.synopsis">
346
346
  <ANCHOR id="cairo-pdf-surface.description" href="cairo/cairo-pdf-surface.html#cairo-pdf-surface.description">
347
347
  <ANCHOR id="cairo-pdf-surface.details" href="cairo/cairo-pdf-surface.html#cairo-pdf-surface.details">
348
- <ANCHOR id="CAIRO-HAS-PDF-SURFACE:CAPS" href="cairo/cairo-pdf-surface.html#CAIRO-HAS-PDF-SURFACE:CAPS">
348
+ <ANCHOR id="CAIRO-HAS-PDF-SURFACE--CAPS" href="cairo/cairo-pdf-surface.html#CAIRO-HAS-PDF-SURFACE--CAPS">
349
349
  <ANCHOR id="cairo-pdf-surface-create" href="cairo/cairo-pdf-surface.html#cairo-pdf-surface-create">
350
350
  <ANCHOR id="cairo-pdf-surface-create-for-stream" href="cairo/cairo-pdf-surface.html#cairo-pdf-surface-create-for-stream">
351
351
  <ANCHOR id="cairo-pdf-surface-set-size" href="cairo/cairo-pdf-surface.html#cairo-pdf-surface-set-size">
@@ -354,7 +354,7 @@
354
354
  <ANCHOR id="cairo-png-functions.synopsis" href="cairo/cairo-png-functions.html#cairo-png-functions.synopsis">
355
355
  <ANCHOR id="cairo-png-functions.description" href="cairo/cairo-png-functions.html#cairo-png-functions.description">
356
356
  <ANCHOR id="cairo-png-functions.details" href="cairo/cairo-png-functions.html#cairo-png-functions.details">
357
- <ANCHOR id="CAIRO-HAS-PNG-FUNCTIONS:CAPS" href="cairo/cairo-png-functions.html#CAIRO-HAS-PNG-FUNCTIONS:CAPS">
357
+ <ANCHOR id="CAIRO-HAS-PNG-FUNCTIONS--CAPS" href="cairo/cairo-png-functions.html#CAIRO-HAS-PNG-FUNCTIONS--CAPS">
358
358
  <ANCHOR id="cairo-image-surface-create-from-png" href="cairo/cairo-png-functions.html#cairo-image-surface-create-from-png">
359
359
  <ANCHOR id="cairo-read-func-t" href="cairo/cairo-png-functions.html#cairo-read-func-t">
360
360
  <ANCHOR id="cairo-image-surface-create-from-png-stream" href="cairo/cairo-png-functions.html#cairo-image-surface-create-from-png-stream">
@@ -366,7 +366,7 @@
366
366
  <ANCHOR id="cairo-ps-surface.synopsis" href="cairo/cairo-ps-surface.html#cairo-ps-surface.synopsis">
367
367
  <ANCHOR id="cairo-ps-surface.description" href="cairo/cairo-ps-surface.html#cairo-ps-surface.description">
368
368
  <ANCHOR id="cairo-ps-surface.details" href="cairo/cairo-ps-surface.html#cairo-ps-surface.details">
369
- <ANCHOR id="CAIRO-HAS-PS-SURFACE:CAPS" href="cairo/cairo-ps-surface.html#CAIRO-HAS-PS-SURFACE:CAPS">
369
+ <ANCHOR id="CAIRO-HAS-PS-SURFACE--CAPS" href="cairo/cairo-ps-surface.html#CAIRO-HAS-PS-SURFACE--CAPS">
370
370
  <ANCHOR id="cairo-ps-surface-create" href="cairo/cairo-ps-surface.html#cairo-ps-surface-create">
371
371
  <ANCHOR id="cairo-ps-surface-create-for-stream" href="cairo/cairo-ps-surface.html#cairo-ps-surface-create-for-stream">
372
372
  <ANCHOR id="cairo-ps-surface-restrict-to-level" href="cairo/cairo-ps-surface.html#cairo-ps-surface-restrict-to-level">
@@ -384,7 +384,7 @@
384
384
  <ANCHOR id="cairo-win32-surface.synopsis" href="cairo/cairo-win32-surface.html#cairo-win32-surface.synopsis">
385
385
  <ANCHOR id="cairo-win32-surface.description" href="cairo/cairo-win32-surface.html#cairo-win32-surface.description">
386
386
  <ANCHOR id="cairo-win32-surface.details" href="cairo/cairo-win32-surface.html#cairo-win32-surface.details">
387
- <ANCHOR id="CAIRO-HAS-WIN32-SURFACE:CAPS" href="cairo/cairo-win32-surface.html#CAIRO-HAS-WIN32-SURFACE:CAPS">
387
+ <ANCHOR id="CAIRO-HAS-WIN32-SURFACE--CAPS" href="cairo/cairo-win32-surface.html#CAIRO-HAS-WIN32-SURFACE--CAPS">
388
388
  <ANCHOR id="cairo-win32-surface-create" href="cairo/cairo-win32-surface.html#cairo-win32-surface-create">
389
389
  <ANCHOR id="cairo-win32-surface-create-with-dib" href="cairo/cairo-win32-surface.html#cairo-win32-surface-create-with-dib">
390
390
  <ANCHOR id="cairo-win32-surface-create-with-ddb" href="cairo/cairo-win32-surface.html#cairo-win32-surface-create-with-ddb">
@@ -396,7 +396,7 @@
396
396
  <ANCHOR id="cairo-svg-surface.synopsis" href="cairo/cairo-svg-surface.html#cairo-svg-surface.synopsis">
397
397
  <ANCHOR id="cairo-svg-surface.description" href="cairo/cairo-svg-surface.html#cairo-svg-surface.description">
398
398
  <ANCHOR id="cairo-svg-surface.details" href="cairo/cairo-svg-surface.html#cairo-svg-surface.details">
399
- <ANCHOR id="CAIRO-HAS-SVG-SURFACE:CAPS" href="cairo/cairo-svg-surface.html#CAIRO-HAS-SVG-SURFACE:CAPS">
399
+ <ANCHOR id="CAIRO-HAS-SVG-SURFACE--CAPS" href="cairo/cairo-svg-surface.html#CAIRO-HAS-SVG-SURFACE--CAPS">
400
400
  <ANCHOR id="cairo-svg-surface-create" href="cairo/cairo-svg-surface.html#cairo-svg-surface-create">
401
401
  <ANCHOR id="cairo-svg-surface-create-for-stream" href="cairo/cairo-svg-surface.html#cairo-svg-surface-create-for-stream">
402
402
  <ANCHOR id="cairo-svg-surface-restrict-to-version" href="cairo/cairo-svg-surface.html#cairo-svg-surface-restrict-to-version">
@@ -408,7 +408,7 @@
408
408
  <ANCHOR id="cairo-quartz-surface.synopsis" href="cairo/cairo-quartz-surface.html#cairo-quartz-surface.synopsis">
409
409
  <ANCHOR id="cairo-quartz-surface.description" href="cairo/cairo-quartz-surface.html#cairo-quartz-surface.description">
410
410
  <ANCHOR id="cairo-quartz-surface.details" href="cairo/cairo-quartz-surface.html#cairo-quartz-surface.details">
411
- <ANCHOR id="CAIRO-HAS-QUARTZ-SURFACE:CAPS" href="cairo/cairo-quartz-surface.html#CAIRO-HAS-QUARTZ-SURFACE:CAPS">
411
+ <ANCHOR id="CAIRO-HAS-QUARTZ-SURFACE--CAPS" href="cairo/cairo-quartz-surface.html#CAIRO-HAS-QUARTZ-SURFACE--CAPS">
412
412
  <ANCHOR id="cairo-quartz-surface-create" href="cairo/cairo-quartz-surface.html#cairo-quartz-surface-create">
413
413
  <ANCHOR id="cairo-quartz-surface-create-for-cg-context" href="cairo/cairo-quartz-surface.html#cairo-quartz-surface-create-for-cg-context">
414
414
  <ANCHOR id="cairo-quartz-surface-get-cg-context" href="cairo/cairo-quartz-surface.html#cairo-quartz-surface-get-cg-context">
@@ -417,7 +417,7 @@
417
417
  <ANCHOR id="cairo-xlib-surface.synopsis" href="cairo/cairo-xlib-surface.html#cairo-xlib-surface.synopsis">
418
418
  <ANCHOR id="cairo-xlib-surface.description" href="cairo/cairo-xlib-surface.html#cairo-xlib-surface.description">
419
419
  <ANCHOR id="cairo-xlib-surface.details" href="cairo/cairo-xlib-surface.html#cairo-xlib-surface.details">
420
- <ANCHOR id="CAIRO-HAS-XLIB-SURFACE:CAPS" href="cairo/cairo-xlib-surface.html#CAIRO-HAS-XLIB-SURFACE:CAPS">
420
+ <ANCHOR id="CAIRO-HAS-XLIB-SURFACE--CAPS" href="cairo/cairo-xlib-surface.html#CAIRO-HAS-XLIB-SURFACE--CAPS">
421
421
  <ANCHOR id="cairo-xlib-surface-create" href="cairo/cairo-xlib-surface.html#cairo-xlib-surface-create">
422
422
  <ANCHOR id="cairo-xlib-surface-create-for-bitmap" href="cairo/cairo-xlib-surface.html#cairo-xlib-surface-create-for-bitmap">
423
423
  <ANCHOR id="cairo-xlib-surface-set-size" href="cairo/cairo-xlib-surface.html#cairo-xlib-surface-set-size">
@@ -460,13 +460,13 @@
460
460
  <ANCHOR id="cairo-version-info.synopsis" href="cairo/cairo-version-info.html#cairo-version-info.synopsis">
461
461
  <ANCHOR id="cairo-version-info.description" href="cairo/cairo-version-info.html#cairo-version-info.description">
462
462
  <ANCHOR id="cairo-version-info.details" href="cairo/cairo-version-info.html#cairo-version-info.details">
463
- <ANCHOR id="CAIRO-VERSION:CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION:CAPS">
464
- <ANCHOR id="CAIRO-VERSION-MAJOR:CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-MAJOR:CAPS">
465
- <ANCHOR id="CAIRO-VERSION-MINOR:CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-MINOR:CAPS">
466
- <ANCHOR id="CAIRO-VERSION-MICRO:CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-MICRO:CAPS">
467
- <ANCHOR id="CAIRO-VERSION-STRING:CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-STRING:CAPS">
468
- <ANCHOR id="CAIRO-VERSION-ENCODE:CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-ENCODE:CAPS">
469
- <ANCHOR id="CAIRO-VERSION-STRINGIZE:CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-STRINGIZE:CAPS">
463
+ <ANCHOR id="CAIRO-VERSION--CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION--CAPS">
464
+ <ANCHOR id="CAIRO-VERSION-MAJOR--CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-MAJOR--CAPS">
465
+ <ANCHOR id="CAIRO-VERSION-MINOR--CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-MINOR--CAPS">
466
+ <ANCHOR id="CAIRO-VERSION-MICRO--CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-MICRO--CAPS">
467
+ <ANCHOR id="CAIRO-VERSION-STRING--CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-STRING--CAPS">
468
+ <ANCHOR id="CAIRO-VERSION-ENCODE--CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-ENCODE--CAPS">
469
+ <ANCHOR id="CAIRO-VERSION-STRINGIZE--CAPS" href="cairo/cairo-version-info.html#CAIRO-VERSION-STRINGIZE--CAPS">
470
470
  <ANCHOR id="cairo-version" href="cairo/cairo-version-info.html#cairo-version">
471
471
  <ANCHOR id="cairo-version-string" href="cairo/cairo-version-info.html#cairo-version-string">
472
472
  <ANCHOR id="cairo-types" href="cairo/cairo-types.html">
@@ -3,12 +3,12 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
  <title>Appendix A. Creating a language binding for cairo</title>
6
- <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
- <link rel="start" href="index.html" title="Cairo: A Vector Graphics Library">
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
7
+ <link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
8
8
  <link rel="up" href="index.html" title="Cairo: A Vector Graphics Library">
9
9
  <link rel="prev" href="index-1.8.html" title="Index of new symbols in 1.8">
10
10
  <link rel="next" href="bindings-memory.html" title="Memory management">
11
- <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11
+ <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
12
  <link rel="stylesheet" href="style.css" type="text/css">
13
13
  <link rel="chapter" href="cairo-drawing.html" title="Drawing">
14
14
  <link rel="chapter" href="cairo-fonts.html" title="Fonts">
@@ -29,7 +29,7 @@
29
29
  <th width="100%" align="center">Cairo: A Vector Graphics Library</th>
30
30
  <td><a accesskey="n" href="bindings-memory.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
31
31
  </tr></table>
32
- <div class="appendix" lang="en">
32
+ <div class="appendix" title="Appendix A. Creating a language binding for cairo">
33
33
  <div class="titlepage"><div><div><h2 class="title">
34
34
  <a name="language-bindings"></a>Appendix A. Creating a language binding for cairo</h2></div></div></div>
35
35
  <p>
@@ -42,7 +42,7 @@
42
42
  and present standardized solutions to promote consistency among
43
43
  the different language bindings.
44
44
  </p>
45
- <div class="sect1" lang="en">
45
+ <div class="sect1" title="General considerations">
46
46
  <div class="titlepage"><div><div><h2 class="title" style="clear: both">
47
47
  <a name="bindings-general"></a>General considerations</h2></div></div></div>
48
48
  <p>
@@ -78,6 +78,6 @@
78
78
  </div>
79
79
  <div class="footer">
80
80
  <hr>
81
- Generated by GTK-Doc V1.10</div>
81
+ Generated by GTK-Doc V1.11</div>
82
82
  </body>
83
83
  </html>
@@ -56,13 +56,20 @@
56
56
  {
57
57
  color: #770000;
58
58
  font-size: 80%;
59
+ white-space: nowrap;
59
60
  }
60
- div.refentry, div.chapter, div.reference, div.part, div.book, div.index, div.glossary, div.sect1, div.appendix, div.preface
61
+ div.refentry, div.chapter, div.reference, div.part, div.book, div.glossary, div.sect1, div.appendix, div.preface
61
62
  {
62
63
  position: relative;
63
64
  top: 3em;
64
65
  z-index: 0;
65
66
  }
67
+ div.glossary, div.index
68
+ {
69
+ position: relative;
70
+ top: 2em;
71
+ z-index: 0;
72
+ }
66
73
  div.refnamediv
67
74
  {
68
75
  margin-top: 2em;
@@ -1,6 +1,6 @@
1
- .TH LIBPNG 3 "September 18, 2008"
1
+ .TH LIBPNG 3 "August 13, 2009"
2
2
  .SH NAME
3
- libpng \- Portable Network Graphics (PNG) Reference Library 1.2.32
3
+ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.39
4
4
  .SH SYNOPSIS
5
5
  \fI\fB
6
6
 
@@ -821,18 +821,20 @@ Following is a copy of the libpng.txt file that accompanies libpng.
821
821
  .SH LIBPNG.TXT
822
822
  libpng.txt - A description on how to use and modify libpng
823
823
 
824
- libpng version 1.2.32 - September 18, 2008
824
+ libpng version 1.2.39 - August 13, 2009
825
825
  Updated and distributed by Glenn Randers-Pehrson
826
826
  <glennrp at users.sourceforge.net>
827
- Copyright (c) 1998-2008 Glenn Randers-Pehrson
828
- For conditions of distribution and use, see copyright
829
- notice in png.h.
827
+ Copyright (c) 1998-2009 Glenn Randers-Pehrson
828
+
829
+ This document is released under the libpng license.
830
+ For conditions of distribution and use, see the disclaimer
831
+ and license in png.h
830
832
 
831
833
  Based on:
832
834
 
833
- libpng versions 0.97, January 1998, through 1.2.32 - September 18, 2008
835
+ libpng versions 0.97, January 1998, through 1.2.39 - August 13, 2009
834
836
  Updated and distributed by Glenn Randers-Pehrson
835
- Copyright (c) 1998-2008 Glenn Randers-Pehrson
837
+ Copyright (c) 1998-2009 Glenn Randers-Pehrson
836
838
 
837
839
  libpng 1.0 beta 6 version 0.96 May 28, 1997
838
840
  Updated and distributed by Andreas Dilger
@@ -962,9 +964,10 @@ so if it doesn't work, you don't have much to undo. Of course, you
962
964
  will also want to insure that you are, in fact, dealing with a PNG
963
965
  file. Libpng provides a simple check to see if a file is a PNG file.
964
966
  To use it, pass in the first 1 to 8 bytes of the file to the function
965
- png_sig_cmp(), and it will return 0 if the bytes match the corresponding
966
- bytes of the PNG signature, or nonzero otherwise. Of course, the more bytes
967
- you pass in, the greater the accuracy of the prediction.
967
+ png_sig_cmp(), and it will return 0 (false) if the bytes match the
968
+ corresponding bytes of the PNG signature, or nonzero (true) otherwise.
969
+ Of course, the more bytes you pass in, the greater the accuracy of the
970
+ prediction.
968
971
 
969
972
  If you are intending to keep the file pointer open for use in libpng,
970
973
  you must ensure you don't read more than 8 bytes from the beginning
@@ -1141,35 +1144,14 @@ To inform libpng about your function, use
1141
1144
 
1142
1145
  png_set_read_status_fn(png_ptr, read_row_callback);
1143
1146
 
1144
- .SS Width and height limits
1145
-
1146
- The PNG specification allows the width and height of an image to be as
1147
- large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
1148
- Since very few applications really need to process such large images,
1149
- we have imposed an arbitrary 1-million limit on rows and columns.
1150
- Larger images will be rejected immediately with a png_error() call. If
1151
- you wish to override this limit, you can use
1152
-
1153
- png_set_user_limits(png_ptr, width_max, height_max);
1154
-
1155
- to set your own limits, or use width_max = height_max = 0x7fffffffL
1156
- to allow all valid dimensions (libpng may reject some very large images
1157
- anyway because of potential buffer overflow conditions).
1158
-
1159
- You should put this statement after you create the PNG structure and
1160
- before calling png_read_info(), png_read_png(), or png_process_data().
1161
- If you need to retrieve the limits that are being applied, use
1162
-
1163
- width_max = png_get_user_width_max(png_ptr);
1164
- height_max = png_get_user_height_max(png_ptr);
1165
-
1166
1147
  .SS Unknown-chunk handling
1167
1148
 
1168
1149
  Now you get to set the way the library processes unknown chunks in the
1169
1150
  input PNG stream. Both known and unknown chunks will be read. Normal
1170
1151
  behavior is that known chunks will be parsed into information in
1171
- various info_ptr members while unknown chunks will be discarded. To change
1172
- this, you can call:
1152
+ various info_ptr members while unknown chunks will be discarded. This
1153
+ behavior can be wasteful if your application will never use some known
1154
+ chunk types. To change this, you can call:
1173
1155
 
1174
1156
  png_set_keep_unknown_chunks(png_ptr, keep,
1175
1157
  chunk_list, num_chunks);
@@ -1227,6 +1209,27 @@ callback function:
1227
1209
  (int)sizeof(unused_chunks)/5);
1228
1210
  #endif
1229
1211
 
1212
+ .SS User limits
1213
+
1214
+ The PNG specification allows the width and height of an image to be as
1215
+ large as 2^31-1 (0x7fffffff), or about 2.147 billion rows and columns.
1216
+ Since very few applications really need to process such large images,
1217
+ we have imposed an arbitrary 1-million limit on rows and columns.
1218
+ Larger images will be rejected immediately with a png_error() call. If
1219
+ you wish to override this limit, you can use
1220
+
1221
+ png_set_user_limits(png_ptr, width_max, height_max);
1222
+
1223
+ to set your own limits, or use width_max = height_max = 0x7fffffffL
1224
+ to allow all valid dimensions (libpng may reject some very large images
1225
+ anyway because of potential buffer overflow conditions).
1226
+
1227
+ You should put this statement after you create the PNG structure and
1228
+ before calling png_read_info(), png_read_png(), or png_process_data().
1229
+ If you need to retrieve the limits that are being applied, use
1230
+
1231
+ width_max = png_get_user_width_max(png_ptr);
1232
+ height_max = png_get_user_height_max(png_ptr);
1230
1233
 
1231
1234
  .SS The high-level read interface
1232
1235
 
@@ -1292,6 +1295,8 @@ row_pointers prior to calling png_read_png() with
1292
1295
  "Image is too wide to process in memory");
1293
1296
  row_pointers = png_malloc(png_ptr,
1294
1297
  height*png_sizeof(png_bytep));
1298
+ for (int i=0; i<height, i++)
1299
+ row_pointers[i]=NULL; /* security precaution */
1295
1300
  for (int i=0; i<height, i++)
1296
1301
  row_pointers[i]=png_malloc(png_ptr,
1297
1302
  width*pixel_size);
@@ -1668,9 +1673,6 @@ things.
1668
1673
 
1669
1674
  As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
1670
1675
  added. It expands the sample depth without changing tRNS to alpha.
1671
- At the same time, png_set_gray_1_2_4_to_8() was deprecated, and it
1672
- will be removed from a future version.
1673
-
1674
1676
 
1675
1677
  PNG can have files with 16 bits per channel. If you only can handle
1676
1678
  8 bits per channel, this will strip the pixels down to 8 bit.
@@ -2522,7 +2524,7 @@ types.
2522
2524
  PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE |
2523
2525
  PNG_FILTER_SUB | PNG_FILTER_VALUE_SUB |
2524
2526
  PNG_FILTER_UP | PNG_FILTER_VALUE_UP |
2525
- PNG_FILTER_AVE | PNG_FILTER_VALUE_AVE |
2527
+ PNG_FILTER_AVG | PNG_FILTER_VALUE_AVG |
2526
2528
  PNG_FILTER_PAETH | PNG_FILTER_VALUE_PAETH|
2527
2529
  PNG_ALL_FILTERS);
2528
2530
 
@@ -2612,10 +2614,14 @@ Some of the more important parts of the png_info are:
2612
2614
  PNG_INTRAPIXEL_DIFFERENCING)
2613
2615
 
2614
2616
  If you call png_set_IHDR(), the call must appear before any of the
2615
- other png_set_*() functions, which might require access to some of
2617
+ other png_set_*() functions, because they might require access to some of
2616
2618
  the IHDR settings. The remaining png_set_*() functions can be called
2617
2619
  in any order.
2618
2620
 
2621
+ If you wish, you can reset the compression_type, interlace_type, or
2622
+ filter_method later by calling png_set_IHDR() again; if you do this, the
2623
+ width, height, bit_depth, and color_type must be the same in each call.
2624
+
2619
2625
  png_set_PLTE(png_ptr, info_ptr, palette,
2620
2626
  num_palette);
2621
2627
  palette - the palette for the file
@@ -2677,8 +2683,9 @@ in any order.
2677
2683
  trans_values);
2678
2684
  trans - array of transparent entries for
2679
2685
  palette (PNG_INFO_tRNS)
2680
- trans_values - graylevel or color sample values of
2681
- the single transparent color for
2686
+ trans_values - graylevel or color sample values
2687
+ (in order red, green, blue) of the
2688
+ single transparent color for
2682
2689
  non-paletted images (PNG_INFO_tRNS)
2683
2690
  num_trans - number of transparent entries
2684
2691
  (PNG_INFO_tRNS)
@@ -2887,7 +2894,12 @@ transformations are permitted, enabled by the following masks.
2887
2894
  PNG_TRANSFORM_INVERT_ALPHA Change alpha from opacity
2888
2895
  to transparency
2889
2896
  PNG_TRANSFORM_SWAP_ENDIAN Byte-swap 16-bit samples
2890
- PNG_TRANSFORM_STRIP_FILLER Strip out filler bytes.
2897
+ PNG_TRANSFORM_STRIP_FILLER Strip out filler
2898
+ bytes (deprecated).
2899
+ PNG_TRANSFORM_STRIP_FILLER_BEFORE Strip out leading
2900
+ filler bytes
2901
+ PNG_TRANSFORM_STRIP_FILLER_AFTER Strip out trailing
2902
+ filler bytes
2891
2903
 
2892
2904
  If you have valid image data in the info structure (you can use
2893
2905
  png_set_rows() to put image data in the info structure), simply do this:
@@ -3294,9 +3306,15 @@ The replacement I/O functions must have prototypes as follows:
3294
3306
  png_bytep data, png_size_t length);
3295
3307
  void user_flush_data(png_structp png_ptr);
3296
3308
 
3309
+ The user_read_data() function is responsible for detecting and
3310
+ handling end-of-data errors.
3311
+
3297
3312
  Supplying NULL for the read, write, or flush functions sets them back
3298
- to using the default C stream functions. It is an error to read from
3299
- a write stream, and vice versa.
3313
+ to using the default C stream functions, which expect the io_ptr to
3314
+ point to a standard *FILE structure. It is probably a mistake
3315
+ to use NULL for one of write_data_fn and output_flush_fn but not both
3316
+ of them, unless you have built libpng with PNG_NO_WRITE_FLUSH defined.
3317
+ It is an error to read from a write stream, and vice versa.
3300
3318
 
3301
3319
  Error handling in libpng is done through png_error() and png_warning().
3302
3320
  Errors handled through png_error() are fatal, meaning that png_error()
@@ -3401,11 +3419,12 @@ you may also have to change the memory allocators (png_malloc, etc.).
3401
3419
 
3402
3420
  .SS Configuring for compiler xxx:
3403
3421
 
3404
- All includes for libpng are in pngconf.h. If you need to add/change/delete
3405
- an include, this is the place to do it. The includes that are not
3406
- needed outside libpng are protected by the PNG_INTERNAL definition,
3407
- which is only defined for those routines inside libpng itself. The
3408
- files in libpng proper only include png.h, which includes pngconf.h.
3422
+ All includes for libpng are in pngconf.h. If you need to add, change
3423
+ or delete an include, this is the place to do it.
3424
+ The includes that are not needed outside libpng are protected by the
3425
+ PNG_INTERNAL definition, which is only defined for those routines inside
3426
+ libpng itself. The files in libpng proper only include png.h, which
3427
+ includes pngconf.h.
3409
3428
 
3410
3429
  .SS Configuring zlib:
3411
3430
 
@@ -3474,7 +3493,7 @@ currently does not allocate the filter buffers until png_write_row()
3474
3493
  is called for the first time.)
3475
3494
 
3476
3495
  filters = PNG_FILTER_NONE | PNG_FILTER_SUB
3477
- PNG_FILTER_UP | PNG_FILTER_AVE |
3496
+ PNG_FILTER_UP | PNG_FILTER_AVG |
3478
3497
  PNG_FILTER_PAETH | PNG_ALL_FILTERS;
3479
3498
 
3480
3499
  png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
@@ -3596,7 +3615,7 @@ When PNG_DEBUG = 1, the macros are defined, but only png_debug statements
3596
3615
  having level = 0 will be printed. There aren't any such statements in
3597
3616
  this version of libpng, but if you insert some they will be printed.
3598
3617
 
3599
- .SH VII. MNG support
3618
+ .SH VI. MNG support
3600
3619
 
3601
3620
  The MNG specification (available at http://www.libpng.org/pub/mng) allows
3602
3621
  certain extensions to PNG for PNG images that are embedded in MNG datastreams.
@@ -3621,7 +3640,7 @@ or any other MNG chunks; your application must provide its own support for
3621
3640
  them. You may wish to consider using libmng (available at
3622
3641
  http://www.libmng.com) instead.
3623
3642
 
3624
- .SH VIII. Changes to Libpng from version 0.88
3643
+ .SH VII. Changes to Libpng from version 0.88
3625
3644
 
3626
3645
  It should be noted that versions of libpng later than 0.96 are not
3627
3646
  distributed by the original libpng author, Guy Schalnat, nor by
@@ -3670,15 +3689,202 @@ application:
3670
3689
 
3671
3690
  png_uint_32 application_vn = PNG_LIBPNG_VER;
3672
3691
 
3673
- .SH IX. Y2K Compliance in libpng
3692
+ .SH VIII. Changes to Libpng from version 1.0.x to 1.2.x
3693
+
3694
+ Support for user memory management was enabled by default. To
3695
+ accomplish this, the functions png_create_read_struct_2(),
3696
+ png_create_write_struct_2(), png_set_mem_fn(), png_get_mem_ptr(),
3697
+ png_malloc_default(), and png_free_default() were added.
3698
+
3699
+ Support for certain MNG features was enabled.
3700
+
3701
+ Support for numbered error messages was added. However, we never got
3702
+ around to actually numbering the error messages. The function
3703
+ png_set_strip_error_numbers() was added (Note: the prototype for this
3704
+ function was inadvertently removed from png.h in PNG_NO_ASSEMBLER_CODE
3705
+ builds of libpng-1.2.15. It was restored in libpng-1.2.36).
3706
+
3707
+ The png_malloc_warn() function was added at libpng-1.2.3. This issues
3708
+ a png_warning and returns NULL instead of aborting when it fails to
3709
+ acquire the requested memory allocation.
3710
+
3711
+ Support for setting user limits on image width and height was enabled
3712
+ by default. The functions png_set_user_limits(), png_get_user_width_max(),
3713
+ and png_get_user_height_max() were added at libpng-1.2.6.
3714
+
3715
+ The png_set_add_alpha() function was added at libpng-1.2.7.
3674
3716
 
3675
- September 18, 2008
3717
+ The function png_set_expand_gray_1_2_4_to_8() was added at libpng-1.2.9.
3718
+ Unlike png_set_gray_1_2_4_to_8(), the new function does not expand the
3719
+ tRNS chunk to alpha. The png_set_gray_1_2_4_to_8() function is
3720
+ deprecated.
3721
+
3722
+ A number of macro definitions in support of runtime selection of
3723
+ assembler code features (especially Intel MMX code support) were
3724
+ added at libpng-1.2.0:
3725
+
3726
+ PNG_ASM_FLAG_MMX_SUPPORT_COMPILED
3727
+ PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU
3728
+ PNG_ASM_FLAG_MMX_READ_COMBINE_ROW
3729
+ PNG_ASM_FLAG_MMX_READ_INTERLACE
3730
+ PNG_ASM_FLAG_MMX_READ_FILTER_SUB
3731
+ PNG_ASM_FLAG_MMX_READ_FILTER_UP
3732
+ PNG_ASM_FLAG_MMX_READ_FILTER_AVG
3733
+ PNG_ASM_FLAG_MMX_READ_FILTER_PAETH
3734
+ PNG_ASM_FLAGS_INITIALIZED
3735
+ PNG_MMX_READ_FLAGS
3736
+ PNG_MMX_FLAGS
3737
+ PNG_MMX_WRITE_FLAGS
3738
+ PNG_MMX_FLAGS
3739
+
3740
+ We added the following functions in support of runtime
3741
+ selection of assembler code features:
3742
+
3743
+ png_get_mmx_flagmask()
3744
+ png_set_mmx_thresholds()
3745
+ png_get_asm_flags()
3746
+ png_get_mmx_bitdepth_threshold()
3747
+ png_get_mmx_rowbytes_threshold()
3748
+ png_set_asm_flags()
3749
+
3750
+ We replaced all of these functions with simple stubs in libpng-1.2.20,
3751
+ when the Intel assembler code was removed due to a licensing issue.
3752
+
3753
+ .SH IX. (Omitted)
3754
+
3755
+ .SH X. Detecting libpng
3756
+
3757
+ The png_get_io_ptr() function has been present since libpng-0.88, has never
3758
+ changed, and is unaffected by conditional compilation macros. It is the
3759
+ best choice for use in configure scripts for detecting the presence of any
3760
+ libpng version since 0.88. In an autoconf "configure.in" you could use
3761
+
3762
+ AC_CHECK_LIB(png, png_get_io_ptr, ...
3763
+
3764
+ .SH XI. Source code repository
3765
+
3766
+ Since about February 2009, version 1.2.34, libpng has been under "git" source
3767
+ control. The git repository was built from old libpng-x.y.z.tar.gz files
3768
+ going back to version 0.70. You can access the git repository (read only)
3769
+ at
3770
+
3771
+ git://libpng.git.sourceforge.net/gitroot/libpng
3772
+
3773
+ or you can browse it via "gitweb" at
3774
+
3775
+ http://libpng.git.sourceforge.net/git/gitweb.cgi?p=libpng
3776
+
3777
+ Patches can be sent to glennrp at users.sourceforge.net or to
3778
+ png-mng-implement at lists.sourceforge.net or you can upload them to
3779
+ the libpng bug tracker at
3780
+
3781
+ http://libpng.sourceforge.net
3782
+
3783
+ .SH XII. Coding style
3784
+
3785
+ Our coding style is similar to the "Allman" style, with curly
3786
+ braces on separate lines:
3787
+
3788
+ if (condition)
3789
+ {
3790
+ action;
3791
+ }
3792
+
3793
+ else if (another condition)
3794
+ {
3795
+ another action;
3796
+ }
3797
+
3798
+ The braces can be omitted from simple one-line actions:
3799
+
3800
+ if (condition)
3801
+ return (0);
3802
+
3803
+ We use 3-space indentation, except for continued statements which
3804
+ are usually indented the same as the first line of the statement
3805
+ plus four more spaces.
3806
+
3807
+ Comments appear with the leading "/*" at the same indentation as
3808
+ the statement that follows the comment:
3809
+
3810
+ /* Single-line comment */
3811
+ statement;
3812
+
3813
+ /* Multiple-line
3814
+ * comment
3815
+ */
3816
+ statement;
3817
+
3818
+ Very short comments can be placed at the end of the statement
3819
+ to which they pertain:
3820
+
3821
+ statement; /* comment */
3822
+
3823
+ We don't use C++ style ("//") comments. We have, however,
3824
+ used them in the past in some now-abandoned MMX assembler
3825
+ code.
3826
+
3827
+ Functions and their curly braces are not indented, and
3828
+ exported functions are marked with PNGAPI:
3829
+
3830
+ /* This is a public function that is visible to
3831
+ * application programers. It does thus-and-so.
3832
+ */
3833
+ void PNGAPI
3834
+ png_exported_function(png_ptr, png_info, foo)
3835
+ {
3836
+ body;
3837
+ }
3838
+
3839
+ The prototypes for all exported functions appear in png.h,
3840
+ above the comment that says
3841
+
3842
+ /* Maintainer: Put new public prototypes here ... */
3843
+
3844
+ We mark all non-exported functions with "/* PRIVATE */"":
3845
+
3846
+ void /* PRIVATE */
3847
+ png_non_exported_function(png_ptr, png_info, foo)
3848
+ {
3849
+ body;
3850
+ }
3851
+
3852
+ The prototypes for non-exported functions (except for those in
3853
+ pngtest) appear in
3854
+ the PNG_INTERNAL section of png.h
3855
+ above the comment that says
3856
+
3857
+ /* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
3858
+
3859
+ The names of all exported functions and variables begin
3860
+ with "png_", and all publicly visible C preprocessor
3861
+ macros begin with "PNG_".
3862
+
3863
+ We put a space after each comma and after each semicolon
3864
+ in "for" statments, and we put spaces before and after each
3865
+ C binary operator and after "for" or "while". We don't
3866
+ put a space between a typecast and the expression being
3867
+ cast, nor do we put one between a function name and the
3868
+ left parenthesis that follows it:
3869
+
3870
+ for (i = 2; i > 0; --i)
3871
+ x[i] = a(x) + (int)b;
3872
+
3873
+ We prefer #ifdef and #ifndef to #if defined() and if !defined()
3874
+ when there is only one macro being tested.
3875
+
3876
+ Other rules can be inferred by inspecting the libpng
3877
+ source.
3878
+
3879
+ .SH XIII. Y2K Compliance in libpng
3880
+
3881
+ August 13, 2009
3676
3882
 
3677
3883
  Since the PNG Development group is an ad-hoc body, we can't make
3678
3884
  an official declaration.
3679
3885
 
3680
3886
  This is your unofficial assurance that libpng from version 0.71 and
3681
- upward through 1.2.32 are Y2K compliant. It is my belief that earlier
3887
+ upward through 1.2.39 are Y2K compliant. It is my belief that earlier
3682
3888
  versions were also Y2K compliant.
3683
3889
 
3684
3890
  Libpng only has three year fields. One is a 2-byte unsigned integer that
@@ -3925,6 +4131,38 @@ the first widely used release:
3925
4131
  1.2.32rc01 13 10232 12.so.0.32[.0]
3926
4132
  1.0.40 10 10040 10.so.0.40[.0]
3927
4133
  1.2.32 13 10232 12.so.0.32[.0]
4134
+ 1.2.33beta01-02 13 10233 12.so.0.33[.0]
4135
+ 1.2.33rc01-02 13 10233 12.so.0.33[.0]
4136
+ 1.0.41rc01 10 10041 10.so.0.41[.0]
4137
+ 1.2.33 13 10233 12.so.0.33[.0]
4138
+ 1.0.41 10 10041 10.so.0.41[.0]
4139
+ 1.2.34beta01-07 13 10234 12.so.0.34[.0]
4140
+ 1.0.42rc01 10 10042 10.so.0.42[.0]
4141
+ 1.2.34rc01 13 10234 12.so.0.34[.0]
4142
+ 1.0.42 10 10042 10.so.0.42[.0]
4143
+ 1.2.34 13 10234 12.so.0.34[.0]
4144
+ 1.2.35beta01-03 13 10235 12.so.0.35[.0]
4145
+ 1.0.43rc01-02 10 10043 10.so.0.43[.0]
4146
+ 1.2.35rc01-02 13 10235 12.so.0.35[.0]
4147
+ 1.0.43 10 10043 10.so.0.43[.0]
4148
+ 1.2.35 13 10235 12.so.0.35[.0]
4149
+ 1.2.36beta01-05 13 10236 12.so.0.36[.0]
4150
+ 1.2.36rc01 13 10236 12.so.0.36[.0]
4151
+ 1.0.44 10 10044 10.so.0.44[.0]
4152
+ 1.2.36 13 10236 12.so.0.36[.0]
4153
+ 1.2.37beta01-03 13 10237 12.so.0.37[.0]
4154
+ 1.2.37rc01 13 10237 12.so.0.37[.0]
4155
+ 1.2.37 13 10237 12.so.0.37[.0]
4156
+ 1.2.45 10 10045 12.so.0.45[.0]
4157
+ 1.0.46 10 10046 10.so.0.46[.0]
4158
+ 1.2.38beta01 13 10238 12.so.0.38[.0]
4159
+ 1.2.38rc01-03 13 10238 12.so.0.38[.0]
4160
+ 1.0.47 10 10047 10.so.0.47[.0]
4161
+ 1.2.38 13 10238 12.so.0.38[.0]
4162
+ 1.2.39beta01-05 13 10239 12.so.0.39[.0]
4163
+ 1.2.39rc01 13 10239 12.so.0.39[.0]
4164
+ 1.0.48 10 10048 10.so.0.48[.0]
4165
+ 1.2.39 13 10239 12.so.0.39[.0]
3928
4166
 
3929
4167
  Henceforth the source version will match the shared-library minor
3930
4168
  and patch numbers; the shared-library major version number will be
@@ -3980,7 +4218,7 @@ possible without all of you.
3980
4218
 
3981
4219
  Thanks to Frank J. T. Wojcik for helping with the documentation.
3982
4220
 
3983
- Libpng version 1.2.32 - September 18, 2008:
4221
+ Libpng version 1.2.39 - August 13, 2009:
3984
4222
  Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
3985
4223
  Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
3986
4224
 
@@ -4001,7 +4239,9 @@ included in the libpng distribution, the latter shall prevail.)
4001
4239
  If you modify libpng you may insert additional notices immediately following
4002
4240
  this sentence.
4003
4241
 
4004
- libpng versions 1.2.6, August 15, 2004, through 1.2.32, September 18, 2008, are
4242
+ This code is released under the libpng license.
4243
+
4244
+ libpng versions 1.2.6, August 15, 2004, through 1.2.39, August 13, 2009, are
4005
4245
  Copyright (c) 2004,2006-2008 Glenn Randers-Pehrson, and are
4006
4246
  distributed according to the same disclaimer and license as libpng-1.2.5
4007
4247
  with the following individual added to the list of Contributing Authors
@@ -4100,7 +4340,7 @@ certification mark of the Open Source Initiative.
4100
4340
 
4101
4341
  Glenn Randers-Pehrson
4102
4342
  glennrp at users.sourceforge.net
4103
- September 18, 2008
4343
+ August 13, 2009
4104
4344
 
4105
4345
  .\" end of man page
4106
4346