summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2020-10-14 21:02:45 +0200
committerMiklos Vajna <vmiklos@collabora.com>2020-10-15 09:21:06 +0200
commit807669774a87b9d5a69eededbaf26962205f9ff8 (patch)
tree473426e5e04687543f54debe83990e078fc33ae2 /svx/source
parentce98648b85169fa0fb8b5d2de179b280a682bde0 (diff)
pdfium: add an FPDFImageObj_GetBitmap() wrapper
Replaces both FPDFBitmapDeleter and most manual calls to FPDFBitmap_Destroy(). Change-Id: I4676dd2f51b6b348ebbb6edc0379d7afd8fa79d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104324 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/svdraw/svdpdf.cxx18
1 files changed, 6 insertions, 12 deletions
diff --git a/svx/source/svdraw/svdpdf.cxx b/svx/source/svdraw/svdpdf.cxx
index 5c34b510301f..97c59fd94ae8 100644
--- a/svx/source/svdraw/svdpdf.cxx
+++ b/svx/source/svdraw/svdpdf.cxx
@@ -81,11 +81,6 @@
namespace
{
double sqrt2(double a, double b) { return sqrt(a * a + b * b); }
-
-struct FPDFBitmapDeleter
-{
- void operator()(FPDF_BITMAP bitmap) { FPDFBitmap_Destroy(bitmap); }
-};
}
using namespace com::sun::star;
@@ -882,15 +877,14 @@ void ImpSdrPdfImport::MapScaling()
void ImpSdrPdfImport::ImportImage(std::unique_ptr<vcl::pdf::PDFiumPageObject> const& pPageObject,
int /*nPageObjectIndex*/)
{
- std::unique_ptr<std::remove_pointer<FPDF_BITMAP>::type, FPDFBitmapDeleter> bitmap(
- FPDFImageObj_GetBitmap(pPageObject->getPointer()));
+ std::unique_ptr<vcl::pdf::PDFiumBitmap> bitmap = pPageObject->getImageBitmap();
if (!bitmap)
{
SAL_WARN("sd.filter", "Failed to get IMAGE");
return;
}
- const int format = FPDFBitmap_GetFormat(bitmap.get());
+ const int format = FPDFBitmap_GetFormat(bitmap->getPointer());
if (format == FPDFBitmap_Unknown)
{
SAL_WARN("sd.filter", "Failed to get IMAGE format");
@@ -898,10 +892,10 @@ void ImpSdrPdfImport::ImportImage(std::unique_ptr<vcl::pdf::PDFiumPageObject> co
}
const unsigned char* pBuf
- = static_cast<const unsigned char*>(FPDFBitmap_GetBuffer(bitmap.get()));
- const int nWidth = FPDFBitmap_GetWidth(bitmap.get());
- const int nHeight = FPDFBitmap_GetHeight(bitmap.get());
- const int nStride = FPDFBitmap_GetStride(bitmap.get());
+ = static_cast<const unsigned char*>(FPDFBitmap_GetBuffer(bitmap->getPointer()));
+ const int nWidth = FPDFBitmap_GetWidth(bitmap->getPointer());
+ const int nHeight = FPDFBitmap_GetHeight(bitmap->getPointer());
+ const int nStride = FPDFBitmap_GetStride(bitmap->getPointer());
BitmapEx aBitmap(Size(nWidth, nHeight), 24);
switch (format)