31#ifndef PNGPP_READER_HPP_INCLUDED 
   32#define PNGPP_READER_HPP_INCLUDED 
   64    template< 
class istream >
 
   74            : 
io_base(png_create_read_struct(PNG_LIBPNG_VER_STRING,
 
   79            png_set_read_fn(
m_png, & stream, read_data);
 
 
   84            png_destroy_read_struct(& 
m_png,
 
 
   95            if (setjmp(png_jmpbuf(
m_png)))
 
 
  110            if (setjmp(png_jmpbuf(
m_png)))
 
 
  122            if (setjmp(png_jmpbuf(
m_png)))
 
  126            png_read_row(
m_png, bytes, 0);
 
 
  134            if (setjmp(png_jmpbuf(
m_png)))
 
 
  147        static void read_data(png_struct* 
png, 
byte* data, png_size_t length)
 
  152            istream* stream = 
reinterpret_cast< istream* 
>(png_get_io_ptr(
png));
 
  155                stream->read(
reinterpret_cast< char* 
>(data), length);
 
  161            catch (std::exception 
const& error)
 
  167                assert(!
"read_data: caught something wrong");
 
  168                rd->
set_error(
"read_data: caught something wrong");
 
 
void read()
Definition end_info.hpp:59
Exception class to represent runtime errors related to png++ operation.
Definition error.hpp:59
png_info ** get_png_info_ptr()
Definition info_base.hpp:64
png_info * get_png_info() const
Definition info_base.hpp:59
void update()
Definition info.hpp:160
void read()
Definition info.hpp:55
Base class for PNG reader/writer classes.
Definition io_base.hpp:63
std::string m_error
Definition io_base.hpp:462
info m_info
Definition io_base.hpp:460
png_struct * m_png
Definition io_base.hpp:459
void set_error(char const *message)
Definition io_base.hpp:424
end_info m_end_info
Definition io_base.hpp:461
bool is_error() const
Definition io_base.hpp:442
void raise_error()
Definition io_base.hpp:447
void reset_error()
Definition io_base.hpp:430
The PNG reader class template. This is the low-level reading interface–use image class or consumer cl...
Definition reader.hpp:67
void read_row(byte *bytes)
Reads a row of image data at a time.
Definition reader.hpp:120
void read_end_info()
Reads ending info about PNG image.
Definition reader.hpp:132
void read_png()
Reads the whole PNG data stream into memory. Not particularly useful.
Definition reader.hpp:93
void read_info()
Reads info about PNG image.
Definition reader.hpp:108
~reader()
Definition reader.hpp:82
reader(istream &stream)
Constructs a reader prepared to read PNG image from a stream.
Definition reader.hpp:73
void update_info()
Definition reader.hpp:141