include/vcl/filter/PDFiumLibrary.hxx |    4 +++-
 vcl/source/filter/ipdf/pdfread.cxx   |    4 ++--
 vcl/source/pdf/PDFiumLibrary.cxx     |    7 +++++++
 3 files changed, 12 insertions(+), 3 deletions(-)

New commits:
commit 49a39d1abccc61b6dace3e92059ae50a6a2c298d
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Wed Oct 28 08:37:32 2020 +0100
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Wed Oct 28 10:55:45 2020 +0100

    pdfium: add an FPDF_RenderPageBitmap() wrapper
    
    Change-Id: I2238aeb4b2f7483440ded2600a328436f861f178
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104917
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    Tested-by: Jenkins

diff --git a/include/vcl/filter/PDFiumLibrary.hxx 
b/include/vcl/filter/PDFiumLibrary.hxx
index 43cbdb2f9a12..84cfccae2aa2 100644
--- a/include/vcl/filter/PDFiumLibrary.hxx
+++ b/include/vcl/filter/PDFiumLibrary.hxx
@@ -62,6 +62,8 @@ public:
     std::unique_ptr<PDFiumBitmap> createBitmap(int nWidth, int nHeight, int 
nAlpha);
 };
 
+class PDFiumPage;
+
 class VCL_DLLPUBLIC PDFiumBitmap final
 {
 private:
@@ -75,6 +77,7 @@ public:
     ~PDFiumBitmap();
     FPDF_BITMAP getPointer() { return mpBitmap; }
     void fillRect(int left, int top, int width, int height, sal_uInt32 nColor);
+    void renderPageBitmap(PDFiumPage* pPage, int nStartX, int nStartY, int 
nSizeX, int nSizeY);
 };
 
 class VCL_DLLPUBLIC PDFiumAnnotation final
@@ -109,7 +112,6 @@ public:
     std::vector<basegfx::B2DPoint> getLineGeometry();
 };
 
-class PDFiumPage;
 class PDFiumTextPage;
 
 class VCL_DLLPUBLIC PDFiumPathSegment final
diff --git a/vcl/source/filter/ipdf/pdfread.cxx 
b/vcl/source/filter/ipdf/pdfread.cxx
index 3e0207e86bd5..c027acb38777 100644
--- a/vcl/source/filter/ipdf/pdfread.cxx
+++ b/vcl/source/filter/ipdf/pdfread.cxx
@@ -180,8 +180,8 @@ size_t RenderPDFBitmaps(const void* pBuffer, int nSize, 
std::vector<BitmapEx>& r
         }
         const sal_uInt32 nColor = bTransparent ? 0x00000000 : 0xFFFFFFFF;
         pPdfBitmap->fillRect(0, 0, nPageWidth, nPageHeight, nColor);
-        FPDF_RenderPageBitmap(pPdfBitmap->getPointer(), 
pPdfPage->getPointer(), /*start_x=*/0,
-                              /*start_y=*/0, nPageWidth, nPageHeight, 
/*rotate=*/0, /*flags=*/0);
+        pPdfBitmap->renderPageBitmap(pPdfPage.get(), /*start_x=*/0,
+                                     /*start_y=*/0, nPageWidth, nPageHeight);
 
         // Save the buffer as a bitmap.
         Bitmap aBitmap(Size(nPageWidth, nPageHeight), 24);
diff --git a/vcl/source/pdf/PDFiumLibrary.cxx b/vcl/source/pdf/PDFiumLibrary.cxx
index 607ad7ab9d2c..c3deee13d889 100644
--- a/vcl/source/pdf/PDFiumLibrary.cxx
+++ b/vcl/source/pdf/PDFiumLibrary.cxx
@@ -503,6 +503,13 @@ void PDFiumBitmap::fillRect(int left, int top, int width, 
int height, sal_uInt32
     FPDFBitmap_FillRect(mpBitmap, left, top, width, height, nColor);
 }
 
+void PDFiumBitmap::renderPageBitmap(PDFiumPage* pPage, int nStartX, int 
nStartY, int nSizeX,
+                                    int nSizeY)
+{
+    FPDF_RenderPageBitmap(mpBitmap, pPage->getPointer(), nStartX, nStartY, 
nSizeX, nSizeY,
+                          /*rotate=*/0, /*flags=*/0);
+}
+
 PDFiumAnnotation::PDFiumAnnotation(FPDF_ANNOTATION pAnnotation)
     : mpAnnotation(pAnnotation)
 {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to