Skip to content

Commit 3a4eb2f

Browse files

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed
 

‎src/plugins/scale_bar/plugin.cpp

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,9 @@ void QgsScaleBarPlugin::renderScaleBar(QPainter * theQPainter)
390390
}
391391
else if (mStyle==tr("Box"))
392392
{
393+
// Want square corners for a box
394+
myBackgroundPen.setJoinStyle( Qt::MiterJoin );
395+
myForegroundPen.setJoinStyle( Qt::MiterJoin );
393396
QPolygon myBoxArray(5);
394397
//draw a buffer first so bar shows up on dark images
395398
theQPainter->setPen( myBackgroundPen );
@@ -403,14 +406,26 @@ void QgsScaleBarPlugin::renderScaleBar(QPainter * theQPainter)
403406
theQPainter->drawPolyline(myBoxArray);
404407
//now draw the bar itself in user selected color
405408
theQPainter->setPen( myForegroundPen );
409+
theQPainter->setBrush( QBrush( mColour, Qt::SolidPattern) );
410+
int midPointX = myScaleBarWidthInt/2 + myOriginX;
406411
myBoxArray.putPoints(0,5,
407412
myOriginX , myOriginY,
408-
(myScaleBarWidthInt + myOriginX), myOriginY,
409-
(myScaleBarWidthInt + myOriginX), (myOriginY+myMajorTickSize),
413+
midPointX, myOriginY,
414+
midPointX, (myOriginY+myMajorTickSize),
410415
myOriginX , (myOriginY+myMajorTickSize),
411416
myOriginX , myOriginY
412417
);
413-
theQPainter->drawPolyline(myBoxArray);
418+
theQPainter->drawPolygon(myBoxArray);
419+
420+
theQPainter->setBrush( Qt::NoBrush );
421+
myBoxArray.putPoints(0,5,
422+
midPointX , myOriginY,
423+
(myScaleBarWidthInt + myOriginX), myOriginY,
424+
(myScaleBarWidthInt + myOriginX), (myOriginY+myMajorTickSize),
425+
midPointX , (myOriginY+myMajorTickSize),
426+
midPointX , myOriginY
427+
);
428+
theQPainter->drawPolygon(myBoxArray);
414429
}
415430

416431
//Do actual drawing of scale bar

0 commit comments

Comments
 (0)
Please sign in to comment.