png++ 0.2.10

Namespaces | Classes | Typedefs | Enumerations | Functions
png Namespace Reference

## Namespaces
namespace | detail

## Classes
struct | color
| PNG color struct extension. Adds constructors. More...
class | consumer
| Pixel consumer class template. More...
struct | convert_color_space
| IO transformation class template. Converts image color space. More...
struct | convert_color_space< rgb_pixel >
| Converts image color space. A specialization for rgb_pixel type. More...
struct | convert_color_space< rgb_pixel_16 >
| Converts image color space. A specialization for rgb_pixel_16 type. More...
struct | convert_color_space< rgba_pixel >
| Converts image color space. A specialization for rgba_pixel type. More...
struct | convert_color_space< rgba_pixel_16 >
| Converts image color space. A specialization for rgba_pixel_16 type. More...
struct | convert_color_space< gray_pixel >
| Converts image color space. A specialization for gray_pixel type. More...
struct | convert_color_space< gray_pixel_16 >
| Converts image color space. A specialization for gray_pixel_16 type. More...
struct | convert_color_space< ga_pixel >
| Converts image color space. A specialization for ga_pixel type. More...
struct | convert_color_space< ga_pixel_16 >
| Converts image color space. A specialization for ga_pixel_16 type. More...
struct | convert_color_space< index_pixel >
| Converts image color space. A specialization for index_pixel type. More...
class | end_info
| Internal class to hold PNG ending info. More...
class | error
| Exception class to represent runtime errors related to png++ operation. More...
class | std_error
| Exception class to represent standard library errors (generally IO). More...
struct | basic_ga_pixel
| Basic Gray+Alpha pixel type. More...
struct | pixel_traits< basic_ga_pixel< T > >
| Pixel traits specialization for basic_ga_pixel. More...
class | generator
| Pixel generator class template. More...
class | packed_gray_pixel
| The packed gray pixel class template. The available specializations are for 1-, 2- and 4-bit pixels. More...
struct | pixel_traits< gray_pixel >
| Pixel traits specialization for gray_pixel. More...
struct | pixel_traits< gray_pixel_16 >
| Pixel traits specialization for gray_pixel_16. More...
struct | pixel_traits< packed_gray_pixel< bits > >
| Pixel traits specialization for packed_gray_pixel. More...
class | image
| Class template to represent PNG image. More...
class | image_info
| Holds information about PNG image. More...
class | index_pixel
| The 8-bit Indexed (colormap) pixel type. More...
class | packed_index_pixel
| The packed indexed pixel class template. The available specializations are for 1-, 2- and 4-bit pixels. More...
struct | pixel_traits< index_pixel >
| Pixel traits specialization for index_pixel. More...
struct | pixel_traits< packed_index_pixel< bits > >
| Pixel traits specialization for packed_index_pixel. More...
class | info
| Holds information about PNG image. Adapter class for IO image operations. More...
class | info_base
| Internal class to hold PNG info or end_info. More...
class | io_base
| Base class for PNG reader/writer classes. More...
class | packed_pixel
| The packed pixel class template. More...
class | row_traits
| The pixel row traits class template. Provides a common way to get starting address of the row for packed and unpacked row types. More...
class | basic_pixel_buffer
| The basic class template to represent image pixel data. More...
class | row_traits< std::vector< pixel > >
| The row_traits specialization for unpacked pixel rows. More...
class | pixel_buffer
class | packed_pixel_row
| The packed pixel row class template. More...
class | row_traits< packed_pixel_row< pixel > >
| The row_traits class template specialization for packed pixel row type. More...
class | pixel_buffer< packed_gray_pixel< bits > >
| The pixel buffer class template specialization for the packed_gray_pixel type. More...
class | pixel_buffer< packed_index_pixel< bits > >
| The pixel buffer class template specialization for the packed_index_pixel type. More...
struct | pixel_traits
| Pixel traits class template. More...
struct | basic_pixel_traits
| Basic pixel traits class template. More...
struct | basic_alpha_pixel_traits
| Basic pixel traits class template for pixels with alpha channel. More...
class | reader
| The PNG reader class template. This is the low-level reading interface–use image class or consumer class to actually read images. More...
struct | require_color_space
| IO transformation class template. Enforces image color space. More...
struct | basic_rgb_pixel
| RGB pixel type. More...
struct | pixel_traits< basic_rgb_pixel< T > >
| Pixel traits specialization for basic_rgb_pixel. More...
struct | basic_rgba_pixel
| RGBA pixel type. More...
struct | pixel_traits< basic_rgba_pixel< T > >
| Pixel traits specialization for basic_rgba_pixel. More...
class | solid_pixel_buffer
| Pixel buffer, that stores pixels as continuous memory chunk. solid_pixel_buffer is useful when user whats to open png, do some changes and fetch to buffer to draw (as texture for example). More...
class | def_image_info_holder
| The default image_info holder class. Stores image_info member object. More...
class | image_info_ref_holder
| An image_info holder class. Stores a reference to the image_info object. The image_info object itself should be stored elsewhere. More...
class | streaming_base
| A base class template for consumer and generator classes. Provides default `reset()` method implementation as well as `info_holder` policy. More...
class | writer
| PNG writer class template. This is the low-level writing interface–use image class or generator class to actually write images. More...

