3
// Caution: this file has fallen out of date since version 1.0.5. Write to
4
// png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu about volunteering
10
PNG_LIBPNG_VER_STRING = '1.2.5';
11
PNG_LIBPNG_VER = 10205;
14
png_uint_32 = Cardinal;
17
png_int_16 = Smallint;
19
png_size_t = png_uint_32;
20
png_charpp = ^png_charp;
24
png_bytepp = ^png_bytep;
25
png_bytep = ^png_byte;
26
png_uint_16p = ^png_uint_16;
27
png_uint_16pp = ^png_uint_16p;
30
png_doublep = ^png_double;
33
user_error_ptr = Pointer;
34
png_error_ptrp = ^png_error_ptr;
35
png_error_ptr = procedure(png_ptr: Pointer; msg: Pointer);
37
png_rw_ptrp = ^png_rw_ptr;
38
png_rw_ptr = procedure(png_ptr: Pointer; data: Pointer;
41
png_flush_ptrp = ^png_flush_ptr;
42
png_flush_ptr = procedure(png_ptr: Pointer);
44
png_progressive_info_ptrp = ^png_progressive_info_ptr;
45
png_progressive_info_ptr = procedure(png_ptr: Pointer;
48
png_progressive_end_ptrp = ^png_progressive_end_ptr;
49
png_progressive_end_ptr = procedure(png_ptr: Pointer;
52
png_progressive_row_ptrp = ^png_progressive_row_ptr;
53
png_progressive_row_ptr = procedure(png_ptr: Pointer;
54
data: Pointer; length: png_uint_32;
57
png_read_status_ptr = procedure(png_ptr: Pointer;
58
row_number: png_uint_32; pass: int);
60
png_write_status_ptr = procedure(png_ptr: Pointer;
61
row_number: png_uint_32; pass: int);
63
png_user_chunk_ptr = procedure(png_ptr: Pointer;
64
data: png_unknown_chunkp);
66
png_user_transform_ptr = procedure(png_ptr: Pointer;
67
row_info: Pointer; data: png_bytep);
70
png_colorpp = ^png_colorp;
71
png_colorp = ^png_color;
72
png_color = packed record
73
red, green, blue: png_byte;
76
png_color_16pp = ^png_color_16p;
77
png_color_16p = ^png_color_16;
78
png_color_16 = packed record
79
index: png_byte; //used for palette files
80
red, green, blue: png_uint_16; //for use in red green blue files
81
gray: png_uint_16; //for use in grayscale files
84
png_color_8pp = ^png_color_8p;
85
png_color_8p = ^png_color_8;
86
png_color_8 = packed record
87
red, green, blue: png_byte; //for use in red green blue files
88
gray: png_byte; //for use in grayscale files
89
alpha: png_byte; //for alpha channel files
92
png_textpp = ^png_textp;
93
png_textp = ^png_text;
94
png_text = packed record
95
compression: int; //compression value
96
key: png_charp; //keyword, 1-79 character description of "text"
97
text: png_charp; //comment, may be empty ("")
98
text_length: png_size_t; //length of text field
101
png_timepp = ^png_timep;
102
png_timep = ^png_time;
103
png_time = packed record
104
year: png_uint_16; //yyyy
105
month: png_byte; //1..12
106
day: png_byte; //1..31
107
hour: png_byte; //0..23
108
minute: png_byte; //0..59
109
second: png_byte; //0..60 (leap seconds)
112
png_infopp = ^png_infop;
115
png_row_infopp = ^png_row_infop;
116
png_row_infop = ^png_row_info;
117
png_row_info = packed record
118
width: png_uint_32; //width of row
119
rowbytes: png_size_t; //number of bytes in row
120
color_type: png_byte; //color type of row
121
bit_depth: png_byte; //bit depth of row
122
channels: png_byte; //number of channels (1, 2, 3, or 4)
123
pixel_depth: png_byte; //bits per pixel (depth * channels)
126
png_structpp = ^png_structp;
127
png_structp = Pointer;
131
// Supported compression types for text in PNG files (tEXt, and zTXt).
132
// The values of the PNG_TEXT_COMPRESSION_ defines should NOT be changed.
134
PNG_TEXT_COMPRESSION_NONE_WR = -3;
135
PNG_TEXT_COMPRESSION_zTXt_WR = -2;
136
PNG_TEXT_COMPRESSION_NONE = -1;
137
PNG_TEXT_COMPRESSION_zTXt = 0;
139
// These describe the color_type field in png_info.
142
PNG_COLOR_MASK_PALETTE = 1;
143
PNG_COLOR_MASK_COLOR = 2;
144
PNG_COLOR_MASK_ALPHA = 4;
146
// color types. Note that not all combinations are legal
148
PNG_COLOR_TYPE_GRAY = 0;
149
PNG_COLOR_TYPE_PALETTE = PNG_COLOR_MASK_COLOR or
150
PNG_COLOR_MASK_PALETTE;
151
PNG_COLOR_TYPE_RGB = PNG_COLOR_MASK_COLOR;
152
PNG_COLOR_TYPE_RGB_ALPHA = PNG_COLOR_MASK_COLOR or
153
PNG_COLOR_MASK_ALPHA;
154
PNG_COLOR_TYPE_GRAY_ALPHA = PNG_COLOR_MASK_ALPHA;
156
// This is for compression type. PNG 1.0 only defines the single type.
158
PNG_COMPRESSION_TYPE_BASE = 0; // Deflate method 8, 32K window
159
PNG_COMPRESSION_TYPE_DEFAULT = PNG_COMPRESSION_TYPE_BASE;
161
// This is for filter type. PNG 1.0 only defines the single type.
163
PNG_FILTER_TYPE_BASE = 0; // Single row per-byte filtering
164
PNG_FILTER_TYPE_DEFAULT = PNG_FILTER_TYPE_BASE;
166
// These are for the interlacing type. These values should NOT be changed.
168
PNG_INTERLACE_NONE = 0; // Non-interlaced image
169
PNG_INTERLACE_ADAM7 = 1; // Adam7 interlacing
171
// These are for the oFFs chunk. These values should NOT be changed.
173
PNG_OFFSET_PIXEL = 0; // Offset in pixels
174
PNG_OFFSET_MICROMETER = 1; // Offset in micrometers (1/10^6 meter)
176
// These are for the pCAL chunk. These values should NOT be changed.
178
PNG_EQUATION_LINEAR = 0; // Linear transformation
179
PNG_EQUATION_BASE_E = 1; // Exponential base e transform
180
PNG_EQUATION_ARBITRARY = 2; // Arbitrary base exponential transform
181
PNG_EQUATION_HYPERBOLIC = 3; // Hyperbolic sine transformation
183
// These are for the pHYs chunk. These values should NOT be changed.
185
PNG_RESOLUTION_UNKNOWN = 0; // pixels/unknown unit (aspect ratio)
186
PNG_RESOLUTION_METER = 1; // pixels/meter
188
// These are for the sRGB chunk. These values should NOT be changed.
189
PNG_sRGB_INTENT_PERCEPTUAL = 0;
190
PNG_sRGB_INTENT_RELATIVE = 1;
191
PNG_sRGB_INTENT_SATURATION = 2;
192
PNG_sRGB_INTENT_ABSOLUTE = 3;
194
// Handle alpha and tRNS by replacing with a background color.
195
PNG_BACKGROUND_GAMMA_UNKNOWN = 0;
196
PNG_BACKGROUND_GAMMA_SCREEN = 1;
197
PNG_BACKGROUND_GAMMA_FILE = 2;
198
PNG_BACKGROUND_GAMMA_UNIQUE = 3;
200
// Values for png_set_crc_action() to say how to handle CRC errors in
201
// ancillary and critical chunks, and whether to use the data contained
202
// therein. Note that it is impossible to "discard" data in a critical
203
// chunk. For versions prior to 0.90, the action was always error/quit,
204
// whereas in version 0.90 and later, the action for CRC errors in ancillary
205
// chunks is warn/discard. These values should NOT be changed.
207
// value action:critical action:ancillary
209
PNG_CRC_DEFAULT = 0; // error/quit warn/discard data
210
PNG_CRC_ERROR_QUIT = 1; // error/quit error/quit
211
PNG_CRC_WARN_DISCARD = 2; // (INVALID) warn/discard data
212
PNG_CRC_WARN_USE = 3; // warn/use data warn/use data
213
PNG_CRC_QUIET_USE = 4; // quiet/use data quiet/use data
214
PNG_CRC_NO_CHANGE = 5; // use current value use current value
216
// Flags for png_set_filter() to say which filters to use. The flags
217
// are chosen so that they don't conflict with real filter types
218
// below, in case they are supplied instead of the #defined constants.
219
// These values should NOT be changed.
221
PNG_NO_FILTERS = $00;
222
PNG_FILTER_NONE = $08;
223
PNG_FILTER_SUB = $10;
225
PNG_FILTER_AVG = $40;
226
PNG_FILTER_PAETH = $80;
227
PNG_ALL_FILTERS = PNG_FILTER_NONE or PNG_FILTER_SUB or
228
PNG_FILTER_UP or PNG_FILTER_AVG or
231
// Filter values (not flags) - used in pngwrite.c, pngwutil.c for now.
232
// These defines should NOT be changed.
234
PNG_FILTER_VALUE_NONE = 0;
235
PNG_FILTER_VALUE_SUB = 1;
236
PNG_FILTER_VALUE_UP = 2;
237
PNG_FILTER_VALUE_AVG = 3;
238
PNG_FILTER_VALUE_PAETH = 4;
240
// Heuristic used for row filter selection. These defines should NOT be
243
PNG_FILTER_HEURISTIC_DEFAULT = 0; // Currently "UNWEIGHTED"
244
PNG_FILTER_HEURISTIC_UNWEIGHTED = 1; // Used by libpng < 0.95
245
PNG_FILTER_HEURISTIC_WEIGHTED = 2; // Experimental feature
246
PNG_FILTER_HEURISTIC_LAST = 3; // Not a valid value
248
procedure png_build_grayscale_palette(bit_depth: int; palette: png_colorp);
250
function png_check_sig(sig: png_bytep; num: int): int;
252
procedure png_chunk_error(png_ptr: png_structp;
253
const mess: png_charp);
255
procedure png_chunk_warning(png_ptr: png_structp;
256
const mess: png_charp);
258
procedure png_convert_from_time_t(ptime: png_timep; ttime: time_t);
260
function png_convert_to_rfc1123(png_ptr: png_structp; ptime: png_timep):
263
function png_create_info_struct(png_ptr: png_structp): png_infop;
265
function png_create_read_struct(user_png_ver: png_charp;
266
error_ptr: user_error_ptr; error_fn: png_error_ptr;
267
warn_fn: png_error_ptr): png_structp;
269
function png_get_copyright(png_ptr: png_structp): png_charp;
271
function png_get_header_ver(png_ptr: png_structp): png_charp;
273
function png_get_header_version(png_ptr: png_structp): png_charp;
275
function png_get_libpng_ver(png_ptr: png_structp): png_charp;
277
function png_create_write_struct(user_png_ver: png_charp;
278
error_ptr: user_error_ptr; error_fn: png_error_ptr;
279
warn_fn: png_error_ptr): png_structp;
281
procedure png_destroy_info_struct(png_ptr: png_structp;
282
info_ptr_ptr: png_infopp);
284
procedure png_destroy_read_struct(png_ptr_ptr: png_structpp;
285
info_ptr_ptr, end_info_ptr_ptr: png_infopp);
287
procedure png_destroy_write_struct(png_ptr_ptr: png_structpp;
288
info_ptr_ptr: png_infopp);
290
function png_get_IHDR(png_ptr: png_structp; info_ptr: png_infop;
291
var width, height: png_uint_32; var bit_depth,
292
color_type, interlace_type, compression_type,
293
filter_type: int): png_uint_32;
295
function png_get_PLTE(png_ptr: png_structp; info_ptr: png_infop;
296
var palette: png_colorp; var num_palette: int):
299
function png_get_bKGD(png_ptr: png_structp; info_ptr: png_infop;
300
var background: png_color_16p): png_uint_32;
302
function png_get_bit_depth(png_ptr: png_structp; info_ptr: png_infop):
305
function png_get_cHRM(png_ptr: png_structp; info_ptr: png_infop;
306
var white_x, white_y, red_x, red_y, green_x, green_y,
307
blue_x, blue_y: double): png_uint_32;
309
function png_get_channels(png_ptr: png_structp; info_ptr: png_infop):
312
function png_get_color_type(png_ptr: png_structp; info_ptr: png_infop):
315
function png_get_compression_type(png_ptr: png_structp;
316
info_ptr: png_infop): png_byte;
318
function png_get_error_ptr(png_ptr: png_structp): png_voidp;
320
function png_get_filter_type(png_ptr: png_structp; info_ptr: png_infop):
323
function png_get_gAMA(png_ptr: png_structp; info_ptr: png_infop;
324
var file_gamma: double): png_uint_32;
326
function png_get_hIST(png_ptr: png_structp; info_ptr: png_infop;
327
var hist: png_uint_16p): png_uint_32;
329
function png_get_image_height(png_ptr: png_structp; info_ptr: png_infop):
332
function png_get_image_width(png_ptr: png_structp; info_ptr: png_infop):
335
function png_get_interlace_type(png_ptr: png_structp;
336
info_ptr: png_infop): png_byte;
338
function png_get_io_ptr(png_ptr: png_structp): png_voidp;
340
function png_get_oFFs(png_ptr: png_structp; info_ptr: png_infop;
341
var offset_x, offset_y: png_uint_32;
342
var unit_type: int): png_uint_32;
344
function png_get_sCAL(png_ptr: png_structp; info_ptr: png_infop;
345
var unit:int; var width: png_uint_32; height: png_uint_32):
348
function png_get_pCAL(png_ptr: png_structp; info_ptr: png_infop;
349
var purpose: png_charp; var X0, X1: png_int_32;
350
var typ, nparams: int; var units: png_charp;
351
var params: png_charpp): png_uint_32;
353
function png_get_pHYs(png_ptr: png_structp; info_ptr: png_infop;
354
var res_x, res_y: png_uint_32; var unit_type: int):
357
function png_get_pixel_aspect_ratio(png_ptr: png_structp;
358
info_ptr: png_infop): float;
360
function png_get_pixels_per_meter(png_ptr: png_structp;
361
info_ptr: png_infop): png_uint_32;
363
function png_get_progressive_ptr(png_ptr: png_structp): png_voidp;
365
function png_get_rgb_to_gray_status(png_ptr: png_structp);
367
function png_get_rowbytes(png_ptr: png_structp; info_ptr: png_infop):
370
function png_get_rows(png_ptr: png_structp; info_ptr: png_infop):
373
function png_get_sBIT(png_ptr: png_structp; info_ptr: png_infop;
374
var sig_bits: png_color_8p): png_uint_32;
376
function png_get_sRGB(png_ptr: png_structp; info_ptr: png_infop;
377
var file_srgb_intent: int): png_uint_32;
379
function png_get_signature(png_ptr: png_structp; info_ptr: png_infop):
382
function png_get_tIME(png_ptr: png_structp; info_ptr: png_infop;
383
var mod_time: png_timep): png_uint_32;
385
function png_get_tRNS(png_ptr: png_structp; info_ptr: png_infop;
386
var trans: png_bytep; var num_trans: int;
387
var trans_values: png_color_16p): png_uint_32;
389
function png_get_text(png_ptr: png_structp; info_ptr: png_infop;
390
var text_ptr: png_textp; var num_text: int):
393
function png_get_user_chunk_ptr(png_ptr: png_structp):
396
function png_get_valid(png_ptr: png_structp; info_ptr: png_infop;
397
flag: png_uint_32): png_uint_32;
399
function png_get_x_offset_microns(png_ptr: png_structp;
400
info_ptr: png_infop): png_uint_32;
402
function png_get_x_offset_pixels(png_ptr: png_structp;
403
info_ptr: png_infop): png_uint_32;
405
function png_get_x_pixels_per_meter(png_ptr: png_structp;
406
info_ptr: png_infop): png_uint_32;
408
function png_get_y_offset_microns(png_ptr: png_structp;
409
info_ptr: png_infop): png_uint_32;
411
function png_get_y_offset_pixels(png_ptr: png_structp;
412
info_ptr: png_infop): png_uint_32;
414
function png_get_y_pixels_per_meter(png_ptr: png_structp;
415
info_ptr: png_infop): png_uint_32;
417
procedure png_process_data(png_ptr: png_structp; info_ptr: png_infop;
418
buffer: png_bytep; buffer_size: png_size_t);
420
procedure png_progressive_combine_row(png_ptr: png_structp;
421
old_row, new_row: png_bytep);
423
procedure png_read_end(png_ptr: png_structp; info_ptr: png_infop);
425
procedure png_read_image(png_ptr: png_structp; image: png_bytepp);
427
procedure png_read_info(png_ptr: png_structp; info_ptr: png_infop);
429
procedure png_read_row(png_ptr: png_structp; row, dsp_row: png_bytep);
431
procedure png_read_rows(png_ptr: png_structp; row, display_row:
432
png_bytepp; num_rows: png_uint_32);
434
procedure png_read_update_info(png_ptr: png_structp; info_ptr: png_infop);
436
procedure png_set_IHDR(png_ptr: png_structp; info_ptr: png_infop;
437
width, height: png_uint_32; bit_depth, color_type,
438
interlace_type, compression_type, filter_type: int);
440
procedure png_set_PLTE(png_ptr: png_structp; info_ptr: png_infop;
441
palette: png_colorp; num_palette: int);
443
procedure png_set_bKGD(png_ptr: png_structp; info_ptr: png_infop;
444
background: png_color_16p);
446
procedure png_set_background(png_ptr: png_structp;
447
background_color: png_color_16p;
448
background_gamma_code, need_expand: int;
449
background_gamma: double);
451
procedure png_set_bgr(png_ptr: png_structp);
453
procedure png_set_cHRM(png_ptr: png_structp; info_ptr: png_infop;
454
white_x, white_y, red_x, red_y, green_x, green_y,
455
blue_x, blue_y: double);
457
procedure png_set_cHRM_fixed(png_ptr: png_structp; info_ptr: png_infop;
458
white_x, white_y, red_x, red_y, green_x, green_y,
459
blue_x, blue_y: png_fixed_point);
461
procedure png_set_compression_level(png_ptr: png_structp; level: int);
463
procedure png_set_compression_mem_level(png_ptr: png_structp;
466
procedure png_set_compression_method(png_ptr: png_structp; method: int);
468
procedure png_set_compression_strategy(png_ptr: png_structp;
471
procedure png_set_compression_window_bits(png_ptr: png_structp;
474
procedure png_set_crc_action(png_ptr: png_structp;
475
crit_action, ancil_action: int);
477
procedure png_set_dither(png_ptr: png_structp; plaette: png_colorp;
478
num_palette, maximum_colors: int;
479
histogram: png_uint_16p; full_dither: int);
481
procedure png_set_error_fn(png_ptr: png_structp; error_ptr: png_voidp;
482
error_fn, warning_fn: png_error_ptr);
484
procedure png_set_expand(png_ptr: png_structp);
486
procedure png_set_filler(png_ptr: png_structp; filler: png_uint_32;
489
procedure png_set_filter(png_ptr: png_structp; method, filters: int);
491
procedure png_set_filter_heuristics(png_ptr: png_structp;
492
heuristic_method, num_weights: int;
493
filter_weights, filter_costs: png_doublep);
495
procedure png_set_flush(png_ptr: png_structp; nrows: int);
497
procedure png_set_gAMA(png_ptr: png_structp; info_ptr: png_infop;
500
procedure png_set_gAMA_fixed(png_ptr: png_structp; info_ptr: png_infop;
501
file_gamma: png_fixed_point);
503
procedure png_set_gamma(png_ptr: png_structp; screen_gamma,
504
default_file_gamma: double);
506
procedure png_set_gray_1_2_4_to_8(png_ptr: png_structp);
508
procedure png_set_gray_to_rgb(png_ptr: png_structp);
510
procedure png_set_hIST(png_ptr: png_structp; info_ptr: png_infop;
513
function png_set_interlace_handling(png_ptr: png_structp): int;
515
procedure png_set_invalid(png_ptr: png_structp; info_ptr:png_infop;
518
procedure png_set_invert_alpha(png_ptr: png_structp);
520
procedure png_set_invert_mono(png_ptr: png_structp);
522
procedure png_set_oFFs(png_ptr: png_structp; info_ptr: png_infop;
523
offset_x, offset_y: png_uint_32; unit_type: int);
525
procedure png_set_palette_to_rgb(png_ptr: png_structp);
527
procedure png_set_pCAL(png_ptr: png_structp; info_ptr: png_infop;
528
purpose: png_charp; X0, X1: png_int_32;
529
typ, nparams: int; units: png_charp;
532
procedure png_set_pHYs(png_ptr: png_structp; info_ptr: png_infop;
533
res_x, res_y: png_uint_32; unit_type: int);
535
procedure png_set_packing(png_ptr: png_structp);
537
procedure png_set_packswap(png_ptr: png_structp);
539
procedure png_set_progressive_read_fn(png_ptr: png_structp;
540
progressive_ptr: png_voidp;
541
info_fn: png_progressive_info_ptr;
542
row_fn: png_progressive_row_ptr;
543
end_fn: png_progressive_end_ptr);
545
procedure png_set_read_fn(png_ptr: png_structp;
546
io_ptr: png_voidp; read_data_fn: png_rw_ptr);
548
procedure png_set_read_status_fn(png_ptr: png_structp;
549
read_row_fn: png_read_status_ptr);
551
procedure png_set_read_user_chunk_fn(png_ptr: png_structp;
552
read_user_chunk_fn: png_user_chunk_ptr);
554
procedure png_set_read_user_transform_fn(png_ptr: png_structp;
555
read_user_transform_fn: png_user_transform_ptr);
557
procedure png_set_rgb_to_gray(png_ptr: png_structp; int: error_action;
558
red_weight, green_weight: double);
560
procedure png_set_rgb_to_gray_fixed(png_ptr: png_structp; int: error_action;
561
red_weight, green_weight: png_fixed_point);
563
procedure png_set_rows(png_ptr: png_structp; info_ptr: png_infop;
564
row_pointers: png_bytepp);
566
procedure png_set_sBIT(png_ptr: png_structp; info_ptr: png_infop;
567
sig_bits: png_color_8p);
569
procedure png_set_sRGB(png_ptr: png_structp; info_ptr: png_infop;
572
procedure png_set_sRGB_gAMA_and_cHRM(png_ptr: png_structp;
573
info_ptr: png_infop; intent: int);
575
procedure png_set_shift(png_ptr: png_structp; true_bits: png_color_8p);
577
procedure png_set_sig_bytes(png_ptr: png_structp; num_bytes: int);
579
procedure png_set_strip_16(png_ptr: png_structp);
581
procedure png_set_strip_alpha(png_ptr: png_structp);
583
procedure png_set_swap(png_ptr: png_structp);
585
procedure png_set_swap_alpha(png_ptr: png_structp);
587
procedure png_set_tIME(png_ptr: png_structp; info_ptr: png_infop;
588
mod_time: png_timep);
590
procedure png_set_tRNS(png_ptr: png_structp; info_ptr: png_infop;
591
trans: png_bytep; num_trans: int;
592
trans_values: png_color_16p);
594
procedure png_set_tRNS_to_alpha(png_ptr: png_structp);
596
procedure png_set_text(png_ptr: png_structp; info_ptr: png_infop;
597
text_ptr: png_textp; num_text: int);
599
procedure png_set_write_fn(png_ptr: png_structp;
600
io_ptr: png_voidp; write_data_fn: png_rw_ptr;
601
output_flush_fn: png_flush_ptr);
603
procedure png_set_write_status_fn(png_ptr: png_structp;
604
write_row_fn: png_write_status_ptr);
606
procedure png_set_write_user_transform_fn(png_ptr: png_structp;
607
write_user_transform_fn: png_user_transform_ptr);
609
function png_sig_cmp(sig: png_bytep; start, num_to_check: png_size_t):
612
procedure png_start_read_image(png_ptr: png_structp);
614
procedure png_write_chunk(png_ptr: png_structp;
615
chunk_name, data: png_bytep; length: png_size_t);
617
procedure png_write_chunk_data(png_ptr: png_structp;
618
data: png_bytep; length: png_size_t);
620
procedure png_write_chunk_end(png_ptr: png_structp);
622
procedure png_write_chunk_start(png_ptr: png_structp;
623
chunk_name: png_bytep; length: png_uint_32);
625
procedure png_write_end(png_ptr: png_structp; info_ptr: png_infop);
627
procedure png_write_flush(png_ptr: png_structp);
629
procedure png_write_image(png_ptr: png_structp; image: png_bytepp);
631
procedure png_write_info(png_ptr: png_structp; info_ptr: png_infop);
633
procedure png_write_info_before_PLTE(png_ptr: png_structp; info_ptr: png_infop);
635
procedure png_write_row(png_ptr: png_structp; row: png_bytep);
637
procedure png_write_rows(png_ptr: png_structp; row: png_bytepp;
638
num_rows: png_uint_32);
640
procedure png_get_iCCP(png_ptr: png_structp; info_ptr: png_infop;
641
name: png_charpp; compression_type: int *; profile: png_charpp;
642
proflen: png_int_32): png_bytep;
644
procedure png_get_sPLT(png_ptr: png_structp;
645
info_ptr: png_infop; entries: png_spalette_pp): png_uint_32;
647
procedure png_set_iCCP(png_ptr: png_structp; info_ptr: png_infop;
648
name: png_charp; compression_type: int; profile: png_charp;
651
procedure png_free_data(png_ptr: png_structp; info_ptr: png_infop; num: int);
653
procedure png_set_sPLT(png_ptr: png_structp; info_ptr: png_infop;
654
entries: png_spalette_p; nentries: int);
660
pngDLL = 'png32bd.dll';
662
procedure png_build_grayscale_palette; external pngDLL;
663
function png_check_sig; external pngDLL;
664
procedure png_chunk_error; external pngDLL;
665
procedure png_chunk_warning; external pngDLL;
666
procedure png_convert_from_time_t; external pngDLL;
667
function png_convert_to_rfc1123; external pngDLL;
668
function png_create_info_struct; external pngDLL;
669
function png_create_read_struct; external pngDLL;
670
function png_create_write_struct; external pngDLL;
671
procedure png_destroy_info_struct; external pngDLL;
672
procedure png_destroy_read_struct; external pngDLL;
673
procedure png_destroy_write_struct; external pngDLL;
674
function png_get_IHDR; external pngDLL;
675
function png_get_PLTE; external pngDLL;
676
function png_get_bKGD; external pngDLL;
677
function png_get_bit_depth; external pngDLL;
678
function png_get_cHRM; external pngDLL;
679
function png_get_channels; external pngDLL;
680
function png_get_color_type; external pngDLL;
681
function png_get_compression_type; external pngDLL;
682
function png_get_error_ptr; external pngDLL;
683
function png_get_filter_type; external pngDLL;
684
function png_get_gAMA; external pngDLL;
685
function png_get_hIST; external pngDLL;
686
function png_get_image_height; external pngDLL;
687
function png_get_image_width; external pngDLL;
688
function png_get_interlace_type; external pngDLL;
689
function png_get_io_ptr; external pngDLL;
690
function png_get_oFFs; external pngDLL;
691
function png_get_pCAL; external pngDLL;
692
function png_get_pHYs; external pngDLL;
693
function png_get_pixel_aspect_ratio; external pngDLL;
694
function png_get_pixels_per_meter; external pngDLL;
695
function png_get_progressive_ptr; external pngDLL;
696
function png_get_rowbytes; external pngDLL;
697
function png_get_rows; external pngDLL;
698
function png_get_sBIT; external pngDLL;
699
function png_get_sRGB; external pngDLL;
700
function png_get_signature; external pngDLL;
701
function png_get_tIME; external pngDLL;
702
function png_get_tRNS; external pngDLL;
703
function png_get_text; external pngDLL;
704
function png_get_user_chunk_ptr; external pngDLL;
705
function png_get_valid; external pngDLL;
706
function png_get_x_offset_microns; external pngDLL;
707
function png_get_x_offset_pixels; external pngDLL;
708
function png_get_x_pixels_per_meter; external pngDLL;
709
function png_get_y_offset_microns; external pngDLL;
710
function png_get_y_offset_pixels; external pngDLL;
711
function png_get_y_pixels_per_meter; external pngDLL;
712
procedure png_process_data; external pngDLL;
713
procedure png_progressive_combine_row; external pngDLL;
714
procedure png_read_end; external pngDLL;
715
procedure png_read_image; external pngDLL;
716
procedure png_read_info; external pngDLL;
717
procedure png_read_row; external pngDLL;
718
procedure png_read_rows; external pngDLL;
719
procedure png_read_update_info; external pngDLL;
720
procedure png_set_IHDR; external pngDLL;
721
procedure png_set_PLTE; external pngDLL;
722
procedure png_set_bKGD; external pngDLL;
723
procedure png_set_background; external pngDLL;
724
procedure png_set_bgr; external pngDLL;
725
procedure png_set_cHRM; external pngDLL;
726
procedure png_set_cHRM_fixed; external pngDLL;
727
procedure png_set_compression_level; external pngDLL;
728
procedure png_set_compression_mem_level; external pngDLL;
729
procedure png_set_compression_method; external pngDLL;
730
procedure png_set_compression_strategy; external pngDLL;
731
procedure png_set_compression_window_bits; external pngDLL;
732
procedure png_set_crc_action; external pngDLL;
733
procedure png_set_dither; external pngDLL;
734
procedure png_set_error_fn; external pngDLL;
735
procedure png_set_expand; external pngDLL;
736
procedure png_set_filler; external pngDLL;
737
procedure png_set_filter; external pngDLL;
738
procedure png_set_filter_heuristics; external pngDLL;
739
procedure png_set_flush; external pngDLL;
740
procedure png_set_gAMA; external pngDLL;
741
procedure png_set_gAMA_fixed; external pngDLL;
742
procedure png_set_gamma; external pngDLL;
743
procedure png_set_gray_to_rgb; external pngDLL;
744
procedure png_set_hIST; external pngDLL;
745
function png_set_interlace_handling; external pngDLL;
746
procedure png_set_invert_alpha; external pngDLL;
747
procedure png_set_invert_mono; external pngDLL;
748
procedure png_set_oFFs; external pngDLL;
749
procedure png_set_pCAL; external pngDLL;
750
procedure png_set_pHYs; external pngDLL;
751
procedure png_set_packing; external pngDLL;
752
procedure png_set_packswap; external pngDLL;
753
procedure png_set_progressive_read_fn; external pngDLL;
754
procedure png_set_read_fn; external pngDLL;
755
procedure png_set_read_status_fn; external pngDLL;
756
procedure png_set_read_user_transform_fn; external pngDLL;
757
procedure png_set_rgb_to_gray; external pngDLL;
758
procedure png_set_rgb_to_gray_fixed; external pngDLL;
759
procedure png_set_rows; external pngDLL;
760
procedure png_set_sBIT; external pngDLL;
761
procedure png_set_sRGB; external pngDLL;
762
procedure png_set_sRGB_gAMA_and_cHRM; external pngDLL;
763
procedure png_set_shift; external pngDLL;
764
procedure png_set_sig_bytes; external pngDLL;
765
procedure png_set_strip_16; external pngDLL;
766
procedure png_set_strip_alpha; external pngDLL;
767
procedure png_set_swap; external pngDLL;
768
procedure png_set_swap_alpha; external pngDLL;
769
procedure png_set_tIME; external pngDLL;
770
procedure png_set_tRNS; external pngDLL;
771
procedure png_set_text; external pngDLL;
772
procedure png_set_user_chunk_fn; external pngDLL;
773
procedure png_set_write_fn; external pngDLL;
774
procedure png_set_write_status_fn; external pngDLL;
775
procedure png_set_write_user_transform_fn; external pngDLL;
776
function png_sig_cmp; external pngDLL;
777
procedure png_start_read_image; external pngDLL;
778
procedure png_write_chunk; external pngDLL;
779
procedure png_write_chunk_data; external pngDLL;
780
procedure png_write_chunk_end; external pngDLL;
781
procedure png_write_chunk_start; external pngDLL;
782
procedure png_write_end; external pngDLL;
783
procedure png_write_flush; external pngDLL;
784
procedure png_write_image; external pngDLL;
785
procedure png_write_info; external pngDLL;
786
procedure png_write_info_before_PLTE; external pngDLL;
787
procedure png_write_row; external pngDLL;
788
procedure png_write_rows; external pngDLL;
789
procedure png_get_iCCP; external pngDLL;
790
procedure png_get_sPLT; external pngDLL;
791
procedure png_set_iCCP; external pngDLL;
792
procedure png_set_sPLT; external pngDLL;
793
procedure png_free_data; external pngDLL;