Kaydet (Commit) d0cfd49d authored tarafından Chr. Rossmanith's avatar Chr. Rossmanith Kaydeden (comit) Katarina Behrens

tdf#87309: SVG - use black as default currentColor if no color was specified

improves import of attachment https://bugs.documentfoundation.org/attachment.cgi?id=110836 from issue 62284

Change-Id: Icb056774746ce270138a54e9dfe9ca6987a64769
Reviewed-on: https://gerrit.libreoffice.org/14242Reviewed-by: 's avatarKatarina Behrens <bubli@bubli.org>
Tested-by: 's avatarKatarina Behrens <bubli@bubli.org>
üst 641835ec
...@@ -406,6 +406,9 @@ namespace svgio ...@@ -406,6 +406,9 @@ namespace svgio
const basegfx::BColor* getColor() const; const basegfx::BColor* getColor() const;
void setColor(const SvgPaint& rColor) { maColor = rColor; } void setColor(const SvgPaint& rColor) { maColor = rColor; }
/// Resolve current color (defaults to black if no color is specified)
const basegfx::BColor* getCurrentColor() const;
/// Opacity content /// Opacity content
SvgNumber getOpacity() const { return maOpacity; } SvgNumber getOpacity() const { return maOpacity; }
void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; } void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; }
......
...@@ -1888,19 +1888,28 @@ namespace svgio ...@@ -1888,19 +1888,28 @@ namespace svgio
return false; return false;
} }
const basegfx::BColor* SvgStyleAttributes::getCurrentColor() const
{
static basegfx::BColor aBlack(0.0, 0.0, 0.0);
const basegfx::BColor *aColor = getColor();
if( aColor )
return aColor;
else
return &aBlack;
}
const basegfx::BColor* SvgStyleAttributes::getFill() const const basegfx::BColor* SvgStyleAttributes::getFill() const
{ {
if(mbIsClipPathContent) if(mbIsClipPathContent)
{ {
static basegfx::BColor aBlack(0.0, 0.0, 0.0); static basegfx::BColor aBlack(0.0, 0.0, 0.0);
return &aBlack; return &aBlack;
} }
else if(maFill.isSet()) else if(maFill.isSet())
{ {
if(maFill.isCurrent()) if(maFill.isCurrent())
{ {
return getColor(); return getCurrentColor();
} }
else if(maFill.isOn()) else if(maFill.isOn())
{ {
...@@ -1930,7 +1939,7 @@ namespace svgio ...@@ -1930,7 +1939,7 @@ namespace svgio
{ {
if(maStroke.isCurrent()) if(maStroke.isCurrent())
{ {
return getColor(); return getCurrentColor();
} }
else if(maStroke.isOn()) else if(maStroke.isOn())
{ {
...@@ -1954,7 +1963,7 @@ namespace svgio ...@@ -1954,7 +1963,7 @@ namespace svgio
{ {
if(maStopColor.isCurrent()) if(maStopColor.isCurrent())
{ {
return *getColor(); return *getCurrentColor();
} }
else else
{ {
......
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