@@ -44,6 +44,8 @@ QgsMarkerCatalogue::QgsMarkerCatalogue()
44
44
mList .append ( " hard:diamond" );
45
45
mList .append ( " hard:cross" );
46
46
mList .append ( " hard:cross2" );
47
+ mList .append ( " hard:triangle" );
48
+ mList .append ( " hard:star" );
47
49
48
50
// SVG
49
51
QString svgPath = QgsApplication::svgPath ();
@@ -187,7 +189,6 @@ QPixmap QgsMarkerCatalogue::hardMarker ( QString name, int s, QPen pen, QBrush b
187
189
188
190
if ( name == " circle" )
189
191
{
190
- std::cout << " Drawing circle of " << size << std::endl;
191
192
myPainter.drawEllipse (0 , 0 , size, size);
192
193
}
193
194
else if ( name == " rectangle" )
@@ -244,6 +245,33 @@ QPixmap QgsMarkerCatalogue::hardMarker ( QString name, int s, QPen pen, QBrush b
244
245
245
246
box.setRect ( -addwidth, -addwidth, size + 2 *addwidth, size + 2 *addwidth );
246
247
}
248
+ else if ( name == " triangle" )
249
+ {
250
+ QPolygon pa (3 );
251
+ pa.setPoint ( 0 , 0 , size);
252
+ pa.setPoint ( 1 , size, size);
253
+ pa.setPoint ( 2 , half, 0 );
254
+ myPainter.drawPolygon ( pa );
255
+ }
256
+ else if (name == " star" )
257
+ {
258
+ int oneThird = (int )(floor (size/3 +0.5 ));
259
+ int twoThird = (int )(floor (size/3 *2 +0.5 ));
260
+ int oneQuarter = (int )(floor (size/4 +0.5 ));
261
+ int threeQuarter = (int )(floor (size/4 *3 +0.5 ));
262
+ QPolygon pa (10 );
263
+ pa.setPoint (0 , half, 0 );
264
+ pa.setPoint (1 , oneThird, oneThird);
265
+ pa.setPoint (2 , 0 , oneThird);
266
+ pa.setPoint (3 , oneThird, half);
267
+ pa.setPoint (4 , 0 , size);
268
+ pa.setPoint (5 , half, twoThird);
269
+ pa.setPoint (6 , size, size);
270
+ pa.setPoint (7 , twoThird, half);
271
+ pa.setPoint (8 , size, oneThird);
272
+ pa.setPoint (9 , twoThird, oneThird);
273
+ myPainter.drawPolygon ( pa );
274
+ }
247
275
if ( name == " cross" || name == " cross2" )
248
276
{
249
277
picture.setBoundingRect ( box );
0 commit comments