tdf#148526 sdext,pdfimport: rendering::PathJoinType to B2DLineJoin
Pdfimport is one of the few none render pieces of code to use css::rendering::PathJoinType, switch to using basegfx::B2DLineJoin instead. Use that type consistently instead of throwing in sal_Int8's with it. Change-Id: Ie1384a06558925c796ce6c83b458b4c150bcecc7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172925 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
This commit is contained in:
parent
53d5b3119f
commit
84cc3180c8
6 changed files with 19 additions and 16 deletions
|
@ -170,7 +170,7 @@ namespace
|
||||||
getCurrentContext().Flatness = nFlatness;
|
getCurrentContext().Flatness = nFlatness;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void setLineJoin(sal_Int8 nJoin) override
|
virtual void setLineJoin(basegfx::B2DLineJoin nJoin) override
|
||||||
{
|
{
|
||||||
getCurrentContext().LineJoin = nJoin;
|
getCurrentContext().LineJoin = nJoin;
|
||||||
}
|
}
|
||||||
|
@ -261,7 +261,7 @@ namespace
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE( "Blend mode is normal",
|
CPPUNIT_ASSERT_EQUAL_MESSAGE( "Blend mode is normal",
|
||||||
rendering::BlendMode::NORMAL, rContext.BlendMode );
|
rendering::BlendMode::NORMAL, rContext.BlendMode );
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE( "Join type is round",
|
CPPUNIT_ASSERT_EQUAL_MESSAGE( "Join type is round",
|
||||||
rendering::PathJoinType::ROUND, rContext.LineJoin );
|
basegfx::B2DLineJoin::Round, rContext.LineJoin );
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE( "Cap type is butt",
|
CPPUNIT_ASSERT_EQUAL_MESSAGE( "Cap type is butt",
|
||||||
rendering::PathCapType::BUTT, rContext.LineCap );
|
rendering::PathCapType::BUTT, rContext.LineCap );
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE( "Line miter limit is 10",
|
CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE( "Line miter limit is 10",
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#ifndef INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_CONTENTSINK_HXX
|
#ifndef INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_CONTENTSINK_HXX
|
||||||
#define INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_CONTENTSINK_HXX
|
#define INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_CONTENTSINK_HXX
|
||||||
|
|
||||||
|
#include <basegfx/vector/b2enums.hxx>
|
||||||
#include <com/sun/star/uno/Reference.hxx>
|
#include <com/sun/star/uno/Reference.hxx>
|
||||||
#include <com/sun/star/uno/Sequence.hxx>
|
#include <com/sun/star/uno/Sequence.hxx>
|
||||||
#include <com/sun/star/rendering/ARGBColor.hpp>
|
#include <com/sun/star/rendering/ARGBColor.hpp>
|
||||||
|
@ -117,7 +118,7 @@ namespace pdfi
|
||||||
virtual void setTransformation( const css::geometry::AffineMatrix2D& rMatrix ) = 0;
|
virtual void setTransformation( const css::geometry::AffineMatrix2D& rMatrix ) = 0;
|
||||||
virtual void setLineDash( const css::uno::Sequence<double>& dashes,
|
virtual void setLineDash( const css::uno::Sequence<double>& dashes,
|
||||||
double start ) = 0;
|
double start ) = 0;
|
||||||
virtual void setLineJoin( sal_Int8 lineJoin ) = 0;
|
virtual void setLineJoin( basegfx::B2DLineJoin lineJoin ) = 0;
|
||||||
virtual void setLineCap( sal_Int8 lineCap ) = 0;
|
virtual void setLineCap( sal_Int8 lineCap ) = 0;
|
||||||
virtual void setMiterLimit(double) = 0;
|
virtual void setMiterLimit(double) = 0;
|
||||||
virtual void setLineWidth(double) = 0;
|
virtual void setLineWidth(double) = 0;
|
||||||
|
|
|
@ -27,8 +27,8 @@
|
||||||
#include <basegfx/matrix/b2dhommatrix.hxx>
|
#include <basegfx/matrix/b2dhommatrix.hxx>
|
||||||
#include <basegfx/polygon/b2dpolypolygon.hxx>
|
#include <basegfx/polygon/b2dpolypolygon.hxx>
|
||||||
#include <basegfx/polygon/b2dpolygon.hxx>
|
#include <basegfx/polygon/b2dpolygon.hxx>
|
||||||
|
#include <basegfx/vector/b2enums.hxx>
|
||||||
#include <com/sun/star/rendering/PathCapType.hpp>
|
#include <com/sun/star/rendering/PathCapType.hpp>
|
||||||
#include <com/sun/star/rendering/PathJoinType.hpp>
|
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
@ -98,7 +98,7 @@ namespace pdfi
|
||||||
{
|
{
|
||||||
css::rendering::ARGBColor LineColor;
|
css::rendering::ARGBColor LineColor;
|
||||||
css::rendering::ARGBColor FillColor;
|
css::rendering::ARGBColor FillColor;
|
||||||
sal_Int8 LineJoin;
|
basegfx::B2DLineJoin LineJoin;
|
||||||
sal_Int8 LineCap;
|
sal_Int8 LineCap;
|
||||||
sal_Int8 BlendMode;
|
sal_Int8 BlendMode;
|
||||||
double Flatness;
|
double Flatness;
|
||||||
|
@ -113,7 +113,7 @@ namespace pdfi
|
||||||
GraphicsContext() :
|
GraphicsContext() :
|
||||||
LineColor(),
|
LineColor(),
|
||||||
FillColor(),
|
FillColor(),
|
||||||
LineJoin(0),
|
LineJoin(basegfx::B2DLineJoin::NONE),
|
||||||
LineCap(0),
|
LineCap(0),
|
||||||
BlendMode(0),
|
BlendMode(0),
|
||||||
Flatness(0.0),
|
Flatness(0.0),
|
||||||
|
@ -154,11 +154,11 @@ namespace pdfi
|
||||||
switch (LineJoin)
|
switch (LineJoin)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case css::rendering::PathJoinType::MITER:
|
case basegfx::B2DLineJoin::Miter:
|
||||||
return u"miter"_ustr;
|
return u"miter"_ustr;
|
||||||
case css::rendering::PathJoinType::ROUND:
|
case basegfx::B2DLineJoin::Round:
|
||||||
return u"round"_ustr;
|
return u"round"_ustr;
|
||||||
case css::rendering::PathJoinType::BEVEL:
|
case basegfx::B2DLineJoin::Bevel:
|
||||||
return u"bevel"_ustr;
|
return u"bevel"_ustr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#ifndef INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_PDFIPROCESSOR_HXX
|
#ifndef INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_PDFIPROCESSOR_HXX
|
||||||
#define INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_PDFIPROCESSOR_HXX
|
#define INCLUDED_SDEXT_SOURCE_PDFIMPORT_INC_PDFIPROCESSOR_HXX
|
||||||
|
|
||||||
|
#include <com/sun/star/drawing/LineJoint.hpp>
|
||||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||||
#include <com/sun/star/task/XStatusIndicator.hpp>
|
#include <com/sun/star/task/XStatusIndicator.hpp>
|
||||||
#include <com/sun/star/geometry/RealSize2D.hpp>
|
#include <com/sun/star/geometry/RealSize2D.hpp>
|
||||||
|
@ -100,7 +101,7 @@ namespace pdfi
|
||||||
virtual void setTransformation( const css::geometry::AffineMatrix2D& rMatrix ) override;
|
virtual void setTransformation( const css::geometry::AffineMatrix2D& rMatrix ) override;
|
||||||
virtual void setLineDash( const css::uno::Sequence<double>& dashes,
|
virtual void setLineDash( const css::uno::Sequence<double>& dashes,
|
||||||
double start ) override;
|
double start ) override;
|
||||||
virtual void setLineJoin(sal_Int8) override;
|
virtual void setLineJoin(basegfx::B2DLineJoin) override;
|
||||||
virtual void setLineCap(sal_Int8) override;
|
virtual void setLineCap(sal_Int8) override;
|
||||||
virtual void setMiterLimit(double) override;
|
virtual void setMiterLimit(double) override;
|
||||||
virtual void setLineWidth(double) override;
|
virtual void setLineWidth(double) override;
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <basegfx/polygon/b2dpolygontools.hxx>
|
#include <basegfx/polygon/b2dpolygontools.hxx>
|
||||||
#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
|
#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
|
||||||
#include <basegfx/utils/canvastools.hxx>
|
#include <basegfx/utils/canvastools.hxx>
|
||||||
|
#include <basegfx/vector/b2enums.hxx>
|
||||||
#include <basegfx/matrix/b2dhommatrix.hxx>
|
#include <basegfx/matrix/b2dhommatrix.hxx>
|
||||||
#include <i18nutil/unicode.hxx>
|
#include <i18nutil/unicode.hxx>
|
||||||
#include <o3tl/string_view.hxx>
|
#include <o3tl/string_view.hxx>
|
||||||
|
@ -114,7 +115,7 @@ void PDFIProcessor::setLineDash( const uno::Sequence<double>& dashes,
|
||||||
comphelper::sequenceToContainer(rContext.DashArray,dashes);
|
comphelper::sequenceToContainer(rContext.DashArray,dashes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFIProcessor::setLineJoin(sal_Int8 nJoin)
|
void PDFIProcessor::setLineJoin(basegfx::B2DLineJoin nJoin)
|
||||||
{
|
{
|
||||||
getCurrentContext().LineJoin = nJoin;
|
getCurrentContext().LineJoin = nJoin;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include <com/sun/star/io/XInputStream.hpp>
|
#include <com/sun/star/io/XInputStream.hpp>
|
||||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||||
#include <com/sun/star/rendering/PathCapType.hpp>
|
#include <com/sun/star/rendering/PathCapType.hpp>
|
||||||
#include <com/sun/star/rendering/PathJoinType.hpp>
|
|
||||||
#include <com/sun/star/rendering/XPolyPolygon2D.hpp>
|
#include <com/sun/star/rendering/XPolyPolygon2D.hpp>
|
||||||
#include <com/sun/star/geometry/Matrix2D.hpp>
|
#include <com/sun/star/geometry/Matrix2D.hpp>
|
||||||
#include <com/sun/star/geometry/AffineMatrix2D.hpp>
|
#include <com/sun/star/geometry/AffineMatrix2D.hpp>
|
||||||
|
@ -52,6 +51,7 @@
|
||||||
#include <basegfx/polygon/b2dpolypolygon.hxx>
|
#include <basegfx/polygon/b2dpolypolygon.hxx>
|
||||||
#include <basegfx/polygon/b2dpolygon.hxx>
|
#include <basegfx/polygon/b2dpolygon.hxx>
|
||||||
#include <basegfx/utils/unopolypolygon.hxx>
|
#include <basegfx/utils/unopolypolygon.hxx>
|
||||||
|
#include <basegfx/vector/b2enums.hxx>
|
||||||
|
|
||||||
#include <vcl/metric.hxx>
|
#include <vcl/metric.hxx>
|
||||||
#include <vcl/font.hxx>
|
#include <vcl/font.hxx>
|
||||||
|
@ -431,13 +431,13 @@ void LineParser::readLineDash()
|
||||||
|
|
||||||
void LineParser::readLineJoin()
|
void LineParser::readLineJoin()
|
||||||
{
|
{
|
||||||
sal_Int8 nJoin(rendering::PathJoinType::MITER);
|
basegfx::B2DLineJoin nJoin(basegfx::B2DLineJoin::Miter);
|
||||||
switch( readInt32() )
|
switch( readInt32() )
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case 0: nJoin = rendering::PathJoinType::MITER; break;
|
case 0: nJoin = basegfx::B2DLineJoin::Miter; break;
|
||||||
case 1: nJoin = rendering::PathJoinType::ROUND; break;
|
case 1: nJoin = basegfx::B2DLineJoin::Round; break;
|
||||||
case 2: nJoin = rendering::PathJoinType::BEVEL; break;
|
case 2: nJoin = basegfx::B2DLineJoin::Bevel; break;
|
||||||
}
|
}
|
||||||
m_parser.m_pSink->setLineJoin(nJoin);
|
m_parser.m_pSink->setLineJoin(nJoin);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue