Merge pull request #3000 from nirvn/diamond_ellipse_marker

[symbology] add diamond ellipse marker
This commit is contained in:
Nyall Dawson 2016-04-15 06:33:18 +10:00
commit d8a314c44b
3 changed files with 12 additions and 2 deletions

View File

@ -367,6 +367,8 @@ QgsEllipseSymbolLayerV2* QgsEllipseSymbolLayerV2::clone() const
m->setSymbolWidth( mSymbolWidth );
m->setSymbolHeight( mSymbolHeight );
m->setOutlineStyle( mOutlineStyle );
m->setOffset( mOffset );
m->setOffsetUnit( mOffsetUnit );
m->setOffsetMapUnitScale( mOffsetMapUnitScale );
m->setOutlineStyle( mOutlineStyle );
m->setPenJoinStyle( mPenJoinStyle );
@ -597,6 +599,14 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
{
mPainterPath.addRect( QRectF( -size.width() / 2.0, -size.height() / 2.0, size.width(), size.height() ) );
}
else if ( symbolName == "diamond" )
{
mPainterPath.moveTo( -size.width() / 2.0, 0 );
mPainterPath.lineTo( 0, size.height() / 2.0 );
mPainterPath.lineTo( size.width() / 2.0, 0 );
mPainterPath.lineTo( 0, -size.height() / 2.0 );
mPainterPath.lineTo( -size.width() / 2.0, 0 );
}
else if ( symbolName == "cross" )
{
mPainterPath.moveTo( 0, -size.height() / 2.0 );

View File

@ -896,7 +896,7 @@ QString QgsDataDefinedButton::fillStyleDesc()
QString QgsDataDefinedButton::markerStyleDesc()
{
return trString() + QLatin1String( "[<b>circle</b>|<b>rectangle</b>|<b>cross</b>|<b>triangle"
return trString() + QLatin1String( "[<b>circle</b>|<b>rectangle</b>|<b>diamond</b>|<b>cross</b>|<b>triangle"
"</b>|<b>right_half_triangle</b>|<b>left_half_triangle</b>|<b>semi_circle</b>]" );
}

View File

@ -46,7 +46,7 @@ QgsEllipseSymbolLayerV2Widget::QgsEllipseSymbolLayerV2Widget( const QgsVectorLay
mRotationSpinBox->setClearValue( 0.0 );
QStringList names;
names << "circle" << "rectangle" << "cross" << "triangle" << "right_half_triangle" << "left_half_triangle" << "semi_circle";
names << "circle" << "rectangle" << "diamond" << "cross" << "triangle" << "right_half_triangle" << "left_half_triangle" << "semi_circle";
QSize iconSize = mShapeListWidget->iconSize();
Q_FOREACH ( const QString& name, names )