[Libreoffice-commits] core.git: Branch 'feature/drawinglayercore2' - drawinglayer/qa drawinglayer/source include/drawinglayer sc/source sfx2/source svgio/source svx/source sw/source
Tomaž Vajngerl (via logerrit)
logerrit at kemper.freedesktop.org
Sat Jul 31 04:46:31 UTC 2021
Rebased ref, commits from common ancestor:
commit acd7a57c335a0230c21d6c2bafaf69b3ee32a653
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Tue Feb 23 13:23:32 2021 +0900
Commit: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
CommitDate: Sat Jul 31 13:45:38 2021 +0900
drawinglayer: make VisitingParameters constructor explicit
This discovers a bunch of cases where previously the
ViewInformation was implicitly converted into a VisitingParameter.
Change-Id: Ice233e9d3c9d12c5da284e190281a1d94059f49f
diff --git a/drawinglayer/qa/unit/border.cxx b/drawinglayer/qa/unit/border.cxx
index a3f7029b7350..801912f75825 100644
--- a/drawinglayer/qa/unit/border.cxx
+++ b/drawinglayer/qa/unit/border.cxx
@@ -66,9 +66,10 @@ CPPUNIT_TEST_FIXTURE(DrawinglayerBorderTest, testDoubleDecompositionSolid)
aStrokeAttribute));
// Decompose it into polygons.
- drawinglayer::geometry::ViewInformation2D aView;
+ const drawinglayer::geometry::ViewInformation2D aView;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aView);
drawinglayer::primitive2d::Primitive2DContainer aContainer;
- aBorder->get2DDecomposition(aContainer, aView);
+ aBorder->get2DDecomposition(aContainer, aVisitingParameters);
// Make sure it results in two borders as it's a double one.
CPPUNIT_ASSERT_EQUAL(static_cast<std::size_t>(2), aContainer.size());
@@ -91,8 +92,9 @@ CPPUNIT_TEST_FIXTURE(DrawinglayerBorderTest, testDoublePixelProcessing)
// Create a pixel processor.
ScopedVclPtrInstance<VirtualDevice> pDev;
drawinglayer::geometry::ViewInformation2D aView;
- std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
- drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(*pDev, aView));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aView);
+ auto pProcessor = drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
+ *pDev, aVisitingParameters);
CPPUNIT_ASSERT(pProcessor);
GDIMetaFile aMetaFile;
// Start recording after the processor is created, so we can test the pixel processor.
diff --git a/drawinglayer/source/drawinglayeruno/xprimitive2drenderer.cxx b/drawinglayer/source/drawinglayeruno/xprimitive2drenderer.cxx
index 98ca81433f12..59c934b88d17 100644
--- a/drawinglayer/source/drawinglayeruno/xprimitive2drenderer.cxx
+++ b/drawinglayer/source/drawinglayeruno/xprimitive2drenderer.cxx
@@ -118,6 +118,7 @@ namespace drawinglayer::unorenderer
}
const auto aViewInformation2D = geometry::createViewInformation2D(aViewInformationSequence);
+ primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
const sal_uInt32 nDiscreteWidth(basegfx::fround(o3tl::convert(fWidth, eRangeUnit, o3tl::Length::in) * DPI_X));
const sal_uInt32 nDiscreteHeight(basegfx::fround(o3tl::convert(fHeight, eRangeUnit, o3tl::Length::in) * DPI_Y));
@@ -139,7 +140,7 @@ namespace drawinglayer::unorenderer
BitmapEx aBitmapEx(
convertToBitmapEx(
xEmbedSeq,
- aViewInformation2D,
+ aVisitingParameters,
nDiscreteWidth,
nDiscreteHeight,
MaximumQuadraticPixels));
diff --git a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
index 42559bfd4390..0cfa014bb13e 100644
--- a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
@@ -100,17 +100,19 @@ namespace drawinglayer::primitive2d
// see if buffering is wanted. If so, create buffered content in given resolution
if(0 != mnDiscreteWidth && 0 != mnDiscreteHeight)
{
- const geometry::ViewInformation2D aViewInformation2D;
const primitive2d::Primitive2DReference xEmbedRef(
new primitive2d::TransformPrimitive2D(
basegfx::utils::createScaleB2DHomMatrix(mnDiscreteWidth, mnDiscreteHeight),
getChildren()));
const primitive2d::Primitive2DContainer xEmbedSeq { xEmbedRef };
+ const geometry::ViewInformation2D aViewInformation2D;
+ primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+
const BitmapEx aBitmapEx(
convertToBitmapEx(
xEmbedSeq,
- aViewInformation2D,
+ aVisitingParameters,
mnDiscreteWidth,
mnDiscreteHeight,
mnDiscreteWidth * mnDiscreteHeight));
diff --git a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
index cbe3ecf81bfe..514a2f5da880 100644
--- a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
@@ -84,7 +84,7 @@ namespace drawinglayer::primitive2d
// I will take the last one here. The small overhead of two primitives will only be
// used when UnifiedTransparencePrimitive2D is not handled directly.
- const basegfx::B2DRange aPolygonRange(getChildren().getB2DRange(rParameters.getViewInformation()));
+ const basegfx::B2DRange aPolygonRange(getChildren().getB2DRange(rParameters));
const basegfx::B2DPolygon aPolygon(basegfx::utils::createPolygonFromRect(aPolygonRange));
const basegfx::BColor aGray(getTransparence(), getTransparence(), getTransparence());
Primitive2DContainer aTransparenceContent(2);
diff --git a/drawinglayer/source/processor2d/baseprocessor2d.cxx b/drawinglayer/source/processor2d/baseprocessor2d.cxx
index a7b079016747..8fc8223a6046 100644
--- a/drawinglayer/source/processor2d/baseprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/baseprocessor2d.cxx
@@ -30,8 +30,8 @@ namespace drawinglayer::processor2d
{
}
- BaseProcessor2D::BaseProcessor2D(const geometry::ViewInformation2D& rViewInformation)
- : maViewInformation2D(rViewInformation)
+ BaseProcessor2D::BaseProcessor2D(primitive2d::VisitingParameters const & rVisitingParameters)
+ : maVisitingParameters(rVisitingParameters)
{
}
@@ -42,7 +42,7 @@ namespace drawinglayer::processor2d
void BaseProcessor2D::process(const primitive2d::BasePrimitive2D& rCandidate)
{
primitive2d::Primitive2DContainer aContainer;
- rCandidate.get2DDecomposition(aContainer, getViewInformation2D());
+ rCandidate.get2DDecomposition(aContainer, maVisitingParameters);
process(aContainer);
}
@@ -71,8 +71,8 @@ namespace drawinglayer::processor2d
else
{
// unknown implementation, use UNO API call instead and process recursively
- auto aViewParameters = geometry::createPropertyValues(getViewInformation2D());
- process(comphelper::sequenceToContainer<primitive2d::Primitive2DContainer>(xReference->getDecomposition(aViewParameters)));
+ auto aViewParametersProperties = geometry::createPropertyValues(maVisitingParameters.getViewInformation());
+ process(comphelper::sequenceToContainer<primitive2d::Primitive2DContainer>(xReference->getDecomposition(aViewParametersProperties)));
}
}
}
diff --git a/drawinglayer/source/processor2d/contourextractor2d.cxx b/drawinglayer/source/processor2d/contourextractor2d.cxx
index 96250f59fa17..ab75b27e247b 100644
--- a/drawinglayer/source/processor2d/contourextractor2d.cxx
+++ b/drawinglayer/source/processor2d/contourextractor2d.cxx
@@ -36,9 +36,9 @@ using namespace com::sun::star;
namespace drawinglayer::processor2d
{
ContourExtractor2D::ContourExtractor2D(
- const geometry::ViewInformation2D& rViewInformation,
+ primitive2d::VisitingParameters const& rVisitingParameters,
bool bExtractFillOnly)
- : BaseProcessor2D(rViewInformation),
+ : BaseProcessor2D(rVisitingParameters),
maExtractedContour(),
mbExtractFillOnly(bExtractFillOnly)
{
@@ -121,7 +121,7 @@ namespace drawinglayer::processor2d
{
// remember current ViewInformation2D
const primitive2d::TransformPrimitive2D& rTransformCandidate(static_cast< const primitive2d::TransformPrimitive2D& >(rCandidate));
- const geometry::ViewInformation2D aLastViewInformation2D(getViewInformation2D());
+ primitive2d::VisitingParameters aLastVisitingParameters(maVisitingParameters);
// create new local ViewInformation2D
const geometry::ViewInformation2D aViewInformation2D(
@@ -130,13 +130,15 @@ namespace drawinglayer::processor2d
getViewInformation2D().getViewport(),
getViewInformation2D().getVisualizedPage(),
getViewInformation2D().getViewTime());
- updateViewInformation(aViewInformation2D);
+
+ primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ updateVisitingParameters(aVisitingParameters);
// process content
process(rTransformCandidate.getChildren());
// restore transformations
- updateViewInformation(aLastViewInformation2D);
+ updateVisitingParameters(aLastVisitingParameters);
break;
}
@@ -172,7 +174,7 @@ namespace drawinglayer::processor2d
case PRIMITIVE2D_ID_TEXTDECORATEDPORTIONPRIMITIVE2D :
{
// primitives who's BoundRect will be added in world coordinates
- basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aRange(rCandidate.getB2DRange(maVisitingParameters));
if (!aRange.isEmpty())
{
aRange.transform(getViewInformation2D().getObjectTransformation());
diff --git a/drawinglayer/source/processor2d/hittestprocessor2d.cxx b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
index 8e5dc31242e4..b76c55c86aa9 100644
--- a/drawinglayer/source/processor2d/hittestprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
@@ -37,11 +37,11 @@
namespace drawinglayer::processor2d
{
- HitTestProcessor2D::HitTestProcessor2D(const geometry::ViewInformation2D& rViewInformation,
+ HitTestProcessor2D::HitTestProcessor2D(primitive2d::VisitingParameters const& rVisitingParameters,
const basegfx::B2DPoint& rLogicHitPosition,
double fLogicHitTolerance,
bool bHitTextOnly)
- : BaseProcessor2D(rViewInformation),
+ : BaseProcessor2D(rVisitingParameters),
maDiscreteHitPosition(),
mfDiscreteHitTolerance(0.0),
maHitStack(),
@@ -230,7 +230,7 @@ namespace drawinglayer::processor2d
{
// remember current ViewInformation2D
const primitive2d::TransformPrimitive2D& rTransformCandidate(static_cast< const primitive2d::TransformPrimitive2D& >(rCandidate));
- const geometry::ViewInformation2D aLastViewInformation2D(getViewInformation2D());
+ primitive2d::VisitingParameters aLastVisitingParameters(maVisitingParameters);
// create new local ViewInformation2D containing transformation
const geometry::ViewInformation2D aViewInformation2D(
@@ -239,13 +239,14 @@ namespace drawinglayer::processor2d
getViewInformation2D().getViewport(),
getViewInformation2D().getVisualizedPage(),
getViewInformation2D().getViewTime());
- updateViewInformation(aViewInformation2D);
+ primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ updateVisitingParameters(aVisitingParameters);
// process child content recursively
process(rTransformCandidate.getChildren());
// restore transformations
- updateViewInformation(aLastViewInformation2D);
+ updateVisitingParameters(aLastVisitingParameters);
break;
}
@@ -410,7 +411,7 @@ namespace drawinglayer::processor2d
case PRIMITIVE2D_ID_TEXTDECORATEDPORTIONPRIMITIVE2D :
{
// for text use the BoundRect of the primitive itself
- const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
+ const basegfx::B2DRange aRange(rCandidate.getB2DRange(maVisitingParameters));
if(!aRange.isEmpty())
{
@@ -427,7 +428,7 @@ namespace drawinglayer::processor2d
// The recently added BitmapEx::GetTransparency() makes it easy to extend
// the BitmapPrimitive2D HitTest to take the contained BitmapEx and it's
// transparency into account
- const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
+ const basegfx::B2DRange aRange(rCandidate.getB2DRange(maVisitingParameters));
if(!aRange.isEmpty())
{
@@ -481,7 +482,7 @@ namespace drawinglayer::processor2d
// This may be refined in the future, e.g:
// - For Bitmaps, the mask and/or transparence information may be used
// - For MetaFiles, the MetaFile content may be used
- const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
+ const basegfx::B2DRange aRange(rCandidate.getB2DRange(maVisitingParameters));
if(!aRange.isEmpty())
{
diff --git a/drawinglayer/source/processor2d/linegeometryextractor2d.cxx b/drawinglayer/source/processor2d/linegeometryextractor2d.cxx
index 9b7c9b62e90a..5b2de421c2cb 100644
--- a/drawinglayer/source/processor2d/linegeometryextractor2d.cxx
+++ b/drawinglayer/source/processor2d/linegeometryextractor2d.cxx
@@ -29,8 +29,8 @@ using namespace com::sun::star;
namespace drawinglayer::processor2d
{
- LineGeometryExtractor2D::LineGeometryExtractor2D(const geometry::ViewInformation2D& rViewInformation)
- : BaseProcessor2D(rViewInformation),
+ LineGeometryExtractor2D::LineGeometryExtractor2D(primitive2d::VisitingParameters const& rVisitingParameters)
+ : BaseProcessor2D(rVisitingParameters),
maExtractedHairlines(),
maExtractedLineFills(),
mbInLineGeometry(false)
@@ -83,7 +83,7 @@ namespace drawinglayer::processor2d
{
// remember current transformation and ViewInformation
const primitive2d::TransformPrimitive2D& rTransformCandidate(static_cast< const primitive2d::TransformPrimitive2D& >(rCandidate));
- const geometry::ViewInformation2D aLastViewInformation2D(getViewInformation2D());
+ primitive2d::VisitingParameters aLastVisitingParameters(maVisitingParameters);
// create new transformations for CurrentTransformation and for local ViewInformation2D
const geometry::ViewInformation2D aViewInformation2D(
@@ -92,13 +92,15 @@ namespace drawinglayer::processor2d
getViewInformation2D().getViewport(),
getViewInformation2D().getVisualizedPage(),
getViewInformation2D().getViewTime());
- updateViewInformation(aViewInformation2D);
+
+ primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ updateVisitingParameters(aVisitingParameters);
// process content
process(rTransformCandidate.getChildren());
// restore transformations
- updateViewInformation(aLastViewInformation2D);
+ updateVisitingParameters(aLastVisitingParameters);
break;
}
diff --git a/drawinglayer/source/processor2d/objectinfoextractor2d.cxx b/drawinglayer/source/processor2d/objectinfoextractor2d.cxx
index 552406d53f68..4d3eb0188c14 100644
--- a/drawinglayer/source/processor2d/objectinfoextractor2d.cxx
+++ b/drawinglayer/source/processor2d/objectinfoextractor2d.cxx
@@ -62,8 +62,8 @@ namespace drawinglayer::processor2d
}
}
- ObjectInfoPrimitiveExtractor2D::ObjectInfoPrimitiveExtractor2D(const geometry::ViewInformation2D& rViewInformation)
- : BaseProcessor2D(rViewInformation),
+ ObjectInfoPrimitiveExtractor2D::ObjectInfoPrimitiveExtractor2D(primitive2d::VisitingParameters const& rVisitingParameters)
+ : BaseProcessor2D(rVisitingParameters),
mpFound(nullptr)
{
}
diff --git a/drawinglayer/source/processor2d/processor2dtools.cxx b/drawinglayer/source/processor2d/processor2dtools.cxx
index 7bc0f5fa0536..921ec4af81c3 100644
--- a/drawinglayer/source/processor2d/processor2dtools.cxx
+++ b/drawinglayer/source/processor2d/processor2dtools.cxx
@@ -29,15 +29,15 @@ namespace drawinglayer::processor2d
{
std::unique_ptr<BaseProcessor2D> createPixelProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
- const drawinglayer::geometry::ViewInformation2D& rViewInformation2D)
+ const drawinglayer::primitive2d::VisitingParameters& rParameters)
{
// create Pixel Vcl-Processor
- return std::make_unique<VclPixelProcessor2D>(rViewInformation2D, rTargetOutDev);
+ return std::make_unique<VclPixelProcessor2D>(rParameters, rTargetOutDev);
}
std::unique_ptr<BaseProcessor2D> createProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
- const drawinglayer::geometry::ViewInformation2D& rViewInformation2D)
+ const drawinglayer::primitive2d::VisitingParameters& rParameters)
{
const GDIMetaFile* pMetaFile = rTargetOutDev.GetConnectMetaFile();
const bool bOutputToRecordingMetaFile(pMetaFile && pMetaFile->IsRecord() && !pMetaFile->IsPause());
@@ -45,14 +45,12 @@ namespace drawinglayer::processor2d
if(bOutputToRecordingMetaFile)
{
// create MetaFile Vcl-Processor and process
- return std::make_unique<VclMetafileProcessor2D>(rViewInformation2D, rTargetOutDev);
+ return std::make_unique<VclMetafileProcessor2D>(rParameters, rTargetOutDev);
}
else
{
// create Pixel Vcl-Processor
- return createPixelProcessor2DFromOutputDevice(
- rTargetOutDev,
- rViewInformation2D);
+ return createPixelProcessor2DFromOutputDevice(rTargetOutDev, rParameters);
}
}
diff --git a/drawinglayer/source/processor2d/processorfromoutputdevice.cxx b/drawinglayer/source/processor2d/processorfromoutputdevice.cxx
index c8433753aeff..f16ad46faadb 100644
--- a/drawinglayer/source/processor2d/processorfromoutputdevice.cxx
+++ b/drawinglayer/source/processor2d/processorfromoutputdevice.cxx
@@ -29,7 +29,7 @@ namespace drawinglayer::processor2d
{
std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> createBaseProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
- const drawinglayer::geometry::ViewInformation2D& rViewInformation2D)
+ drawinglayer::primitive2d::VisitingParameters const& rParameters)
{
const GDIMetaFile* pMetaFile = rTargetOutDev.GetConnectMetaFile();
const bool bOutputToRecordingMetaFile(pMetaFile && pMetaFile->IsRecord() && !pMetaFile->IsPause());
@@ -37,12 +37,12 @@ namespace drawinglayer::processor2d
if(bOutputToRecordingMetaFile)
{
// create MetaFile Vcl-Processor and process
- return std::make_unique<drawinglayer::processor2d::VclMetafileProcessor2D>(rViewInformation2D, rTargetOutDev);
+ return std::make_unique<drawinglayer::processor2d::VclMetafileProcessor2D>(rParameters, rTargetOutDev);
}
else
{
// create Pixel Vcl-Processor
- return std::make_unique<drawinglayer::processor2d::VclPixelProcessor2D>(rViewInformation2D, rTargetOutDev);
+ return std::make_unique<drawinglayer::processor2d::VclPixelProcessor2D>(rParameters, rTargetOutDev);
}
}
} // end of namespace
diff --git a/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx b/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx
index 82bc044e36f9..5a551c18311a 100644
--- a/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx
+++ b/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx
@@ -174,7 +174,7 @@ namespace drawinglayer::processor2d
{
// remember current transformation and ViewInformation
const primitive2d::TransformPrimitive2D& rTransformCandidate(static_cast< const primitive2d::TransformPrimitive2D& >(rCandidate));
- const geometry::ViewInformation2D aLastViewInformation2D(getViewInformation2D());
+ primitive2d::VisitingParameters aLastParameters(maVisitingParameters);
// create new transformations for CurrentTransformation and for local ViewInformation2D
const geometry::ViewInformation2D aViewInformation2D(
@@ -183,13 +183,15 @@ namespace drawinglayer::processor2d
getViewInformation2D().getViewport(),
getViewInformation2D().getVisualizedPage(),
getViewInformation2D().getViewTime());
- updateViewInformation(aViewInformation2D);
+
+ primitive2d::VisitingParameters aParameters(aViewInformation2D);
+ updateVisitingParameters(aParameters);
// process content
process(rTransformCandidate.getChildren());
// restore transformations
- updateViewInformation(aLastViewInformation2D);
+ updateVisitingParameters(aLastParameters);
break;
}
@@ -215,8 +217,8 @@ namespace drawinglayer::processor2d
}
}
- TextAsPolygonExtractor2D::TextAsPolygonExtractor2D(const geometry::ViewInformation2D& rViewInformation)
- : BaseProcessor2D(rViewInformation),
+ TextAsPolygonExtractor2D::TextAsPolygonExtractor2D(primitive2d::VisitingParameters const& rVisitingParameters)
+ : BaseProcessor2D(rVisitingParameters),
maTarget(),
maBColorModifierStack(),
mnInText(0)
diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
index d60616d5be2c..824a00a0450d 100644
--- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
@@ -214,7 +214,7 @@ VclMetafileProcessor2D::impDumpToMetaFile(const primitive2d::Primitive2DContaine
// Prepare VDev, MetaFile and connections
OutputDevice* pLastOutputDevice = mpOutputDevice;
GDIMetaFile* pLastMetafile = mpMetaFile;
- basegfx::B2DRange aPrimitiveRange(rContent.getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aPrimitiveRange(rContent.getB2DRange(maVisitingParameters));
// transform primitive range with current transformation (e.g shadow offset)
aPrimitiveRange.transform(maCurrentTransformation);
@@ -548,9 +548,9 @@ void VclMetafileProcessor2D::popList()
// init static break iterator
uno::Reference<css::i18n::XBreakIterator> VclMetafileProcessor2D::mxBreakIterator;
-VclMetafileProcessor2D::VclMetafileProcessor2D(const geometry::ViewInformation2D& rViewInformation,
- OutputDevice& rOutDev)
- : VclProcessor2D(rViewInformation, rOutDev)
+VclMetafileProcessor2D::VclMetafileProcessor2D(
+ drawinglayer::primitive2d::VisitingParameters const& rParameters, OutputDevice& rOutDev)
+ : VclProcessor2D(rParameters, rOutDev)
, mpMetaFile(rOutDev.GetConnectMetaFile())
, mnSvtGraphicFillCount(0)
, mnSvtGraphicStrokeCount(0)
@@ -564,7 +564,7 @@ VclMetafileProcessor2D::VclMetafileProcessor2D(const geometry::ViewInformation2D
"VclMetafileProcessor2D: Used on OutDev which has no MetaFile Target (!)");
// draw to logic coordinates, do not initialize maCurrentTransformation to viewTransformation
// but only to ObjectTransformation. Do not change MapMode of destination.
- maCurrentTransformation = rViewInformation.getObjectTransformation();
+ maCurrentTransformation = rParameters.getViewInformation().getObjectTransformation();
}
VclMetafileProcessor2D::~VclMetafileProcessor2D()
@@ -1123,7 +1123,7 @@ void VclMetafileProcessor2D::processControlPrimitive2D(
{
// still need to fill in the location (is a class Rectangle)
const basegfx::B2DRange aRangeLogic(
- rControlPrimitive.getB2DRange(getViewInformation2D()));
+ rControlPrimitive.getB2DRange(maVisitingParameters));
const tools::Rectangle aRectLogic(static_cast<sal_Int32>(floor(aRangeLogic.getMinX())),
static_cast<sal_Int32>(floor(aRangeLogic.getMinY())),
static_cast<sal_Int32>(ceil(aRangeLogic.getMaxX())),
@@ -1234,7 +1234,7 @@ void VclMetafileProcessor2D::processTextHierarchyFieldPrimitive2D(
// process recursively
primitive2d::Primitive2DContainer rContent;
- rFieldPrimitive.get2DDecomposition(rContent, getViewInformation2D());
+ rFieldPrimitive.get2DDecomposition(rContent, maVisitingParameters);
process(rContent);
// for the end comment the type is not relevant yet, they are all the same. Just add.
@@ -1245,7 +1245,7 @@ void VclMetafileProcessor2D::processTextHierarchyFieldPrimitive2D(
return;
// emulate data handling from ImpEditEngine::Paint
- const basegfx::B2DRange aViewRange(rContent.getB2DRange(getViewInformation2D()));
+ const basegfx::B2DRange aViewRange(rContent.getB2DRange(maVisitingParameters));
const tools::Rectangle aRectLogic(static_cast<sal_Int32>(floor(aViewRange.getMinX())),
static_cast<sal_Int32>(floor(aViewRange.getMinY())),
static_cast<sal_Int32>(ceil(aViewRange.getMaxX())),
@@ -2251,7 +2251,7 @@ void VclMetafileProcessor2D::processTransparencePrimitive2D(
// transparence primitives with non-trivial transparence content) i will for now not
// refine to tiling here.
- basegfx::B2DRange aViewRange(rContent.getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aViewRange(rContent.getB2DRange(maVisitingParameters));
aViewRange.transform(maCurrentTransformation);
const tools::Rectangle aRectLogic(static_cast<sal_Int32>(floor(aViewRange.getMinX())),
static_cast<sal_Int32>(floor(aViewRange.getMinY())),
@@ -2310,7 +2310,9 @@ void VclMetafileProcessor2D::processTransparencePrimitive2D(
getViewInformation2D().getObjectTransformation(), aViewTransform, aViewRange,
getViewInformation2D().getVisualizedPage(), getViewInformation2D().getViewTime());
- VclPixelProcessor2D aBufferProcessor(aViewInfo, *aBufferDevice);
+ primitive2d::VisitingParameters aVisitingParameters(aViewInfo);
+
+ VclPixelProcessor2D aBufferProcessor(aVisitingParameters, *aBufferDevice);
// draw content using pixel renderer
const Point aEmptyPoint;
@@ -2440,14 +2442,16 @@ VclMetafileProcessor2D::CreateBufferDevice(const basegfx::B2DRange& rCandidateRa
void VclMetafileProcessor2D::processPrimitive2DOnPixelProcessor(
const primitive2d::BasePrimitive2D& rCandidate)
{
- basegfx::B2DRange aViewRange(rCandidate.getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aViewRange(rCandidate.getB2DRange(maVisitingParameters));
geometry::ViewInformation2D aViewInfo;
tools::Rectangle aRectLogic;
Size aSizePixel;
auto pBufferDevice(CreateBufferDevice(aViewRange, aViewInfo, aRectLogic, aSizePixel));
if (pBufferDevice)
{
- VclPixelProcessor2D aBufferProcessor(aViewInfo, *pBufferDevice, maBColorModifierStack);
+ primitive2d::VisitingParameters aVisitingParameters(aViewInfo);
+ VclPixelProcessor2D aBufferProcessor(aVisitingParameters, *pBufferDevice,
+ maBColorModifierStack);
// draw content using pixel renderer
primitive2d::Primitive2DReference aRef(
diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.hxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.hxx
index 67a79ca307cc..4e3f812f3a06 100644
--- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.hxx
+++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.hxx
@@ -203,7 +203,7 @@ protected:
public:
/// constructor/destructor
- VclMetafileProcessor2D(const geometry::ViewInformation2D& rViewInformation,
+ VclMetafileProcessor2D(drawinglayer::primitive2d::VisitingParameters const& rParameters,
OutputDevice& rOutDev);
virtual ~VclMetafileProcessor2D() override;
};
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index a0990edf7645..28c6d6f9ffdb 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -78,14 +78,15 @@ struct VclPixelProcessor2D::Impl
}
};
-VclPixelProcessor2D::VclPixelProcessor2D(const geometry::ViewInformation2D& rViewInformation,
+VclPixelProcessor2D::VclPixelProcessor2D(primitive2d::VisitingParameters const& rVisitingParameters,
OutputDevice& rOutDev,
const basegfx::BColorModifierStack& rInitStack)
- : VclProcessor2D(rViewInformation, rOutDev, rInitStack)
+ : VclProcessor2D(rVisitingParameters, rOutDev, rInitStack)
, m_pImpl(new Impl(rOutDev))
{
// prepare maCurrentTransformation matrix with viewTransformation to target directly to pixels
- maCurrentTransformation = rViewInformation.getObjectToViewTransformation();
+ maCurrentTransformation
+ = rVisitingParameters.getViewInformation().getObjectToViewTransformation();
// prepare output directly to pixels
mpOutputDevice->Push(PushFlags::MAPMODE);
@@ -1024,7 +1025,7 @@ AlphaMask ProcessAndBlurAlphaMask(const Bitmap& rMask, double fErodeDilateRadius
void VclPixelProcessor2D::processGlowPrimitive2D(const primitive2d::GlowPrimitive2D& rCandidate)
{
- basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aRange(rCandidate.getB2DRange(maVisitingParameters));
aRange.transform(maCurrentTransformation);
basegfx::B2DVector aGlowRadiusVector(rCandidate.getGlowRadius(), 0);
// Calculate the pixel size of glow radius in current transformation
@@ -1092,7 +1093,7 @@ void VclPixelProcessor2D::processSoftEdgePrimitive2D(
// borders, where they don't end. Ideally, process the full object once at maximal reasonable
// resolution, and store the resulting alpha mask in primitive's cache; then reuse it later,
// applying the transform.
- basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aRange(rCandidate.getB2DRange(maVisitingParameters));
aRange.transform(maCurrentTransformation);
basegfx::B2DVector aRadiusVector(rCandidate.getRadius(), 0);
// Calculate the pixel size of soft edge radius in current transformation
@@ -1152,7 +1153,7 @@ void VclPixelProcessor2D::processShadowPrimitive2D(const primitive2d::ShadowPrim
return;
}
- basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aRange(rCandidate.getB2DRange(maVisitingParameters));
aRange.transform(maCurrentTransformation);
basegfx::B2DVector aBlurRadiusVector(rCandidate.getShadowBlur(), 0);
aBlurRadiusVector *= maCurrentTransformation;
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx
index 480fdcaa6e18..6a1b23db61fe 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx
@@ -104,7 +104,8 @@ class VclPixelProcessor2D final : public VclProcessor2D
public:
/// constructor/destructor
- VclPixelProcessor2D(const geometry::ViewInformation2D& rViewInformation, OutputDevice& rOutDev,
+ VclPixelProcessor2D(primitive2d::VisitingParameters const& rVisitingParameters,
+ OutputDevice& rOutDev,
const basegfx::BColorModifierStack& rInitStack
= basegfx::BColorModifierStack());
virtual ~VclPixelProcessor2D() override;
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index ed40fdb4ee23..f7a4f95ef296 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -828,7 +828,7 @@ void VclProcessor2D::RenderUnifiedTransparencePrimitive2D(
else if (rTransCandidate.getTransparence() > 0.0 && rTransCandidate.getTransparence() < 1.0)
{
// transparence is in visible range
- basegfx::B2DRange aRange(rTransCandidate.getChildren().getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aRange(rTransCandidate.getChildren().getB2DRange(maVisitingParameters));
aRange.transform(maCurrentTransformation);
impBufferDevice aBufferDevice(*mpOutputDevice, aRange);
@@ -857,7 +857,7 @@ void VclProcessor2D::RenderTransparencePrimitive2D(
if (rTransCandidate.getChildren().empty())
return;
- basegfx::B2DRange aRange(rTransCandidate.getChildren().getB2DRange(getViewInformation2D()));
+ basegfx::B2DRange aRange(rTransCandidate.getChildren().getB2DRange(maVisitingParameters));
aRange.transform(maCurrentTransformation);
impBufferDevice aBufferDevice(*mpOutputDevice, aRange);
@@ -897,7 +897,7 @@ void VclProcessor2D::RenderTransformPrimitive2D(
{
// remember current transformation and ViewInformation
const basegfx::B2DHomMatrix aLastCurrentTransformation(maCurrentTransformation);
- const geometry::ViewInformation2D aLastViewInformation2D(getViewInformation2D());
+ primitive2d::VisitingParameters aLastVisitingParameters(maVisitingParameters);
// create new transformations for CurrentTransformation
// and for local ViewInformation2D
@@ -906,14 +906,16 @@ void VclProcessor2D::RenderTransformPrimitive2D(
getViewInformation2D().getObjectTransformation() * rTransformCandidate.getTransformation(),
getViewInformation2D().getViewTransformation(), getViewInformation2D().getViewport(),
getViewInformation2D().getVisualizedPage(), getViewInformation2D().getViewTime());
- updateViewInformation(aViewInformation2D);
+
+ primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ updateVisitingParameters(aVisitingParameters);
// process content
process(rTransformCandidate.getChildren());
// restore transformations
maCurrentTransformation = aLastCurrentTransformation;
- updateViewInformation(aLastViewInformation2D);
+ updateVisitingParameters(aLastVisitingParameters);
}
// new XDrawPage for ViewInformation2D
@@ -921,20 +923,22 @@ void VclProcessor2D::RenderPagePreviewPrimitive2D(
const primitive2d::PagePreviewPrimitive2D& rPagePreviewCandidate)
{
// remember current transformation and ViewInformation
- const geometry::ViewInformation2D aLastViewInformation2D(getViewInformation2D());
+ primitive2d::VisitingParameters aLastVisitingParameters(maVisitingParameters);
// create new local ViewInformation2D
const geometry::ViewInformation2D aViewInformation2D(
getViewInformation2D().getObjectTransformation(),
getViewInformation2D().getViewTransformation(), getViewInformation2D().getViewport(),
rPagePreviewCandidate.getXDrawPage(), getViewInformation2D().getViewTime());
- updateViewInformation(aViewInformation2D);
+
+ primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ updateVisitingParameters(aVisitingParameters);
// process decomposed content
process(rPagePreviewCandidate);
// restore transformations
- updateViewInformation(aLastViewInformation2D);
+ updateVisitingParameters(aLastVisitingParameters);
}
// marker
@@ -1467,10 +1471,10 @@ void VclProcessor2D::adaptTextToFillDrawMode() const
// process support
-VclProcessor2D::VclProcessor2D(const geometry::ViewInformation2D& rViewInformation,
+VclProcessor2D::VclProcessor2D(primitive2d::VisitingParameters const& rVisitingParameters,
OutputDevice& rOutDev,
const basegfx::BColorModifierStack& rInitStack)
- : BaseProcessor2D(rViewInformation)
+ : BaseProcessor2D(rVisitingParameters)
, mpOutputDevice(&rOutDev)
, maBColorModifierStack(rInitStack)
, maCurrentTransformation()
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.hxx b/drawinglayer/source/processor2d/vclprocessor2d.hxx
index 7e251aa0ca13..05638b83f7aa 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.hxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.hxx
@@ -116,7 +116,8 @@ protected:
public:
// constructor/destructor
- VclProcessor2D(const geometry::ViewInformation2D& rViewInformation, OutputDevice& rOutDev,
+ VclProcessor2D(primitive2d::VisitingParameters const& rVisitingParameters,
+ OutputDevice& rOutDev,
const basegfx::BColorModifierStack& rInitStack = basegfx::BColorModifierStack());
virtual ~VclProcessor2D() override;
diff --git a/drawinglayer/source/tools/converters.cxx b/drawinglayer/source/tools/converters.cxx
index d8fe291bf803..123d822fe201 100644
--- a/drawinglayer/source/tools/converters.cxx
+++ b/drawinglayer/source/tools/converters.cxx
@@ -37,7 +37,7 @@ namespace drawinglayer
BitmapEx convertToBitmapEx(
const drawinglayer::primitive2d::Primitive2DContainer& rSeq,
- const geometry::ViewInformation2D& rViewInformation2D,
+ drawinglayer::primitive2d::VisitingParameters const& rParameters,
sal_uInt32 nDiscreteWidth,
sal_uInt32 nDiscreteHeight,
sal_uInt32 nMaxSquarePixels)
@@ -81,9 +81,7 @@ namespace drawinglayer
// create pixel processor, also already takes care of AAing and
// checking the getOptionsDrawinglayer().IsAntiAliasing() switch. If
// not wanted, change after this call as needed
- std::unique_ptr<processor2d::BaseProcessor2D> pContentProcessor = processor2d::createPixelProcessor2DFromOutputDevice(
- *pContent,
- rViewInformation2D);
+ auto pContentProcessor = processor2d::createPixelProcessor2DFromOutputDevice(*pContent, rParameters);
#ifdef DBG_UTIL
static bool bDoSaveForVisualControl(false); // loplugin:constvars:ignore
diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx
index d48115baafa6..92cd1d92628f 100644
--- a/drawinglayer/source/tools/primitive2dxmldump.cxx
+++ b/drawinglayer/source/tools/primitive2dxmldump.cxx
@@ -208,6 +208,9 @@ void Primitive2dXmlDump::decomposeAndWrite(
const drawinglayer::primitive2d::Primitive2DContainer& rPrimitive2DSequence,
::tools::XmlWriter& rWriter)
{
+ drawinglayer::geometry::ViewInformation2D aInfo;
+ drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aInfo);
+
for (size_t i = 0; i < rPrimitive2DSequence.size(); i++)
{
drawinglayer::primitive2d::Primitive2DReference xPrimitive2DReference
@@ -528,8 +531,9 @@ void Primitive2dXmlDump::decomposeAndWrite(
rWriter.startElement("metafile");
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
// since the graphic is not rendered in a document, we do not need a concrete view information
- rMetafilePrimitive2D.get2DDecomposition(
- aPrimitiveContainer, drawinglayer::geometry::ViewInformation2D());
+ drawinglayer::primitive2d::VisitingParameters aEmptyVisitingParameters;
+ rMetafilePrimitive2D.get2DDecomposition(aPrimitiveContainer,
+ aEmptyVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
}
@@ -541,8 +545,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
// SdrRectanglePrimitive2D is private to us.
rWriter.startElement("sdrrectangle");
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
- pBasePrimitive->get2DDecomposition(aPrimitiveContainer,
- drawinglayer::geometry::ViewInformation2D());
+ pBasePrimitive->get2DDecomposition(aPrimitiveContainer, aVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
break;
@@ -553,8 +556,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
// SdrBlockTextPrimitive2D is private to us.
rWriter.startElement("sdrblocktext");
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
- pBasePrimitive->get2DDecomposition(aPrimitiveContainer,
- drawinglayer::geometry::ViewInformation2D());
+ pBasePrimitive->get2DDecomposition(aPrimitiveContainer, aVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
break;
@@ -565,8 +567,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
// TextHierarchyBlockPrimitive2D.
rWriter.startElement("texthierarchyblock");
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
- pBasePrimitive->get2DDecomposition(aPrimitiveContainer,
- drawinglayer::geometry::ViewInformation2D());
+ pBasePrimitive->get2DDecomposition(aPrimitiveContainer, aVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
break;
@@ -577,8 +578,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
// TextHierarchyParagraphPrimitive2D.
rWriter.startElement("texthierarchyparagraph");
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
- pBasePrimitive->get2DDecomposition(aPrimitiveContainer,
- drawinglayer::geometry::ViewInformation2D());
+ pBasePrimitive->get2DDecomposition(aPrimitiveContainer, aVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
break;
@@ -589,8 +589,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
// TextHierarchyLinePrimitive2D.
rWriter.startElement("texthierarchyline");
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
- pBasePrimitive->get2DDecomposition(aPrimitiveContainer,
- drawinglayer::geometry::ViewInformation2D());
+ pBasePrimitive->get2DDecomposition(aPrimitiveContainer, aVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
break;
@@ -601,8 +600,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
// ShadowPrimitive2D.
rWriter.startElement("shadow");
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
- pBasePrimitive->get2DDecomposition(aPrimitiveContainer,
- drawinglayer::geometry::ViewInformation2D());
+ pBasePrimitive->get2DDecomposition(aPrimitiveContainer, aVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
break;
@@ -615,8 +613,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
OUStringToOString(sCurrentElementTag, RTL_TEXTENCODING_UTF8));
rWriter.attribute("idNumber", nId);
drawinglayer::primitive2d::Primitive2DContainer aPrimitiveContainer;
- pBasePrimitive->get2DDecomposition(aPrimitiveContainer,
- drawinglayer::geometry::ViewInformation2D());
+ pBasePrimitive->get2DDecomposition(aPrimitiveContainer, aVisitingParameters);
decomposeAndWrite(aPrimitiveContainer, rWriter);
rWriter.endElement();
}
diff --git a/include/drawinglayer/converters.hxx b/include/drawinglayer/converters.hxx
index 64d0e2ce7d4e..224c4d2f730d 100644
--- a/include/drawinglayer/converters.hxx
+++ b/include/drawinglayer/converters.hxx
@@ -24,10 +24,10 @@
namespace drawinglayer
{
-BitmapEx DRAWINGLAYER_DLLPUBLIC
-convertToBitmapEx(const drawinglayer::primitive2d::Primitive2DContainer& rSeq,
- const geometry::ViewInformation2D& rViewInformation2D, sal_uInt32 nDiscreteWidth,
- sal_uInt32 nDiscreteHeight, sal_uInt32 nMaxSquarePixels);
+BitmapEx DRAWINGLAYER_DLLPUBLIC convertToBitmapEx(
+ const drawinglayer::primitive2d::Primitive2DContainer& rSeq,
+ drawinglayer::primitive2d::VisitingParameters const& rParameters, sal_uInt32 nDiscreteWidth,
+ sal_uInt32 nDiscreteHeight, sal_uInt32 nMaxSquarePixels);
} // end of namespace drawinglayer
diff --git a/include/drawinglayer/primitive2d/baseprimitive2d.hxx b/include/drawinglayer/primitive2d/baseprimitive2d.hxx
index 0337079e7801..938ff397f564 100644
--- a/include/drawinglayer/primitive2d/baseprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/baseprimitive2d.hxx
@@ -30,25 +30,22 @@
#include <cppuhelper/basemutex.hxx>
#include <basegfx/range/b2drange.hxx>
#include <com/sun/star/graphic/XPrimitive2D.hpp>
-
-namespace drawinglayer::geometry
-{
-class ViewInformation2D;
-}
+#include <drawinglayer/geometry/viewinformation2d.hxx>
namespace drawinglayer::primitive2d
{
class DRAWINGLAYERCORE_DLLPUBLIC VisitingParameters
{
- const geometry::ViewInformation2D& mrViewInformation;
+private:
+ geometry::ViewInformation2D maViewInformation;
public:
- VisitingParameters(const geometry::ViewInformation2D& rViewInformation)
- : mrViewInformation(rViewInformation)
+ explicit VisitingParameters(const geometry::ViewInformation2D& rViewInformation)
+ : maViewInformation(rViewInformation)
{
}
- const geometry::ViewInformation2D& getViewInformation() const { return mrViewInformation; }
+ const geometry::ViewInformation2D& getViewInformation() const { return maViewInformation; }
};
typedef cppu::WeakComponentImplHelper<css::graphic::XPrimitive2D, css::util::XAccounting>
diff --git a/include/drawinglayer/processor2d/baseprocessor2d.hxx b/include/drawinglayer/processor2d/baseprocessor2d.hxx
index 1f0bd46efb62..802434fd9009 100644
--- a/include/drawinglayer/processor2d/baseprocessor2d.hxx
+++ b/include/drawinglayer/processor2d/baseprocessor2d.hxx
@@ -152,18 +152,16 @@ namespace drawinglayer::processor2d
*/
class DRAWINGLAYER_DLLPUBLIC BaseProcessor2D
{
- private:
- /// The ViewInformation2D itself. It's private to isolate accesses to it
- geometry::ViewInformation2D maViewInformation2D;
-
protected:
+ primitive2d::VisitingParameters maVisitingParameters;
+
/* access method to allow the implementations to change the current
ViewInformation2D if needed. This allows isolating these accesses
later if needed
*/
- void updateViewInformation(const geometry::ViewInformation2D& rViewInformation2D)
+ void updateVisitingParameters(primitive2d::VisitingParameters const & rVisitingParameters)
{
- maViewInformation2D = rViewInformation2D;
+ maVisitingParameters = rVisitingParameters;
}
/* as tooling, the process() implementation takes over API handling and calls this
@@ -177,14 +175,17 @@ namespace drawinglayer::processor2d
public:
/// constructor/destructor
- explicit BaseProcessor2D(const geometry::ViewInformation2D& rViewInformation);
+ explicit BaseProcessor2D(primitive2d::VisitingParameters const & rVisitingParameters);
virtual ~BaseProcessor2D();
/// the central processing method
void process(const primitive2d::Primitive2DContainer& rSource);
/// data read access
- const geometry::ViewInformation2D& getViewInformation2D() const { return maViewInformation2D; }
+ const geometry::ViewInformation2D& getViewInformation2D() const
+ {
+ return maVisitingParameters.getViewInformation();
+ }
};
} // end of namespace drawinglayer::processor2d
diff --git a/include/drawinglayer/processor2d/contourextractor2d.hxx b/include/drawinglayer/processor2d/contourextractor2d.hxx
index 53158cc21291..dc9f708cc60e 100644
--- a/include/drawinglayer/processor2d/contourextractor2d.hxx
+++ b/include/drawinglayer/processor2d/contourextractor2d.hxx
@@ -46,7 +46,7 @@ namespace drawinglayer::processor2d
public:
explicit ContourExtractor2D(
- const geometry::ViewInformation2D& rViewInformation,
+ primitive2d::VisitingParameters const& rVisitingParameters,
bool bExtractFillOnly);
virtual ~ContourExtractor2D() override;
diff --git a/include/drawinglayer/processor2d/hittestprocessor2d.hxx b/include/drawinglayer/processor2d/hittestprocessor2d.hxx
index 9ba4ad55dcaa..cc7143ef4adb 100644
--- a/include/drawinglayer/processor2d/hittestprocessor2d.hxx
+++ b/include/drawinglayer/processor2d/hittestprocessor2d.hxx
@@ -68,7 +68,7 @@ namespace drawinglayer::processor2d
public:
HitTestProcessor2D(
- const geometry::ViewInformation2D& rViewInformation,
+ primitive2d::VisitingParameters const& rVisitingParameters,
const basegfx::B2DPoint& rLogicHitPosition,
double fLogicHitTolerance,
bool bHitTextOnly);
diff --git a/include/drawinglayer/processor2d/linegeometryextractor2d.hxx b/include/drawinglayer/processor2d/linegeometryextractor2d.hxx
index a2a388dd12f3..d12e0ed698dd 100644
--- a/include/drawinglayer/processor2d/linegeometryextractor2d.hxx
+++ b/include/drawinglayer/processor2d/linegeometryextractor2d.hxx
@@ -46,7 +46,7 @@ namespace drawinglayer::processor2d
void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate) override;
public:
- LineGeometryExtractor2D(const geometry::ViewInformation2D& rViewInformation);
+ LineGeometryExtractor2D(primitive2d::VisitingParameters const& rVisitingParameters);
virtual ~LineGeometryExtractor2D() override;
const basegfx::B2DPolygonVector& getExtractedHairlines() const { return maExtractedHairlines; }
diff --git a/include/drawinglayer/processor2d/objectinfoextractor2d.hxx b/include/drawinglayer/processor2d/objectinfoextractor2d.hxx
index f7dc1d146885..3c537b09d83c 100644
--- a/include/drawinglayer/processor2d/objectinfoextractor2d.hxx
+++ b/include/drawinglayer/processor2d/objectinfoextractor2d.hxx
@@ -41,7 +41,7 @@ namespace drawinglayer::processor2d
void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate) override;
public:
- ObjectInfoPrimitiveExtractor2D(const geometry::ViewInformation2D& rViewInformation);
+ ObjectInfoPrimitiveExtractor2D(primitive2d::VisitingParameters const& rVisitingParameters);
virtual ~ObjectInfoPrimitiveExtractor2D() override;
const primitive2d::ObjectInfoPrimitive2D* getResult() const { return mpFound; }
diff --git a/include/drawinglayer/processor2d/processor2dtools.hxx b/include/drawinglayer/processor2d/processor2dtools.hxx
index 86ad2562e711..0b18a1687012 100644
--- a/include/drawinglayer/processor2d/processor2dtools.hxx
+++ b/include/drawinglayer/processor2d/processor2dtools.hxx
@@ -22,8 +22,8 @@
#include <drawinglayer/drawinglayerdllapi.h>
#include <memory>
-namespace drawinglayer::geometry { class ViewInformation2D; }
namespace drawinglayer::processor2d { class BaseProcessor2D; }
+namespace drawinglayer::primitive2d { class VisitingParameters; }
class OutputDevice;
@@ -43,7 +43,7 @@ namespace drawinglayer::processor2d
*/
DRAWINGLAYER_DLLPUBLIC std::unique_ptr<BaseProcessor2D> createPixelProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
- const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
+ drawinglayer::primitive2d::VisitingParameters const& rParameters);
/** create a BaseProcessor2D dependent on some states of the
given OutputDevice. If metafile is recorded, the needed
@@ -61,7 +61,7 @@ namespace drawinglayer::processor2d
*/
DRAWINGLAYER_DLLPUBLIC std::unique_ptr<BaseProcessor2D> createProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
- const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
+ drawinglayer::primitive2d::VisitingParameters const& rParameters);
} // end of namespace drawinglayer::processor2d
diff --git a/include/drawinglayer/processor2d/processorfromoutputdevice.hxx b/include/drawinglayer/processor2d/processorfromoutputdevice.hxx
index f5ba9da79987..fb434f229739 100644
--- a/include/drawinglayer/processor2d/processorfromoutputdevice.hxx
+++ b/include/drawinglayer/processor2d/processorfromoutputdevice.hxx
@@ -38,7 +38,7 @@ namespace drawinglayer::processor2d
// deletion is duty of the caller
DRAWINGLAYER_DLLPUBLIC std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> createBaseProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
- const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
+ drawinglayer::primitive2d::VisitingParameters const& rParameters);
} // end of namespace drawinglayer::processor2d
diff --git a/include/drawinglayer/processor2d/textaspolygonextractor2d.hxx b/include/drawinglayer/processor2d/textaspolygonextractor2d.hxx
index 42e2376f0b58..cc2e78049bdf 100644
--- a/include/drawinglayer/processor2d/textaspolygonextractor2d.hxx
+++ b/include/drawinglayer/processor2d/textaspolygonextractor2d.hxx
@@ -79,7 +79,7 @@ namespace drawinglayer::processor2d
void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate) override;
public:
- explicit TextAsPolygonExtractor2D(const geometry::ViewInformation2D& rViewInformation);
+ explicit TextAsPolygonExtractor2D(primitive2d::VisitingParameters const& rVisitingParameters);
virtual ~TextAsPolygonExtractor2D() override;
// data read access
diff --git a/sc/source/ui/miscdlgs/autofmt.cxx b/sc/source/ui/miscdlgs/autofmt.cxx
index 23f77ee76cab..1a3a9360ed9e 100644
--- a/sc/source/ui/miscdlgs/autofmt.cxx
+++ b/sc/source/ui/miscdlgs/autofmt.cxx
@@ -399,10 +399,9 @@ void ScAutoFmtPreview::PaintCells(vcl::RenderContext& rRenderContext)
return;
const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
- std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(
- drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
- rRenderContext,
- aNewViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInformation2D);
+ auto pProcessor2D = drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
+ rRenderContext, aVisitingParameters);
pProcessor2D->process(maArray.CreateB2DPrimitiveArray());
pProcessor2D.reset();
diff --git a/sc/source/ui/view/hintwin.cxx b/sc/source/ui/view/hintwin.cxx
index a9131828b30f..4dfa976816a4 100644
--- a/sc/source/ui/view/hintwin.cxx
+++ b/sc/source/ui/view/hintwin.cxx
@@ -88,8 +88,9 @@ drawinglayer::primitive2d::Primitive2DContainer ScOverlayHint::createOverlaySequ
Point aTextStart(nLeft + aHintMargin.Width() + aIndent.Width(),
nTop + aHintMargin.Height() + aFontMetric.GetLineHeight() + aIndent.Height());
- drawinglayer::geometry::ViewInformation2D aDummy;
- rRange.expand(pTitle->getB2DRange(aDummy));
+ drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ rRange.expand(pTitle->getB2DRange(aVisitingParameters));
drawinglayer::primitive2d::Primitive2DContainer aSeq { pTitle };
@@ -125,7 +126,7 @@ drawinglayer::primitive2d::Primitive2DContainer ScOverlayHint::createOverlaySequ
std::vector<double>(), aFontAttr, css::lang::Locale(),
rColor.getBColor());
- rRange.expand(pMessage->getB2DRange(aDummy));
+ rRange.expand(pMessage->getB2DRange(aVisitingParameters));
aSeq.push_back(pMessage);
diff --git a/sc/source/ui/view/output.cxx b/sc/source/ui/view/output.cxx
index e02fde75aede..6fcce0c04151 100644
--- a/sc/source/ui/view/output.cxx
+++ b/sc/source/ui/view/output.cxx
@@ -1723,8 +1723,8 @@ std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> ScOutputData::Create
GetXDrawPageForSdrPage( pDrawPage ),
0.0);
- return drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
- *mpDev, aNewViewInfos );
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInfos);
+ return drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(*mpDev, aVisitingParameters);
}
// Printer
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index a6b395a0b666..161a9c4cc0d9 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -898,9 +898,8 @@ void ThumbnailView::Paint(vcl::RenderContext& rRenderContext, const ::tools::Rec
// Create the processor and process the primitives
const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
-
- std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
- drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(rRenderContext, aNewViewInfos));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInfos);
+ auto pProcessor = drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(rRenderContext, aVisitingParameters);
pProcessor->process(aSeq);
// draw items
diff --git a/sfx2/source/dialog/infobar.cxx b/sfx2/source/dialog/infobar.cxx
index 40095a7b8a25..4bf7cef6f848 100644
--- a/sfx2/source/dialog/infobar.cxx
+++ b/sfx2/source/dialog/infobar.cxx
@@ -107,8 +107,9 @@ void SfxInfoBarWindow::SetCloseButtonImage()
Point aBtnPos(0, 0);
const ViewInformation2D aNewViewInfos;
- const unique_ptr<BaseProcessor2D> pProcessor(
- createBaseProcessor2DFromOutputDevice(*xDevice, aNewViewInfos));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInfos);
+ auto pProcessor = drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
+ *xDevice, aVisitingParameters);
const ::tools::Rectangle aRect(aBtnPos, xDevice->PixelToLogic(aSize));
diff --git a/svgio/source/svgreader/svgclippathnode.cxx b/svgio/source/svgreader/svgclippathnode.cxx
index 1a8269684095..6688791ad207 100644
--- a/svgio/source/svgreader/svgclippathnode.cxx
+++ b/svgio/source/svgreader/svgclippathnode.cxx
@@ -129,6 +129,7 @@ namespace svgio::svgreader
return;
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
drawinglayer::primitive2d::Primitive2DContainer aClipTarget;
basegfx::B2DPolyPolygon aClipPolyPolygon;
@@ -138,7 +139,7 @@ namespace svgio::svgreader
if(!aClipTarget.empty())
{
// extract filled polygons as base for a mask PolyPolygon
- drawinglayer::processor2d::ContourExtractor2D aExtractor(aViewInformation2D, true);
+ drawinglayer::processor2d::ContourExtractor2D aExtractor(aVisitingParameters, true);
aExtractor.process(aClipTarget);
@@ -161,7 +162,7 @@ namespace svgio::svgreader
if (SvgUnits::objectBoundingBox == getClipPathUnits())
{
// clip is object-relative, transform using content transformation
- const basegfx::B2DRange aContentRange(rContent.getB2DRange(aViewInformation2D));
+ const basegfx::B2DRange aContentRange(rContent.getB2DRange(aVisitingParameters));
aClipPolyPolygon.transform(
basegfx::utils::createScaleTranslateB2DHomMatrix(
@@ -187,9 +188,7 @@ namespace svgio::svgreader
// ClipRegion is a rectangle, thus it is not expensive to tell
// if the content is completely inside or outside of it; get ranges
const basegfx::B2DRange aClipRange(aClipPolyPolygon.getB2DRange());
- const basegfx::B2DRange aContentRange(
- rContent.getB2DRange(
- aViewInformation2D));
+ const basegfx::B2DRange aContentRange(rContent.getB2DRange(aVisitingParameters));
if(aClipRange.isInside(aContentRange))
{
diff --git a/svgio/source/svgreader/svgimagenode.cxx b/svgio/source/svgreader/svgimagenode.cxx
index feaf5933ad53..05b07b739be1 100644
--- a/svgio/source/svgreader/svgimagenode.cxx
+++ b/svgio/source/svgreader/svgimagenode.cxx
@@ -265,7 +265,9 @@ namespace svgio::svgreader
if(!aNewTarget.empty())
{
- aViewBox = aNewTarget.getB2DRange(drawinglayer::geometry::ViewInformation2D());
+ const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ aViewBox = aNewTarget.getB2DRange(aVisitingParameters);
}
}
}
diff --git a/svgio/source/svgreader/svgmasknode.cxx b/svgio/source/svgreader/svgmasknode.cxx
index 7f3ab9a772ca..c2f2c5e0c7fc 100644
--- a/svgio/source/svgreader/svgmasknode.cxx
+++ b/svgio/source/svgreader/svgmasknode.cxx
@@ -201,9 +201,9 @@ namespace svgio::svgreader
if(!aMaskTarget.empty())
{
// get range of content to be masked
- const basegfx::B2DRange aContentRange(
- rTarget.getB2DRange(
- drawinglayer::geometry::ViewInformation2D()));
+ const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ const basegfx::B2DRange aContentRange = rTarget.getB2DRange(aVisitingParameters);
const double fContentWidth(aContentRange.getWidth());
const double fContentHeight(aContentRange.getHeight());
diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx
index 8ad08b0414e2..7092f7aa8b0e 100644
--- a/svgio/source/svgreader/svgstyleattributes.cxx
+++ b/svgio/source/svgreader/svgstyleattributes.cxx
@@ -280,7 +280,8 @@ namespace svgio::svgreader
// text geometry is needed, create
// use neutral ViewInformation and create LineGeometryExtractor2D
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- drawinglayer::processor2d::TextAsPolygonExtractor2D aExtractor(aViewInformation2D);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ drawinglayer::processor2d::TextAsPolygonExtractor2D aExtractor(aVisitingParameters);
// process
aExtractor.process(rSource);
@@ -750,7 +751,8 @@ namespace svgio::svgreader
// use neutral ViewInformation and create LineGeometryExtractor2D
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- drawinglayer::processor2d::LineGeometryExtractor2D aExtractor(aViewInformation2D);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ drawinglayer::processor2d::LineGeometryExtractor2D aExtractor(aVisitingParameters);
// process
aExtractor.process(aSeq);
diff --git a/svgio/source/svgreader/svgsvgnode.cxx b/svgio/source/svgreader/svgsvgnode.cxx
index 082b8f89a715..27bba449da52 100644
--- a/svgio/source/svgreader/svgsvgnode.cxx
+++ b/svgio/source/svgreader/svgsvgnode.cxx
@@ -357,9 +357,9 @@ namespace svgio::svgreader
// Even outermost svg has not all information to resolve relative values,
// I use content itself as fallback to set missing values for viewport
// Any better idea for such ill structured svg documents?
- const basegfx::B2DRange aChildRange(
- aSequence.getB2DRange(
- drawinglayer::geometry::ViewInformation2D()));
+ const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ const basegfx::B2DRange aChildRange = aSequence.getB2DRange(aVisitingParameters);
fWReference = aChildRange.getWidth();
}
}
@@ -391,9 +391,9 @@ namespace svgio::svgreader
// Even outermost svg has not all information to resolve relative values,
// I use content itself as fallback to set missing values for viewport
// Any better idea for such ill structured svg documents?
- const basegfx::B2DRange aChildRange(
- aSequence.getB2DRange(
- drawinglayer::geometry::ViewInformation2D()));
+ const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ const basegfx::B2DRange aChildRange = aSequence.getB2DRange(aVisitingParameters);
fHReference = aChildRange.getHeight();
}
}
@@ -593,9 +593,10 @@ namespace svgio::svgreader
{
// There exists no parent to resolve relative width or height.
// Use child size as fallback. We get viewport >= content, therefore no clipping.
- const basegfx::B2DRange aChildRange(
- aSequence.getB2DRange(
- drawinglayer::geometry::ViewInformation2D()));
+ const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ const basegfx::B2DRange aChildRange = aSequence.getB2DRange(aVisitingParameters);
+
const double fChildWidth(aChildRange.getWidth());
const double fChildHeight(aChildRange.getHeight());
const double fChildLeft(aChildRange.getMinX());
@@ -617,9 +618,9 @@ namespace svgio::svgreader
// different from Svg we have the possibility with primitives to get
// a correct bounding box for the geometry. Get it for evtl. taking action
- const basegfx::B2DRange aContentRange(
- aSequence.getB2DRange(
- drawinglayer::geometry::ViewInformation2D()));
+ const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ const basegfx::B2DRange aContentRange = aSequence.getB2DRange(aVisitingParameters);
if(aSvgCanvasRange.isInside(aContentRange))
{
diff --git a/svx/source/dialog/frmsel.cxx b/svx/source/dialog/frmsel.cxx
index 75e1a066ec63..9eac8ae76039 100644
--- a/svx/source/dialog/frmsel.cxx
+++ b/svx/source/dialog/frmsel.cxx
@@ -690,10 +690,9 @@ void FrameSelectorImpl::DrawAllFrameBorders()
// This is one more hint to enhance the primitive visualization further to
// support diagonals better - that's the way to go.
const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
- std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(
- drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
- *mpVirDev,
- aNewViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInformation2D);
+ auto pProcessor2D = drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
+ *mpVirDev, aVisitingParameters);
pProcessor2D->process(maArray.CreateB2DPrimitiveArray());
pProcessor2D.reset();
diff --git a/svx/source/dialog/pagectrl.cxx b/svx/source/dialog/pagectrl.cxx
index 028491bbbf78..6f13fc0e6594 100644
--- a/svx/source/dialog/pagectrl.cxx
+++ b/svx/source/dialog/pagectrl.cxx
@@ -360,8 +360,10 @@ void SvxPageWindow::drawFillAttributes(vcl::RenderContext& rRenderContext,
const drawinglayer::geometry::ViewInformation2D aViewInformation2D(
basegfx::B2DHomMatrix(), rRenderContext.GetViewTransformation(), aPaintRange, nullptr, 0.0);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+
std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
- drawinglayer::processor2d::createProcessor2DFromOutputDevice(rRenderContext, aViewInformation2D));
+ drawinglayer::processor2d::createProcessor2DFromOutputDevice(rRenderContext, aVisitingParameters));
pProcessor->process(aSequence);
}
diff --git a/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx b/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
index d59d320acb34..1cf441125d68 100644
--- a/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
+++ b/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
@@ -118,9 +118,10 @@ void ObjectContactOfObjListPainter::ProcessDisplay(DisplayInfo& rDisplayInfo)
// if there is something to show, use a vclProcessor to render it
if(!xPrimitiveSequence.empty())
{
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(getViewInformation2D());
std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(drawinglayer::processor2d::createProcessor2DFromOutputDevice(
*pTargetDevice,
- getViewInformation2D()));
+ aVisitingParameters));
pProcessor2D->process(xPrimitiveSequence);
}
diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx b/svx/source/sdr/contact/objectcontactofpageview.cxx
index 150735030ea5..8d6e9037204b 100644
--- a/svx/source/sdr/contact/objectcontactofpageview.cxx
+++ b/svx/source/sdr/contact/objectcontactofpageview.cxx
@@ -271,9 +271,10 @@ namespace sdr::contact
pOutDev->SetLayoutMode(ComplexTextLayoutFlags::Default); // reset, default is no BiDi/RTL
// create renderer
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(getViewInformation2D());
std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(
drawinglayer::processor2d::createProcessor2DFromOutputDevice(
- rTargetOutDev, getViewInformation2D()));
+ rTargetOutDev, aVisitingParameters));
pProcessor2D->process(xPrimitiveSequence);
}
diff --git a/svx/source/sdr/contact/viewcontactofgraphic.cxx b/svx/source/sdr/contact/viewcontactofgraphic.cxx
index 7450b25be1a4..3ac2ddf24d99 100644
--- a/svx/source/sdr/contact/viewcontactofgraphic.cxx
+++ b/svx/source/sdr/contact/viewcontactofgraphic.cxx
@@ -270,7 +270,8 @@ namespace sdr::contact
// decompose immediately with neutral ViewInformation. This will
// layout the text to more simple TextPrimitives from drawinglayer
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- xBlockTextPrimitive->get2DDecomposition(xRetval, aViewInformation2D);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ xBlockTextPrimitive->get2DDecomposition(xRetval, aVisitingParameters);
}
// always use SdrObject::Free(...) for SdrObjects (!)
diff --git a/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx b/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx
index 0c53ef5a4499..4f005ee8c091 100644
--- a/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx
+++ b/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx
@@ -166,7 +166,9 @@ basegfx::B2DRange ViewContactOfSdrOle2Obj::getRange( const drawinglayer::geometr
aObjectMatrix,
aAttribute));
- return drawinglayer::primitive2d::getB2DRangeFromPrimitive2DReference(xReference, rViewInfo2D);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInfo2D);
+
+ return drawinglayer::primitive2d::getB2DRangeFromPrimitive2DReference(xReference, aVisitingParameters);
}
drawinglayer::primitive2d::Primitive2DContainer ViewContactOfSdrOle2Obj::createViewIndependentPrimitive2DSequence() const
diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx b/svx/source/sdr/contact/viewobjectcontact.cxx
index e65c2bab1d6e..cd69e03037c6 100644
--- a/svx/source/sdr/contact/viewobjectcontact.cxx
+++ b/svx/source/sdr/contact/viewobjectcontact.cxx
@@ -61,7 +61,7 @@ protected:
public:
AnimatedExtractingProcessor2D(
- const drawinglayer::geometry::ViewInformation2D& rViewInformation,
+ drawinglayer::primitive2d::VisitingParameters const& rParameters,
bool bTextAnimationAllowed,
bool bGraphicAnimationAllowed);
@@ -70,10 +70,10 @@ public:
};
AnimatedExtractingProcessor2D::AnimatedExtractingProcessor2D(
- const drawinglayer::geometry::ViewInformation2D& rViewInformation,
+ drawinglayer::primitive2d::VisitingParameters const& rParameters,
bool bTextAnimationAllowed,
bool bGraphicAnimationAllowed)
-: drawinglayer::processor2d::BaseProcessor2D(rViewInformation),
+: drawinglayer::processor2d::BaseProcessor2D(rParameters),
maPrimitive2DSequence(),
mbTextAnimationAllowed(bTextAnimationAllowed),
mbGraphicAnimationAllowed(bGraphicAnimationAllowed)
@@ -199,8 +199,9 @@ const basegfx::B2DRange& ViewObjectContact::getObjectRange() const
if(!xSequence.empty())
{
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInfo2D);
const_cast< ViewObjectContact* >(this)->maObjectRange =
- xSequence.getB2DRange(rViewInfo2D);
+ xSequence.getB2DRange(aVisitingParameters);
}
}
}
@@ -279,8 +280,9 @@ void ViewObjectContact::checkForPrimitive2DAnimations()
if(bTextAnimationAllowed || bGraphicAnimationAllowed)
{
- AnimatedExtractingProcessor2D aAnimatedExtractor(GetObjectContact().getViewInformation2D(),
- bTextAnimationAllowed, bGraphicAnimationAllowed);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(GetObjectContact().getViewInformation2D());
+
+ AnimatedExtractingProcessor2D aAnimatedExtractor(aVisitingParameters, bTextAnimationAllowed, bGraphicAnimationAllowed);
aAnimatedExtractor.process(mxPrimitive2DSequence);
if(!aAnimatedExtractor.getPrimitive2DSequence().empty())
@@ -357,7 +359,8 @@ drawinglayer::primitive2d::Primitive2DContainer const & ViewObjectContact::getPr
// always update object range when PrimitiveSequence changes
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D(GetObjectContact().getViewInformation2D());
- const_cast< ViewObjectContact* >(this)->maObjectRange = mxPrimitive2DSequence.getB2DRange(rViewInformation2D);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInformation2D);
+ const_cast< ViewObjectContact* >(this)->maObjectRange = mxPrimitive2DSequence.getB2DRange(aVisitingParameters);
// check and eventually embed to GridOffset transform primitive
if(GetObjectContact().supportsGridOffsets())
@@ -417,7 +420,8 @@ drawinglayer::primitive2d::Primitive2DContainer ViewObjectContact::getPrimitive2
{
// get ranges
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D(GetObjectContact().getViewInformation2D());
- const basegfx::B2DRange aObjectRange(xRetval.getB2DRange(rViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInformation2D);
+ const basegfx::B2DRange aObjectRange(xRetval.getB2DRange(aVisitingParameters));
const basegfx::B2DRange aViewRange(rViewInformation2D.getViewport());
// check geometrical visibility
diff --git a/svx/source/sdr/contact/viewobjectcontactofmasterpagedescriptor.cxx b/svx/source/sdr/contact/viewobjectcontactofmasterpagedescriptor.cxx
index 0efa4c01750f..e878d4cf0b7d 100644
--- a/svx/source/sdr/contact/viewobjectcontactofmasterpagedescriptor.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofmasterpagedescriptor.cxx
@@ -108,7 +108,8 @@ namespace sdr::contact
{
// get range of MasterPage sub hierarchy
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D(GetObjectContact().getViewInformation2D());
- const basegfx::B2DRange aSubHierarchyRange(xMasterPageSequence.getB2DRange(rViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInformation2D);
+ const basegfx::B2DRange aSubHierarchyRange(xMasterPageSequence.getB2DRange(aVisitingParameters));
if (rPageFillRange.isInside(aSubHierarchyRange))
{
diff --git a/svx/source/sdr/contact/viewobjectcontactofsdrpage.cxx b/svx/source/sdr/contact/viewobjectcontactofsdrpage.cxx
index ef973ecea8c8..aeba359b5d8d 100644
--- a/svx/source/sdr/contact/viewobjectcontactofsdrpage.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofsdrpage.cxx
@@ -382,8 +382,10 @@ drawinglayer::primitive2d::Primitive2DContainer ViewObjectContactOfPageHierarchy
if(!xRetval.empty())
{
// get ranges
+
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D(GetObjectContact().getViewInformation2D());
- const basegfx::B2DRange aObjectRange(xRetval.getB2DRange(rViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInformation2D);
+ const basegfx::B2DRange aObjectRange(xRetval.getB2DRange(aVisitingParameters));
const basegfx::B2DRange aViewRange(rViewInformation2D.getViewport());
// check geometrical visibility
@@ -608,7 +610,8 @@ drawinglayer::primitive2d::Primitive2DContainer ViewObjectContactOfSdrPage::getP
{
// get ranges
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D(GetObjectContact().getViewInformation2D());
- const basegfx::B2DRange aObjectRange(xRetval.getB2DRange(rViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInformation2D);
+ const basegfx::B2DRange aObjectRange(xRetval.getB2DRange(aVisitingParameters));
const basegfx::B2DRange aViewRange(rViewInformation2D.getViewport());
// check geometrical visibility
diff --git a/svx/source/sdr/overlay/overlaymanager.cxx b/svx/source/sdr/overlay/overlaymanager.cxx
index 7a8e1a62bd2e..445b9bba5144 100644
--- a/svx/source/sdr/overlay/overlaymanager.cxx
+++ b/svx/source/sdr/overlay/overlaymanager.cxx
@@ -47,9 +47,9 @@ namespace sdr::overlay
const bool bIsAntiAliasing(SvtOptionsDrawinglayer::IsAntiAliasing());
// create processor
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(getCurrentViewInformation2D());
std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(drawinglayer::processor2d::createProcessor2DFromOutputDevice(
- rDestinationDevice,
- getCurrentViewInformation2D()));
+ rDestinationDevice, aVisitingParameters));
for(const auto& rpOverlayObject : maOverlayObjects)
{
diff --git a/svx/source/sdr/overlay/overlayobject.cxx b/svx/source/sdr/overlay/overlayobject.cxx
index 1be8b6f633cc..ddb289710de9 100644
--- a/svx/source/sdr/overlay/overlayobject.cxx
+++ b/svx/source/sdr/overlay/overlayobject.cxx
@@ -134,9 +134,9 @@ namespace sdr::overlay
if(!rSequence.empty())
{
const drawinglayer::geometry::ViewInformation2D aViewInformation2D(getOverlayManager()->getCurrentViewInformation2D());
-
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
const_cast< sdr::overlay::OverlayObject* >(this)->maBaseRange =
- rSequence.getB2DRange(aViewInformation2D);
+ rSequence.getB2DRange(aVisitingParameters);
}
}
diff --git a/svx/source/sdr/overlay/overlayobjectlist.cxx b/svx/source/sdr/overlay/overlayobjectlist.cxx
index f3e9c9633ccd..cb8bdc1589e1 100644
--- a/svx/source/sdr/overlay/overlayobjectlist.cxx
+++ b/svx/source/sdr/overlay/overlayobjectlist.cxx
@@ -77,8 +77,9 @@ namespace sdr::overlay
}
const drawinglayer::geometry::ViewInformation2D& aViewInformation2D(pManager->getCurrentViewInformation2D());
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
drawinglayer::processor2d::HitTestProcessor2D aHitTestProcessor2D(
- aViewInformation2D,
+ aVisitingParameters,
rLogicPosition,
fLogicTolerance,
false);
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index e75ad0a3c6a5..8a123cded816 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -447,9 +447,10 @@ basegfx::B2DRange getTextAnchorRange(const attribute::SdrTextAttribute& rText,
// create neutral geometry::ViewInformation2D for local range and decompose calls. This is okay
// since the decompose is view-independent
geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
// get range
- const basegfx::B2DRange aScaledRange(pNew->getB2DRange(aViewInformation2D));
+ const basegfx::B2DRange aScaledRange(pNew->getB2DRange(aVisitingParameters));
// create left outside and right outside transformations. Also take care
// of the clip rectangle
@@ -494,7 +495,7 @@ basegfx::B2DRange getTextAnchorRange(const attribute::SdrTextAttribute& rText,
// need the outliner for formatting (alternatively it is also possible to just add
// pNew to aNewPrimitiveSequence)
Primitive2DContainer aAnimSequence;
- pNew->get2DDecomposition(aAnimSequence, aViewInformation2D);
+ pNew->get2DDecomposition(aAnimSequence, aVisitingParameters);
pNew.clear();
// create a new animatedInterpolatePrimitive and add it
diff --git a/svx/source/svdraw/sdrhittesthelper.cxx b/svx/source/svdraw/sdrhittesthelper.cxx
index 2a93dc372555..8a56ebce5a0d 100644
--- a/svx/source/svdraw/sdrhittesthelper.cxx
+++ b/svx/source/svdraw/sdrhittesthelper.cxx
@@ -142,8 +142,10 @@ bool ViewObjectContactPrimitiveHit(
{
// create a HitTest processor
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D = rVOC.GetObjectContact().getViewInformation2D();
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(rViewInformation2D);
+
drawinglayer::processor2d::HitTestProcessor2D aHitTestProcessor2D(
- rViewInformation2D,
+ aVisitingParameters,
rHitPosition,
fLogicHitTolerance,
bTextOnly);
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index e7a3f18076f1..763d2973a489 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -771,9 +771,10 @@ void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const tools::
{
// completely reworked to use primitives; this ensures same look and functionality
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> xProcessor(
drawinglayer::processor2d::createProcessor2DFromOutputDevice(rTargetDevice,
- aViewInformation2D));
+ aVisitingParameters));
const bool bMapModeEnabled(rTargetDevice.IsMapModeEnabled());
const basegfx::B2DRange aRange = vcl::unotools::b2DRectangleFromRectangle(aPixRect);
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 15b9cc6dcfcf..91b812c73136 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -995,7 +995,8 @@ void SdrObject::RecalcBoundRect()
// use neutral ViewInformation and get the range of the primitives
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- const basegfx::B2DRange aRange(xPrimitives.getB2DRange(aViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ const basegfx::B2DRange aRange(xPrimitives.getB2DRange(aVisitingParameters));
if(!aRange.isEmpty())
{
@@ -1195,9 +1196,10 @@ basegfx::B2DPolyPolygon SdrObject::TakeContour() const
{
// use neutral ViewInformation
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
// create extractor, process and get result (with hairlines as opened polygons)
- drawinglayer::processor2d::ContourExtractor2D aExtractor(aViewInformation2D, false);
+ drawinglayer::processor2d::ContourExtractor2D aExtractor(aVisitingParameters, false);
aExtractor.process(xSequence);
const basegfx::B2DPolyPolygonVector& rResult(aExtractor.getExtractedContour());
const sal_uInt32 nSize(rResult.size());
@@ -2372,8 +2374,10 @@ static void extractLineContourFromPrimitive2DSequence(
// use neutral ViewInformation
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+
// create extractor, process and get result
- drawinglayer::processor2d::LineGeometryExtractor2D aExtractor(aViewInformation2D);
+ drawinglayer::processor2d::LineGeometryExtractor2D aExtractor(aVisitingParameters);
aExtractor.process(rxSequence);
// copy line results
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 5ec2219cbef3..9c72bb49b09b 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -150,8 +150,9 @@ void SdrGrafObj::onGraphicChanged()
if (aSequence.empty())
return;
- drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- drawinglayer::processor2d::ObjectInfoPrimitiveExtractor2D aProcessor(aViewInformation2D);
+ const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ drawinglayer::processor2d::ObjectInfoPrimitiveExtractor2D aProcessor(aVisitingParameters);
aProcessor.process(aSequence);
diff --git a/svx/source/svdraw/svdotxtr.cxx b/svx/source/svdraw/svdotxtr.cxx
index f0abb2b9d5a2..11b077c42868 100644
--- a/svx/source/svdraw/svdotxtr.cxx
+++ b/svx/source/svdraw/svdotxtr.cxx
@@ -300,7 +300,8 @@ SdrObjectUniquePtr SdrTextObj::ImpConvertContainedTextToSdrPathObjs(bool bToPoly
{
// create an extractor with neutral ViewInformation
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- drawinglayer::processor2d::TextAsPolygonExtractor2D aExtractor(aViewInformation2D);
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ drawinglayer::processor2d::TextAsPolygonExtractor2D aExtractor(aVisitingParameters);
// extract text as polygons
aExtractor.process(xSequence);
diff --git a/svx/source/svdraw/svdxcgv.cxx b/svx/source/svdraw/svdxcgv.cxx
index 8881336bdcf9..c3c08a981baa 100644
--- a/svx/source/svdraw/svdxcgv.cxx
+++ b/svx/source/svdraw/svdxcgv.cxx
@@ -486,7 +486,8 @@ BitmapEx SdrExchangeView::GetMarkedObjBitmapEx(bool bNoVDevIfOneBmpMarked, const
// get logic range
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
- const basegfx::B2DRange aRange(xPrimitives.getB2DRange(aViewInformation2D));
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
+ const basegfx::B2DRange aRange(xPrimitives.getB2DRange(aVisitingParameters));
if(!aRange.isEmpty())
{
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index 57fd337ed7af..9afef6afdc17 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -721,8 +721,9 @@ uno::Any SvxShape::GetBitmap( bool bMetaFile /* = false */ ) const
if(!xPrimitives.empty())
{
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aViewInformation2D);
basegfx::B2DRange aRange(
- xPrimitives.getB2DRange(aViewInformation2D));
+ xPrimitives.getB2DRange(aVisitingParameters));
if(!aRange.isEmpty())
{
diff --git a/svx/source/xoutdev/xtabdash.cxx b/svx/source/xoutdev/xtabdash.cxx
index 4d0cac97b612..dbd4008aa962 100644
--- a/svx/source/xoutdev/xtabdash.cxx
+++ b/svx/source/xoutdev/xtabdash.cxx
@@ -137,7 +137,6 @@ BitmapEx XDashList::ImpCreateBitmapForXDash(const XDash* pDash)
// prepare VirtualDevice
ScopedVclPtrInstance< VirtualDevice > pVirtualDevice;
- const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
pVirtualDevice->SetOutputSizePixel(aSize);
pVirtualDevice->SetDrawMode(rStyleSettings.GetHighContrastMode()
@@ -160,9 +159,10 @@ BitmapEx XDashList::ImpCreateBitmapForXDash(const XDash* pDash)
}
// create processor and draw primitives
+ const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInformation2D);
std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
- *pVirtualDevice,
- aNewViewInformation2D));
+ *pVirtualDevice, aVisitingParameters));
const drawinglayer::primitive2d::Primitive2DContainer aSequence { aLinePrimitive };
diff --git a/svx/source/xoutdev/xtabgrdt.cxx b/svx/source/xoutdev/xtabgrdt.cxx
index 5010ff2e49bd..3510e164116c 100644
--- a/svx/source/xoutdev/xtabgrdt.cxx
+++ b/svx/source/xoutdev/xtabgrdt.cxx
@@ -175,7 +175,6 @@ BitmapEx XGradientList::CreateBitmap( tools::Long nIndex, const Size& rSize ) co
// prepare VirtualDevice
ScopedVclPtrInstance< VirtualDevice > pVirtualDevice;
- const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
pVirtualDevice->SetOutputSizePixel(rSize);
pVirtualDevice->SetDrawMode(rStyleSettings.GetHighContrastMode()
@@ -183,9 +182,10 @@ BitmapEx XGradientList::CreateBitmap( tools::Long nIndex, const Size& rSize ) co
: DrawModeFlags::Default);
// create processor and draw primitives
- std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
- *pVirtualDevice,
- aNewViewInformation2D));
+ const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInformation2D);
+ auto pProcessor2D = drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
+ *pVirtualDevice, aVisitingParameters);
drawinglayer::primitive2d::Primitive2DContainer aSequence(2);
diff --git a/svx/source/xoutdev/xtabhtch.cxx b/svx/source/xoutdev/xtabhtch.cxx
index 19bc8b737887..7f0ebf7509de 100644
--- a/svx/source/xoutdev/xtabhtch.cxx
+++ b/svx/source/xoutdev/xtabhtch.cxx
@@ -138,7 +138,6 @@ BitmapEx XHatchList::CreateBitmap( tools::Long nIndex, const Size& rSize) const
// prepare VirtualDevice
ScopedVclPtrInstance< VirtualDevice > pVirtualDevice;
- const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
pVirtualDevice->SetOutputSizePixel(rSize);
pVirtualDevice->SetDrawMode(rStyleSettings.GetHighContrastMode()
@@ -160,9 +159,10 @@ BitmapEx XHatchList::CreateBitmap( tools::Long nIndex, const Size& rSize) const
}
// create processor and draw primitives
- std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
- *pVirtualDevice,
- aNewViewInformation2D));
+ const drawinglayer::geometry::ViewInformation2D aNewViewInformation2D;
+ const drawinglayer::primitive2d::VisitingParameters aVisitingParameters(aNewViewInformation2D);
+ auto pProcessor2D = drawinglayer::processor2d::createPixelProcessor2DFromOutputDevice(
+ *pVirtualDevice, aVisitingParameters);
drawinglayer::primitive2d::Primitive2DContainer aSequence(2);
diff --git a/svx/source/xoutdev/xtablend.cxx b/svx/source/xoutdev/xtablend.cxx
index 39a963373c71..162fab57721d 100644
--- a/svx/source/xoutdev/xtablend.cxx
+++ b/svx/source/xoutdev/xtablend.cxx
@@ -122,7 +122,6 @@ BitmapEx XLineEndList::CreateBitmapForUI( tools::Long nIndex )
// prepare VirtualDevice
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list