Skip to content

Commit b3e33fa

Browse files
author
rblazek
committed
draw grass region without fill
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@15842 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 49af7f3 commit b3e33fa

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/plugins/grass/qgsgrassregion.cpp

+9-5
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ void QgsGrassRegionEdit::setRegion( const QgsPoint& ul, const QgsPoint& lr )
101101
mStartPoint = ul;
102102
mEndPoint = lr;
103103
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 );
106106
}
107107

108108
void QgsGrassRegionEdit::calcSrcRegion()
@@ -142,19 +142,23 @@ void QgsGrassRegionEdit::transform( QgsMapCanvas *canvas, QVector<QgsPoint> &poi
142142
}
143143
}
144144

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 )
146146
{
147147
QVector<QgsPoint> points;
148148
points.append( QgsPoint( rect.xMinimum(), rect.yMinimum() ) );
149149
points.append( QgsPoint( rect.xMaximum(), rect.yMinimum() ) );
150150
points.append( QgsPoint( rect.xMaximum(), rect.yMaximum() ) );
151151
points.append( QgsPoint( rect.xMinimum(), rect.yMaximum() ) );
152+
if ( !isPolygon )
153+
{
154+
points.append( QgsPoint( rect.xMinimum(), rect.yMinimum() ) );
155+
}
152156

153157
if ( coordinateTransform )
154158
{
155159
transform( canvas, points, coordinateTransform );
156160
}
157-
rubberBand->reset( true );
161+
rubberBand->reset( isPolygon );
158162
for ( int i = 0; i < points.size(); i++ )
159163
{
160164
bool update = false; // true to update canvas
@@ -519,4 +523,4 @@ void QgsGrassRegion::saveWindowLocation()
519523
{
520524
QSettings settings;
521525
settings.setValue( "/GRASS/windows/region/geometry", saveGeometry() );
522-
}
526+
}

src/plugins/grass/qgsgrassregion.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ class QgsGrassRegionEdit : public QgsMapTool
157157
void setSrcRegion( const QgsRectangle &rect );
158158

159159
void setTransform();
160-
static void drawRegion( QgsMapCanvas *canvas, QgsRubberBand* rubberBand, const QgsRectangle &rect, QgsCoordinateTransform *coordinateTransform = 0 );
160+
static void drawRegion( QgsMapCanvas *canvas, QgsRubberBand* rubberBand, const QgsRectangle &rect, QgsCoordinateTransform *coordinateTransform = 0, bool isPolygon = false );
161161
void calcSrcRegion();
162162
static void transform( QgsMapCanvas *canvas, QVector<QgsPoint> &points, QgsCoordinateTransform *coordinateTransform, QgsCoordinateTransform::TransformDirection direction = QgsCoordinateTransform::ForwardTransform );
163163

0 commit comments

Comments
 (0)