| Description | uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables |
Bindings to libpng.
Png.pas from FPC packages/extra/libpng/png.pp modified by Kambi.
Detailed list of my modifications:
Made compileable with Delphi (under Delphi use "{$ALIGN 4}" instead of "{$PACKRECORDS C}", "pointer" instead of "jmp_buf")
Use KambiZlib instead of Zlib module.
Added PNG_LIBPNG_VER_* constants
We try to open libpng library from various names, to try hard to work with various libpng SO/DLL names user may have installed on his system.
Added ALL other constants (missing in FPC Png – lost during h2pas processing ?)
Removed external variables (compileable only under FPC+Linux and when LibPng file exists; useless anyway — probably, they we're useful in older libpng versions)
Work with Windows libpng version with stdcalls (changed "cdecl" to "{$ifndef LIBPNG_CDECL} stdcall {$else} cdecl {$endif}")
Changed all functions from declared as "external" to functions' pointers (variables) to use TDynLib from KambiUtils (to easily find if some functions are missing in libpng.(so|dll))
png_read_destroy, png_write_destroy_info, png_write_destroy, png_set_sCAL_s commented out — they are not present in many libpng so/dll versions. First three are obsolete.
dword is LongWord, so it doesn't require Types unit under Delphi
If libgpng is not installed on system, there is no exception at initialization. Instead it merely sets KambiPngInited to false. This way programs that use this unit do NOT require libpng to be installed on target system. Libpng must be present only if program at runtime will really need it, e.g. Images.LoadPNG will raise an exception if libpng is not installed.
Some comments:
works with either libpng.so (Unix) or libpng12.dll/libpng13.dll (Windows). Some things are prepared to support cygpng2.dll from cygwin, but they doesn't work with my version of Cygwin.
can work with (hopefully) all compatible versions of libpng,
not only with ones that have version equal to defined here constants PNG_LIBPNG_VER_xxx - look at functions SO_PNG_LIBPNG_VER_xxx in KambiPngUtils and use them !
it links with file 'libpng.so', NOT with 'libpng.so.2' or 'libpng.so.3' so it can work with ANY of these libraries. Zrobione po mailu od Szymona - myslalem ze to bylo zrobione juz wczesniej bo przeciez wszedzie robilem "exported 'libpng.so';" ale okazalo sie ze Linuxowe 'ld' najwyrazniej w czasie linkowania programu schodzilo z symbolic linka 'libpng.so' do 'libpng.so.2' lub '.3' w zaleznosci od tego jak mialem akurat skonfigurowany system. Po prostu 'ld' zakladalo ze tak naprawde nie chce sie linkowac z 'libpng.so' tylko z wersja libpng.so.2 lub 3. To zapewne ma zabezpieczac programiste - bo niby wraz ze zmiana major number biblioteki jej API powinno byc niekompatybilne - ale w przypadku png jest wystarczajaco kompatybilne dla nas !
Nie bylem w stanie powiedziec tego 'ld' wiec musialem ladowac funkcje z libpng bezposrednio kodem w initialization.
| Name | Description |
|---|---|
record png_color |
Commented out by Kambi:
var png_libpng_ver : array[0..11] of char; cvar; external; png_pass_start : array[0..6] of longint; cvar; external; png_pass_inc : array[0..6] of longint; cvar; external; png_pass_ystart : array[0..6] of longint;cvar; external; png_pass_yinc : array[0..6] of longint; cvar; external; png_pass_mask : array[0..6] of longint; cvar; external; png_pass_dsp_mask : array[0..6] of longint; cvar; external; |
record png_color_16 |
|
record png_color_8 |
|
record png_sPLT_entry |
|
record png_sPLT_t |
|
record png_text |
|
record png_time |
|
record png_unknown_chunk |
|
record png_info |
|
record png_row_info |
|
record png_struct_def |
function KambiPngInited: boolean; |
png_access_version_number: function: png_uint_32; cdecl; |
png_set_sig_bytes: procedure(png_ptr: png_structp; num_bytes: longint); cdecl; |
png_sig_cmp: function(sig: png_bytep; start: png_size_t; num_to_check: png_size_t): longint; cdecl; |
png_check_sig: function(sig: png_bytep; num: longint): longint; cdecl; |
png_create_read_struct: function(user_png_ver: png_const_charp; error_ptr: png_voidp; error_fn: png_error_ptr; warn_fn: png_error_ptr): png_structp; cdecl; |
png_create_write_struct: function(user_png_ver: png_const_charp; error_ptr: png_voidp; error_fn: png_error_ptr; warn_fn: png_error_ptr): png_structp; cdecl; |
png_get_compression_buffer_size: function(png_ptr: png_structp): png_uint_32; cdecl; |
png_set_compression_buffer_size: procedure(png_ptr: png_structp; size: png_uint_32); cdecl; |
png_reset_zstream: function(png_ptr: png_structp): longint; cdecl; |
png_write_chunk: procedure(png_ptr: png_structp; chunk_name: png_bytep; data: png_bytep; length: png_size_t); cdecl; |
png_write_chunk_start: procedure(png_ptr: png_structp; chunk_name: png_bytep; length: png_uint_32); cdecl; |
png_write_chunk_data: procedure(png_ptr: png_structp; data: png_bytep; length: png_size_t); cdecl; |
png_write_chunk_end: procedure(png_ptr: png_structp); cdecl; |
png_create_info_struct: function(png_ptr: png_structp): png_infop; cdecl; |
png_info_init: procedure(info_ptr: png_infop); cdecl; |
png_write_info_before_PLTE: procedure(png_ptr: png_structp; info_ptr: png_infop); cdecl; |
png_write_info: procedure(png_ptr: png_structp; info_ptr: png_infop); cdecl; |
png_read_info: procedure(png_ptr: png_structp; info_ptr: png_infop); cdecl; |
png_convert_to_rfc1123: function(png_ptr: png_structp; ptime: png_timep): png_charp; cdecl; |
png_convert_from_struct_tm: procedure(ptime: png_timep; ttime: Pointer); cdecl; |
png_convert_from_time_t: procedure(ptime: png_timep; ttime: time_t); cdecl; |
png_set_expand: procedure(png_ptr: png_structp); cdecl; |
png_set_gray_1_2_4_to_8: procedure(png_ptr: png_structp); cdecl; |
png_set_palette_to_rgb: procedure(png_ptr: png_structp); cdecl; |
png_set_tRNS_to_alpha: procedure(png_ptr: png_structp); cdecl; |
png_set_bgr: procedure(png_ptr: png_structp); cdecl; |
png_set_gray_to_rgb: procedure(png_ptr: png_structp); cdecl; |
png_set_rgb_to_gray: procedure(png_ptr: png_structp; error_action: longint; red: double; green: double); cdecl; |
png_set_rgb_to_gray_fixed: procedure(png_ptr: png_structp; error_action: longint; red: png_fixed_point; green: png_fixed_point); cdecl; |
png_get_rgb_to_gray_status: function(png_ptr: png_structp): png_byte; cdecl; |
png_build_grayscale_palette: procedure(bit_depth: longint; palette: png_colorp); cdecl; |
png_set_strip_alpha: procedure(png_ptr: png_structp); cdecl; |
png_set_swap_alpha: procedure(png_ptr: png_structp); cdecl; |
png_set_invert_alpha: procedure(png_ptr: png_structp); cdecl; |
png_set_filler: procedure(png_ptr: png_structp; filler: png_uint_32; flags: longint); cdecl; |
png_set_swap: procedure(png_ptr: png_structp); cdecl; |
png_set_packing: procedure(png_ptr: png_structp); cdecl; |
png_set_packswap: procedure(png_ptr: png_structp); cdecl; |
png_set_shift: procedure(png_ptr: png_structp; true_bits: png_color_8p); cdecl; |
png_set_interlace_handling: function(png_ptr: png_structp): longint; cdecl; |
png_set_invert_mono: procedure(png_ptr: png_structp); cdecl; |
png_set_background: procedure(png_ptr: png_structp; background_color: png_color_16p; background_gamma_code: longint; need_expand: longint; background_gamma: double); cdecl; |
png_set_strip_16: procedure(png_ptr: png_structp); cdecl; |
png_set_dither: procedure(png_ptr: png_structp; palette: png_colorp; num_palette: longint; maximum_colors: longint; histogram: png_uint_16p; full_dither: longint); cdecl; |
png_set_gamma: procedure(png_ptr: png_structp; screen_gamma: double; default_file_gamma: double); cdecl; |
png_permit_empty_plte: procedure(png_ptr: png_structp; empty_plte_permitted: longint); cdecl; |
png_set_flush: procedure(png_ptr: png_structp; nrows: longint); cdecl; |
png_write_flush: procedure(png_ptr: png_structp); cdecl; |
png_start_read_image: procedure(png_ptr: png_structp); cdecl; |
png_read_update_info: procedure(png_ptr: png_structp; info_ptr: png_infop); cdecl; |
png_read_rows: procedure(png_ptr: png_structp; row: png_bytepp; display_row: png_bytepp; num_rows: png_uint_32); cdecl; |
png_read_row: procedure(png_ptr: png_structp; row: png_bytep; display_row: png_bytep); cdecl; |
png_read_image: procedure(png_ptr: png_structp; image: png_bytepp); cdecl; |
png_write_row: procedure(png_ptr: png_structp; row: png_bytep); cdecl; |
png_write_rows: procedure(png_ptr: png_structp; row: png_bytepp; num_rows: png_uint_32); cdecl; |
png_write_image: procedure(png_ptr: png_structp; image: png_bytepp); cdecl; |
png_write_end: procedure(png_ptr: png_structp; info_ptr: png_infop); cdecl; |
png_read_end: procedure(png_ptr: png_structp; info_ptr: png_infop); cdecl; |
png_destroy_info_struct: procedure(png_ptr: png_structp; info_ptr_ptr: png_infopp); cdecl; |
png_destroy_read_struct: procedure(png_ptr_ptr: png_structpp; info_ptr_ptr: png_infopp; end_info_ptr_ptr: png_infopp); cdecl; |
png_destroy_write_struct: procedure(png_ptr_ptr: png_structpp; info_ptr_ptr: png_infopp); cdecl; |
png_set_crc_action: procedure(png_ptr: png_structp; crit_action: longint; ancil_action: longint); cdecl; |
png_set_filter: procedure(png_ptr: png_structp; method: longint; filters: longint); cdecl; |
png_set_filter_heuristics: procedure(png_ptr: png_structp; heuristic_method: longint; num_weights: longint; filter_weights: png_doublep; filter_costs: png_doublep); cdecl; |
png_set_compression_level: procedure(png_ptr: png_structp; level: longint); cdecl; |
png_set_compression_mem_level: procedure(png_ptr: png_structp; mem_level: longint); cdecl; |
png_set_compression_strategy: procedure(png_ptr: png_structp; strategy: longint); cdecl; |
png_set_compression_window_bits: procedure(png_ptr: png_structp; window_bits: longint); cdecl; |
png_set_compression_method: procedure(png_ptr: png_structp; method: longint); cdecl; |
png_init_io: procedure(png_ptr: png_structp; fp: png_FILE_p); cdecl; |
png_set_error_fn: procedure(png_ptr: png_structp; error_ptr: png_voidp; error_fn: png_error_ptr; warning_fn: png_error_ptr); cdecl; |
png_get_error_ptr: function(png_ptr: png_structp): png_voidp; cdecl; |
png_set_write_fn: procedure(png_ptr: png_structp; io_ptr: png_voidp; write_data_fn: png_rw_ptr; output_flush_fn: png_flush_ptr); cdecl; |
png_set_read_fn: procedure(png_ptr: png_structp; io_ptr: png_voidp; read_data_fn: png_rw_ptr); cdecl; |
png_get_io_ptr: function(png_ptr: png_structp): png_voidp; cdecl; |
png_set_read_status_fn: procedure(png_ptr: png_structp; read_row_fn: png_read_status_ptr); cdecl; |
png_set_write_status_fn: procedure(png_ptr: png_structp; write_row_fn: png_write_status_ptr); cdecl; |
png_set_read_user_transform_fn: procedure(png_ptr: png_structp; read_user_transform_fn: png_user_transform_ptr); cdecl; |
png_set_write_user_transform_fn: procedure(png_ptr: png_structp; write_user_transform_fn: png_user_transform_ptr); cdecl; |
png_set_user_transform_info: procedure(png_ptr: png_structp; user_transform_ptr: png_voidp; user_transform_depth: longint; user_transform_channels: longint); cdecl; |
png_get_user_transform_ptr: function(png_ptr: png_structp): png_voidp; cdecl; |
png_set_read_user_chunk_fn: procedure(png_ptr: png_structp; user_chunk_ptr: png_voidp; read_user_chunk_fn: png_user_chunk_ptr); cdecl; |
png_get_user_chunk_ptr: function(png_ptr: png_structp): png_voidp; cdecl; |
png_set_progressive_read_fn: procedure(png_ptr: png_structp; progressive_ptr: png_voidp; info_fn: png_progressive_info_ptr; row_fn: png_progressive_row_ptr; end_fn: png_progressive_end_ptr); cdecl; |
png_get_progressive_ptr: function(png_ptr: png_structp): png_voidp; cdecl; |
png_process_data: procedure(png_ptr: png_structp; info_ptr: png_infop; buffer: png_bytep; buffer_size: png_size_t); cdecl; |
png_progressive_combine_row: procedure(png_ptr: png_structp; old_row: png_bytep; new_row: png_bytep); cdecl; |
png_malloc: function(png_ptr: png_structp; size: png_uint_32): png_voidp; cdecl; |
png_free: procedure(png_ptr: png_structp; ptr: png_voidp); cdecl; |
png_free_data: procedure(png_ptr: png_structp; info_ptr: png_infop; free_me: png_uint_32; num: longint); cdecl; |
png_data_freer: procedure(png_ptr: png_structp; info_ptr: png_infop; freer: longint; mask: png_uint_32); cdecl; |
png_memcpy_check: function(png_ptr: png_structp; s1: png_voidp; s2: png_voidp; size: png_uint_32): png_voidp; cdecl; |
png_memset_check: function(png_ptr: png_structp; s1: png_voidp; value: longint; size: png_uint_32): png_voidp; cdecl; |
png_error: procedure(png_ptr: png_structp; error: png_const_charp); cdecl; |
png_chunk_error: procedure(png_ptr: png_structp; error: png_const_charp); cdecl; |
png_warning: procedure(png_ptr: png_structp; message: png_const_charp); cdecl; |
png_chunk_warning: procedure(png_ptr: png_structp; message: png_const_charp); cdecl; |
png_get_valid: function(png_ptr: png_structp; info_ptr: png_infop; flag: png_uint_32): png_uint_32; cdecl; |
png_get_rowbytes: function(png_ptr: png_structp; info_ptr: png_infop): png_uint_32; cdecl; |
png_get_rows: function(png_ptr: png_structp; info_ptr: png_infop): png_bytepp; cdecl; |
png_set_rows: procedure(png_ptr: png_structp; info_ptr: png_infop; row_pointers: png_bytepp); cdecl; |
png_get_channels: function(png_ptr: png_structp; info_ptr: png_infop): png_byte; cdecl; |
png_get_image_width: function(png_ptr: png_structp; info_ptr: png_infop): png_uint_32; cdecl; |
png_get_image_height: function(png_ptr: png_structp; info_ptr: png_infop): png_uint_32; cdecl; |
png_get_bit_depth: function(png_ptr: png_structp; info_ptr: png_infop): png_byte; cdecl; |
png_get_color_type: function(png_ptr: png_structp; info_ptr: png_infop): png_byte; cdecl; |
png_get_filter_type: function(png_ptr: png_structp; info_ptr: png_infop): png_byte; cdecl; |
png_get_interlace_type: function(png_ptr: png_structp; info_ptr: png_infop): png_byte; cdecl; |
png_get_compression_type: function(png_ptr: png_structp; info_ptr: png_infop): png_byte; cdecl; |
png_get_pixels_per_meter: function(png_ptr: png_structp; info_ptr: png_infop): png_uint_32; cdecl; |
png_get_x_pixels_per_meter: function(png_ptr: png_structp; info_ptr: png_infop): png_uint_32; cdecl; |
png_get_y_pixels_per_meter: function(png_ptr: png_structp; info_ptr: png_infop): png_uint_32; cdecl; |
png_get_pixel_aspect_ratio: function(png_ptr: png_structp; info_ptr: png_infop): double; cdecl; |
png_get_x_offset_pixels: function(png_ptr: png_structp; info_ptr: png_infop): png_int_32; cdecl; |
png_get_y_offset_pixels: function(png_ptr: png_structp; info_ptr: png_infop): png_int_32; cdecl; |
png_get_x_offset_microns: function(png_ptr: png_structp; info_ptr: png_infop): png_int_32; cdecl; |
png_get_y_offset_microns: function(png_ptr: png_structp; info_ptr: png_infop): png_int_32; cdecl; |
png_get_signature: function(png_ptr: png_structp; info_ptr: png_infop): png_bytep; cdecl; |
png_get_bKGD: function(png_ptr: png_structp; info_ptr: png_infop; background: Ppng_color_16p): png_uint_32; cdecl; |
png_set_bKGD: procedure(png_ptr: png_structp; info_ptr: png_infop; background: png_color_16p); cdecl; |
png_get_cHRM: function(png_ptr: png_structp; info_ptr: png_infop; white_x: Pdouble; white_y: Pdouble; red_x: Pdouble; red_y: Pdouble; green_x: Pdouble; green_y: Pdouble; blue_x: Pdouble; blue_y: Pdouble): png_uint_32; cdecl; |
png_get_cHRM_fixed: function(png_ptr: png_structp; info_ptr: png_infop; int_white_x: Ppng_fixed_point; int_white_y: Ppng_fixed_point; int_red_x: Ppng_fixed_point; int_red_y: Ppng_fixed_point; int_green_x: Ppng_fixed_point; int_green_y: Ppng_fixed_point; int_blue_x: Ppng_fixed_point; int_blue_y: Ppng_fixed_point): png_uint_32; cdecl; |
png_set_cHRM: procedure(png_ptr: png_structp; info_ptr: png_infop; white_x: double; white_y: double; red_x: double; red_y: double; green_x: double; green_y: double; blue_x: double; blue_y: double); cdecl; |
png_set_cHRM_fixed: procedure(png_ptr: png_structp; info_ptr: png_infop; int_white_x: png_fixed_point; int_white_y: png_fixed_point; int_red_x: png_fixed_point; int_red_y: png_fixed_point; int_green_x: png_fixed_point; int_green_y: png_fixed_point; int_blue_x: png_fixed_point; int_blue_y: png_fixed_point); cdecl; |
png_get_gAMA: function(png_ptr: png_structp; info_ptr: png_infop; file_gamma: Pdouble): png_uint_32; cdecl; |
png_get_gAMA_fixed: function(png_ptr: png_structp; info_ptr: png_infop; int_file_gamma: Ppng_fixed_point): png_uint_32; cdecl; |
png_set_gAMA: procedure(png_ptr: png_structp; info_ptr: png_infop; file_gamma: double); cdecl; |
png_set_gAMA_fixed: procedure(png_ptr: png_structp; info_ptr: png_infop; int_file_gamma: png_fixed_point); cdecl; |
png_get_hIST: function(png_ptr: png_structp; info_ptr: png_infop; hist: Ppng_uint_16p): png_uint_32; cdecl; |
png_set_hIST: procedure(png_ptr: png_structp; info_ptr: png_infop; hist: png_uint_16p); cdecl; |
png_get_IHDR: function(png_ptr: png_structp; info_ptr: png_infop; width: Ppng_uint_32; height: Ppng_uint_32; bit_depth: Plongint; color_type: Plongint; interlace_type: Plongint; compression_type: Plongint; filter_type: Plongint): png_uint_32; cdecl; |
png_set_IHDR: procedure(png_ptr: png_structp; info_ptr: png_infop; width: png_uint_32; height: png_uint_32; bit_depth: longint; color_type: longint; interlace_type: longint; compression_type: longint; filter_type: longint); cdecl; |
png_get_oFFs: function(png_ptr: png_structp; info_ptr: png_infop; offset_x: Ppng_int_32; offset_y: Ppng_int_32; unit_type: Plongint): png_uint_32; cdecl; |
png_set_oFFs: procedure(png_ptr: png_structp; info_ptr: png_infop; offset_x: png_int_32; offset_y: png_int_32; unit_type: longint); cdecl; |
png_get_pCAL: function(png_ptr: png_structp; info_ptr: png_infop; purpose: Ppng_charp; X0: Ppng_int_32; X1: Ppng_int_32; atype: Plongint; nparams: Plongint; units: Ppng_charp; params: Ppng_charpp): png_uint_32; cdecl; |
png_set_pCAL: procedure(png_ptr: png_structp; info_ptr: png_infop; purpose: png_charp; X0: png_int_32; X1: png_int_32; atype: longint; nparams: longint; units: png_charp; params: png_charpp); cdecl; |
png_get_pHYs: function(png_ptr: png_structp; info_ptr: png_infop; res_x: Ppng_uint_32; res_y: Ppng_uint_32; unit_type: Plongint): png_uint_32; cdecl; |
png_set_pHYs: procedure(png_ptr: png_structp; info_ptr: png_infop; res_x: png_uint_32; res_y: png_uint_32; unit_type: longint); cdecl; |
png_get_PLTE: function(png_ptr: png_structp; info_ptr: png_infop; palette: Ppng_colorp; num_palette: Plongint): png_uint_32; cdecl; |
png_set_PLTE: procedure(png_ptr: png_structp; info_ptr: png_infop; palette: png_colorp; num_palette: longint); cdecl; |
png_get_sBIT: function(png_ptr: png_structp; info_ptr: png_infop; sig_bit: Ppng_color_8p): png_uint_32; cdecl; |
png_set_sBIT: procedure(png_ptr: png_structp; info_ptr: png_infop; sig_bit: png_color_8p); cdecl; |
png_get_sRGB: function(png_ptr: png_structp; info_ptr: png_infop; intent: Plongint): png_uint_32; cdecl; |
png_set_sRGB: procedure(png_ptr: png_structp; info_ptr: png_infop; intent: longint); cdecl; |
png_set_sRGB_gAMA_and_cHRM: procedure(png_ptr: png_structp; info_ptr: png_infop; intent: longint); cdecl; |
png_get_iCCP: function(png_ptr: png_structp; info_ptr: png_infop; name: png_charpp; compression_type: Plongint; profile: png_charpp; proflen: Ppng_uint_32): png_uint_32; cdecl; |
png_set_iCCP: procedure(png_ptr: png_structp; info_ptr: png_infop; name: png_charp; compression_type: longint; profile: png_charp; proflen: png_uint_32); cdecl; |
png_get_sPLT: function(png_ptr: png_structp; info_ptr: png_infop; entries: png_sPLT_tpp): png_uint_32; cdecl; |
png_set_sPLT: procedure(png_ptr: png_structp; info_ptr: png_infop; entries: png_sPLT_tp; nentries: longint); cdecl; |
png_get_text: function(png_ptr: png_structp; info_ptr: png_infop; text_ptr: Ppng_textp; num_text: Plongint): png_uint_32; cdecl; |
png_set_text: procedure(png_ptr: png_structp; info_ptr: png_infop; text_ptr: png_textp; num_text: longint); cdecl; |
png_get_tIME: function(png_ptr: png_structp; info_ptr: png_infop; mod_time: Ppng_timep): png_uint_32; cdecl; |
png_set_tIME: procedure(png_ptr: png_structp; info_ptr: png_infop; mod_time: png_timep); cdecl; |
png_get_tRNS: function(png_ptr: png_structp; info_ptr: png_infop; trans: Ppng_bytep; num_trans: Plongint; trans_values: Ppng_color_16p): png_uint_32; cdecl; |
png_set_tRNS: procedure(png_ptr: png_structp; info_ptr: png_infop; trans: png_bytep; num_trans: longint; trans_values: png_color_16p); cdecl; |
png_get_sCAL: function(png_ptr: png_structp; info_ptr: png_infop; aunit: Plongint; width: Pdouble; height: Pdouble): png_uint_32; cdecl; |
png_set_sCAL: procedure(png_ptr: png_structp; info_ptr: png_infop; aunit: longint; width: double; height: double); cdecl; |
png_set_keep_unknown_chunks: procedure(png_ptr: png_structp; keep: longint; chunk_list: png_bytep; num_chunks: longint); cdecl; |
png_set_unknown_chunks: procedure(png_ptr: png_structp; info_ptr: png_infop; unknowns: png_unknown_chunkp; num_unknowns: longint); cdecl; |
png_set_unknown_chunk_location: procedure(png_ptr: png_structp; info_ptr: png_infop; chunk: longint; location: longint); cdecl; |
png_get_unknown_chunks: function(png_ptr: png_structp; info_ptr: png_infop; entries: png_unknown_chunkpp): png_uint_32; cdecl; |
png_set_invalid: procedure(png_ptr: png_structp; info_ptr: png_infop; mask: longint); cdecl; |
png_read_png: procedure(png_ptr: png_structp; info_ptr: png_infop; transforms: longint; params: voidp); cdecl; |
png_write_png: procedure(png_ptr: png_structp; info_ptr: png_infop; transforms: longint; params: voidp); cdecl; |
png_get_header_ver: function(png_ptr: png_structp): png_charp; cdecl; |
png_get_header_version: function(png_ptr: png_structp): png_charp; cdecl; |
size_t = longint; |
time_t = longint; |
int = longint; |
z_stream = TZStream; |
voidp = pointer; |
png_uint_32 = LongWord; |
png_int_32 = longint; |
png_uint_16 = word; |
png_int_16 = smallint; |
png_byte = byte; |
ppng_uint_32 = ˆpng_uint_32; |
ppng_int_32 = ˆpng_int_32; |
ppng_uint_16 = ˆpng_uint_16; |
ppng_int_16 = ˆpng_int_16; |
ppng_byte = ˆpng_byte; |
pppng_uint_32 = ˆppng_uint_32; |
pppng_int_32 = ˆppng_int_32; |
pppng_uint_16 = ˆppng_uint_16; |
pppng_int_16 = ˆppng_int_16; |
pppng_byte = ˆppng_byte; |
png_size_t = size_t; |
png_fixed_point = png_int_32; |
ppng_fixed_point = ˆpng_fixed_point; |
pppng_fixed_point = ˆppng_fixed_point; |
png_voidp = pointer; |
png_bytep = Ppng_byte; |
ppng_bytep = ˆpng_bytep; |
png_uint_32p = Ppng_uint_32; |
png_int_32p = Ppng_int_32; |
png_uint_16p = Ppng_uint_16; |
ppng_uint_16p = ˆpng_uint_16p; |
png_int_16p = Ppng_int_16; |
png_const_charp = Pchar; |
|
Const before type ignored |
png_charp = Pchar; |
ppng_charp = ˆpng_charp; |
png_fixed_point_p = Ppng_fixed_point; |
TFile = Pointer; |
png_FILE_p = ˆFILE; |
png_doublep = Pdouble; |
png_bytepp = PPpng_byte; |
png_uint_32pp = PPpng_uint_32; |
png_int_32pp = PPpng_int_32; |
png_uint_16pp = PPpng_uint_16; |
png_int_16pp = PPpng_int_16; |
png_const_charpp = PPchar; |
|
Const before type ignored |
png_charpp = PPchar; |
ppng_charpp = ˆpng_charpp; |
png_fixed_point_pp = PPpng_fixed_point; |
PPDouble = ˆPDouble; |
png_doublepp = PPdouble; |
PPPChar = ˆPPCHar; |
png_charppp = PPPchar; |
Pcharf = Pchar; |
PPcharf = ˆPcharf; |
png_zcharp = Pcharf; |
png_zcharpp = PPcharf; |
png_zstreamp = Pzstream; |
ppng_color = ˆpng_color; |
pppng_color = ˆppng_color; |
png_color_struct = png_color; |
png_colorp = Ppng_color; |
ppng_colorp = ˆpng_colorp; |
png_colorpp = PPpng_color; |
ppng_color_16 = ˆpng_color_16 ; |
pppng_color_16 = ˆppng_color_16 ; |
png_color_16_struct = png_color_16; |
png_color_16p = Ppng_color_16; |
ppng_color_16p = ˆpng_color_16p; |
png_color_16pp = PPpng_color_16; |
ppng_color_8 = ˆpng_color_8; |
pppng_color_8 = ˆppng_color_8; |
png_color_8_struct = png_color_8; |
png_color_8p = Ppng_color_8; |
ppng_color_8p = ˆpng_color_8p; |
png_color_8pp = PPpng_color_8; |
ppng_sPLT_entry = ˆpng_sPLT_entry; |
pppng_sPLT_entry = ˆppng_sPLT_entry; |
png_sPLT_entry_struct = png_sPLT_entry; |
png_sPLT_entryp = Ppng_sPLT_entry; |
png_sPLT_entrypp = PPpng_sPLT_entry; |
ppng_sPLT_t = ˆpng_sPLT_t; |
pppng_sPLT_t = ˆppng_sPLT_t; |
png_sPLT_struct = png_sPLT_t; |
png_sPLT_tp = Ppng_sPLT_t; |
png_sPLT_tpp = PPpng_sPLT_t; |
ppng_text = ˆpng_text; |
pppng_text = ˆppng_text; |
png_text_struct = png_text; |
png_textp = Ppng_text; |
ppng_textp = ˆpng_textp; |
png_textpp = PPpng_text; |
ppng_time = ˆpng_time; |
pppng_time = ˆppng_time; |
png_time_struct = png_time; |