libpng++  v0.2.5-1
C++ library for PNG images
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
png::basic_pixel_buffer< pixel, row, traits > Class Template Reference

The basic class template to represent image pixel data. More...

#include <pixel_buffer.hpp>

Collaboration diagram for png::basic_pixel_buffer< pixel, row, traits >:

Public Types

typedef traits row_traits
 
typedef row row_type
 A row of pixel data. More...
 

Public Member Functions

 basic_pixel_buffer ()
 Constructs an empty 0x0 pixel buffer object. More...
 
 basic_pixel_buffer (size_t width, size_t height)
 Constructs an empty pixel buffer object. More...
 
size_t get_height () const
 
pixel get_pixel (size_t x, size_t y) const
 Returns a pixel at (x,y) position. More...
 
row_typeget_row (size_t index)
 Returns a reference to the row of image data at specified index. More...
 
row_type const & get_row (size_t index) const
 Returns a const reference to the row of image data at specified index. More...
 
size_t get_width () const
 
row_typeoperator[] (size_t index)
 The non-checking version of get_row() method. More...
 
row_type const & operator[] (size_t index) const
 The non-checking version of get_row() method. More...
 
void put_row (size_t index, row_type const &r)
 Replaces the row at specified index. More...
 
void resize (size_t width, size_t height)
 Resizes the pixel buffer. More...
 
void set_pixel (size_t x, size_t y, pixel p)
 Replaces a pixel at (x,y) position. More...
 

Protected Types

typedef std::vector< row_typerow_vec
 

Protected Attributes

size_t m_height
 
row_vec m_rows
 
size_t m_width
 

Detailed Description

template<typename pixel, typename row, class traits = row_traits< row >>
class png::basic_pixel_buffer< pixel, row, traits >

The basic class template to represent image pixel data.

Member Typedef Documentation

template<typename pixel, typename row, class traits = row_traits< row >>
typedef traits png::basic_pixel_buffer< pixel, row, traits >::row_traits
template<typename pixel, typename row, class traits = row_traits< row >>
typedef row png::basic_pixel_buffer< pixel, row, traits >::row_type

A row of pixel data.

template<typename pixel, typename row, class traits = row_traits< row >>
typedef std::vector< row_type > png::basic_pixel_buffer< pixel, row, traits >::row_vec
protected

Constructor & Destructor Documentation

template<typename pixel, typename row, class traits = row_traits< row >>
png::basic_pixel_buffer< pixel, row, traits >::basic_pixel_buffer ( )
inline

Constructs an empty 0x0 pixel buffer object.

template<typename pixel, typename row, class traits = row_traits< row >>
png::basic_pixel_buffer< pixel, row, traits >::basic_pixel_buffer ( size_t  width,
size_t  height 
)
inline

Constructs an empty pixel buffer object.

Member Function Documentation

template<typename pixel, typename row, class traits = row_traits< row >>
size_t png::basic_pixel_buffer< pixel, row, traits >::get_height ( ) const
inline
template<typename pixel, typename row, class traits = row_traits< row >>
pixel png::basic_pixel_buffer< pixel, row, traits >::get_pixel ( size_t  x,
size_t  y 
) const
inline

Returns a pixel at (x,y) position.

template<typename pixel, typename row, class traits = row_traits< row >>
row_type& png::basic_pixel_buffer< pixel, row, traits >::get_row ( size_t  index)
inline

Returns a reference to the row of image data at specified index.

Checks the index before returning a row: an instance of std::out_of_range is thrown if index is greater than height.

Referenced by png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::get_pixel(), and png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::set_pixel().

Here is the caller graph for this function:

template<typename pixel, typename row, class traits = row_traits< row >>
row_type const& png::basic_pixel_buffer< pixel, row, traits >::get_row ( size_t  index) const
inline

Returns a const reference to the row of image data at specified index.

The checking version.

template<typename pixel, typename row, class traits = row_traits< row >>
size_t png::basic_pixel_buffer< pixel, row, traits >::get_width ( ) const
inline
template<typename pixel, typename row, class traits = row_traits< row >>
row_type& png::basic_pixel_buffer< pixel, row, traits >::operator[] ( size_t  index)
inline

The non-checking version of get_row() method.

template<typename pixel, typename row, class traits = row_traits< row >>
row_type const& png::basic_pixel_buffer< pixel, row, traits >::operator[] ( size_t  index) const
inline

The non-checking version of get_row() method.

template<typename pixel, typename row, class traits = row_traits< row >>
void png::basic_pixel_buffer< pixel, row, traits >::put_row ( size_t  index,
row_type const &  r 
)
inline

Replaces the row at specified index.

template<typename pixel, typename row, class traits = row_traits< row >>
void png::basic_pixel_buffer< pixel, row, traits >::resize ( size_t  width,
size_t  height 
)
inline

Resizes the pixel buffer.

If new width or height is greater than the original, expanded pixels are filled with value of pixel().

Referenced by png::basic_pixel_buffer< packed_index_pixel< bits >, packed_pixel_row< packed_index_pixel< bits > > >::basic_pixel_buffer().

Here is the caller graph for this function:

template<typename pixel, typename row, class traits = row_traits< row >>
void png::basic_pixel_buffer< pixel, row, traits >::set_pixel ( size_t  x,
size_t  y,
pixel  p 
)
inline

Replaces a pixel at (x,y) position.

Member Data Documentation


The documentation for this class was generated from the following file: