Author: alg
Date: Wed Jan 23 10:27:24 2013
New Revision: 1437324
URL: http://svn.apache.org/viewvc?rev=1437324&view=rev
Log:
#121656# Some more cleanups for SVG import, also const as const can
Modified:
openoffice/trunk/main/svgio/inc/svgio/svgreader/svgnode.hxx
openoffice/trunk/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
openoffice/trunk/main/svgio/inc/svgio/svgreader/svgtoken.hxx
openoffice/trunk/main/svgio/source/svgreader/svgclippathnode.cxx
openoffice/trunk/main/svgio/source/svgreader/svgimagenode.cxx
openoffice/trunk/main/svgio/source/svgreader/svgmarkernode.cxx
openoffice/trunk/main/svgio/source/svgreader/svgmasknode.cxx
openoffice/trunk/main/svgio/source/svgreader/svgnode.cxx
openoffice/trunk/main/svgio/source/svgreader/svgpatternnode.cxx
openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx
openoffice/trunk/main/svgio/source/svgreader/svgtoken.cxx
openoffice/trunk/main/svgio/source/svgreader/svgusenode.cxx
openoffice/trunk/main/svgio/source/svguno/xsvgparser.cxx
Modified: openoffice/trunk/main/svgio/inc/svgio/svgreader/svgnode.hxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/inc/svgio/svgreader/svgnode.hxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/inc/svgio/svgreader/svgnode.hxx (original)
+++ openoffice/trunk/main/svgio/inc/svgio/svgreader/svgnode.hxx Wed Jan 23
10:27:24 2013
@@ -59,6 +59,29 @@ namespace svgio
XmlSpace_preserve
};
+ // display property (see SVG 1.1. 11.5), not inheritable
+ enum Display // #121656#
+ {
+ Display_inline, // the default
+ Display_block,
+ Display_list_item,
+ Display_run_in,
+ Display_compact,
+ Display_marker,
+ Display_table,
+ Display_inline_table,
+ Display_table_row_group,
+ Display_table_header_group,
+ Display_table_footer_group,
+ Display_table_row,
+ Display_table_column_group,
+ Display_table_column,
+ Display_table_cell,
+ Display_table_caption,
+ Display_none,
+ Display_inherit
+ };
+
class SvgNode : private boost::noncopyable, public InfoProvider
{
private:
@@ -80,6 +103,9 @@ namespace svgio
/// XmlSpace value
XmlSpace maXmlSpace;
+ /// Display value #121656#
+ Display maDisplay;
+
/// CSS styles
SvgStyleAttributeVector maCssStyleVector;
@@ -122,6 +148,10 @@ namespace svgio
XmlSpace getXmlSpace() const;
void setXmlSpace(XmlSpace eXmlSpace = XmlSpace_notset) {
maXmlSpace = eXmlSpace; }
+ /// Display access #121656#
+ Display getDisplay() const { return maDisplay; }
+ void setDisplay(Display eDisplay = Display_inherit) { maDisplay =
eDisplay; }
+
/// alternative parent
void setAlternativeParent(const SvgNode* pAlternativeParent = 0) {
mpAlternativeParent = pAlternativeParent; }
};
Modified: openoffice/trunk/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
(original)
+++ openoffice/trunk/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx Wed
Jan 23 10:27:24 2013
@@ -290,11 +290,11 @@ namespace svgio
void setStopColor(const SvgPaint& rStopColor) { maStopColor =
rStopColor; }
/// stroke-width content
- SvgNumber getStrokeWidth() const;
+ const SvgNumber getStrokeWidth() const;
void setStrokeWidth(const SvgNumber& rStrokeWidth = SvgNumber()) {
maStrokeWidth = rStrokeWidth; }
/// stop opacity content
- SvgNumber getStopOpacity() const;
+ const SvgNumber getStopOpacity() const;
void setStopOpacity(const SvgNumber& rStopOpacity = SvgNumber()) {
maStopOpacity = rStopOpacity; }
/// access to evtl. set fill gradient
@@ -314,11 +314,11 @@ namespace svgio
void setSvgPatternNodeStroke(const SvgPatternNode* pNew) {
mpSvgPatternNodeStroke = pNew; }
/// fill opacity content
- SvgNumber getFillOpacity() const;
+ const SvgNumber getFillOpacity() const;
void setFillOpacity(const SvgNumber& rFillOpacity = SvgNumber()) {
maFillOpacity = rFillOpacity; }
/// fill rule content
- FillRule getFillRule() const;
+ const FillRule getFillRule() const;
void setFillRule(const FillRule aFillRule = FillRule_notset) {
maFillRule = aFillRule; }
/// fill StrokeDasharray content
@@ -326,27 +326,27 @@ namespace svgio
void setStrokeDasharray(const SvgNumberVector& rStrokeDasharray =
SvgNumberVector()) { maStrokeDasharray = rStrokeDasharray; }
/// #121221# StrokeDasharray needs a set state, it *may* be set to
empty by purpose
- bool getStrokeDasharraySet() const { return mbStrokeDasharraySet; }
+ const bool getStrokeDasharraySet() const { return
mbStrokeDasharraySet; }
void setStrokeDasharraySet(bool bNew) { mbStrokeDasharraySet =
bNew; }
/// StrokeDashOffset content
- SvgNumber getStrokeDashOffset() const;
+ const SvgNumber getStrokeDashOffset() const;
void setStrokeDashOffset(const SvgNumber& rStrokeDashOffset =
SvgNumber()) { maStrokeDashOffset = rStrokeDashOffset; }
/// StrokeLinecap content
- StrokeLinecap getStrokeLinecap() const;
+ const StrokeLinecap getStrokeLinecap() const;
void setStrokeLinecap(const StrokeLinecap aStrokeLinecap =
StrokeLinecap_notset) { maStrokeLinecap = aStrokeLinecap; }
/// StrokeLinejoin content
- StrokeLinejoin getStrokeLinejoin() const;
+ const StrokeLinejoin getStrokeLinejoin() const;
void setStrokeLinejoin(const StrokeLinejoin aStrokeLinejoin =
StrokeLinejoin_notset) { maStrokeLinejoin = aStrokeLinejoin; }
/// StrokeMiterLimit content
- SvgNumber getStrokeMiterLimit() const;
+ const SvgNumber getStrokeMiterLimit() const;
void setStrokeMiterLimit(const SvgNumber& rStrokeMiterLimit =
SvgNumber()) { maStrokeMiterLimit = rStrokeMiterLimit; }
/// StrokeOpacity content
- SvgNumber getStrokeOpacity() const;
+ const SvgNumber getStrokeOpacity() const;
void setStrokeOpacity(const SvgNumber& rStrokeOpacity =
SvgNumber()) { maStrokeOpacity = rStrokeOpacity; }
/// Font content
@@ -354,36 +354,36 @@ namespace svgio
void setFontFamily(const SvgStringVector& rSvgStringVector =
SvgStringVector()) { maFontFamily = rSvgStringVector; }
/// FontSize content
- SvgNumber getFontSize() const;
+ const SvgNumber getFontSize() const;
void setFontSize(const SvgNumber& rFontSize = SvgNumber()) {
maFontSize = rFontSize; }
/// FontStretch content
- FontStretch getFontStretch() const;
+ const FontStretch getFontStretch() const;
void setFontStretch(const FontStretch aFontStretch =
FontStretch_notset) { maFontStretch = aFontStretch; }
/// FontStyle content
- FontStyle getFontStyle() const;
+ const FontStyle getFontStyle() const;
void setFontStyle(const FontStyle aFontStyle = FontStyle_notset) {
maFontStyle = aFontStyle; }
/// FontVariant content
- FontVariant getFontVariant() const;
+ const FontVariant getFontVariant() const;
void setFontVariant(const FontVariant aFontVariant =
FontVariant_notset) { maFontVariant = aFontVariant; }
/// FontWeight content
- FontWeight getFontWeight() const;
+ const FontWeight getFontWeight() const;
void setFontWeight(const FontWeight aFontWeight =
FontWeight_notset) { maFontWeight = aFontWeight; }
/// TextAlign content
- TextAlign getTextAlign() const;
+ const TextAlign getTextAlign() const;
void setTextAlign(const TextAlign aTextAlign = TextAlign_notset) {
maTextAlign = aTextAlign; }
/// TextDecoration content
const SvgStyleAttributes*
getTextDecorationDefiningSvgStyleAttributes() const;
- TextDecoration getTextDecoration() const;
+ const TextDecoration getTextDecoration() const;
void setTextDecoration(const TextDecoration aTextDecoration =
TextDecoration_notset) { maTextDecoration = aTextDecoration; }
/// TextAnchor content
- TextAnchor getTextAnchor() const;
+ const TextAnchor getTextAnchor() const;
void setTextAnchor(const TextAnchor aTextAnchor =
TextAnchor_notset) { maTextAnchor = aTextAnchor; }
/// Color content
@@ -391,7 +391,7 @@ namespace svgio
void setColor(const SvgPaint& rColor) { maColor = rColor; }
/// Opacity content
- SvgNumber getOpacity() const { return maOpacity; }
+ const SvgNumber getOpacity() const { return maOpacity; }
void setOpacity(const SvgNumber& rOpacity = SvgNumber()) {
maOpacity = rOpacity; }
// Title content
@@ -411,17 +411,17 @@ namespace svgio
void setMaskXLink(const rtl::OUString& rNew) { maMaskXLink = rNew;
}
// MarkerStartXLink content
- rtl::OUString getMarkerStartXLink() const;
+ const rtl::OUString getMarkerStartXLink() const;
const SvgMarkerNode* accessMarkerStartXLink() const;
void setMarkerStartXLink(const rtl::OUString& rNew) {
maMarkerStartXLink = rNew; }
// MarkerMidXLink content
- rtl::OUString getMarkerMidXLink() const;
+ const rtl::OUString getMarkerMidXLink() const;
const SvgMarkerNode* accessMarkerMidXLink() const;
void setMarkerMidXLink(const rtl::OUString& rNew) {
maMarkerMidXLink = rNew; }
// MarkerEndXLink content
- rtl::OUString getMarkerEndXLink() const;
+ const rtl::OUString getMarkerEndXLink() const;
const SvgMarkerNode* accessMarkerEndXLink() const;
void setMarkerEndXLink(const rtl::OUString& rNew) {
maMarkerEndXLink = rNew; }
Modified: openoffice/trunk/main/svgio/inc/svgio/svgreader/svgtoken.hxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/inc/svgio/svgreader/svgtoken.hxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/inc/svgio/svgreader/svgtoken.hxx (original)
+++ openoffice/trunk/main/svgio/inc/svgio/svgreader/svgtoken.hxx Wed Jan 23
10:27:24 2013
@@ -43,6 +43,7 @@ namespace svgio
SVGTokenViewBox,
SVGTokenTransform,
SVGTokenStyle,
+ SVGTokenDisplay, // #121656#
SVGTokenD,
SVGTokenX,
SVGTokenY,
Modified: openoffice/trunk/main/svgio/source/svgreader/svgclippathnode.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgclippathnode.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgclippathnode.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgclippathnode.cxx Wed Jan 23
10:27:24 2013
@@ -133,7 +133,7 @@ namespace svgio
void
SvgClipPathNode::apply(drawinglayer::primitive2d::Primitive2DSequence&
rContent) const
{
- if(rContent.hasElements())
+ if(rContent.hasElements() && Display_none != getDisplay())
{
const drawinglayer::geometry::ViewInformation2D
aViewInformation2D;
drawinglayer::primitive2d::Primitive2DSequence aClipTarget;
Modified: openoffice/trunk/main/svgio/source/svgreader/svgimagenode.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgimagenode.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgimagenode.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgimagenode.cxx Wed Jan 23
10:27:24 2013
@@ -261,7 +261,7 @@ namespace svgio
{
const SvgNode* mpXLink =
getDocument().findSvgNodeById(maXLink);
- if(mpXLink)
+ if(mpXLink && Display_none != mpXLink->getDisplay())
{
mpXLink->decomposeSvgNode(aNewTarget, true);
Modified: openoffice/trunk/main/svgio/source/svgreader/svgmarkernode.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgmarkernode.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgmarkernode.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgmarkernode.cxx Wed Jan 23
10:27:24 2013
@@ -188,7 +188,7 @@ namespace svgio
const drawinglayer::primitive2d::Primitive2DSequence&
SvgMarkerNode::getMarkerPrimitives() const
{
- if(!aPrimitives.hasElements())
+ if(!aPrimitives.hasElements() && Display_none != getDisplay())
{
decomposeSvgNode(const_cast< SvgMarkerNode*
>(this)->aPrimitives, true);
}
Modified: openoffice/trunk/main/svgio/source/svgreader/svgmasknode.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgmasknode.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgmasknode.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgmasknode.cxx Wed Jan 23
10:27:24 2013
@@ -199,7 +199,7 @@ namespace svgio
void
SvgMaskNode::apply(drawinglayer::primitive2d::Primitive2DSequence& rTarget)
const
{
- if(rTarget.hasElements())
+ if(rTarget.hasElements() && Display_none != getDisplay())
{
drawinglayer::primitive2d::Primitive2DSequence aMaskTarget;
Modified: openoffice/trunk/main/svgio/source/svgreader/svgnode.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgnode.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgnode.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgnode.cxx Wed Jan 23
10:27:24 2013
@@ -150,6 +150,7 @@ namespace svgio
mpId(0),
mpClass(0),
maXmlSpace(XmlSpace_notset),
+ maDisplay(Display_inline),
maCssStyleVector()
{
OSL_ENSURE(SVGTokenUnknown != maType, "SvgNode with unknown type
created (!)");
@@ -231,6 +232,104 @@ namespace svgio
}
break;
}
+ case SVGTokenDisplay:
+ {
+ if(aContent.getLength())
+ {
+ static rtl::OUString
aStrInline(rtl::OUString::createFromAscii("inline"));
+ static rtl::OUString
aStrBlock(rtl::OUString::createFromAscii("block"));
+ static rtl::OUString
aStrList_item(rtl::OUString::createFromAscii("list-item"));
+ static rtl::OUString
aStrRun_in(rtl::OUString::createFromAscii("run-in"));
+ static rtl::OUString
aStrCompact(rtl::OUString::createFromAscii("compact"));
+ static rtl::OUString
aStrMarker(rtl::OUString::createFromAscii("marker"));
+ static rtl::OUString
aStrTable(rtl::OUString::createFromAscii("table"));
+ static rtl::OUString
aStrInline_table(rtl::OUString::createFromAscii("inline-table"));
+ static rtl::OUString
aStrTable_row_group(rtl::OUString::createFromAscii("table-row-group"));
+ static rtl::OUString
aStrTable_header_group(rtl::OUString::createFromAscii("table-header-group"));
+ static rtl::OUString
aStrTable_footer_group(rtl::OUString::createFromAscii("table-footer-group"));
+ static rtl::OUString
aStrTable_row(rtl::OUString::createFromAscii("table-row"));
+ static rtl::OUString
aStrTable_column_group(rtl::OUString::createFromAscii("table-column-group"));
+ static rtl::OUString
aStrTable_column(rtl::OUString::createFromAscii("table-column"));
+ static rtl::OUString
aStrTable_cell(rtl::OUString::createFromAscii("table-cell"));
+ static rtl::OUString
aStrTable_caption(rtl::OUString::createFromAscii("table-caption"));
+ static rtl::OUString
aStrNone(rtl::OUString::createFromAscii("none"));
+ static rtl::OUString
aStrInherit(rtl::OUString::createFromAscii("inherit"));
+
+ if(aContent.match(aStrInline))
+ {
+ setDisplay(Display_inline);
+ }
+ else if(aContent.match(aStrNone))
+ {
+ setDisplay(Display_none);
+ }
+ else if(aContent.match(aStrInherit))
+ {
+ setDisplay(Display_inherit);
+ }
+ else if(aContent.match(aStrBlock))
+ {
+ setDisplay(Display_block);
+ }
+ else if(aContent.match(aStrList_item))
+ {
+ setDisplay(Display_list_item);
+ }
+ else if(aContent.match(aStrRun_in))
+ {
+ setDisplay(Display_run_in);
+ }
+ else if(aContent.match(aStrCompact))
+ {
+ setDisplay(Display_compact);
+ }
+ else if(aContent.match(aStrMarker))
+ {
+ setDisplay(Display_marker);
+ }
+ else if(aContent.match(aStrTable))
+ {
+ setDisplay(Display_table);
+ }
+ else if(aContent.match(aStrInline_table))
+ {
+ setDisplay(Display_inline_table);
+ }
+ else if(aContent.match(aStrTable_row_group))
+ {
+ setDisplay(Display_table_row_group);
+ }
+ else if(aContent.match(aStrTable_header_group))
+ {
+ setDisplay(Display_table_header_group);
+ }
+ else if(aContent.match(aStrTable_footer_group))
+ {
+ setDisplay(Display_table_footer_group);
+ }
+ else if(aContent.match(aStrTable_row))
+ {
+ setDisplay(Display_table_row);
+ }
+ else if(aContent.match(aStrTable_column_group))
+ {
+ setDisplay(Display_table_column_group);
+ }
+ else if(aContent.match(aStrTable_column))
+ {
+ setDisplay(Display_table_column);
+ }
+ else if(aContent.match(aStrTable_cell))
+ {
+ setDisplay(Display_table_cell);
+ }
+ else if(aContent.match(aStrTable_caption))
+ {
+ setDisplay(Display_table_caption);
+ }
+ }
+ break;
+ }
default:
{
break;
@@ -240,6 +339,11 @@ namespace svgio
void
SvgNode::decomposeSvgNode(drawinglayer::primitive2d::Primitive2DSequence&
rTarget, bool bReferenced) const
{
+ if(Display_none == getDisplay())
+ {
+ return;
+ }
+
if(!bReferenced)
{
if(SVGTokenDefs == getType() ||
@@ -259,6 +363,9 @@ namespace svgio
// also not directly used are Markers and Patterns, only
indirecty used
// by reference
+
+ // #121656# also do not decompose nodes which have
display="none" set
+ // as property
return;
}
}
@@ -273,7 +380,7 @@ namespace svgio
{
SvgNode* pCandidate = rChildren[a];
- if(pCandidate)
+ if(pCandidate && Display_none != pCandidate->getDisplay())
{
drawinglayer::primitive2d::Primitive2DSequence
aNewTarget;
Modified: openoffice/trunk/main/svgio/source/svgreader/svgpatternnode.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgpatternnode.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgpatternnode.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgpatternnode.cxx Wed Jan 23
10:27:24 2013
@@ -275,7 +275,7 @@ namespace svgio
const drawinglayer::primitive2d::Primitive2DSequence&
SvgPatternNode::getPatternPrimitives() const
{
- if(!aPrimitives.hasElements())
+ if(!aPrimitives.hasElements() && Display_none != getDisplay())
{
decomposeSvgNode(const_cast< SvgPatternNode*
>(this)->aPrimitives, true);
}
Modified: openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx
(original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx Wed Jan
23 10:27:24 2013
@@ -1079,6 +1079,18 @@ namespace svgio
aSource =
drawinglayer::primitive2d::Primitive2DSequence(&xRef, 1);
}
+ if(pTransform)
+ {
+ // create embedding group element with transformation.
This applies the given
+ // transformation to the graphical content, but *not* to
mask and/or clip (as needed)
+ const drawinglayer::primitive2d::Primitive2DReference xRef(
+ new drawinglayer::primitive2d::TransformPrimitive2D(
+ *pTransform,
+ aSource));
+
+ aSource =
drawinglayer::primitive2d::Primitive2DSequence(&xRef, 1);
+ }
+
if(getClipPathXLink().getLength())
{
// try to access linked ClipPath
@@ -1105,17 +1117,6 @@ namespace svgio
if(aSource.hasElements()) // test again, applied mask may
have lead to empty geometry
{
- if(pTransform)
- {
- // create embedding group element with
transformation
- const
drawinglayer::primitive2d::Primitive2DReference xRef(
- new
drawinglayer::primitive2d::TransformPrimitive2D(
- *pTransform,
- aSource));
-
- aSource =
drawinglayer::primitive2d::Primitive2DSequence(&xRef, 1);
- }
-
// append to current target
drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(rTarget,
aSource);
}
@@ -1960,7 +1961,7 @@ namespace svgio
return 0;
}
- SvgNumber SvgStyleAttributes::getStrokeWidth() const
+ const SvgNumber SvgStyleAttributes::getStrokeWidth() const
{
if(mbIsClipPathContent)
{
@@ -1982,7 +1983,7 @@ namespace svgio
return SvgNumber(1.0);
}
- SvgNumber SvgStyleAttributes::getStopOpacity() const
+ const SvgNumber SvgStyleAttributes::getStopOpacity() const
{
if(maStopOpacity.isSet())
{
@@ -1993,7 +1994,7 @@ namespace svgio
return SvgNumber(1.0);
}
- SvgNumber SvgStyleAttributes::getFillOpacity() const
+ const SvgNumber SvgStyleAttributes::getFillOpacity() const
{
if(mbIsClipPathContent)
{
@@ -2015,7 +2016,7 @@ namespace svgio
return SvgNumber(1.0);
}
- FillRule SvgStyleAttributes::getFillRule() const
+ const FillRule SvgStyleAttributes::getFillRule() const
{
if(FillRule_notset != maFillRule)
{
@@ -2056,7 +2057,7 @@ namespace svgio
return maStrokeDasharray;
}
- SvgNumber SvgStyleAttributes::getStrokeDashOffset() const
+ const SvgNumber SvgStyleAttributes::getStrokeDashOffset() const
{
if(maStrokeDashOffset.isSet())
{
@@ -2074,7 +2075,7 @@ namespace svgio
return SvgNumber(0.0);
}
- StrokeLinecap SvgStyleAttributes::getStrokeLinecap() const
+ const StrokeLinecap SvgStyleAttributes::getStrokeLinecap() const
{
if(maStrokeLinecap != StrokeLinecap_notset)
{
@@ -2092,7 +2093,7 @@ namespace svgio
return StrokeLinecap_butt;
}
- StrokeLinejoin SvgStyleAttributes::getStrokeLinejoin() const
+ const StrokeLinejoin SvgStyleAttributes::getStrokeLinejoin() const
{
if(maStrokeLinejoin != StrokeLinejoin_notset)
{
@@ -2110,7 +2111,7 @@ namespace svgio
return StrokeLinejoin_miter;
}
- SvgNumber SvgStyleAttributes::getStrokeMiterLimit() const
+ const SvgNumber SvgStyleAttributes::getStrokeMiterLimit() const
{
if(maStrokeMiterLimit.isSet())
{
@@ -2128,7 +2129,7 @@ namespace svgio
return SvgNumber(4.0);
}
- SvgNumber SvgStyleAttributes::getStrokeOpacity() const
+ const SvgNumber SvgStyleAttributes::getStrokeOpacity() const
{
if(maStrokeOpacity.isSet())
{
@@ -2164,7 +2165,7 @@ namespace svgio
return maFontFamily;
}
- SvgNumber SvgStyleAttributes::getFontSize() const
+ const SvgNumber SvgStyleAttributes::getFontSize() const
{
if(maFontSize.isSet())
{
@@ -2182,7 +2183,7 @@ namespace svgio
return SvgNumber(12.0);
}
- FontStretch SvgStyleAttributes::getFontStretch() const
+ const FontStretch SvgStyleAttributes::getFontStretch() const
{
if(maFontStretch != FontStretch_notset)
{
@@ -2214,7 +2215,7 @@ namespace svgio
return FontStretch_normal;
}
- FontStyle SvgStyleAttributes::getFontStyle() const
+ const FontStyle SvgStyleAttributes::getFontStyle() const
{
if(maFontStyle != FontStyle_notset)
{
@@ -2232,7 +2233,7 @@ namespace svgio
return FontStyle_normal;
}
- FontWeight SvgStyleAttributes::getFontWeight() const
+ const FontWeight SvgStyleAttributes::getFontWeight() const
{
if(maFontWeight != FontWeight_notset)
{
@@ -2264,7 +2265,7 @@ namespace svgio
return FontWeight_400;
}
- TextAlign SvgStyleAttributes::getTextAlign() const
+ const TextAlign SvgStyleAttributes::getTextAlign() const
{
if(maTextAlign != TextAlign_notset)
{
@@ -2300,7 +2301,7 @@ namespace svgio
return 0;
}
- TextDecoration SvgStyleAttributes::getTextDecoration() const
+ const TextDecoration SvgStyleAttributes::getTextDecoration() const
{
const SvgStyleAttributes* pDefining =
getTextDecorationDefiningSvgStyleAttributes();
@@ -2315,7 +2316,7 @@ namespace svgio
}
}
- TextAnchor SvgStyleAttributes::getTextAnchor() const
+ const TextAnchor SvgStyleAttributes::getTextAnchor() const
{
if(maTextAnchor != TextAnchor_notset)
{
@@ -2360,7 +2361,7 @@ namespace svgio
return 0;
}
- rtl::OUString SvgStyleAttributes::getMarkerStartXLink() const
+ const rtl::OUString SvgStyleAttributes::getMarkerStartXLink() const
{
if(maMarkerStartXLink.getLength())
{
@@ -2392,7 +2393,7 @@ namespace svgio
return mpMarkerStartXLink;
}
- rtl::OUString SvgStyleAttributes::getMarkerMidXLink() const
+ const rtl::OUString SvgStyleAttributes::getMarkerMidXLink() const
{
if(maMarkerMidXLink.getLength())
{
@@ -2424,7 +2425,7 @@ namespace svgio
return mpMarkerMidXLink;
}
- rtl::OUString SvgStyleAttributes::getMarkerEndXLink() const
+ const rtl::OUString SvgStyleAttributes::getMarkerEndXLink() const
{
if(maMarkerEndXLink.getLength())
{
Modified: openoffice/trunk/main/svgio/source/svgreader/svgtoken.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgtoken.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgtoken.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgtoken.cxx Wed Jan 23
10:27:24 2013
@@ -35,6 +35,7 @@ namespace svgio
static rtl::OUString
aSVGStrViewBox(rtl::OUString::createFromAscii("viewBox"));
static rtl::OUString
aSVGStrTransform(rtl::OUString::createFromAscii("transform"));
static rtl::OUString
aSVGStrStyle(rtl::OUString::createFromAscii("style"));
+ static rtl::OUString
aSVGStrDisplay(rtl::OUString::createFromAscii("display")); // #121656#
static rtl::OUString aSVGStrD(rtl::OUString::createFromAscii("d"));
static rtl::OUString aSVGStrX(rtl::OUString::createFromAscii("x"));
static rtl::OUString aSVGStrY(rtl::OUString::createFromAscii("y"));
@@ -178,6 +179,7 @@ namespace svgio
aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrViewBox,
SVGTokenViewBox));
aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTransform,
SVGTokenTransform));
aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStyle,
SVGTokenStyle));
+ aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDisplay,
SVGTokenDisplay)); // #121656#
aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrD,
SVGTokenD));
aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrX,
SVGTokenX));
aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrY,
SVGTokenY));
Modified: openoffice/trunk/main/svgio/source/svgreader/svgusenode.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgusenode.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgusenode.cxx (original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgusenode.cxx Wed Jan 23
10:27:24 2013
@@ -151,7 +151,7 @@ namespace svgio
// try to access link to content
const SvgNode* mpXLink = getDocument().findSvgNodeById(maXLink);
- if(mpXLink)
+ if(mpXLink && Display_none != mpXLink->getDisplay())
{
// decompose childs
drawinglayer::primitive2d::Primitive2DSequence aNewTarget;
Modified: openoffice/trunk/main/svgio/source/svguno/xsvgparser.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svguno/xsvgparser.cxx?rev=1437324&r1=1437323&r2=1437324&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svguno/xsvgparser.cxx (original)
+++ openoffice/trunk/main/svgio/source/svguno/xsvgparser.cxx Wed Jan 23
10:27:24 2013
@@ -151,7 +151,12 @@ namespace svgio
for(sal_uInt32 a(0); a < nCount; a++)
{
- rResults[a]->decomposeSvgNode(aRetval, false);
+ SvgNode* pCandidate = rResults[a];
+
+ if(Display_none != pCandidate->getDisplay())
+ {
+ pCandidate->decomposeSvgNode(aRetval, false);
+ }
}
}
else