NDDEM
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
TinyPngOut Class Referencefinal

#include <TinyPngOut.hpp>

Public Member Functions

 TinyPngOut (std::uint32_t w, std::uint32_t h, std::ostream &out)
 
void write (const std::uint8_t pixels[], size_t count)
 

Private Member Functions

void crc32 (const std::uint8_t data[], size_t len)
 
void adler32 (const std::uint8_t data[], size_t len)
 
template<std::size_t N>
void write (const std::uint8_t(&data)[N])
 

Static Private Member Functions

static void putBigUint32 (std::uint32_t val, std::uint8_t array[4])
 

Private Attributes

std::uint32_t width
 
std::uint32_t height
 
std::uint32_t lineSize
 
std::ostream & output
 
std::uint32_t positionX
 
std::uint32_t positionY
 
std::uint32_t uncompRemain
 
std::uint16_t deflateFilled
 
std::uint32_t crc
 
std::uint32_t adler
 

Static Private Attributes

static constexpr std::uint16_t DEFLATE_MAX_BLOCK_SIZE = 65535
 

Constructor & Destructor Documentation

◆ TinyPngOut()

TinyPngOut::TinyPngOut ( std::uint32_t  w,
std::uint32_t  h,
std::ostream &  out 
)
explicit

Member Function Documentation

◆ adler32()

void TinyPngOut::adler32 ( const std::uint8_t  data[],
size_t  len 
)
private

◆ crc32()

void TinyPngOut::crc32 ( const std::uint8_t  data[],
size_t  len 
)
private

◆ putBigUint32()

void TinyPngOut::putBigUint32 ( std::uint32_t  val,
std::uint8_t  array[4] 
)
staticprivate

◆ write() [1/2]

void TinyPngOut::write ( const std::uint8_t  pixels[],
size_t  count 
)

◆ write() [2/2]

template<std::size_t N>
void TinyPngOut::write ( const std::uint8_t(&)  data[N])
inlineprivate

Member Data Documentation

◆ adler

std::uint32_t TinyPngOut::adler
private

◆ crc

std::uint32_t TinyPngOut::crc
private

◆ DEFLATE_MAX_BLOCK_SIZE

constexpr std::uint16_t TinyPngOut::DEFLATE_MAX_BLOCK_SIZE = 65535
staticconstexprprivate

◆ deflateFilled

std::uint16_t TinyPngOut::deflateFilled
private

◆ height

std::uint32_t TinyPngOut::height
private

◆ lineSize

std::uint32_t TinyPngOut::lineSize
private

◆ output

std::ostream& TinyPngOut::output
private

◆ positionX

std::uint32_t TinyPngOut::positionX
private

◆ positionY

std::uint32_t TinyPngOut::positionY
private

◆ uncompRemain

std::uint32_t TinyPngOut::uncompRemain
private

◆ width

std::uint32_t TinyPngOut::width
private

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