@@ -565,6 +565,11 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
565
565
{
566
566
mPainterPath .addEllipse ( QRectF ( -size.width () / 2.0 , -size.height () / 2.0 , size.width (), size.height () ) );
567
567
}
568
+ else if ( symbolName == " semi_circle" )
569
+ {
570
+ mPainterPath .arcTo ( -size.width () / 2.0 , -size.height () / 2.0 , size.width (), size.height (), 0 , 180 );
571
+ mPainterPath .lineTo ( 0 , 0 );
572
+ }
568
573
else if ( symbolName == " rectangle" )
569
574
{
570
575
mPainterPath .addRect ( QRectF ( -size.width () / 2.0 , -size.height () / 2.0 , size.width (), size.height () ) );
@@ -583,6 +588,20 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
583
588
mPainterPath .lineTo ( size.width () / 2.0 , size.height () / 2.0 );
584
589
mPainterPath .lineTo ( 0 , -size.height () / 2.0 );
585
590
}
591
+ else if ( symbolName == " left_half_triangle" )
592
+ {
593
+ mPainterPath .moveTo ( 0 , size.height () / 2.0 );
594
+ mPainterPath .lineTo ( size.width () / 2.0 , size.height () / 2.0 );
595
+ mPainterPath .lineTo ( 0 , -size.height () / 2.0 );
596
+ mPainterPath .lineTo ( 0 , size.height () / 2.0 );
597
+ }
598
+ else if ( symbolName == " right_half_triangle" )
599
+ {
600
+ mPainterPath .moveTo ( -size.width () / 2.0 , size.height () / 2.0 );
601
+ mPainterPath .lineTo ( 0 , size.height () / 2.0 );
602
+ mPainterPath .lineTo ( 0 , -size.height () / 2.0 );
603
+ mPainterPath .lineTo ( -size.width () / 2.0 , size.height () / 2.0 );
604
+ }
586
605
}
587
606
588
607
void QgsEllipseSymbolLayerV2::setOutputUnit ( QgsSymbolV2::OutputUnit unit )
0 commit comments