@@ -101,8 +101,8 @@ void QgsGrassRegionEdit::setRegion( const QgsPoint& ul, const QgsPoint& lr )
101
101
mStartPoint = ul;
102
102
mEndPoint = lr;
103
103
calcSrcRegion ();
104
- drawRegion ( canvas (), mRubberBand , mSrcRectangle , &mCoordinateTransform );
105
- drawRegion ( canvas (), mSrcRubberBand , QgsRectangle ( mStartPoint , mEndPoint ) );
104
+ drawRegion ( canvas (), mRubberBand , mSrcRectangle , &mCoordinateTransform , true );
105
+ drawRegion ( canvas (), mSrcRubberBand , QgsRectangle ( mStartPoint , mEndPoint ), 0 , true );
106
106
}
107
107
108
108
void QgsGrassRegionEdit::calcSrcRegion ()
@@ -142,19 +142,23 @@ void QgsGrassRegionEdit::transform( QgsMapCanvas *canvas, QVector<QgsPoint> &poi
142
142
}
143
143
}
144
144
145
- void QgsGrassRegionEdit::drawRegion ( QgsMapCanvas *canvas, QgsRubberBand* rubberBand, const QgsRectangle &rect, QgsCoordinateTransform * coordinateTransform )
145
+ void QgsGrassRegionEdit::drawRegion ( QgsMapCanvas *canvas, QgsRubberBand* rubberBand, const QgsRectangle &rect, QgsCoordinateTransform * coordinateTransform, bool isPolygon )
146
146
{
147
147
QVector<QgsPoint> points;
148
148
points.append ( QgsPoint ( rect.xMinimum (), rect.yMinimum () ) );
149
149
points.append ( QgsPoint ( rect.xMaximum (), rect.yMinimum () ) );
150
150
points.append ( QgsPoint ( rect.xMaximum (), rect.yMaximum () ) );
151
151
points.append ( QgsPoint ( rect.xMinimum (), rect.yMaximum () ) );
152
+ if ( !isPolygon )
153
+ {
154
+ points.append ( QgsPoint ( rect.xMinimum (), rect.yMinimum () ) );
155
+ }
152
156
153
157
if ( coordinateTransform )
154
158
{
155
159
transform ( canvas, points, coordinateTransform );
156
160
}
157
- rubberBand->reset ( true );
161
+ rubberBand->reset ( isPolygon );
158
162
for ( int i = 0 ; i < points.size (); i++ )
159
163
{
160
164
bool update = false ; // true to update canvas
@@ -519,4 +523,4 @@ void QgsGrassRegion::saveWindowLocation()
519
523
{
520
524
QSettings settings;
521
525
settings.setValue ( " /GRASS/windows/region/geometry" , saveGeometry () );
522
- }
526
+ }
0 commit comments