[Libreoffice-commits] core.git: filter/source
Noel Grandin
noel.grandin at collabora.co.uk
Tue Feb 13 12:49:26 UTC 2018
filter/source/graphicfilter/ipcd/ipcd.cxx | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)
New commits:
commit dacf40ae9f2193d11313c5dba67ea15770c50f8f
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Feb 12 12:07:57 2018 +0200
use RawBitmap in PCDReader
part of making Bitmap an internal detail of vcl
Change-Id: I6a5a301a30f9a58fb28bbe13dca2d21ad6525a14
Reviewed-on: https://gerrit.libreoffice.org/49633
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/filter/source/graphicfilter/ipcd/ipcd.cxx b/filter/source/graphicfilter/ipcd/ipcd.cxx
index 323e58b4d634..18b6d99b2c42 100644
--- a/filter/source/graphicfilter/ipcd/ipcd.cxx
+++ b/filter/source/graphicfilter/ipcd/ipcd.cxx
@@ -20,7 +20,7 @@
#include <rtl/alloc.h>
#include <vcl/graph.hxx>
-#include <vcl/bitmapaccess.hxx>
+#include <vcl/BitmapTools.hxx>
#include <vcl/svapp.hxx>
#include <vcl/fltcall.hxx>
#include <svl/solar.hrc>
@@ -46,7 +46,7 @@ private:
bool bStatus;
SvStream &m_rPCD;
- BitmapWriteAccess* mpAcc;
+ std::unique_ptr<vcl::bitmap::RawBitmap> mpBitmap;
sal_uInt8 nOrientation; // orientation of the picture within the PCD file:
// 0 - spire point up
@@ -77,7 +77,6 @@ public:
explicit PCDReader(SvStream &rStream)
: bStatus(false)
, m_rPCD(rStream)
- , mpAcc(nullptr)
, nOrientation(0)
, eResolution(PCDRES_BASE16)
, nWidth(0)
@@ -95,8 +94,6 @@ public:
bool PCDReader::ReadPCD( Graphic & rGraphic, FilterConfigItem* pConfigItem )
{
- Bitmap aBmp;
-
bStatus = true;
// is it a PCD file with a picture? ( sets bStatus == sal_False, if that's not the case):
@@ -151,15 +148,11 @@ bool PCDReader::ReadPCD( Graphic & rGraphic, FilterConfigItem* pConfigItem )
nBMPWidth = nHeight;
nBMPHeight = nWidth;
}
- aBmp = Bitmap( Size( nBMPWidth, nBMPHeight ), 24 );
- if ( ( mpAcc = aBmp.AcquireWriteAccess() ) == nullptr )
- return false;
+ mpBitmap.reset(new vcl::bitmap::RawBitmap( Size( nBMPWidth, nBMPHeight ) ));
ReadImage();
- Bitmap::ReleaseAccess( mpAcc );
- mpAcc = nullptr;
- rGraphic = aBmp;
+ rGraphic = vcl::bitmap::CreateFromData(std::move(*mpBitmap));
}
return bStatus;
}
@@ -328,16 +321,16 @@ void PCDReader::ReadImage()
if ( nOrientation < 2 )
{
if ( nOrientation == 0 )
- mpAcc->SetPixel( ny, nx, BitmapColor( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
+ mpBitmap->SetPixel( ny, nx, Color( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
else
- mpAcc->SetPixel( nWidth - 1 - nx, ny, BitmapColor( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
+ mpBitmap->SetPixel( nWidth - 1 - nx, ny, Color( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
}
else
{
if ( nOrientation == 2 )
- mpAcc->SetPixel( nHeight - 1 - ny, ( nWidth - 1 - nx ), BitmapColor( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
+ mpBitmap->SetPixel( nHeight - 1 - ny, ( nWidth - 1 - nx ), Color( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
else
- mpAcc->SetPixel( nx, ( nHeight - 1 - ny ), BitmapColor( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
+ mpBitmap->SetPixel( nx, ( nHeight - 1 - ny ), Color( static_cast<sal_uInt8>(nRed), static_cast<sal_uInt8>(nGreen), static_cast<sal_uInt8>(nBlue) ) );
}
}
}
More information about the Libreoffice-commits
mailing list