diff options
author | Dr. David Alan Gilbert <dave@treblig.org> | 2024-02-18 22:06:02 +0000 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-02-29 08:24:17 +0100 |
commit | 4a13e1890e8a0ed81e8fb17009185fa2b15ebff7 (patch) | |
tree | 501c258fff1664bc816a51767b8bbcb376a84847 /sdext/source | |
parent | ec0b9062dc8dba82509183eb865da55827bde4d5 (diff) |
tdf#113050 sdext.pdfimport: Plumb tiling pattern fill to pdfiprocessor
Change-Id: I68459834fd903d31c9b2e57d637265dd67da4f56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163565
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sdext/source')
-rw-r--r-- | sdext/source/pdfimport/inc/contentsink.hxx | 5 | ||||
-rw-r--r-- | sdext/source/pdfimport/inc/pdfiprocessor.hxx | 6 | ||||
-rw-r--r-- | sdext/source/pdfimport/tree/pdfiprocessor.cxx | 9 | ||||
-rw-r--r-- | sdext/source/pdfimport/wrapper/wrapper.cxx | 11 |
4 files changed, 27 insertions, 4 deletions
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<css::beans::PropertyValue>& xTile) = 0; }; typedef std::shared_ptr<ContentSink> 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<css::beans::PropertyValue>& 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<beans::PropertyValu } +void PDFIProcessor::tilingPatternFill(int /*nX0*/, int /*nY0*/, int /*nX1*/, int /*nY1*/, + double /*nxStep*/, double /*nyStep*/, + int /* nPaintType */, + css::geometry::AffineMatrix2D& /*rMat*/, + const css::uno::Sequence<css::beans::PropertyValue>& /*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<beans::PropertyValue> aTile ( readImageImpl() ); - (void)aTile; // Unused until later patch - // TODO - // use the parsed data + const uno::Sequence<beans::PropertyValue> aTile ( readImageImpl() ); + + m_parser.m_pSink->tilingPatternFill( nX0, nY0, nX1, nY1, + nXStep, nYStep, + nPaintType, + aMat, + aTile ); } void Parser::parseLine( std::string_view aLine ) |