| OLD | NEW |
| 1 /* png.h - header file for PNG reference library | 1 /* png.h - header file for PNG reference library |
| 2 * | 2 * |
| 3 * libpng version 1.2.29 - May 8, 2008 | 3 * libpng version 1.2.33 - October 31, 2008 |
| 4 * Copyright (c) 1998-2008 Glenn Randers-Pehrson | 4 * Copyright (c) 1998-2008 Glenn Randers-Pehrson |
| 5 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) | 5 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) |
| 6 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) | 6 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) |
| 7 * | 7 * |
| 8 * Authors and maintainers: | 8 * Authors and maintainers: |
| 9 * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat | 9 * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat |
| 10 * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger | 10 * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger |
| 11 * libpng versions 0.97, January 1998, through 1.2.29 - May 8, 2008: Glenn | 11 * libpng versions 0.97, January 1998, through 1.2.33 - October 31, 2008: Glenn |
| 12 * See also "Contributing Authors", below. | 12 * See also "Contributing Authors", below. |
| 13 * | 13 * |
| 14 * Note about libpng version numbers: | 14 * Note about libpng version numbers: |
| 15 * | 15 * |
| 16 * Due to various miscommunications, unforeseen code incompatibilities | 16 * Due to various miscommunications, unforeseen code incompatibilities |
| 17 * and occasional factors outside the authors' control, version numbering | 17 * and occasional factors outside the authors' control, version numbering |
| 18 * on the library has not always been consistent and straightforward. | 18 * on the library has not always been consistent and straightforward. |
| 19 * The following table summarizes matters since version 0.89c, which was | 19 * The following table summarizes matters since version 0.89c, which was |
| 20 * the first widely used release: | 20 * the first widely used release: |
| 21 * | 21 * |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 * 1.2.27beta01-06 13 10227 12.so.0.27[.0] | 185 * 1.2.27beta01-06 13 10227 12.so.0.27[.0] |
| 186 * 1.2.27rc01 13 10227 12.so.0.27[.0] | 186 * 1.2.27rc01 13 10227 12.so.0.27[.0] |
| 187 * 1.0.33 10 10033 10.so.0.33[.0] | 187 * 1.0.33 10 10033 10.so.0.33[.0] |
| 188 * 1.2.27 13 10227 12.so.0.27[.0] | 188 * 1.2.27 13 10227 12.so.0.27[.0] |
| 189 * 1.0.34 10 10034 10.so.0.34[.0] | 189 * 1.0.34 10 10034 10.so.0.34[.0] |
| 190 * 1.2.28 13 10228 12.so.0.28[.0] | 190 * 1.2.28 13 10228 12.so.0.28[.0] |
| 191 * 1.2.29beta01-03 13 10229 12.so.0.29[.0] | 191 * 1.2.29beta01-03 13 10229 12.so.0.29[.0] |
| 192 * 1.2.29rc01 13 10229 12.so.0.29[.0] | 192 * 1.2.29rc01 13 10229 12.so.0.29[.0] |
| 193 * 1.0.35 10 10035 10.so.0.35[.0] | 193 * 1.0.35 10 10035 10.so.0.35[.0] |
| 194 * 1.2.29 13 10229 12.so.0.29[.0] | 194 * 1.2.29 13 10229 12.so.0.29[.0] |
| 195 * 1.0.37 10 10037 10.so.0.37[.0] |
| 196 * 1.2.30beta01-04 13 10230 12.so.0.30[.0] |
| 197 * 1.0.38rc01-08 10 10038 10.so.0.38[.0] |
| 198 * 1.2.30rc01-08 13 10230 12.so.0.30[.0] |
| 199 * 1.0.38 10 10038 10.so.0.38[.0] |
| 200 * 1.2.30 13 10230 12.so.0.30[.0] |
| 201 * 1.0.39rc01-03 10 10039 10.so.0.39[.0] |
| 202 * 1.2.31rc01-03 13 10231 12.so.0.31[.0] |
| 203 * 1.0.39 10 10039 10.so.0.39[.0] |
| 204 * 1.2.31 13 10231 12.so.0.31[.0] |
| 205 * 1.2.32beta01-02 13 10232 12.so.0.32[.0] |
| 206 * 1.0.40rc01 10 10040 10.so.0.40[.0] |
| 207 * 1.2.32rc01 13 10232 12.so.0.32[.0] |
| 208 * 1.0.40 10 10040 10.so.0.40[.0] |
| 209 * 1.2.32 13 10232 12.so.0.32[.0] |
| 210 * 1.2.33beta01-02 13 10233 12.so.0.33[.0] |
| 211 * 1.2.33rc01-02 13 10233 12.so.0.33[.0] |
| 212 * 1.0.41rc01 10 10041 10.so.0.41[.0] |
| 213 * 1.2.33 13 10233 12.so.0.33[.0] |
| 214 * 1.0.41 10 10041 10.so.0.41[.0] |
| 195 * | 215 * |
| 196 * Henceforth the source version will match the shared-library major | 216 * Henceforth the source version will match the shared-library major |
| 197 * and minor numbers; the shared-library major version number will be | 217 * and minor numbers; the shared-library major version number will be |
| 198 * used for changes in backward compatibility, as it is intended. The | 218 * used for changes in backward compatibility, as it is intended. The |
| 199 * PNG_LIBPNG_VER macro, which is not used within libpng but is available | 219 * PNG_LIBPNG_VER macro, which is not used within libpng but is available |
| 200 * for applications, is an unsigned integer of the form xyyzz corresponding | 220 * for applications, is an unsigned integer of the form xyyzz corresponding |
| 201 * to the source version x.y.z (leading zeros in y and z). Beta versions | 221 * to the source version x.y.z (leading zeros in y and z). Beta versions |
| 202 * were given the previous public release number plus a letter, until | 222 * were given the previous public release number plus a letter, until |
| 203 * version 1.0.6j; from then on they were given the upcoming public | 223 * version 1.0.6j; from then on they were given the upcoming public |
| 204 * release number plus "betaNN" or "rcNN". | 224 * release number plus "betaNN" or "rcNN". |
| 205 * | 225 * |
| 206 * Binary incompatibility exists only when applications make direct access | 226 * Binary incompatibility exists only when applications make direct access |
| 207 * to the info_ptr or png_ptr members through png.h, and the compiled | 227 * to the info_ptr or png_ptr members through png.h, and the compiled |
| 208 * application is loaded with a different version of the library. | 228 * application is loaded with a different version of the library. |
| 209 * | 229 * |
| 210 * DLLNUM will change each time there are forward or backward changes | 230 * DLLNUM will change each time there are forward or backward changes |
| 211 * in binary compatibility (e.g., when a new feature is added). | 231 * in binary compatibility (e.g., when a new feature is added). |
| 212 * | 232 * |
| 213 * See libpng.txt or libpng.3 for more information. The PNG specification | 233 * See libpng.txt or libpng.3 for more information. The PNG specification |
| 214 * is available as a W3C Recommendation and as an ISO Specification, | 234 * is available as a W3C Recommendation and as an ISO Specification, |
| 215 * <http://www.w3.org/TR/2003/REC-PNG-20031110/ | 235 * <http://www.w3.org/TR/2003/REC-PNG-20031110/ |
| 216 */ | 236 */ |
| 217 | 237 |
| 218 /* | 238 /* |
| 219 * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: | 239 * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: |
| 220 * | 240 * |
| 221 * If you modify libpng you may insert additional notices immediately following | 241 * If you modify libpng you may insert additional notices immediately following |
| 222 * this sentence. | 242 * this sentence. |
| 223 * | 243 * |
| 224 * libpng versions 1.2.6, August 15, 2004, through 1.2.29, May 8, 2008, are | 244 * libpng versions 1.2.6, August 15, 2004, through 1.2.33, October 31, 2008, are |
| 225 * Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are | 245 * Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are |
| 226 * distributed according to the same disclaimer and license as libpng-1.2.5 | 246 * distributed according to the same disclaimer and license as libpng-1.2.5 |
| 227 * with the following individual added to the list of Contributing Authors: | 247 * with the following individual added to the list of Contributing Authors: |
| 228 * | 248 * |
| 229 * Cosmin Truta | 249 * Cosmin Truta |
| 230 * | 250 * |
| 231 * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are | 251 * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are |
| 232 * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are | 252 * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are |
| 233 * distributed according to the same disclaimer and license as libpng-1.0.6 | 253 * distributed according to the same disclaimer and license as libpng-1.0.6 |
| 234 * with the following individuals added to the list of Contributing Authors: | 254 * with the following individuals added to the list of Contributing Authors: |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 * with testing, bug fixes, and patience. This wouldn't have been | 346 * with testing, bug fixes, and patience. This wouldn't have been |
| 327 * possible without all of you. | 347 * possible without all of you. |
| 328 * | 348 * |
| 329 * Thanks to Frank J. T. Wojcik for helping with the documentation. | 349 * Thanks to Frank J. T. Wojcik for helping with the documentation. |
| 330 */ | 350 */ |
| 331 | 351 |
| 332 /* | 352 /* |
| 333 * Y2K compliance in libpng: | 353 * Y2K compliance in libpng: |
| 334 * ========================= | 354 * ========================= |
| 335 * | 355 * |
| 336 * May 8, 2008 | 356 * October 31, 2008 |
| 337 * | 357 * |
| 338 * Since the PNG Development group is an ad-hoc body, we can't make | 358 * Since the PNG Development group is an ad-hoc body, we can't make |
| 339 * an official declaration. | 359 * an official declaration. |
| 340 * | 360 * |
| 341 * This is your unofficial assurance that libpng from version 0.71 and | 361 * This is your unofficial assurance that libpng from version 0.71 and |
| 342 * upward through 1.2.29 are Y2K compliant. It is my belief that earlier | 362 * upward through 1.2.33 are Y2K compliant. It is my belief that earlier |
| 343 * versions were also Y2K compliant. | 363 * versions were also Y2K compliant. |
| 344 * | 364 * |
| 345 * Libpng only has three year fields. One is a 2-byte unsigned integer | 365 * Libpng only has three year fields. One is a 2-byte unsigned integer |
| 346 * that will hold years up to 65535. The other two hold the date in text | 366 * that will hold years up to 65535. The other two hold the date in text |
| 347 * format, and will hold years up to 9999. | 367 * format, and will hold years up to 9999. |
| 348 * | 368 * |
| 349 * The integer is | 369 * The integer is |
| 350 * "png_uint_16 year" in png_time_struct. | 370 * "png_uint_16 year" in png_time_struct. |
| 351 * | 371 * |
| 352 * The strings are | 372 * The strings are |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 #ifndef PNG_H | 408 #ifndef PNG_H |
| 389 #define PNG_H | 409 #define PNG_H |
| 390 | 410 |
| 391 /* This is not the place to learn how to use libpng. The file libpng.txt | 411 /* This is not the place to learn how to use libpng. The file libpng.txt |
| 392 * describes how to use libpng, and the file example.c summarizes it | 412 * describes how to use libpng, and the file example.c summarizes it |
| 393 * with some code on which to build. This file is useful for looking | 413 * with some code on which to build. This file is useful for looking |
| 394 * at the actual function definitions and structure components. | 414 * at the actual function definitions and structure components. |
| 395 */ | 415 */ |
| 396 | 416 |
| 397 /* Version information for png.h - this should match the version in png.c */ | 417 /* Version information for png.h - this should match the version in png.c */ |
| 398 #define PNG_LIBPNG_VER_STRING "1.2.29" | 418 #define PNG_LIBPNG_VER_STRING "1.2.33" |
| 399 #define PNG_HEADER_VERSION_STRING \ | 419 #define PNG_HEADER_VERSION_STRING \ |
| 400 " libpng version 1.2.29 - May 8, 2008\n" | 420 " libpng version 1.2.33 - October 31, 2008\n" |
| 401 | 421 |
| 402 #define PNG_LIBPNG_VER_SONUM 0 | 422 #define PNG_LIBPNG_VER_SONUM 0 |
| 403 #define PNG_LIBPNG_VER_DLLNUM 13 | 423 #define PNG_LIBPNG_VER_DLLNUM 13 |
| 404 | 424 |
| 405 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ | 425 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ |
| 406 #define PNG_LIBPNG_VER_MAJOR 1 | 426 #define PNG_LIBPNG_VER_MAJOR 1 |
| 407 #define PNG_LIBPNG_VER_MINOR 2 | 427 #define PNG_LIBPNG_VER_MINOR 2 |
| 408 #define PNG_LIBPNG_VER_RELEASE 29 | 428 #define PNG_LIBPNG_VER_RELEASE 33 |
| 409 /* This should match the numeric part of the final component of | 429 /* This should match the numeric part of the final component of |
| 410 * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ | 430 * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ |
| 411 | 431 |
| 412 #define PNG_LIBPNG_VER_BUILD 0 | 432 #define PNG_LIBPNG_VER_BUILD 0 |
| 413 | 433 |
| 414 /* Release Status */ | 434 /* Release Status */ |
| 415 #define PNG_LIBPNG_BUILD_ALPHA 1 | 435 #define PNG_LIBPNG_BUILD_ALPHA 1 |
| 416 #define PNG_LIBPNG_BUILD_BETA 2 | 436 #define PNG_LIBPNG_BUILD_BETA 2 |
| 417 #define PNG_LIBPNG_BUILD_RC 3 | 437 #define PNG_LIBPNG_BUILD_RC 3 |
| 418 #define PNG_LIBPNG_BUILD_STABLE 4 | 438 #define PNG_LIBPNG_BUILD_STABLE 4 |
| 419 #define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 | 439 #define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 |
| 420 | 440 |
| 421 /* Release-Specific Flags */ | 441 /* Release-Specific Flags */ |
| 422 #define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with | 442 #define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with |
| 423 PNG_LIBPNG_BUILD_STABLE only */ | 443 PNG_LIBPNG_BUILD_STABLE only */ |
| 424 #define PNG_LIBPNG_BUILD_PRIVATE 16 /* Cannot be OR'ed with | 444 #define PNG_LIBPNG_BUILD_PRIVATE 16 /* Cannot be OR'ed with |
| 425 PNG_LIBPNG_BUILD_SPECIAL */ | 445 PNG_LIBPNG_BUILD_SPECIAL */ |
| 426 #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with | 446 #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with |
| 427 PNG_LIBPNG_BUILD_PRIVATE */ | 447 PNG_LIBPNG_BUILD_PRIVATE */ |
| 428 | 448 |
| 429 #define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE | 449 #define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE |
| 430 | 450 |
| 431 /* Careful here. At one time, Guy wanted to use 082, but that would be octal. | 451 /* Careful here. At one time, Guy wanted to use 082, but that would be octal. |
| 432 * We must not include leading zeros. | 452 * We must not include leading zeros. |
| 433 * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only | 453 * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only |
| 434 * version 1.0.0 was mis-numbered 100 instead of 10000). From | 454 * version 1.0.0 was mis-numbered 100 instead of 10000). From |
| 435 * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ | 455 * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ |
| 436 #define PNG_LIBPNG_VER 10229 /* 1.2.29 */ | 456 #define PNG_LIBPNG_VER 10233 /* 1.2.33 */ |
| 437 | 457 |
| 438 #ifndef PNG_VERSION_INFO_ONLY | 458 #ifndef PNG_VERSION_INFO_ONLY |
| 439 /* include the compression library's header */ | 459 /* include the compression library's header */ |
| 440 #include "zlib.h" | 460 #include "zlib.h" |
| 441 #endif | 461 #endif |
| 442 | 462 |
| 443 /* include all user configurable info, including optional assembler routines */ | 463 /* include all user configurable info, including optional assembler routines */ |
| 444 #include "pngconf.h" | 464 #include "pngconf.h" |
| 445 | 465 |
| 446 /* | 466 /* |
| (...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1197 png_uint_32 width; /* width of image in pixels */ | 1217 png_uint_32 width; /* width of image in pixels */ |
| 1198 png_uint_32 height; /* height of image in pixels */ | 1218 png_uint_32 height; /* height of image in pixels */ |
| 1199 png_uint_32 num_rows; /* number of rows in current pass */ | 1219 png_uint_32 num_rows; /* number of rows in current pass */ |
| 1200 png_uint_32 usr_width; /* width of row at start of write */ | 1220 png_uint_32 usr_width; /* width of row at start of write */ |
| 1201 png_uint_32 rowbytes; /* size of row in bytes */ | 1221 png_uint_32 rowbytes; /* size of row in bytes */ |
| 1202 png_uint_32 irowbytes; /* size of current interlaced row in bytes */ | 1222 png_uint_32 irowbytes; /* size of current interlaced row in bytes */ |
| 1203 png_uint_32 iwidth; /* width of current interlaced row in pixels */ | 1223 png_uint_32 iwidth; /* width of current interlaced row in pixels */ |
| 1204 png_uint_32 row_number; /* current row in interlace pass */ | 1224 png_uint_32 row_number; /* current row in interlace pass */ |
| 1205 png_bytep prev_row; /* buffer to save previous (unfiltered) row */ | 1225 png_bytep prev_row; /* buffer to save previous (unfiltered) row */ |
| 1206 png_bytep row_buf; /* buffer to save current (unfiltered) row */ | 1226 png_bytep row_buf; /* buffer to save current (unfiltered) row */ |
| 1207 #ifndef PNG_NO_WRITE_FILTERING | 1227 #ifndef PNG_NO_WRITE_FILTER |
| 1208 png_bytep sub_row; /* buffer to save "sub" row when filtering */ | 1228 png_bytep sub_row; /* buffer to save "sub" row when filtering */ |
| 1209 png_bytep up_row; /* buffer to save "up" row when filtering */ | 1229 png_bytep up_row; /* buffer to save "up" row when filtering */ |
| 1210 png_bytep avg_row; /* buffer to save "avg" row when filtering */ | 1230 png_bytep avg_row; /* buffer to save "avg" row when filtering */ |
| 1211 png_bytep paeth_row; /* buffer to save "Paeth" row when filtering */ | 1231 png_bytep paeth_row; /* buffer to save "Paeth" row when filtering */ |
| 1212 #endif | 1232 #endif |
| 1213 png_row_info row_info; /* used for transformation routines */ | 1233 png_row_info row_info; /* used for transformation routines */ |
| 1214 | 1234 |
| 1215 png_uint_32 idat_size; /* current IDAT size for read */ | 1235 png_uint_32 idat_size; /* current IDAT size for read */ |
| 1216 png_uint_32 crc; /* current chunk CRC value */ | 1236 png_uint_32 crc; /* current chunk CRC value */ |
| 1217 png_colorp palette; /* palette from the input file */ | 1237 png_colorp palette; /* palette from the input file */ |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1437 #endif | 1457 #endif |
| 1438 | 1458 |
| 1439 /* New member added in libpng-1.0.25 and 1.2.17 */ | 1459 /* New member added in libpng-1.0.25 and 1.2.17 */ |
| 1440 #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) | 1460 #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) |
| 1441 /* storage for unknown chunk that the library doesn't recognize. */ | 1461 /* storage for unknown chunk that the library doesn't recognize. */ |
| 1442 png_unknown_chunk unknown_chunk; | 1462 png_unknown_chunk unknown_chunk; |
| 1443 #endif | 1463 #endif |
| 1444 | 1464 |
| 1445 /* New members added in libpng-1.2.26 */ | 1465 /* New members added in libpng-1.2.26 */ |
| 1446 png_uint_32 old_big_row_buf_size, old_prev_row_size; | 1466 png_uint_32 old_big_row_buf_size, old_prev_row_size; |
| 1467 |
| 1468 /* New member added in libpng-1.2.30 */ |
| 1469 png_charp chunkdata; /* buffer for reading chunk data */ |
| 1470 |
| 1447 }; | 1471 }; |
| 1448 | 1472 |
| 1449 | 1473 |
| 1450 /* This triggers a compiler error in png.c, if png.c and png.h | 1474 /* This triggers a compiler error in png.c, if png.c and png.h |
| 1451 * do not agree upon the version number. | 1475 * do not agree upon the version number. |
| 1452 */ | 1476 */ |
| 1453 typedef png_structp version_1_2_29; | 1477 typedef png_structp version_1_2_33; |
| 1454 | 1478 |
| 1455 typedef png_struct FAR * FAR * png_structpp; | 1479 typedef png_struct FAR * FAR * png_structpp; |
| 1456 | 1480 |
| 1457 /* Here are the function definitions most commonly used. This is not | 1481 /* Here are the function definitions most commonly used. This is not |
| 1458 * the place to find out how to use libpng. See libpng.txt for the | 1482 * the place to find out how to use libpng. See libpng.txt for the |
| 1459 * full explanation, see example.c for the summary. This just provides | 1483 * full explanation, see example.c for the summary. This just provides |
| 1460 * a simple one line description of the use of each function. | 1484 * a simple one line description of the use of each function. |
| 1461 */ | 1485 */ |
| 1462 | 1486 |
| 1463 /* Returns the version number of the library */ | 1487 /* Returns the version number of the library */ |
| (...skipping 1174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2638 /* Added at libpng-1.2.6 */ | 2662 /* Added at libpng-1.2.6 */ |
| 2639 #ifdef PNG_SET_USER_LIMITS_SUPPORTED | 2663 #ifdef PNG_SET_USER_LIMITS_SUPPORTED |
| 2640 extern PNG_EXPORT(void,png_set_user_limits) PNGARG((png_structp | 2664 extern PNG_EXPORT(void,png_set_user_limits) PNGARG((png_structp |
| 2641 png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max)); | 2665 png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max)); |
| 2642 extern PNG_EXPORT(png_uint_32,png_get_user_width_max) PNGARG((png_structp | 2666 extern PNG_EXPORT(png_uint_32,png_get_user_width_max) PNGARG((png_structp |
| 2643 png_ptr)); | 2667 png_ptr)); |
| 2644 extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp | 2668 extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp |
| 2645 png_ptr)); | 2669 png_ptr)); |
| 2646 #endif | 2670 #endif |
| 2647 | 2671 |
| 2672 |
| 2648 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs *
/ | 2673 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs *
/ |
| 2649 | 2674 |
| 2650 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED | 2675 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED |
| 2651 /* With these routines we avoid an integer divide, which will be slower on | 2676 /* With these routines we avoid an integer divide, which will be slower on |
| 2652 * most machines. However, it does take more operations than the corresponding | 2677 * most machines. However, it does take more operations than the corresponding |
| 2653 * divide method, so it may be slower on a few RISC systems. There are two | 2678 * divide method, so it may be slower on a few RISC systems. There are two |
| 2654 * shifts (by 8 or 16 bits) and an addition, versus a single integer divide. | 2679 * shifts (by 8 or 16 bits) and an addition, versus a single integer divide. |
| 2655 * | 2680 * |
| 2656 * Note that the rounding factors are NOT supposed to be the same! 128 and | 2681 * Note that the rounding factors are NOT supposed to be the same! 128 and |
| 2657 * 32768 are correct for the NODIV code; 127 and 32767 are correct for the | 2682 * 32768 are correct for the NODIV code; 127 and 32767 are correct for the |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3019 PNG_EXTERN void png_read_data PNGARG((png_structp png_ptr, png_bytep data, | 3044 PNG_EXTERN void png_read_data PNGARG((png_structp png_ptr, png_bytep data, |
| 3020 png_size_t length)); | 3045 png_size_t length)); |
| 3021 | 3046 |
| 3022 /* Read bytes into buf, and update png_ptr->crc */ | 3047 /* Read bytes into buf, and update png_ptr->crc */ |
| 3023 PNG_EXTERN void png_crc_read PNGARG((png_structp png_ptr, png_bytep buf, | 3048 PNG_EXTERN void png_crc_read PNGARG((png_structp png_ptr, png_bytep buf, |
| 3024 png_size_t length)); | 3049 png_size_t length)); |
| 3025 | 3050 |
| 3026 /* Decompress data in a chunk that uses compression */ | 3051 /* Decompress data in a chunk that uses compression */ |
| 3027 #if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \ | 3052 #if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \ |
| 3028 defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED) | 3053 defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED) |
| 3029 PNG_EXTERN png_charp png_decompress_chunk PNGARG((png_structp png_ptr, | 3054 PNG_EXTERN void png_decompress_chunk PNGARG((png_structp png_ptr, |
| 3030 int comp_type, png_charp chunkdata, png_size_t chunklength, | 3055 int comp_type, png_size_t chunklength, |
| 3031 png_size_t prefix_length, png_size_t *data_length)); | 3056 png_size_t prefix_length, png_size_t *data_length)); |
| 3032 #endif | 3057 #endif |
| 3033 | 3058 |
| 3034 /* Read "skip" bytes, read the file crc, and (optionally) verify png_ptr->crc */ | 3059 /* Read "skip" bytes, read the file crc, and (optionally) verify png_ptr->crc */ |
| 3035 PNG_EXTERN int png_crc_finish PNGARG((png_structp png_ptr, png_uint_32 skip)); | 3060 PNG_EXTERN int png_crc_finish PNGARG((png_structp png_ptr, png_uint_32 skip)); |
| 3036 | 3061 |
| 3037 /* Read the CRC from the file and compare it to the libpng calculated CRC */ | 3062 /* Read the CRC from the file and compare it to the libpng calculated CRC */ |
| 3038 PNG_EXTERN int png_crc_error PNGARG((png_structp png_ptr)); | 3063 PNG_EXTERN int png_crc_error PNGARG((png_structp png_ptr)); |
| 3039 | 3064 |
| 3040 /* Calculate the CRC over a section of data. Note that we are only | 3065 /* Calculate the CRC over a section of data. Note that we are only |
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3549 | 3574 |
| 3550 PNG_EXTERN float png_get_y_offset_inches PNGARG((png_structp png_ptr, | 3575 PNG_EXTERN float png_get_y_offset_inches PNGARG((png_structp png_ptr, |
| 3551 png_infop info_ptr)); | 3576 png_infop info_ptr)); |
| 3552 | 3577 |
| 3553 #if defined(PNG_pHYs_SUPPORTED) | 3578 #if defined(PNG_pHYs_SUPPORTED) |
| 3554 PNG_EXTERN png_uint_32 png_get_pHYs_dpi PNGARG((png_structp png_ptr, | 3579 PNG_EXTERN png_uint_32 png_get_pHYs_dpi PNGARG((png_structp png_ptr, |
| 3555 png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)); | 3580 png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)); |
| 3556 #endif /* PNG_pHYs_SUPPORTED */ | 3581 #endif /* PNG_pHYs_SUPPORTED */ |
| 3557 #endif /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */ | 3582 #endif /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */ |
| 3558 | 3583 |
| 3584 /* Read the chunk header (length + type name) */ |
| 3585 PNG_EXTERN png_uint_32 png_read_chunk_header PNGARG((png_structp png_ptr)); |
| 3586 |
| 3559 /* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */ | 3587 /* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */ |
| 3560 | 3588 |
| 3561 #endif /* PNG_INTERNAL */ | 3589 #endif /* PNG_INTERNAL */ |
| 3562 | 3590 |
| 3563 #ifdef __cplusplus | 3591 #ifdef __cplusplus |
| 3564 } | 3592 } |
| 3565 #endif | 3593 #endif |
| 3566 | 3594 |
| 3567 #endif /* PNG_VERSION_INFO_ONLY */ | 3595 #endif /* PNG_VERSION_INFO_ONLY */ |
| 3568 /* do not put anything past this line */ | 3596 /* do not put anything past this line */ |
| 3569 #endif /* PNG_H */ | 3597 #endif /* PNG_H */ |
| OLD | NEW |