Skip to content

Commit 46e7605

Browse files
committed
[ui] Make vertex tool markers and rubber bands hidpi-friendly
1 parent 2329459 commit 46e7605

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/app/vertextool/qgsvertextool.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "qgscurvepolygon.h"
2121
#include "qgsgeometryutils.h"
2222
#include "qgsgeometryvalidator.h"
23+
#include "qgsguiutils.h"
2324
#include "qgslogger.h"
2425
#include "qgsmapcanvas.h"
2526
#include "qgsmulticurve.h"
@@ -256,7 +257,8 @@ QgsVertexTool::QgsVertexTool( QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWid
256257
mEdgeCenterMarker = new QgsVertexMarker( canvas );
257258
mEdgeCenterMarker->setIconType( QgsVertexMarker::ICON_CROSS );
258259
mEdgeCenterMarker->setColor( Qt::red );
259-
mEdgeCenterMarker->setPenWidth( 3 );
260+
mEdgeCenterMarker->setIconSize( QgsGuiUtils::scaleIconSize( 10 ) );
261+
mEdgeCenterMarker->setPenWidth( QgsGuiUtils::scaleIconSize( 3 ) );
260262
mEdgeCenterMarker->setVisible( false );
261263

262264
mFeatureBand = createRubberBand( QgsWkbTypes::LineGeometry );
@@ -266,26 +268,27 @@ QgsVertexTool::QgsVertexTool( QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWid
266268
mFeatureBandMarkers = new QgsRubberBand( canvas );
267269
mFeatureBandMarkers->setIcon( QgsRubberBand::ICON_CIRCLE );
268270
mFeatureBandMarkers->setColor( color );
269-
mFeatureBandMarkers->setIconSize( 8 );
271+
mFeatureBandMarkers->setIconSize( QgsGuiUtils::scaleIconSize( 8 ) );
270272
mFeatureBandMarkers->setVisible( false );
271273

272274
mVertexBand = new QgsRubberBand( canvas );
273275
mVertexBand->setIcon( QgsRubberBand::ICON_CIRCLE );
274276
mVertexBand->setColor( color );
275-
mVertexBand->setIconSize( 15 );
277+
mVertexBand->setIconSize( QgsGuiUtils::scaleIconSize( 15 ) );
276278
mVertexBand->setVisible( false );
277279

278280
QColor color2( color );
279281
color2.setAlpha( color2.alpha() / 3 );
280282
mEdgeBand = new QgsRubberBand( canvas );
281283
mEdgeBand->setColor( color2 );
282-
mEdgeBand->setWidth( 10 );
284+
mEdgeBand->setWidth( QgsGuiUtils::scaleIconSize( 10 ) );
283285
mEdgeBand->setVisible( false );
284286

285287
mEndpointMarker = new QgsVertexMarker( canvas );
286288
mEndpointMarker->setIconType( QgsVertexMarker::ICON_CROSS );
287289
mEndpointMarker->setColor( Qt::red );
288-
mEndpointMarker->setPenWidth( 3 );
290+
mEndpointMarker->setIconSize( QgsGuiUtils::scaleIconSize( 10 ) );
291+
mEndpointMarker->setPenWidth( QgsGuiUtils::scaleIconSize( 3 ) );
289292
mEndpointMarker->setVisible( false );
290293
}
291294

@@ -1454,7 +1457,8 @@ void QgsVertexTool::buildDragBandsForVertices( const QSet<Vertex> &movingVertice
14541457
QgsVertexMarker *marker = new QgsVertexMarker( mCanvas );
14551458
marker->setIconType( QgsVertexMarker::ICON_X );
14561459
marker->setColor( Qt::red );
1457-
marker->setPenWidth( 3 );
1460+
marker->setIconSize( QgsGuiUtils::scaleIconSize( 10 ) );
1461+
marker->setPenWidth( QgsGuiUtils::scaleIconSize( 3 ) );
14581462
marker->setVisible( true );
14591463
marker->setCenter( ptMapPoint );
14601464
mDragPointMarkers << marker;
@@ -2027,7 +2031,8 @@ void QgsVertexTool::setHighlightedVertices( const QList<Vertex> &listVertices, H
20272031

20282032
QgsVertexMarker *marker = new QgsVertexMarker( canvas() );
20292033
marker->setIconType( QgsVertexMarker::ICON_CIRCLE );
2030-
marker->setPenWidth( 3 );
2034+
marker->setIconSize( QgsGuiUtils::scaleIconSize( 10 ) );
2035+
marker->setPenWidth( QgsGuiUtils::scaleIconSize( 3 ) );
20312036
marker->setColor( Qt::blue );
20322037
marker->setFillColor( Qt::blue );
20332038
marker->setCenter( toMapCoordinates( vertex.layer, geom.vertexAt( vertex.vertexId ) ) );
@@ -2236,7 +2241,8 @@ void QgsVertexTool::GeometryValidation::addError( QgsGeometry::Error e )
22362241
marker->setIconType( QgsVertexMarker::ICON_X );
22372242
marker->setColor( Qt::green );
22382243
marker->setZValue( marker->zValue() + 1 );
2239-
marker->setPenWidth( 2 );
2244+
marker->setIconSize( QgsGuiUtils::scaleIconSize( 10 ) );
2245+
marker->setPenWidth( QgsGuiUtils::scaleIconSize( 2 ) );
22402246
marker->setToolTip( e.what() );
22412247
errorMarkers << marker;
22422248
}

0 commit comments

Comments
 (0)