## Typedefs
typedef basic_ga_pixel< byte > | ga_pixel
| The 8-bit Gray+Alpha pixel type.
typedef basic_ga_pixel< uint_16 > | ga_pixel_16
| The 16-bit Gray+Alpha pixel type.
typedef byte | gray_pixel
| The 8-bit Grayscale pixel type.
typedef uint_16 | gray_pixel_16
| The 16-bit Grayscale pixel type.
typedef packed_gray_pixel< 1 > | gray_pixel_1
| The 1-bit Grayscale pixel type.
typedef packed_gray_pixel< 2 > | gray_pixel_2
| The 2-bit Grayscale pixel type.
typedef packed_gray_pixel< 4 > | gray_pixel_4
| The 4-bit Grayscale pixel type.
typedef packed_index_pixel< 1 > | index_pixel_1
| The 1-bit Indexed pixel type.
typedef packed_index_pixel< 2 > | index_pixel_2
| The 1-bit Indexed pixel type.
typedef packed_index_pixel< 4 > | index_pixel_4
| The 1-bit Indexed pixel type.
typedef std::vector< color > | palette
| The palette type. Currently implemented as `std::vector` of png::color.
typedef basic_rgb_pixel< byte > | rgb_pixel
typedef basic_rgb_pixel< uint_16 > | rgb_pixel_16
typedef basic_rgba_pixel< byte > | rgba_pixel
typedef basic_rgba_pixel< uint_16 > | rgba_pixel_16
typedef std::vector< byte > | tRNS
| The palette transparency map type. Currently implemented as `std::vector` of png::byte.
typedef png_byte | byte
typedef png_uint_16 | uint_16
typedef png_uint_32 | uint_32
typedef png_fixed_point | fixed_point
typedef png_color_8 | color_info
typedef png_color_16 | color_info_16

## Enumerations
enum | color_type { color_type_none = -1 , color_type_gray = PNG_COLOR_TYPE_GRAY , color_type_palette = PNG_COLOR_TYPE_PALETTE , color_type_rgb = PNG_COLOR_TYPE_RGB , color_type_rgb_alpha = PNG_COLOR_TYPE_RGB_ALPHA , color_type_gray_alpha = PNG_COLOR_TYPE_GRAY_ALPHA , color_type_rgba = PNG_COLOR_TYPE_RGBA , color_type_ga = PNG_COLOR_TYPE_GA }
enum | color_mask { color_mask_palette = PNG_COLOR_MASK_PALETTE , color_mask_color = PNG_COLOR_MASK_COLOR , color_mask_rgb = color_mask_color , color_mask_alpha = PNG_COLOR_MASK_ALPHA }
enum | filler_type { filler_before = PNG_FILLER_BEFORE , filler_after = PNG_FILLER_AFTER }
enum | rgb_to_gray_error_action { rgb_to_gray_silent = 1 , rgb_to_gray_warning = 2 , rgb_to_gray_error = 3 }
enum | interlace_type { interlace_none = PNG_INTERLACE_NONE , interlace_adam7 = PNG_INTERLACE_ADAM7 }
enum | compression_type { compression_type_base = PNG_COMPRESSION_TYPE_BASE , compression_type_default = PNG_COMPRESSION_TYPE_DEFAULT }
enum | filter_type { filter_type_base = PNG_FILTER_TYPE_BASE , intrapixel_differencing = PNG_INTRAPIXEL_DIFFERENCING , filter_type_default = PNG_FILTER_TYPE_DEFAULT }
enum | chunk { chunk_gAMA = PNG_INFO_gAMA , chunk_sBIT = PNG_INFO_sBIT , chunk_cHRM = PNG_INFO_cHRM , chunk_PLTE = PNG_INFO_PLTE , chunk_tRNS = PNG_INFO_tRNS , chunk_bKGD = PNG_INFO_bKGD , chunk_hIST = PNG_INFO_hIST , chunk_pHYs = PNG_INFO_pHYs , chunk_oFFs = PNG_INFO_oFFs , chunk_tIME = PNG_INFO_tIME , chunk_pCAL = PNG_INFO_pCAL , chunk_sRGB = PNG_INFO_sRGB , chunk_iCCP = PNG_INFO_iCCP , chunk_sPLT = PNG_INFO_sPLT , chunk_sCAL = PNG_INFO_sCAL , chunk_IDAT = PNG_INFO_IDAT }

