summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXisco Fauli <anistenis@gmail.com>2016-02-06 17:04:41 +0100
committerjan iversen <jani@documentfoundation.org>2016-03-15 15:56:02 +0000
commita27ba3413a6ee46451041ccdfefb4f75913adf01 (patch)
tree72e9eafefed5df5b49e58a57e6395a2352606bcc
parentebcea9815b634ce19c0180ac4f6d9236f69b1a32 (diff)
tdf#97543 SVGIO: Rework getVisibility()
Change-Id: Idb3eaa27e3e8ec177ebd2bad81f53c4d3da9d241 Reviewed-on: https://gerrit.libreoffice.org/22169 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com> (cherry picked from commit 842313c23ec96aeb99b68f28e7d48cc9e263a0a8) Reviewed-on: https://gerrit.libreoffice.org/22198 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
-rw-r--r--svgio/inc/svgio/svgreader/svgstyleattributes.hxx5
-rw-r--r--svgio/source/svgreader/svgstyleattributes.cxx23
2 files changed, 21 insertions, 7 deletions
diff --git a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
index e138eb5ec1ce..828bfb160e9e 100644
--- a/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
+++ b/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
@@ -155,6 +155,7 @@ namespace svgio
enum Visibility
{
+ Visibility_notset,
Visibility_visible,
Visibility_hidden,
Visibility_collapse,
@@ -412,8 +413,8 @@ namespace svgio
void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; }
/// Visibility
- Visibility getVisibility() const { return maVisibility; }
- void setVisibility(Visibility eVisibility) { maVisibility = eVisibility; }
+ Visibility getVisibility() const;
+ void setVisibility(const Visibility aVisibility = Visibility_notset) { maVisibility = aVisibility; }
// Title content
const OUString& getTitle() const { return maTitle; }
diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx
index 5d557ac10a02..765f8f8599cf 100644
--- a/svgio/source/svgreader/svgstyleattributes.cxx
+++ b/svgio/source/svgreader/svgstyleattributes.cxx
@@ -1216,7 +1216,7 @@ namespace svgio
maTextAnchor(TextAnchor_notset),
maColor(),
maOpacity(),
- maVisibility(Visibility_visible),
+ maVisibility(Visibility_notset),
maTitle(),
maDesc(),
maClipPathXLink(),
@@ -1242,10 +1242,6 @@ namespace svgio
mbIsClipPathContent = pParentStyle->mbIsClipPathContent;
}
}
- if(pParentStyle)
- {
- maVisibility = pParentStyle->maVisibility;
- }
}
SvgStyleAttributes::~SvgStyleAttributes()
@@ -2144,6 +2140,23 @@ namespace svgio
return SvgNumber(1.0);
}
+ Visibility SvgStyleAttributes::getVisibility() const
+ {
+ if(Visibility_notset == maVisibility || Visibility_inherit == maVisibility)
+ {
+ const SvgStyleAttributes* pSvgStyleAttributes = getParentStyle();
+
+ if(pSvgStyleAttributes)
+ {
+ return pSvgStyleAttributes->getVisibility();
+ }
+ //default is Visible
+ return Visibility_visible;
+ }
+
+ return maVisibility;
+ }
+
FillRule SvgStyleAttributes::getFillRule() const
{
if(FillRule_notset != maFillRule)