Skip to content

Commit f9231df

Browse files
committed
Followup a721752, also fix svg marker fill cannot be used with
categorised or graduated renderers
1 parent 06c2190 commit f9231df

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

src/core/symbology-ng/qgsfillsymbollayerv2.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1712,9 +1712,9 @@ QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer( const QString& svgFilePath, double
17121712
setSvgFilePath( svgFilePath );
17131713
mOutlineWidth = 0.3;
17141714
mAngle = angle;
1715-
mSvgFillColor = QColor( 0, 0, 0 );
1715+
mColor = QColor( 255, 255, 255 );
17161716
mSvgOutlineColor = QColor( 0, 0, 0 );
1717-
mSvgOutlineWidth = 0.3;
1717+
mSvgOutlineWidth = 0.2;
17181718
setDefaultSvgParams();
17191719
mSvgPattern = 0;
17201720
}
@@ -1728,9 +1728,9 @@ QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer( const QByteArray& svgData, double
17281728
storeViewBox();
17291729
mOutlineWidth = 0.3;
17301730
mAngle = angle;
1731-
mSvgFillColor = QColor( 0, 0, 0 );
1731+
mColor = QColor( 255, 255, 255 );
17321732
mSvgOutlineColor = QColor( 0, 0, 0 );
1733-
mSvgOutlineWidth = 0.3;
1733+
mSvgOutlineWidth = 0.2;
17341734
setSubSymbol( new QgsLineSymbolV2() );
17351735
setDefaultSvgParams();
17361736
mSvgPattern = 0;
@@ -1956,7 +1956,7 @@ void QgsSVGFillSymbolLayer::applyPattern( QBrush& brush, const QString& svgFileP
19561956
void QgsSVGFillSymbolLayer::startRender( QgsSymbolV2RenderContext& context )
19571957
{
19581958

1959-
applyPattern( mBrush, mSvgFilePath, mPatternWidth, mPatternWidthUnit, mSvgFillColor, mSvgOutlineColor, mSvgOutlineWidth, mSvgOutlineWidthUnit, context, mPatternWidthMapUnitScale, mSvgOutlineWidthMapUnitScale );
1959+
applyPattern( mBrush, mSvgFilePath, mPatternWidth, mPatternWidthUnit, mColor, mSvgOutlineColor, mSvgOutlineWidth, mSvgOutlineWidthUnit, context, mPatternWidthMapUnitScale, mSvgOutlineWidthMapUnitScale );
19601960

19611961
if ( mOutline )
19621962
{
@@ -1990,7 +1990,7 @@ QgsStringMap QgsSVGFillSymbolLayer::properties() const
19901990
map.insert( "angle", QString::number( mAngle ) );
19911991

19921992
//svg parameters
1993-
map.insert( "color", QgsSymbolLayerV2Utils::encodeColor( mSvgFillColor ) );
1993+
map.insert( "color", QgsSymbolLayerV2Utils::encodeColor( mColor ) );
19941994
map.insert( "outline_color", QgsSymbolLayerV2Utils::encodeColor( mSvgOutlineColor ) );
19951995
map.insert( "outline_width", QString::number( mSvgOutlineWidth ) );
19961996

@@ -2012,7 +2012,7 @@ QgsSymbolLayerV2* QgsSVGFillSymbolLayer::clone() const
20122012
if ( !mSvgFilePath.isEmpty() )
20132013
{
20142014
clonedLayer = new QgsSVGFillSymbolLayer( mSvgFilePath, mPatternWidth, mAngle );
2015-
clonedLayer->setSvgFillColor( mSvgFillColor );
2015+
clonedLayer->setSvgFillColor( mColor );
20162016
clonedLayer->setSvgOutlineColor( mSvgOutlineColor );
20172017
clonedLayer->setSvgOutlineWidth( mSvgOutlineWidth );
20182018
}
@@ -2057,7 +2057,7 @@ void QgsSVGFillSymbolLayer::toSld( QDomDocument &doc, QDomElement &element, cons
20572057

20582058
if ( !mSvgFilePath.isEmpty() )
20592059
{
2060-
QgsSymbolLayerV2Utils::externalGraphicToSld( doc, graphicElem, mSvgFilePath, "image/svg+xml", mSvgFillColor, mPatternWidth );
2060+
QgsSymbolLayerV2Utils::externalGraphicToSld( doc, graphicElem, mSvgFilePath, "image/svg+xml", mColor, mPatternWidth );
20612061
}
20622062
else
20632063
{
@@ -2185,10 +2185,10 @@ void QgsSVGFillSymbolLayer::applyDataDefinedSettings( QgsSymbolV2RenderContext &
21852185
context.setOriginalValueVariable( mSvgFilePath );
21862186
svgFile = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILE, context, mSvgFilePath ).toString();
21872187
}
2188-
QColor svgFillColor = mSvgFillColor;
2188+
QColor svgFillColor = mColor;
21892189
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILL_COLOR ) )
21902190
{
2191-
context.setOriginalValueVariable( QgsSymbolLayerV2Utils::encodeColor( mSvgFillColor ) );
2191+
context.setOriginalValueVariable( QgsSymbolLayerV2Utils::encodeColor( mColor ) );
21922192
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILL_COLOR, context, QVariant(), &ok ).toString();
21932193
if ( ok )
21942194
svgFillColor = QgsSymbolLayerV2Utils::decodeColor( colorString );
@@ -2245,7 +2245,7 @@ void QgsSVGFillSymbolLayer::setDefaultSvgParams()
22452245

22462246
if ( hasDefaultFillColor )
22472247
{
2248-
mSvgFillColor = defaultFillColor;
2248+
mColor = defaultFillColor;
22492249
}
22502250
if ( hasDefaultOutlineColor )
22512251
{

src/core/symbology-ng/qgsfillsymbollayerv2.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -801,8 +801,9 @@ class CORE_EXPORT QgsSVGFillSymbolLayer: public QgsImageFillSymbolLayer
801801
void setPatternWidth( double width ) { mPatternWidth = width;}
802802
double patternWidth() const { return mPatternWidth; }
803803

804-
void setSvgFillColor( const QColor& c ) { mSvgFillColor = c; }
805-
QColor svgFillColor() const { return mSvgFillColor; }
804+
void setSvgFillColor( const QColor& c ) { setColor( c ); }
805+
QColor svgFillColor() const { return color(); }
806+
806807
void setSvgOutlineColor( const QColor& c ) { mSvgOutlineColor = c; }
807808
QColor svgOutlineColor() const { return mSvgOutlineColor; }
808809
void setSvgOutlineWidth( double w ) { mSvgOutlineWidth = w; }

0 commit comments

Comments
 (0)