summaryrefslogtreecommitdiff
path: root/svgio/source/svgreader/svgimagenode.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svgio/source/svgreader/svgimagenode.cxx')
-rw-r--r--svgio/source/svgreader/svgimagenode.cxx60
1 files changed, 26 insertions, 34 deletions
diff --git a/svgio/source/svgreader/svgimagenode.cxx b/svgio/source/svgreader/svgimagenode.cxx
index ed7b81cef61a..19c8c9404541 100644
--- a/svgio/source/svgreader/svgimagenode.cxx
+++ b/svgio/source/svgreader/svgimagenode.cxx
@@ -310,45 +310,37 @@ namespace svgio::svgreader
if(aNewTarget.empty())
return;
- if(aTarget.equal(aViewBox))
- {
- // just add to rTarget
- rTarget.append(aNewTarget);
- }
- else
- {
- // create mapping
- const SvgAspectRatio& rRatio = maSvgAspectRatio;
+ // create mapping
+ const SvgAspectRatio& rRatio = maSvgAspectRatio;
- // even when ratio is not set, use the defaults
- // let mapping be created from SvgAspectRatio
- const basegfx::B2DHomMatrix aEmbeddingTransform(rRatio.createMapping(aTarget, aViewBox));
+ // even when ratio is not set, use the defaults
+ // let mapping be created from SvgAspectRatio
+ const basegfx::B2DHomMatrix aEmbeddingTransform(rRatio.createMapping(aTarget, aViewBox));
- if(!aEmbeddingTransform.isIdentity())
- {
- const drawinglayer::primitive2d::Primitive2DReference xRef(
- new drawinglayer::primitive2d::TransformPrimitive2D(
- aEmbeddingTransform,
- std::move(aNewTarget)));
-
- aNewTarget = drawinglayer::primitive2d::Primitive2DContainer { xRef };
- }
+ if(!aEmbeddingTransform.isIdentity())
+ {
+ const drawinglayer::primitive2d::Primitive2DReference xRef(
+ new drawinglayer::primitive2d::TransformPrimitive2D(
+ aEmbeddingTransform,
+ std::move(aNewTarget)));
- if(!rRatio.isMeetOrSlice())
- {
- // need to embed in MaskPrimitive2D to ensure clipping
- const drawinglayer::primitive2d::Primitive2DReference xMask(
- new drawinglayer::primitive2d::MaskPrimitive2D(
- basegfx::B2DPolyPolygon(
- basegfx::utils::createPolygonFromRect(aTarget)),
- std::move(aNewTarget)));
-
- aNewTarget = drawinglayer::primitive2d::Primitive2DContainer { xMask };
- }
+ aNewTarget = drawinglayer::primitive2d::Primitive2DContainer { xRef };
+ }
- // embed and add to rTarget, take local extra-transform into account
- pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
+ if(!rRatio.isMeetOrSlice())
+ {
+ // need to embed in MaskPrimitive2D to ensure clipping
+ const drawinglayer::primitive2d::Primitive2DReference xMask(
+ new drawinglayer::primitive2d::MaskPrimitive2D(
+ basegfx::B2DPolyPolygon(
+ basegfx::utils::createPolygonFromRect(aTarget)),
+ std::move(aNewTarget)));
+
+ aNewTarget = drawinglayer::primitive2d::Primitive2DContainer { xMask };
}
+
+ // embed and add to rTarget, take local extra-transform into account
+ pStyle->add_postProcess(rTarget, std::move(aNewTarget), getTransform());
}
} // end of namespace svgio::svgreader