fltk
1.3.5-source
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. Fossies Dox: fltk-1.3.5-source.tar.bz2 ("inofficial" and yet experimental doxygen-generated source code documentation) 
|
Go to the documentation of this file. 37 #if defined(HAVE_LIBPNG) && defined(HAVE_LIBZ) 44 # include <libpng/png.h> 50 const unsigned char *current;
51 const unsigned char *
last;
55 static void png_read_data_from_mem(
png_structp png_ptr,
59 fl_png_memory *png_mem_data = (fl_png_memory*)
png_get_io_ptr(png_ptr);
60 if (png_mem_data->current +
length > png_mem_data->last) {
61 png_error(png_mem_data->pp,
"Invalid attempt to read row data");
65 memcpy (data, png_mem_data->current,
length);
67 png_mem_data->current +=
length;
70 #endif // HAVE_LIBPNG && HAVE_LIBZ 113 #if defined(HAVE_LIBPNG) && defined(HAVE_LIBZ) 120 fl_png_memory png_mem_data;
121 int from_memory = (buffer_png !=
NULL);
129 const char *display_name = (name_png ? name_png :
"In-memory PNG data");
136 if (!from_memory) fclose(fp);
137 Fl::warning(
"Cannot allocate memory to read PNG file or data \"%s\".\n", display_name);
145 if (!from_memory) fclose(fp);
146 Fl::warning(
"PNG file or data \"%s\" is too large or contains errors!\n", display_name);
152 png_mem_data.current = buffer_png;
153 png_mem_data.last = buffer_png + maxsize;
154 png_mem_data.pp = pp;
189 # if defined(HAVE_PNG_GET_VALID) && defined(HAVE_PNG_SET_TRNS_TO_ALPHA) 193 # endif // HAVE_PNG_GET_VALID && HAVE_PNG_SET_TRNS_TO_ALPHA 202 for (i = 0; i <
h(); i ++)
214 for (i =
w() *
h(); i > 0; i --, ptr += 4)
215 if (!ptr[3]) ptr[0] = ptr[1] = ptr[2] = 0;
226 if (
w() &&
h() && name_png) {
233 #endif // HAVE_LIBPNG && HAVE_LIBZ
PNG_IMPEXP void() png_read_rows(png_structrp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows)
PNG_IMPEXP void() png_error(png_const_structrp png_ptr, png_const_charp error_message)
PNG_IMPEXP png_uint_32() png_get_valid(png_const_structrp png_ptr, png_const_inforp info_ptr, png_uint_32 flag)
PNG_IMPEXP png_byte() png_get_bit_depth(png_const_structrp png_ptr, png_const_inforp info_ptr)
void load_png_(const char *name_png, const unsigned char *buffer_png, int datasize)
PNG_IMPEXP int() png_set_interlace_handling(png_structrp png_ptr)
FILE * fl_fopen(const char *f, const char *mode)
PNG_IMPEXP void() png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)
PNG_IMPEXP void() png_read_info(png_structrp png_ptr, png_inforp info_ptr)
PNG_IMPEXP png_uint_32() png_get_image_height(png_const_structrp png_ptr, png_const_inforp info_ptr)
PNG_IMPEXP void() png_set_tRNS_to_alpha(png_structrp png_ptr)
PNG_IMPEXP png_byte() png_get_color_type(png_const_structrp png_ptr, png_const_inforp info_ptr)
header for Unicode and UTF-8 character handling
png_voidp png_get_io_ptr(png_const_structrp png_ptr)
static const char * filename
static const int ERR_FORMAT
PNG_IMPEXP png_uint_32() png_get_image_width(png_const_structrp png_ptr, png_const_inforp info_ptr)
png_infop png_create_info_struct(png_const_structrp png_ptr)
PNG_IMPEXP void() png_read_end(png_structrp png_ptr, png_inforp info_ptr)
#define PNG_LIBPNG_VER_STRING
PNG_IMPEXP void() png_set_expand(png_structrp png_ptr)
#define PNG_COLOR_MASK_COLOR
static void(* warning)(const char *,...)
#define png_jmpbuf(png_ptr)
PNG_IMPEXP png_structp() png_create_read_struct(png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn)
PNG_IMPEXP png_uint_32() png_get_tRNS(png_const_structrp png_ptr, png_inforp info_ptr, png_bytep *trans_alpha, int *num_trans, png_color_16p *trans_color)
PNG_IMPEXP void() png_set_strip_16(png_structrp png_ptr)
static const int ERR_FILE_ACCESS
#define PNG_COLOR_MASK_ALPHA
void png_init_io(png_structrp png_ptr, png_FILE_p fp)
PNG_IMPEXP void() png_set_read_fn(png_structrp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn)
#define PNG_COLOR_TYPE_PALETTE
PNG_IMPEXP void() png_set_packing(png_structrp png_ptr)
Fl_PNG_Image(const char *filename)