Skip to content
Permalink
Browse files

Fix #10819 (simple/marker line with offset on the wrong side of inner…

… rings)
  • Loading branch information
wonder-sk committed Oct 20, 2014
1 parent 43c4cd7 commit 4906d56955fb1c6270e4914e9fbf122906d5159f
@@ -125,6 +125,8 @@ class QgsMarkerLineSymbolLayerV2 : QgsLineSymbolLayerV2

void renderPolyline( const QPolygonF& points, QgsSymbolV2RenderContext& context );

void renderPolygonOutline( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolV2RenderContext& context );

QgsStringMap properties() const;

QgsSymbolLayerV2* clone() const;
@@ -274,8 +274,10 @@ void QgsSimpleLineSymbolLayerV2::renderPolygonOutline( const QPolygonF& points,
renderPolyline( points, context );
if ( rings )
{
mOffset = -mOffset; // invert the offset for rings!
foreach ( const QPolygonF& ring, *rings )
renderPolyline( ring, context );
mOffset = -mOffset;
}

if ( mDrawInsidePolygon )
@@ -848,6 +850,18 @@ void QgsMarkerLineSymbolLayerV2::renderPolyline( const QPolygonF& points, QgsSym
}
}

void QgsMarkerLineSymbolLayerV2::renderPolygonOutline( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolV2RenderContext& context )
{
renderPolyline( points, context );
if ( rings )
{
mOffset = -mOffset; // invert the offset for rings!
foreach ( const QPolygonF& ring, *rings )
renderPolyline( ring, context );
mOffset = -mOffset;
}
}

void QgsMarkerLineSymbolLayerV2::renderPolylineInterval( const QPolygonF& points, QgsSymbolV2RenderContext& context )
{
if ( points.isEmpty() )
@@ -176,6 +176,8 @@ class CORE_EXPORT QgsMarkerLineSymbolLayerV2 : public QgsLineSymbolLayerV2

void renderPolyline( const QPolygonF& points, QgsSymbolV2RenderContext& context );

void renderPolygonOutline( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolV2RenderContext& context );

QgsStringMap properties() const;

QgsSymbolLayerV2* clone() const;

0 comments on commit 4906d56

Please sign in to comment.
You can’t perform that action at this time.