Skip to content

Commit c53968f

Browse files
committed
Dxf export: fix offset and offset rotation for simple marker
1 parent 2235bf5 commit c53968f

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/core/symbology-ng/qgsmarkersymbollayerv2.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -1335,6 +1335,8 @@ bool QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitSc
13351335
double offsetX = 0;
13361336
double offsetY = 0;
13371337
markerOffset( context, offsetX, offsetY );
1338+
offsetX *= context.renderContext().mapToPixel().mapUnitsPerPixel();
1339+
offsetY *= context.renderContext().mapToPixel().mapUnitsPerPixel();
13381340

13391341
QPointF off( offsetX, offsetY );
13401342

@@ -1359,14 +1361,13 @@ bool QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitSc
13591361
}
13601362
}
13611363

1362-
angle = -angle; //rotation in Qt is counterclockwise
13631364
if ( angle )
13641365
off = _rotatedOffset( off, angle );
13651366

13661367
off *= e.mapUnitScaleFactor( e.symbologyScaleDenominator(), mSizeUnit, e.mapUnits() );
13671368

13681369
QTransform t;
1369-
t.translate( shift.x() + offsetX, shift.y() - offsetY );
1370+
t.translate( shift.x() + off.x(), shift.y() - off.y() );
13701371

13711372
if ( !qgsDoubleNear( angle, 0.0 ) )
13721373
t.rotate( angle );

0 commit comments

Comments
 (0)