Skip to content

Commit 7594774

Browse files
committed
Correctly handle offset when calculating symbol bleed
1 parent 219a45a commit 7594774

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

src/core/symbology-ng/qgsfillsymbollayer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ QgsSymbolLayer* QgsSimpleFillSymbolLayer::createFromSld( QDomElement &element )
389389
double QgsSimpleFillSymbolLayer::estimateMaxBleed( const QgsRenderContext& context ) const
390390
{
391391
double penBleed = context.convertToPainterUnits( mBorderStyle == Qt::NoPen ? 0 : ( mBorderWidth / 2.0 ), mBorderWidthUnit, mBorderWidthMapUnitScale );
392-
double offsetBleed = context.convertToPainterUnits( mOffset.x() > mOffset.y() ? mOffset.x() : mOffset.y(), mOffsetUnit, mOffsetMapUnitScale );
392+
double offsetBleed = context.convertToPainterUnits( qMax( qAbs( mOffset.x() ), qAbs( mOffset.y() ) ), mOffsetUnit, mOffsetMapUnitScale );
393393
return penBleed + offsetBleed;
394394
}
395395

@@ -909,7 +909,7 @@ QgsGradientFillSymbolLayer* QgsGradientFillSymbolLayer::clone() const
909909

910910
double QgsGradientFillSymbolLayer::estimateMaxBleed( const QgsRenderContext& context ) const
911911
{
912-
double offsetBleed = context.convertToPainterUnits( mOffset.x() > mOffset.y() ? mOffset.x() : mOffset.y(), mOffsetUnit, mOffsetMapUnitScale );
912+
double offsetBleed = context.convertToPainterUnits( qMax( qAbs( mOffset.x() ), qAbs( mOffset.y() ) ), mOffsetUnit, mOffsetMapUnitScale );
913913
return offsetBleed;
914914
}
915915

@@ -1504,7 +1504,7 @@ QgsShapeburstFillSymbolLayer* QgsShapeburstFillSymbolLayer::clone() const
15041504

15051505
double QgsShapeburstFillSymbolLayer::estimateMaxBleed( const QgsRenderContext& context ) const
15061506
{
1507-
double offsetBleed = context.convertToPainterUnits( qMax( mOffset.x(), mOffset.y() ), mOffsetUnit, mOffsetMapUnitScale );
1507+
double offsetBleed = context.convertToPainterUnits( qMax( qAbs( mOffset.x() ), qAbs( mOffset.y() ) ), mOffsetUnit, mOffsetMapUnitScale );
15081508
return offsetBleed;
15091509
}
15101510

@@ -3727,7 +3727,7 @@ QgsRasterFillSymbolLayer* QgsRasterFillSymbolLayer::clone() const
37273727

37283728
double QgsRasterFillSymbolLayer::estimateMaxBleed( const QgsRenderContext& context ) const
37293729
{
3730-
return context.convertToPainterUnits( mOffset.x() > mOffset.y() ? mOffset.x() : mOffset.y(), mOffsetUnit, mOffsetMapUnitScale );
3730+
return context.convertToPainterUnits( qMax( qAbs( mOffset.x() ), qAbs( mOffset.y() ) ), mOffsetUnit, mOffsetMapUnitScale );
37313731
}
37323732

37333733
void QgsRasterFillSymbolLayer::setImageFilePath( const QString &imagePath )

src/core/symbology-ng/qgslinesymbollayer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ double QgsSimpleLineSymbolLayer::estimateMaxBleed( const QgsRenderContext& conte
576576
else
577577
{
578578
return context.convertToPainterUnits(( mWidth / 2.0 ), mWidthUnit, mWidthMapUnitScale ) +
579-
context.convertToPainterUnits( mOffset, mOffsetUnit, mOffsetMapUnitScale );
579+
context.convertToPainterUnits( qAbs( mOffset ), mOffsetUnit, mOffsetMapUnitScale );
580580
}
581581
}
582582

@@ -1597,7 +1597,7 @@ QSet<QString> QgsMarkerLineSymbolLayer::usedAttributes( const QgsRenderContext&
15971597
double QgsMarkerLineSymbolLayer::estimateMaxBleed( const QgsRenderContext& context ) const
15981598
{
15991599
return context.convertToPainterUnits(( mMarker->size() / 2.0 ), mMarker->sizeUnit(), mMarker->sizeMapUnitScale() ) +
1600-
context.convertToPainterUnits( mOffset, mOffsetUnit, mOffsetMapUnitScale );
1600+
context.convertToPainterUnits( qAbs( mOffset ), mOffsetUnit, mOffsetMapUnitScale );
16011601
}
16021602

16031603

0 commit comments

Comments
 (0)