png++  0.2.9
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
png::basic_pixel_buffer< pixel, row, traits > Class Template Reference

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

#include <pixel_buffer.hpp>

Public Types

typedef row row_type
 A row of pixel data. More...
 
typedef row_typerow_access
 
typedef row_type const & row_const_access
 
typedef traits row_traits
 

Public Member Functions

 basic_pixel_buffer ()
 Constructs an empty 0x0 pixel buffer object. More...
 
 basic_pixel_buffer (uint_32 width, uint_32 height)
 Constructs an empty pixel buffer object. More...
 
uint_32 get_width () const
 
uint_32 get_height () const
 
void resize (uint_32 width, uint_32 height)
 Resizes the pixel buffer. More...
 
row_access get_row (size_t index)
 Returns a reference to the row of image data at specified index. More...
 
row_const_access get_row (size_t index) const
 Returns a const reference to the row of image data at specified index. More...
 
row_access operator[] (size_t index)
 The non-checking version of get_row() method. More...
 
row_const_access 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...
 
pixel get_pixel (size_t x, size_t y) const
 Returns a pixel at (x,y) position. 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

uint_32 m_width
 
uint_32 m_height
 
row_vec m_rows
 

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

◆ row_type

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.

◆ row_access

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

◆ row_const_access

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

◆ row_traits

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

◆ row_vec

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

◆ basic_pixel_buffer() [1/2]

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.

◆ basic_pixel_buffer() [2/2]

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

Constructs an empty pixel buffer object.

Member Function Documentation

◆ get_width()

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

◆ get_height()

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

◆ resize()

template<typename pixel, typename row, class traits = row_traits< row >>
void png::basic_pixel_buffer< pixel, row, traits >::resize ( uint_32  width,
uint_32  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(), and png::packed_pixel_row< pixel >::packed_pixel_row().

◆ get_row() [1/2]

template<typename pixel, typename row, class traits = row_traits< row >>
row_access 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().

◆ get_row() [2/2]

template<typename pixel, typename row, class traits = row_traits< row >>
row_const_access 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.

◆ operator[]() [1/2]

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

The non-checking version of get_row() method.

◆ operator[]() [2/2]

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

The non-checking version of get_row() method.

◆ put_row()

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.

◆ get_pixel()

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.

◆ set_pixel()

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

◆ m_width

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

◆ m_height

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

◆ m_rows

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

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