summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)