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
const basegfx::BColor* getColor() const;
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
SvgNumber getOpacity() const { return maOpacity; }
void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; }
......
......@@ -1888,19 +1888,28 @@ namespace svgio
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
{
if(mbIsClipPathContent)
{
static basegfx::BColor aBlack(0.0, 0.0, 0.0);
return &aBlack;
}
else if(maFill.isSet())
{
if(maFill.isCurrent())
{
return getColor();
return getCurrentColor();
}
else if(maFill.isOn())
{
......@@ -1930,7 +1939,7 @@ namespace svgio
{
if(maStroke.isCurrent())
{
return getColor();
return getCurrentColor();
}
else if(maStroke.isOn())
{
......@@ -1954,7 +1963,7 @@ namespace svgio
{
if(maStopColor.isCurrent())
{
return *getColor();
return *getCurrentColor();
}
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