Skip to content

Commit d7663a0

Browse files
committedMay 23, 2013
Scale/diameter scale also for svg marker
1 parent 818d97e commit d7663a0

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed
 

‎src/core/symbology-ng/qgsmarkersymbollayerv2.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -843,11 +843,26 @@ void QgsSvgMarkerSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Re
843843

844844
double size = mSize;
845845
QgsExpression* sizeExpression = expression( "size" );
846+
bool hasDataDefinedSize = context.renderHints() & QgsSymbolV2::DataDefinedSizeScale || sizeExpression;
847+
846848
if ( sizeExpression )
847849
{
848850
size = sizeExpression->evaluate( const_cast<QgsFeature*>( context.feature() ) ).toDouble();
849851
}
850852
size *= QgsSymbolLayerV2Utils::lineWidthScaleFactor( context.renderContext(), mSizeUnit );
853+
854+
if ( hasDataDefinedSize )
855+
{
856+
switch ( mScaleMethod )
857+
{
858+
case QgsSymbolV2::ScaleArea:
859+
size = sqrt( size );
860+
break;
861+
case QgsSymbolV2::ScaleDiameter:
862+
break;
863+
}
864+
}
865+
851866
//don't render symbols with size below one or above 10,000 pixels
852867
if (( int )size < 1 || 10000.0 < size )
853868
{

0 commit comments

Comments
 (0)
Please sign in to comment.