include/vcl/pdfread.hxx | 18 ++++++++++++++++-- sd/source/filter/pdf/sdpdffilter.cxx | 8 ++++---- vcl/source/filter/ipdf/pdfread.cxx | 2 +- 3 files changed, 21 insertions(+), 7 deletions(-)
New commits: commit 03f0ea92bc381ef5a8df7de1ae9edf4aed45a3b2 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Mon Jun 15 14:07:04 2020 +0200 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Sat Jun 20 14:24:01 2020 +0200 vcl: add PDFGraphicResult instead of std::pair in ImportPDFUnloaded ImportPDFUnloaded returned graphics as a vector of std::pair with Graphic and Size. Instead, use a new struct PDFGraphicResult, so it can be extended in the future. Change-Id: Idda00a3b98a8efcbd9b8c8d0ee3982becfdc1d7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96755 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/include/vcl/pdfread.hxx b/include/vcl/pdfread.hxx index ba0eb1ca85be..a65d230279b9 100644 --- a/include/vcl/pdfread.hxx +++ b/include/vcl/pdfread.hxx @@ -13,13 +13,13 @@ #include <vector> #include <tools/gen.hxx> #include <tools/stream.hxx> +#include <vcl/graph.hxx> namespace com::sun::star::uno { template <typename> class Sequence; } class Bitmap; -class Graphic; namespace vcl { @@ -31,10 +31,24 @@ VCL_DLLPUBLIC size_t RenderPDFBitmaps(const void* pBuffer, int nSize, std::vecto /// Imports a PDF stream into rGraphic as VectorGraphicData. VCL_DLLPUBLIC bool ImportPDF(SvStream& rStream, Graphic& rGraphic); +struct PDFGraphicResult +{ + Graphic maGraphic; + + // Size in HMM + Size maSize; + + PDFGraphicResult(Graphic const& rGraphic, Size const& rSize) + : maGraphic(rGraphic) + , maSize(rSize) + { + } +}; + /// Import PDF as Graphic images (1 per page), but not loaded yet. /// Returns the number of pages read. VCL_DLLPUBLIC size_t ImportPDFUnloaded(const OUString& rURL, - std::vector<std::pair<Graphic, Size>>& rGraphics); + std::vector<PDFGraphicResult>& rGraphics); } #endif // INCLUDED_VCL_SOURCE_FILTER_IPDF_PDFREAD_HXX diff --git a/sd/source/filter/pdf/sdpdffilter.cxx b/sd/source/filter/pdf/sdpdffilter.cxx index 55d21f4057b8..2b09bc9e828e 100644 --- a/sd/source/filter/pdf/sdpdffilter.cxx +++ b/sd/source/filter/pdf/sdpdffilter.cxx @@ -41,7 +41,7 @@ bool SdPdfFilter::Import() const OUString aFileName( mrMedium.GetURLObject().GetMainURL(INetURLObject::DecodeMechanism::NONE)); - std::vector<std::pair<Graphic, Size>> aGraphics; + std::vector<vcl::PDFGraphicResult> aGraphics; if (vcl::ImportPDFUnloaded(aFileName, aGraphics) == 0) return false; @@ -52,10 +52,10 @@ bool SdPdfFilter::Import() mrDocument.DuplicatePage(0); } - for (const std::pair<Graphic, Size>& aPair : aGraphics) + for (vcl::PDFGraphicResult const& rPDFGraphicResult : aGraphics) { - const Graphic& rGraphic = aPair.first; - const Size& aSizeHMM = aPair.second; + const Graphic& rGraphic = rPDFGraphicResult.maGraphic; + const Size& aSizeHMM = rPDFGraphicResult.maSize; const sal_Int32 nPageNumber = rGraphic.getPageNumber(); assert(nPageNumber >= 0 && o3tl::make_unsigned(nPageNumber) < aGraphics.size()); diff --git a/vcl/source/filter/ipdf/pdfread.cxx b/vcl/source/filter/ipdf/pdfread.cxx index 10caf1a975f5..9845c6c387c4 100644 --- a/vcl/source/filter/ipdf/pdfread.cxx +++ b/vcl/source/filter/ipdf/pdfread.cxx @@ -224,7 +224,7 @@ bool ImportPDF(SvStream& rStream, Graphic& rGraphic) return true; } -size_t ImportPDFUnloaded(const OUString& rURL, std::vector<std::pair<Graphic, Size>>& rGraphics) +size_t ImportPDFUnloaded(const OUString& rURL, std::vector<PDFGraphicResult>& rGraphics) { #if HAVE_FEATURE_PDFIUM std::unique_ptr<SvStream> xStream( _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits