Skip to content

Commit 2235bf5

Browse files
committed
Dxf export: fix offset direction and consider simple marker offset also for circles
1 parent afdc9b6 commit 2235bf5

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/core/symbology-ng/qgsmarkersymbollayerv2.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1270,6 +1270,8 @@ void QgsSimpleMarkerSymbolLayerV2::drawMarker( QPainter* p, QgsSymbolV2RenderCon
12701270

12711271
bool QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFactor, const QString& layerName, QgsSymbolV2RenderContext &context, QPointF shift ) const
12721272
{
1273+
Q_UNUSED( mmMapUnitScaleFactor );
1274+
12731275
//data defined size?
12741276
double size = mSize;
12751277

@@ -1364,7 +1366,7 @@ bool QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitSc
13641366
off *= e.mapUnitScaleFactor( e.symbologyScaleDenominator(), mSizeUnit, e.mapUnits() );
13651367

13661368
QTransform t;
1367-
t.translate( shift.x() + offsetX, shift.y() + offsetY );
1369+
t.translate( shift.x() + offsetX, shift.y() - offsetY );
13681370

13691371
if ( !qgsDoubleNear( angle, 0.0 ) )
13701372
t.rotate( angle );
@@ -1388,6 +1390,7 @@ bool QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitSc
13881390
}
13891391
else if ( shape == Circle )
13901392
{
1393+
shift += QPointF( off.x(), -off.y() );
13911394
if ( mBrush.style() != Qt::NoBrush )
13921395
e.writeFilledCircle( layerName, bc, QgsPointV2( shift ), halfSize );
13931396
if ( mPen.style() != Qt::NoPen )

0 commit comments

Comments
 (0)