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>
This commit is contained in:
Dr. David Alan Gilbert
2024-02-29 08:24:17 +01:00
committed by Noel Grandin
parent ec0b9062dc
commit 4a13e1890e
5 changed files with 35 additions and 4 deletions
+8
View File
@@ -428,6 +428,14 @@ namespace
{
}
virtual void tilingPatternFill(int, int, int, int,
double, double,
int,
css::geometry::AffineMatrix2D&,
const css::uno::Sequence<css::beans::PropertyValue>&) override
{
}
typedef std::unordered_map<sal_Int32,FontAttributes> IdToFontMap;
typedef std::unordered_map<FontAttributes,sal_Int32,FontAttrHash> FontToIdMap;
@@ -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;
@@ -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();
@@ -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);
+7 -4
View File
@@ -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 )