diff --git a/sdext/qa/unit/pdfimport.cxx b/sdext/qa/unit/pdfimport.cxx index 377d08d351f8..18988d6845de 100644 --- a/sdext/qa/unit/pdfimport.cxx +++ b/sdext/qa/unit/pdfimport.cxx @@ -428,6 +428,14 @@ namespace { } + virtual void tilingPatternFill(int, int, int, int, + double, double, + int, + css::geometry::AffineMatrix2D&, + const css::uno::Sequence&) override + { + } + typedef std::unordered_map IdToFontMap; typedef std::unordered_map FontToIdMap; diff --git a/sdext/source/pdfimport/inc/contentsink.hxx b/sdext/source/pdfimport/inc/contentsink.hxx index 44f609c3caaa..5354e4370f14 100644 --- a/sdext/source/pdfimport/inc/contentsink.hxx +++ b/sdext/source/pdfimport/inc/contentsink.hxx @@ -171,6 +171,11 @@ namespace pdfi css::beans::PropertyValue>& xImage, const css::uno::Sequence< css::beans::PropertyValue>& xMask) = 0; + virtual void tilingPatternFill(int nX0, int nY0, int nX1, int nY1, + double nxStep, double nyStep, + int nPaintType, + css::geometry::AffineMatrix2D& rMat, + const css::uno::Sequence& xTile) = 0; }; typedef std::shared_ptr ContentSinkSharedPtr; diff --git a/sdext/source/pdfimport/inc/pdfiprocessor.hxx b/sdext/source/pdfimport/inc/pdfiprocessor.hxx index 3fdc146716b3..40cdbfdd48c9 100644 --- a/sdext/source/pdfimport/inc/pdfiprocessor.hxx +++ b/sdext/source/pdfimport/inc/pdfiprocessor.hxx @@ -150,6 +150,12 @@ namespace pdfi const css::uno::Sequence< css::beans::PropertyValue>& xMask) override; + virtual void tilingPatternFill(int nX0, int nY0, int nX1, int nY1, + double nxStep, double nyStep, + int nPaintType, + css::geometry::AffineMatrix2D& rMat, + const css::uno::Sequence& xTile) override; + void startIndicator( const OUString& rText ); void endIndicator(); diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx index 44485f4c2525..cf65223f167a 100644 --- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx +++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx @@ -383,6 +383,15 @@ void PDFIProcessor::drawAlphaMaskedImage(const uno::Sequence& /*xTile*/) +{ + // TODO +} + void PDFIProcessor::strokePath( const uno::Reference< rendering::XPolyPolygon2D >& rPath ) { basegfx::B2DPolyPolygon aPoly=basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(rPath); diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx index 6094bfabcbbc..d99103b9867a 100644 --- a/sdext/source/pdfimport/wrapper/wrapper.cxx +++ b/sdext/source/pdfimport/wrapper/wrapper.cxx @@ -838,10 +838,13 @@ void LineParser::readTilingPatternFill() readDouble(aMat.m12); // The tile is an image with alpha - [[maybe_unused]]const uno::Sequence aTile ( readImageImpl() ); - (void)aTile; // Unused until later patch - // TODO - // use the parsed data + const uno::Sequence aTile ( readImageImpl() ); + + m_parser.m_pSink->tilingPatternFill( nX0, nY0, nX1, nY1, + nXStep, nYStep, + nPaintType, + aMat, + aTile ); } void Parser::parseLine( std::string_view aLine )