svgio/inc/svgio/svgreader/svgstyleattributes.hxx | 2 - svgio/source/svgreader/svgstyleattributes.cxx | 28 ++++++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-)
New commits: commit 9951813197e28968ba9a36d905dc0ba8dfd41f5a Author: Xisco Fauli <aniste...@gmail.com> Date: Sat Jan 30 01:50:07 2016 +0100 tdf#79163: SVGIO: Fix problem with opacity attribute Opacity attribute didn't work because it was always set to 1.0 Change-Id: I3a2029ef23acf9d8c0f346e04341db33c6802b8e Reviewed-on: https://gerrit.libreoffice.org/21911 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Armin Le Grand <armin.le.gr...@cib.de> (cherry picked from commit 359f43f8e76c3bd85c3daf35b5a6d925a4c8c64f) Reviewed-on: https://gerrit.libreoffice.org/22007 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx index cb1982d..e138eb5 100644 --- a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx +++ b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx @@ -408,7 +408,7 @@ namespace svgio const basegfx::BColor* getCurrentColor() const; /// Opacity content - SvgNumber getOpacity() const { return maOpacity; } + SvgNumber getOpacity() const; void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; } /// Visibility diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index 6c2fef7..5d557ac 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -1062,7 +1062,7 @@ namespace svgio return; } - const double fOpacity(getOpacity().getNumber()); + const double fOpacity(getOpacity().solve(mrOwner)); if(basegfx::fTools::equalZero(fOpacity)) { @@ -1119,7 +1119,7 @@ namespace svgio { if(rSource.hasElements()) { - const double fOpacity(getOpacity().getNumber()); + const double fOpacity(getOpacity().solve(mrOwner)); if(basegfx::fTools::equalZero(fOpacity)) { @@ -1215,7 +1215,7 @@ namespace svgio maTextDecoration(TextDecoration_notset), maTextAnchor(TextAnchor_notset), maColor(), - maOpacity(1.0), + maOpacity(), maVisibility(Visibility_visible), maTitle(), maDesc(), @@ -2122,6 +2122,28 @@ namespace svgio return SvgNumber(1.0); } + SvgNumber SvgStyleAttributes::getOpacity() const + { + if(mbIsClipPathContent) + { + return SvgNumber(1.0); + } + else if(maOpacity.isSet()) + { + return maOpacity; + } + + const SvgStyleAttributes* pSvgStyleAttributes = getParentStyle(); + + if(pSvgStyleAttributes) + { + return pSvgStyleAttributes->getOpacity(); + } + + // default is 1 + return SvgNumber(1.0); + } + FillRule SvgStyleAttributes::getFillRule() const { if(FillRule_notset != maFillRule) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits