LibreOffice Module vcl (master)
1
|
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 () |
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::ChunkData > | maChunkSeq |
sal_Int32 | mnCompLevel |
sal_Int32 | mnInterlaced |
sal_uInt32 | mnMaxChunkSize |
bool | mbStatus |
Bitmap::ScopedReadAccess | mpAccess |
BitmapReadAccess * | mpMaskAccess |
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 |
Definition at line 47 of file pngwrite.cxx.
vcl::PNGWriterImpl::PNGWriterImpl | ( | const BitmapEx & | BmpEx, |
const css::uno::Sequence< css::beans::PropertyValue > * | pFilterData | ||
) |
Definition at line 94 of file pngwrite.cxx.
References vcl::bitmap::convertBitmap32To24Plus8(), false, BitmapEx::GetAlpha(), BitmapEx::GetBitmap(), Bitmap::getPixelFormat(), BitmapInfoAccess::HasPalette(), ImplOpenChunk(), ImplWriteHeader(), ImplWriteIDAT(), ImplWritePalette(), ImplWritepHYs(), BitmapEx::IsAlpha(), BitmapEx::IsEmpty(), mbStatus, mbTrueAlpha, mnBitsPerPixel, mnCompLevel, mnHeight, mnInterlaced, mnMaxChunkSize, mnWidth, mpAccess, mpMaskAccess, N24Bit, vcl::N32_BPP, vcl::pixelFormatBitCount(), PNGCHUNK_IEND, and vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::reset().
|
inline |
Definition at line 55 of file pngwrite.cxx.
References maChunkSeq.
|
private |
Definition at line 609 of file pngwrite.cxx.
References mnDeflateInSize, mnFilterType, and mpPreviousScan.
Referenced by ImplWriteIDAT().
|
private |
Definition at line 431 of file pngwrite.cxx.
References COL_WHITE, BitmapInfoAccess::GetBestMatchingColor(), Color::GetBlue(), Color::GetGreen(), BitmapReadAccess::GetIndexFromData(), BitmapReadAccess::GetPixelFromData(), Color::GetRed(), BitmapReadAccess::GetScanline(), i, mbStatus, mbTrueAlpha, mnBBP, mnBitsPerPixel, mnDeflateInSize, mnFilterType, mnWidth, mpAccess, mpCurrentScan, mpDeflateInBuf, mpMaskAccess, and mpPreviousScan.
Referenced by ImplWriteIDAT().
Definition at line 615 of file pngwrite.cxx.
References maChunkSeq.
Referenced by ImplWriteHeader(), ImplWriteIDAT(), ImplWritePalette(), ImplWritepHYs(), and PNGWriterImpl().
Definition at line 621 of file pngwrite.cxx.
References maChunkSeq.
Referenced by ImplWriteHeader(), ImplWriteIDAT(), ImplWritePalette(), and ImplWritepHYs().
|
private |
Definition at line 626 of file pngwrite.cxx.
References vcl::PNGWriter::ChunkData::aData, and maChunkSeq.
|
private |
Definition at line 635 of file pngwrite.cxx.
References vcl::PNGWriter::ChunkData::aData, and maChunkSeq.
|
private |
Definition at line 244 of file pngwrite.cxx.
References BitmapInfoAccess::HasPalette(), BitmapInfoAccess::Height(), ImplOpenChunk(), ImplWriteChunk(), mbStatus, mnBitsPerPixel, mnFilterType, mnHeight, mnInterlaced, mnWidth, mpAccess, mpMaskAccess, PNGCHUNK_IHDR, and BitmapInfoAccess::Width().
Referenced by PNGWriterImpl().
|
private |
Definition at line 322 of file pngwrite.cxx.
References ZCodec::BeginCompression(), ZCodec::EndCompression(), SvMemoryStream::GetData(), ImplClearFirstScanline(), ImplGetFilter(), ImplOpenChunk(), ImplWriteChunk(), mnBBP, mnBitsPerPixel, mnCompLevel, mnDeflateInSize, mnFilterType, mnHeight, mnInterlaced, mnMaxChunkSize, mnWidth, mpCurrentScan, mpDeflateInBuf, mpMaskAccess, mpPreviousScan, mpZCodec, PNGCHUNK_IDAT, SvStream::Tell(), and ZCodec::Write().
Referenced by PNGWriterImpl().
|
private |
Definition at line 284 of file pngwrite.cxx.
References Color::GetBlue(), Color::GetGreen(), BitmapInfoAccess::GetPaletteColor(), BitmapInfoAccess::GetPaletteEntryCount(), Color::GetRed(), i, ImplOpenChunk(), ImplWriteChunk(), mpAccess, nCount, and PNGCHUNK_PLTE.
Referenced by PNGWriterImpl().
Definition at line 302 of file pngwrite.cxx.
References MapMode::GetMapUnit(), BitmapEx::GetPrefMapMode(), BitmapEx::GetPrefSize(), ImplOpenChunk(), ImplWriteChunk(), mnHeight, mnWidth, and PNGCHUNK_pHYs.
Referenced by PNGWriterImpl().
bool vcl::PNGWriterImpl::Write | ( | SvStream & | rOutStream | ) |
Definition at line 216 of file pngwrite.cxx.
References SvStream::GetEndian(), maChunkSeq, mbStatus, nType, SvStream::SetEndian(), SvStream::WriteBytes(), and SvStream::WriteUInt32().
|
private |
Definition at line 58 of file pngwrite.cxx.
Referenced by GetChunks(), ImplOpenChunk(), ImplWriteChunk(), and Write().
|
private |
Definition at line 63 of file pngwrite.cxx.
Referenced by ImplGetFilter(), ImplWriteHeader(), PNGWriterImpl(), and Write().
|
private |
Definition at line 80 of file pngwrite.cxx.
Referenced by ImplGetFilter(), and PNGWriterImpl().
|
private |
Definition at line 79 of file pngwrite.cxx.
Referenced by ImplGetFilter(), and ImplWriteIDAT().
|
private |
Definition at line 77 of file pngwrite.cxx.
Referenced by ImplGetFilter(), ImplWriteHeader(), ImplWriteIDAT(), and PNGWriterImpl().
|
private |
Definition at line 60 of file pngwrite.cxx.
Referenced by ImplWriteIDAT(), and PNGWriterImpl().
|
private |
Definition at line 73 of file pngwrite.cxx.
Referenced by ImplClearFirstScanline(), ImplGetFilter(), and ImplWriteIDAT().
|
private |
Definition at line 78 of file pngwrite.cxx.
Referenced by ImplClearFirstScanline(), ImplGetFilter(), ImplWriteHeader(), and ImplWriteIDAT().
|
private |
Definition at line 76 of file pngwrite.cxx.
Referenced by ImplWriteHeader(), ImplWriteIDAT(), and ImplWritepHYs().
|
private |
Definition at line 61 of file pngwrite.cxx.
Referenced by ImplWriteHeader(), ImplWriteIDAT(), and PNGWriterImpl().
|
private |
Definition at line 62 of file pngwrite.cxx.
Referenced by ImplWriteIDAT(), and PNGWriterImpl().
|
private |
Definition at line 75 of file pngwrite.cxx.
Referenced by ImplGetFilter(), ImplWriteHeader(), ImplWriteIDAT(), and ImplWritepHYs().
|
private |
Definition at line 65 of file pngwrite.cxx.
Referenced by ImplGetFilter(), ImplWriteHeader(), ImplWritePalette(), and PNGWriterImpl().
|
private |
Definition at line 72 of file pngwrite.cxx.
Referenced by ImplGetFilter(), and ImplWriteIDAT().
|
private |
Definition at line 70 of file pngwrite.cxx.
Referenced by ImplGetFilter(), and ImplWriteIDAT().
|
private |
Definition at line 66 of file pngwrite.cxx.
Referenced by ImplGetFilter(), ImplWriteHeader(), ImplWriteIDAT(), and PNGWriterImpl().
|
private |
Definition at line 71 of file pngwrite.cxx.
Referenced by ImplClearFirstScanline(), ImplGetFilter(), and ImplWriteIDAT().
|
private |
Definition at line 67 of file pngwrite.cxx.
Referenced by ImplWriteIDAT().