Kaydet (Commit) bc589d57 authored tarafından Armin Le Grand's avatar Armin Le Grand Kaydeden (comit) Xisco Fauli

#121221# added boolean state to remember when the StrokeDasharray was set to empty by purpose

üst f75ca1fd
......@@ -203,6 +203,9 @@ namespace svgio
// vaules for fill, stroke, strokeWidth and others
bool mbIsClipPathContent : 1;
// #121221# Defines if evtl. an empty array *is* set
bool mbStrokeDasharraySet : 1;
/// internal helpers
void add_fillGradient(
const basegfx::B2DPolyPolygon& rPath,
......@@ -319,6 +322,10 @@ namespace svgio
const SvgNumberVector& getStrokeDasharray() const;
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; }
void setStrokeDasharraySet(bool bNew) { mbStrokeDasharraySet = bNew; }
/// StrokeDashOffset content
const SvgNumber getStrokeDashOffset() const;
void setStrokeDashOffset(const SvgNumber& rStrokeDashOffset = SvgNumber()) { maStrokeDashOffset = rStrokeDashOffset; }
......
......@@ -1156,7 +1156,8 @@ namespace svgio
mpMarkerEndXLink(0),
maFillRule(FillRule_notset),
maClipRule(FillRule_nonzero),
mbIsClipPathContent(SVGTokenClipPathNode == mrOwner.getType())
mbIsClipPathContent(SVGTokenClipPathNode == mrOwner.getType()),
mbStrokeDasharraySet(false)
{
if(!mbIsClipPathContent)
{
......@@ -1263,9 +1264,18 @@ namespace svgio
{
if(aContent.getLength())
{
static rtl::OUString aStrNone(rtl::OUString::createFromAscii("none"));
SvgNumberVector aVector;
if(readSvgNumberVector(aContent, aVector))
if(aContent.match(aStrNone))
{
// #121221# The special value 'none' needs to be handled
// in the sense that *when* it is set, the parent shall not
// be used. Before this was only dependent on the array being
// empty
setStrokeDasharraySet(true);
}
else if(readSvgNumberVector(aContent, aVector))
{
setStrokeDasharray(aVector);
}
......@@ -2020,6 +2030,11 @@ namespace svgio
{
return maStrokeDasharray;
}
else if(getStrokeDasharraySet())
{
// #121221# is set to empty *by purpose*, do not visit parent styles
return maStrokeDasharray;
}
const SvgStyleAttributes* pSvgStyleAttributes = getParentStyle();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment