LibreOffice Module vcl (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vcl::PNGWriterImpl Class Reference
Collaboration diagram for vcl::PNGWriterImpl:
[legend]

Public Member Functions

 PNGWriterImpl (const BitmapEx &BmpEx, const css::uno::Sequence< css::beans::PropertyValue > *pFilterData)
 
bool Write (SvStream &rOutStream)
 
std::vector< vcl::PNGWriter::ChunkData > & GetChunks ()
 

Private Member Functions

void ImplWritepHYs (const BitmapEx &rBitmapEx)
 
void ImplWriteIDAT ()
 
sal_uLong ImplGetFilter (sal_uLong nY, sal_uLong nXStart=0, sal_uLong nXAdd=1)
 
void ImplClearFirstScanline ()
 
void ImplWriteTransparent ()
 
bool ImplWriteHeader ()
 
void ImplWritePalette ()
 
void ImplOpenChunk (sal_uLong nChunkType)
 
void ImplWriteChunk (sal_uInt8 nNumb)
 
void ImplWriteChunk (sal_uInt32 nNumb)
 
void ImplWriteChunk (unsigned char const *pSource, sal_uInt32 nDatSize)
 

Private Attributes

std::vector< vcl::PNGWriter::ChunkDatamaChunkSeq
 
sal_Int32 mnCompLevel
 
sal_Int32 mnInterlaced
 
sal_uInt32 mnMaxChunkSize
 
bool mbStatus
 
Bitmap::ScopedReadAccess mpAccess
 
BitmapReadAccessmpMaskAccess
 
ZCodec mpZCodec
 
std::unique_ptr< sal_uInt8[]> mpDeflateInBuf
 
std::unique_ptr< sal_uInt8[]> mpPreviousScan
 
std::unique_ptr< sal_uInt8[]> mpCurrentScan
 
sal_uLong mnDeflateInSize
 
sal_uLong mnWidth
 
sal_uLong mnHeight
 
sal_uInt8 mnBitsPerPixel
 
sal_uInt8 mnFilterType
 
sal_uLong mnBBP
 
bool mbTrueAlpha
 
sal_uLong mnCRC
 

Detailed Description

Definition at line 48 of file pngwrite.cxx.

Constructor & Destructor Documentation

vcl::PNGWriterImpl::PNGWriterImpl ( const BitmapEx BmpEx,
const css::uno::Sequence< css::beans::PropertyValue > *  pFilterData 
)

Member Function Documentation

std::vector<vcl::PNGWriter::ChunkData>& vcl::PNGWriterImpl::GetChunks ( )
inline

Definition at line 57 of file pngwrite.cxx.

References maChunkSeq.

void vcl::PNGWriterImpl::ImplClearFirstScanline ( )
private

Definition at line 665 of file pngwrite.cxx.

References mnDeflateInSize, mnFilterType, and mpPreviousScan.

Referenced by ImplWriteIDAT().

sal_uLong vcl::PNGWriterImpl::ImplGetFilter ( sal_uLong  nY,
sal_uLong  nXStart = 0,
sal_uLong  nXAdd = 1 
)
private
void vcl::PNGWriterImpl::ImplOpenChunk ( sal_uLong  nChunkType)
private
void vcl::PNGWriterImpl::ImplWriteChunk ( sal_uInt8  nNumb)
private
void vcl::PNGWriterImpl::ImplWriteChunk ( sal_uInt32  nNumb)
private

Definition at line 682 of file pngwrite.cxx.

References vcl::PNGWriter::ChunkData::aData, and maChunkSeq.

void vcl::PNGWriterImpl::ImplWriteChunk ( unsigned char const *  pSource,
sal_uInt32  nDatSize 
)
private

Definition at line 691 of file pngwrite.cxx.

References vcl::PNGWriter::ChunkData::aData, and maChunkSeq.

bool vcl::PNGWriterImpl::ImplWriteHeader ( )
private
void vcl::PNGWriterImpl::ImplWriteIDAT ( )
private
void vcl::PNGWriterImpl::ImplWritePalette ( )
private
void vcl::PNGWriterImpl::ImplWritepHYs ( const BitmapEx rBitmapEx)
private
void vcl::PNGWriterImpl::ImplWriteTransparent ( )
private
bool vcl::PNGWriterImpl::Write ( SvStream rOutStream)

Member Data Documentation

std::vector<vcl::PNGWriter::ChunkData> vcl::PNGWriterImpl::maChunkSeq
private

Definition at line 64 of file pngwrite.cxx.

Referenced by GetChunks(), ImplOpenChunk(), ImplWriteChunk(), and Write().

bool vcl::PNGWriterImpl::mbStatus
private

Definition at line 69 of file pngwrite.cxx.

Referenced by ImplGetFilter(), ImplWriteHeader(), PNGWriterImpl(), and Write().

bool vcl::PNGWriterImpl::mbTrueAlpha
private

Definition at line 85 of file pngwrite.cxx.

Referenced by ImplGetFilter(), and PNGWriterImpl().

sal_uLong vcl::PNGWriterImpl::mnBBP
private

Definition at line 84 of file pngwrite.cxx.

Referenced by ImplGetFilter(), and ImplWriteIDAT().

sal_uInt8 vcl::PNGWriterImpl::mnBitsPerPixel
private

Definition at line 82 of file pngwrite.cxx.

Referenced by ImplGetFilter(), ImplWriteHeader(), ImplWriteIDAT(), and PNGWriterImpl().

sal_Int32 vcl::PNGWriterImpl::mnCompLevel
private

Definition at line 66 of file pngwrite.cxx.

Referenced by ImplWriteIDAT(), and PNGWriterImpl().

sal_uLong vcl::PNGWriterImpl::mnCRC
private

Definition at line 86 of file pngwrite.cxx.

Referenced by ImplWriteIDAT().

sal_uLong vcl::PNGWriterImpl::mnDeflateInSize
private

Definition at line 78 of file pngwrite.cxx.

Referenced by ImplClearFirstScanline(), ImplGetFilter(), and ImplWriteIDAT().

sal_uInt8 vcl::PNGWriterImpl::mnFilterType
private

Definition at line 83 of file pngwrite.cxx.

Referenced by ImplClearFirstScanline(), ImplGetFilter(), ImplWriteHeader(), and ImplWriteIDAT().

sal_uLong vcl::PNGWriterImpl::mnHeight
private

Definition at line 81 of file pngwrite.cxx.

Referenced by ImplWriteHeader(), ImplWriteIDAT(), and ImplWritepHYs().

sal_Int32 vcl::PNGWriterImpl::mnInterlaced
private

Definition at line 67 of file pngwrite.cxx.

Referenced by ImplWriteHeader(), ImplWriteIDAT(), and PNGWriterImpl().

sal_uInt32 vcl::PNGWriterImpl::mnMaxChunkSize
private

Definition at line 68 of file pngwrite.cxx.

Referenced by ImplWriteIDAT(), and PNGWriterImpl().

sal_uLong vcl::PNGWriterImpl::mnWidth
private

Definition at line 80 of file pngwrite.cxx.

Referenced by ImplGetFilter(), ImplWriteHeader(), ImplWriteIDAT(), and ImplWritepHYs().

Bitmap::ScopedReadAccess vcl::PNGWriterImpl::mpAccess
private
std::unique_ptr<sal_uInt8[]> vcl::PNGWriterImpl::mpCurrentScan
private

Definition at line 77 of file pngwrite.cxx.

Referenced by ImplGetFilter(), and ImplWriteIDAT().

std::unique_ptr<sal_uInt8[]> vcl::PNGWriterImpl::mpDeflateInBuf
private

Definition at line 75 of file pngwrite.cxx.

Referenced by ImplGetFilter(), and ImplWriteIDAT().

BitmapReadAccess* vcl::PNGWriterImpl::mpMaskAccess
private

Definition at line 72 of file pngwrite.cxx.

Referenced by ImplGetFilter(), ImplWriteHeader(), ImplWriteIDAT(), and PNGWriterImpl().

std::unique_ptr<sal_uInt8[]> vcl::PNGWriterImpl::mpPreviousScan
private

Definition at line 76 of file pngwrite.cxx.

Referenced by ImplClearFirstScanline(), ImplGetFilter(), and ImplWriteIDAT().

ZCodec vcl::PNGWriterImpl::mpZCodec
private

Definition at line 73 of file pngwrite.cxx.

Referenced by ImplWriteIDAT().


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