@@ -825,59 +825,13 @@ namespace QgsWms
825
825
QStringLiteral ( " The requested map size is too large" ) );
826
826
}
827
827
828
- // get layers parameters
829
- QList<QgsMapLayer *> layers;
830
- QList<QgsWmsParametersLayer> params = mWmsParameters .layersParameters ();
831
-
832
828
// init layer restorer before doing anything
833
829
std::unique_ptr<QgsLayerRestorer> restorer;
834
- restorer.reset ( new QgsLayerRestorer ( mNicknameLayers . values () ) );
830
+ restorer.reset ( new QgsLayerRestorer ( mContext . layers () ) );
835
831
836
- // init stylized layers according to LAYERS/STYLES or SLD
837
- QString sld = mWmsParameters .sldBody ();
838
- if ( !sld.isEmpty () )
839
- {
840
- layers = sldStylizedLayers ( sld );
841
- }
842
- else
843
- {
844
- layers = stylizedLayers ( params );
845
- }
846
-
847
- // remove unwanted layers (restricted layers, ...)
848
- removeUnwantedLayers ( layers );
849
-
850
- // configure each layer with opacity, selection filter, ...
851
- bool updateMapExtent = mWmsParameters .bbox ().isEmpty ();
852
- for ( QgsMapLayer *layer : layers )
853
- {
854
- checkLayerReadPermissions ( layer );
855
-
856
- for ( const QgsWmsParametersLayer ¶m : params )
857
- {
858
- if ( param.mNickname == layerNickname ( *layer ) )
859
- {
860
- setLayerOpacity ( layer, param.mOpacity );
861
-
862
- setLayerFilter ( layer, param.mFilter );
863
-
864
- setLayerSelection ( layer, param.mSelection );
865
-
866
- if ( updateMapExtent )
867
- updateExtent ( layer, mapSettings );
868
-
869
- break ;
870
- }
871
- }
872
-
873
- setLayerAccessControlFilter ( layer );
874
- }
875
-
876
- // add external layers
877
- layers = layers << externalLayers ( mWmsParameters .externalLayersParameters () );
878
-
879
- // add highlight layers above others
880
- layers = layers << highlightLayers ( mWmsParameters .highlightLayersParameters () );
832
+ // configure layers
833
+ QList<QgsMapLayer *> layers = mContext .layersToRender ();
834
+ configureLayers ( layers, &mapSettings );
881
835
882
836
// create the output image and the painter
883
837
std::unique_ptr<QPainter> painter;
@@ -887,7 +841,6 @@ namespace QgsWms
887
841
configureMapSettings ( image.get (), mapSettings );
888
842
889
843
// add layers to map settings (revert order for the rendering)
890
- std::reverse ( layers.begin (), layers.end () );
891
844
mapSettings.setLayers ( layers );
892
845
893
846
// rendering step for layers
0 commit comments