diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-05-27 13:45:14 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-05-28 07:53:40 +0200 |
commit | f1d68d82ae5a2de18708bf71a93e4d4a42dfa45b (patch) | |
tree | 8ce0acfdfa6699dbebd05a7a2eee0342b3951608 /vcl | |
parent | 8a65d3e9ceb268f785c5b2b77e126bd62af567a3 (diff) |
no need to allocate these on the heap
and remove ByteEncoder because loplugin:unreffun
complains about ByteEncoder::EncodeByte
Change-Id: Iebc531fb7748cb9c6a83a8b4a574167a5aac58b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116257
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/generic/print/bitmap_gfx.cxx | 69 |
1 files changed, 23 insertions, 46 deletions
diff --git a/vcl/unx/generic/print/bitmap_gfx.cxx b/vcl/unx/generic/print/bitmap_gfx.cxx index 830561b9677f..2d8649706060 100644 --- a/vcl/unx/generic/print/bitmap_gfx.cxx +++ b/vcl/unx/generic/print/bitmap_gfx.cxx @@ -38,31 +38,11 @@ PrinterBmp::~PrinterBmp() { } -/* virtual base class */ - -namespace { - -class ByteEncoder -{ -private: - -public: - - virtual void EncodeByte (sal_uInt8 nByte) = 0; - virtual ~ByteEncoder () = 0; -}; - -} - -ByteEncoder::~ByteEncoder() -{ -} - /* HexEncoder */ namespace { -class HexEncoder : public ByteEncoder +class HexEncoder { private: @@ -74,9 +54,9 @@ private: public: explicit HexEncoder (osl::File* pFile); - virtual ~HexEncoder () override; + ~HexEncoder (); void WriteAscii (sal_uInt8 nByte); - virtual void EncodeByte (sal_uInt8 nByte) override; + void EncodeByte (sal_uInt8 nByte); void FlushLine (); }; @@ -132,7 +112,7 @@ HexEncoder::FlushLine () namespace { -class Ascii85Encoder : public ByteEncoder +class Ascii85Encoder { private: @@ -152,8 +132,8 @@ private: public: explicit Ascii85Encoder (osl::File* pFile); - virtual ~Ascii85Encoder () override; - virtual void EncodeByte (sal_uInt8 nByte) override; + virtual ~Ascii85Encoder (); + virtual void EncodeByte (sal_uInt8 nByte); void WriteAscii (sal_uInt8 nByte); }; @@ -510,19 +490,17 @@ PrinterGfx::DrawPS1GrayImage (const PrinterBmp& rBitmap, const tools::Rectangle& WritePS (mpPageBody, pGrayImage.makeStringAndClear()); // image body - std::unique_ptr<HexEncoder> xEncoder(new HexEncoder (mpPageBody)); + HexEncoder aEncoder(mpPageBody); for (tools::Long nRow = rArea.Top(); nRow <= rArea.Bottom(); nRow++) { for (tools::Long nColumn = rArea.Left(); nColumn <= rArea.Right(); nColumn++) { unsigned char nByte = rBitmap.GetPixelGray (nRow, nColumn); - xEncoder->EncodeByte (nByte); + aEncoder.EncodeByte (nByte); } } - xEncoder.reset(); - WritePS (mpPageBody, "\n"); } @@ -587,16 +565,15 @@ PrinterGfx::writePS2Colorspace(const PrinterBmp& rBitmap, psp::ImageType nType) psp::appendStr ("\npsp_lzwstring\n", pImage); WritePS (mpPageBody, pImage.makeStringAndClear()); - std::unique_ptr<ByteEncoder> xEncoder(new LZWEncoder(mpPageBody)); + LZWEncoder aEncoder(mpPageBody); for (sal_uInt32 i = 0; i < nSize; i++) { PrinterColor aColor = rBitmap.GetPaletteColor(i); - xEncoder->EncodeByte (aColor.GetRed()); - xEncoder->EncodeByte (aColor.GetGreen()); - xEncoder->EncodeByte (aColor.GetBlue()); + aEncoder.EncodeByte (aColor.GetRed()); + aEncoder.EncodeByte (aColor.GetGreen()); + aEncoder.EncodeByte (aColor.GetBlue()); } - xEncoder.reset(); WritePS (mpPageBody, "pop ] setcolorspace\n"); } @@ -611,14 +588,14 @@ PrinterGfx::DrawPS2GrayImage (const PrinterBmp& rBitmap, const tools::Rectangle& writePS2Colorspace(rBitmap, psp::ImageType::GrayScaleImage); writePS2ImageHeader(rArea, psp::ImageType::GrayScaleImage); - std::unique_ptr<ByteEncoder> xEncoder(new LZWEncoder(mpPageBody)); + LZWEncoder aEncoder(mpPageBody); for (tools::Long nRow = rArea.Top(); nRow <= rArea.Bottom(); nRow++) { for (tools::Long nColumn = rArea.Left(); nColumn <= rArea.Right(); nColumn++) { unsigned char nByte = rBitmap.GetPixelGray (nRow, nColumn); - xEncoder->EncodeByte (nByte); + aEncoder.EncodeByte (nByte); } } } @@ -629,7 +606,7 @@ PrinterGfx::DrawPS2MonoImage (const PrinterBmp& rBitmap, const tools::Rectangle& writePS2Colorspace(rBitmap, psp::ImageType::MonochromeImage); writePS2ImageHeader(rArea, psp::ImageType::MonochromeImage); - std::unique_ptr<ByteEncoder> xEncoder(new LZWEncoder(mpPageBody)); + LZWEncoder aEncoder(mpPageBody); for (tools::Long nRow = rArea.Top(); nRow <= rArea.Bottom(); nRow++) { @@ -643,14 +620,14 @@ PrinterGfx::DrawPS2MonoImage (const PrinterBmp& rBitmap, const tools::Rectangle& if (++nBitPos == 8) { - xEncoder->EncodeByte (nByte); + aEncoder.EncodeByte (nByte); nBitPos = 0; nByte = 0; } } // keep the row byte aligned if (nBitPos != 0) - xEncoder->EncodeByte (nByte); + aEncoder.EncodeByte (nByte); } } @@ -660,14 +637,14 @@ PrinterGfx::DrawPS2PaletteImage (const PrinterBmp& rBitmap, const tools::Rectang writePS2Colorspace(rBitmap, psp::ImageType::PaletteImage); writePS2ImageHeader(rArea, psp::ImageType::PaletteImage); - std::unique_ptr<ByteEncoder> xEncoder(new LZWEncoder(mpPageBody)); + LZWEncoder aEncoder(mpPageBody); for (tools::Long nRow = rArea.Top(); nRow <= rArea.Bottom(); nRow++) { for (tools::Long nColumn = rArea.Left(); nColumn <= rArea.Right(); nColumn++) { unsigned char nByte = rBitmap.GetPixelIdx (nRow, nColumn); - xEncoder->EncodeByte (nByte); + aEncoder.EncodeByte (nByte); } } } @@ -678,16 +655,16 @@ PrinterGfx::DrawPS2TrueColorImage (const PrinterBmp& rBitmap, const tools::Recta writePS2Colorspace(rBitmap, psp::ImageType::TrueColorImage); writePS2ImageHeader(rArea, psp::ImageType::TrueColorImage); - std::unique_ptr<ByteEncoder> xEncoder(new LZWEncoder(mpPageBody)); + LZWEncoder aEncoder(mpPageBody); for (tools::Long nRow = rArea.Top(); nRow <= rArea.Bottom(); nRow++) { for (tools::Long nColumn = rArea.Left(); nColumn <= rArea.Right(); nColumn++) { PrinterColor aColor = rBitmap.GetPixelRGB (nRow, nColumn); - xEncoder->EncodeByte (aColor.GetRed()); - xEncoder->EncodeByte (aColor.GetGreen()); - xEncoder->EncodeByte (aColor.GetBlue()); + aEncoder.EncodeByte (aColor.GetRed()); + aEncoder.EncodeByte (aColor.GetGreen()); + aEncoder.EncodeByte (aColor.GetBlue()); } } } |