## Functions
template<typename pixel>
image_info | make_image_info ()
| Returns an image_info object with color_type and bit_depth fields setup appropriate for the `pixel` type.

## Typedef Documentation

## ◆ ga_pixel

typedef basic_ga_pixel< byte > png::ga_pixel

The 8-bit Gray+Alpha pixel type.

## ◆ ga_pixel_16

typedef basic_ga_pixel< uint_16 > png::ga_pixel_16

The 16-bit Gray+Alpha pixel type.

## ◆ gray_pixel

typedef byte png::gray_pixel

The 8-bit Grayscale pixel type.

## ◆ gray_pixel_16

typedef uint_16 png::gray_pixel_16

The 16-bit Grayscale pixel type.

## ◆ gray_pixel_1

typedef packed_gray_pixel< 1 > png::gray_pixel_1

The 1-bit Grayscale pixel type.

## ◆ gray_pixel_2

typedef packed_gray_pixel< 2 > png::gray_pixel_2

The 2-bit Grayscale pixel type.

## ◆ gray_pixel_4

typedef packed_gray_pixel< 4 > png::gray_pixel_4

The 4-bit Grayscale pixel type.

## ◆ index_pixel_1

typedef packed_index_pixel< 1 > png::index_pixel_1

The 1-bit Indexed pixel type.

## ◆ index_pixel_2

typedef packed_index_pixel< 2 > png::index_pixel_2

The 1-bit Indexed pixel type.

## ◆ index_pixel_4

typedef packed_index_pixel< 4 > png::index_pixel_4

The 1-bit Indexed pixel type.

## ◆ palette

typedef std::vector< color > png::palette

The palette type. Currently implemented as `std::vector` of png::color.

## ◆ rgb_pixel

typedef basic_rgb_pixel< byte > png::rgb_pixel

The 8-bit RGB pixel type.

## ◆ rgb_pixel_16

typedef basic_rgb_pixel< uint_16 > png::rgb_pixel_16

The 16-bit RGB pixel type.

## ◆ rgba_pixel

typedef basic_rgba_pixel< byte > png::rgba_pixel

The 8-bit RGBA pixel type.

## ◆ rgba_pixel_16

typedef basic_rgba_pixel< uint_16 > png::rgba_pixel_16

The 16-bit RGBA pixel type.

## ◆ tRNS

typedef std::vector< byte > png::tRNS

The palette transparency map type. Currently implemented as `std::vector` of png::byte.

## ◆ byte

typedef png_byte png::byte

## ◆ uint_16

typedef png_uint_16 png::uint_16

## ◆ uint_32

typedef png_uint_32 png::uint_32

## ◆ fixed_point

typedef png_fixed_point png::fixed_point

## ◆ color_info

typedef png_color_8 png::color_info

## ◆ color_info_16

typedef png_color_16 png::color_info_16

## Enumeration Type Documentation

## ◆ color_type

enum png::color_type

Enumerator
color_type_none |
color_type_gray |
color_type_palette |
color_type_rgb |
color_type_rgb_alpha |
color_type_gray_alpha |
color_type_rgba |
color_type_ga |

## ◆ color_mask

enum png::color_mask

Enumerator
color_mask_palette |
color_mask_color |
color_mask_rgb |
color_mask_alpha |

## ◆ filler_type

enum png::filler_type

Enumerator
filler_before |
filler_after |

## ◆ rgb_to_gray_error_action

enum png::rgb_to_gray_error_action

Enumerator
rgb_to_gray_silent |
rgb_to_gray_warning |
rgb_to_gray_error |

## ◆ interlace_type

enum png::interlace_type

Enumerator
interlace_none |
interlace_adam7 |

## ◆ compression_type

enum png::compression_type

Enumerator
compression_type_base |
compression_type_default |

## ◆ filter_type

enum png::filter_type

Enumerator
filter_type_base |
intrapixel_differencing |
filter_type_default |

## ◆ chunk

enum png::chunk

Enumerator
chunk_gAMA |
chunk_sBIT |
chunk_cHRM |
chunk_PLTE |
chunk_tRNS |
chunk_bKGD |
chunk_hIST |
chunk_pHYs |
chunk_oFFs |
chunk_tIME |
chunk_pCAL |
chunk_sRGB |
chunk_iCCP |
chunk_sPLT |
chunk_sCAL |
chunk_IDAT |

## Function Documentation

## ◆ make_image_info()

template<typename pixel>

image_info png::make_image_info | ( |  | ) |

Returns an image_info object with color_type and bit_depth fields setup appropriate for the `pixel` type.

References png::image_info::set_bit_depth(), and png::image_info::set_color_type().

Referenced by png::image< pixel, pixel_buffer_type >::image(), png::image< pixel, pixel_buffer_type >::image(), and png::streaming_base< pixel, info_holder >::streaming_base().