@@ -311,6 +311,7 @@ QgsPalLayerSettings::QgsPalLayerSettings()
311
311
placement = AroundPoint;
312
312
placementFlags = 0 ;
313
313
centroidWhole = false ;
314
+ centroidInside = false ;
314
315
quadOffset = QuadrantOver;
315
316
xOffset = 0 ;
316
317
yOffset = 0 ;
@@ -502,6 +503,7 @@ QgsPalLayerSettings::QgsPalLayerSettings( const QgsPalLayerSettings& s )
502
503
placement = s.placement ;
503
504
placementFlags = s.placementFlags ;
504
505
centroidWhole = s.centroidWhole ;
506
+ centroidInside = s.centroidInside ;
505
507
quadOffset = s.quadOffset ;
506
508
xOffset = s.xOffset ;
507
509
yOffset = s.yOffset ;
@@ -997,6 +999,7 @@ void QgsPalLayerSettings::readFromLayer( QgsVectorLayer* layer )
997
999
placement = ( Placement )layer->customProperty ( " labeling/placement" ).toInt ();
998
1000
placementFlags = layer->customProperty ( " labeling/placementFlags" ).toUInt ();
999
1001
centroidWhole = layer->customProperty ( " labeling/centroidWhole" , QVariant ( false ) ).toBool ();
1002
+ centroidInside = layer->customProperty ( " labeling/centroidInside" , QVariant ( false ) ).toBool ();
1000
1003
dist = layer->customProperty ( " labeling/dist" ).toDouble ();
1001
1004
distInMapUnits = layer->customProperty ( " labeling/distInMapUnits" ).toBool ();
1002
1005
distMapUnitScale.minScale = layer->customProperty ( " labeling/distMapUnitMinScale" , 0.0 ).toDouble ();
@@ -1167,6 +1170,7 @@ void QgsPalLayerSettings::writeToLayer( QgsVectorLayer* layer )
1167
1170
layer->setCustomProperty ( " labeling/placement" , placement );
1168
1171
layer->setCustomProperty ( " labeling/placementFlags" , ( unsigned int )placementFlags );
1169
1172
layer->setCustomProperty ( " labeling/centroidWhole" , centroidWhole );
1173
+ layer->setCustomProperty ( " labeling/centroidInside" , centroidInside );
1170
1174
layer->setCustomProperty ( " labeling/dist" , dist );
1171
1175
layer->setCustomProperty ( " labeling/distInMapUnits" , distInMapUnits );
1172
1176
layer->setCustomProperty ( " labeling/distMapUnitMinScale" , distMapUnitScale.minScale );
@@ -3389,8 +3393,8 @@ int QgsPalLabeling::prepareLayer( QgsVectorLayer* layer, QStringList& attrNames,
3389
3393
// set whether adjacent lines should be merged
3390
3394
l->setMergeConnectedLines ( lyr.mergeLines );
3391
3395
3392
- // force the location of the centroid inside of polygons
3393
- l->setCentroidInside ( true );
3396
+ // set whether location of centroid must be inside of polygons
3397
+ l->setCentroidInside ( lyr. centroidInside );
3394
3398
3395
3399
// set how to show upside-down labels
3396
3400
Layer::UpsideDownLabels upsdnlabels;
0 commit comments