mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
Removes duplicated code
This commit is contained in:
parent
f542651497
commit
0384f23327
@ -118,23 +118,8 @@ namespace QgsWms
|
||||
QList<QgsMapLayer *> layers = mContext.layersToRender();
|
||||
configureLayers( layers );
|
||||
|
||||
// getting scale from bbox or default size
|
||||
QgsLegendSettings settings = mWmsParameters.legendSettings();
|
||||
if ( !mWmsParameters.bbox().isEmpty() )
|
||||
{
|
||||
QgsMapSettings mapSettings;
|
||||
std::unique_ptr<QImage> tmp( createImage( mContext.mapSize( false ) ) );
|
||||
configureMapSettings( tmp.get(), mapSettings );
|
||||
settings.setMapScale( mapSettings.scale() );
|
||||
settings.setMapUnitsPerPixel( mapSettings.mapUnitsPerPixel() );
|
||||
}
|
||||
else
|
||||
{
|
||||
double defaultMapUnitsPerPixel = QgsServerProjectUtils::wmsDefaultMapUnitsPerMm( *mContext.project() ) / mContext.dotsPerMm();
|
||||
settings.setMapUnitsPerPixel( defaultMapUnitsPerPixel );
|
||||
}
|
||||
|
||||
// init renderer
|
||||
QgsLegendSettings legendSettings();
|
||||
QgsLegendRenderer renderer( &model, settings );
|
||||
|
||||
// create image
|
||||
@ -167,26 +152,9 @@ namespace QgsWms
|
||||
QList<QgsMapLayer *> layers = mContext.layersToRender();
|
||||
configureLayers( layers );
|
||||
|
||||
// getting scale from bbox
|
||||
QgsLegendSettings settings = mWmsParameters.legendSettings();
|
||||
if ( !mWmsParameters.bbox().isEmpty() )
|
||||
{
|
||||
QgsMapSettings mapSettings;
|
||||
std::unique_ptr<QImage> tmp( createImage( mContext.mapSize( false ) ) );
|
||||
configureMapSettings( tmp.get(), mapSettings );
|
||||
settings.setMapScale( mapSettings.scale() );
|
||||
settings.setMapUnitsPerPixel( mapSettings.mapUnitsPerPixel() );
|
||||
}
|
||||
else
|
||||
{
|
||||
double defaultMapUnitsPerPixel = QgsServerProjectUtils::wmsDefaultMapUnitsPerMm( *mContext.project() ) / mContext.dotsPerMm();
|
||||
settings.setMapUnitsPerPixel( defaultMapUnitsPerPixel );
|
||||
}
|
||||
|
||||
// create image
|
||||
const int width = mWmsParameters.widthAsInt();
|
||||
const int height = mWmsParameters.heightAsInt();
|
||||
std::unique_ptr<QImage> image( createImage( QSize( width, height ) ) );
|
||||
const QSize size( mWmsParameters.widthAsInt(), mWmsParameters.heightAsInt() );
|
||||
std::unique_ptr<QImage> image( createImage( size ) );
|
||||
|
||||
// configure painter
|
||||
const qreal dpmm = mContext.dotsPerMm();
|
||||
@ -196,6 +164,7 @@ namespace QgsWms
|
||||
painter->scale( dpmm, dpmm );
|
||||
|
||||
// rendering
|
||||
QgsLegendSettings legendSettings();
|
||||
QgsLayerTreeModelLegendNode::ItemContext ctx;
|
||||
ctx.painter = painter.get();
|
||||
ctx.labelXOffset = 0;
|
||||
@ -2855,4 +2824,26 @@ namespace QgsWms
|
||||
layer->readSld( sld, err );
|
||||
layer->setCustomProperty( "readSLD", true );
|
||||
}
|
||||
|
||||
QgsLegendSettings QgsRenderer::legendSettings() const
|
||||
{
|
||||
// getting scale from bbox or default size
|
||||
QgsLegendSettings settings = mWmsParameters.legendSettings();
|
||||
|
||||
if ( !mWmsParameters.bbox().isEmpty() )
|
||||
{
|
||||
QgsMapSettings mapSettings;
|
||||
std::unique_ptr<QImage> tmp( createImage( mContext.mapSize( false ) ) );
|
||||
configureMapSettings( tmp.get(), mapSettings );
|
||||
settings.setMapScale( mapSettings.scale() );
|
||||
settings.setMapUnitsPerPixel( mapSettings.mapUnitsPerPixel() );
|
||||
}
|
||||
else
|
||||
{
|
||||
double defaultMapUnitsPerPixel = QgsServerProjectUtils::wmsDefaultMapUnitsPerMm( *mContext.project() ) / mContext.dotsPerMm();
|
||||
settings.setMapUnitsPerPixel( defaultMapUnitsPerPixel );
|
||||
}
|
||||
|
||||
return settings;
|
||||
}
|
||||
} // namespace QgsWms
|
||||
|
@ -129,6 +129,7 @@ namespace QgsWms
|
||||
QByteArray getFeatureInfo( const QString &version = "1.3.0" );
|
||||
|
||||
private:
|
||||
QgsLegendSettings legendSettings() const;
|
||||
|
||||
// Build and returns highlight layers
|
||||
QList<QgsMapLayer *> highlightLayers( QList<QgsWmsParametersHighlightLayer> params );
|
||||
|
Loading…
x
Reference in New Issue
Block a user