[Libreoffice-commits] core.git: include/vcl svx/source vcl/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Mon Jul 8 10:59:40 UTC 2019
include/vcl/bitmapex.hxx | 8 ++++++++
include/vcl/dibtools.hxx | 2 +-
svx/source/svdraw/svdpdf.cxx | 2 +-
vcl/source/gdi/bitmapex.cxx | 8 ++++++++
vcl/source/gdi/dibtools.cxx | 4 ++--
5 files changed, 20 insertions(+), 4 deletions(-)
New commits:
commit 7707cba0bd3f1d544ead634282f8d3415af0cd5e
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Mon Jul 8 11:25:15 2019 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Mon Jul 8 12:58:51 2019 +0200
use BitmapEx in ImpSdrPdfImport::ImportImage
Change-Id: I80e197ffcda4ebc5d50e611b7a4a5c3fd84fc839
Reviewed-on: https://gerrit.libreoffice.org/75201
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/include/vcl/bitmapex.hxx b/include/vcl/bitmapex.hxx
index 71da7cb45dc8..478b9fdefea9 100644
--- a/include/vcl/bitmapex.hxx
+++ b/include/vcl/bitmapex.hxx
@@ -22,6 +22,7 @@
#include <vcl/dllapi.h>
#include <vcl/alpha.hxx>
+#include <vcl/Scanline.hxx>
#include <tools/color.hxx>
#include <sal/types.h>
@@ -47,6 +48,7 @@ public:
explicit BitmapEx( const OUString& rIconName );
BitmapEx( const BitmapEx& rBitmapEx );
BitmapEx( const BitmapEx& rBitmapEx, Point aSrc, Size aSize );
+ BitmapEx( Size aSize, sal_uInt16 nBitCount );
explicit BitmapEx( const Bitmap& rBmp );
BitmapEx( const Bitmap& rBmp, const Bitmap& rMask );
BitmapEx( const Bitmap& rBmp, const AlphaMask& rAlphaMask );
@@ -467,6 +469,12 @@ public:
private:
friend class ImpGraphic;
friend bool VCL_DLLPUBLIC WriteDIBBitmapEx(const BitmapEx& rSource, SvStream& rOStm);
+ friend void ReadRawDIB();
+ friend bool VCL_DLLPUBLIC ReadRawDIB(BitmapEx& rTarget, const unsigned char* pBuf,
+ const ScanlineFormat nFormat,
+ const int nHeight,
+ const int nStride);
+
void loadFromIconTheme( const OUString& rIconName );
Bitmap maBitmap;
diff --git a/include/vcl/dibtools.hxx b/include/vcl/dibtools.hxx
index c5fa662ebb73..6064491f8ec3 100644
--- a/include/vcl/dibtools.hxx
+++ b/include/vcl/dibtools.hxx
@@ -55,7 +55,7 @@ bool VCL_DLLPUBLIC ReadDIBV5(
SvStream& rIStm);
bool VCL_DLLPUBLIC ReadRawDIB(
- Bitmap& rTarget,
+ BitmapEx& rTarget,
const unsigned char* pBuf,
const ScanlineFormat nFormat,
const int nHeight,
diff --git a/svx/source/svdraw/svdpdf.cxx b/svx/source/svdraw/svdpdf.cxx
index 687c3e260341..552575442039 100644
--- a/svx/source/svdraw/svdpdf.cxx
+++ b/svx/source/svdraw/svdpdf.cxx
@@ -992,7 +992,7 @@ void ImpSdrPdfImport::ImportImage(FPDF_PAGEOBJECT pPageObject, int /*nPageObject
const int nWidth = FPDFBitmap_GetWidth(bitmap.get());
const int nHeight = FPDFBitmap_GetHeight(bitmap.get());
const int nStride = FPDFBitmap_GetStride(bitmap.get());
- Bitmap aBitmap(Size(nWidth, nHeight), 24);
+ BitmapEx aBitmap(Size(nWidth, nHeight), 24);
switch (format)
{
diff --git a/vcl/source/gdi/bitmapex.cxx b/vcl/source/gdi/bitmapex.cxx
index 3faaf3fd96e1..4bfbfeb5a2ff 100644
--- a/vcl/source/gdi/bitmapex.cxx
+++ b/vcl/source/gdi/bitmapex.cxx
@@ -85,6 +85,14 @@ BitmapEx::BitmapEx( const BitmapEx& rBitmapEx, Point aSrc, Size aSize )
CopyPixel( aDestRect, aSrcRect, &rBitmapEx );
}
+BitmapEx::BitmapEx( Size aSize, sal_uInt16 nBitCount )
+ : meTransparent(TransparentType::NONE)
+ , mbAlpha(false)
+{
+ maBitmap = Bitmap( aSize, nBitCount );
+ SetSizePixel(aSize);
+}
+
BitmapEx::BitmapEx( const OUString& rIconName )
: meTransparent(TransparentType::NONE)
, mbAlpha(false)
diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx
index c8f64318f0fd..965a403a0d7d 100644
--- a/vcl/source/gdi/dibtools.cxx
+++ b/vcl/source/gdi/dibtools.cxx
@@ -1839,13 +1839,13 @@ bool ReadDIBV5(
}
bool ReadRawDIB(
- Bitmap& rTarget,
+ BitmapEx& rTarget,
const unsigned char* pBuf,
const ScanlineFormat nFormat,
const int nHeight,
const int nStride)
{
- BitmapScopedWriteAccess pWriteAccess(rTarget.AcquireWriteAccess(), rTarget);
+ BitmapScopedWriteAccess pWriteAccess(rTarget.maBitmap.AcquireWriteAccess(), rTarget.maBitmap);
for (int nRow = 0; nRow < nHeight; ++nRow)
{
pWriteAccess->CopyScanline(nRow, pBuf + (nStride * nRow), nFormat, nStride);
More information about the Libreoffice-commits
mailing list