3#ifndef PNGCHUNK_INT_HPP_
4#define PNGCHUNK_INT_HPP_
26 enum TxtChunkType { tEXt_Chunk = 0, zTXt_Chunk = 1, iTXt_Chunk = 2 };
91 static void parseChunkContent(
Image* pImage,
const byte* key,
size_t keySize,
const DataBuf& arr);
103 static std::string makeAsciiTxtChunk(
const std::string& keyword,
const std::string& text,
bool compress);
113 static std::string makeUtf8TxtChunk(
const std::string& keyword,
const std::string& text,
bool compress);
118 static void zlibUncompress(
const byte* compressedText,
unsigned int compressedTextSize,
DataBuf& arr);
123 static std::string zlibCompress(
const std::string& text);
134 static std::string writeRawProfile(
const std::string& profileData,
const char* profileType);
Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...
Definition image.hpp:50
Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-b...
Definition pngchunk_int.hpp:21
static void decodeIHDRChunk(const DataBuf &data, uint32_t *outWidth, uint32_t *outHeight)
Decode PNG IHDR chunk data from a data buffer data and return image size to outWidth and outHeight.
static DataBuf decodeTXTChunk(const DataBuf &data, TxtChunkType type)
Decode PNG tEXt, zTXt, or iTXt chunk data from pImage passed by data buffer data and extract Comment,...
static DataBuf keyTXTChunk(const DataBuf &data, bool stripHeader=false)
Return PNG TXT chunk key as data buffer.
TxtChunkType
Text Chunk types.
Definition pngchunk_int.hpp:26
static void decodeTXTChunk(Image *pImage, const DataBuf &data, TxtChunkType type)
Decode PNG tEXt, zTXt, or iTXt chunk data from pImage passed by data buffer data and extract Comment,...
static std::string makeMetadataChunk(const std::string &metadata, MetadataId type)
Return a complete PNG chunk data compressed or not as buffer. Data returned is formatted accordingly ...
Class to access PNG images. Exif and IPTC metadata are supported directly.
Definition pngimage.hpp:22
Helper structure for the Matroska tags lookup table.
Definition matroskavideo.hpp:39
MetadataId
An identifier for each type of metadata.
Definition types.hpp:47
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition types.hpp:124