20#ifndef QGSWMSRENDERER_H 
   21#define QGSWMSRENDERER_H 
   30#include <QDomDocument> 
  123      typedef QHash<QgsVectorLayer *, SymbolSet> 
HitTest;
 
  142      std::unique_ptr<QgsDxfExport> 
getDxf();
 
  150      std::unique_ptr<QgsMapRendererTask> 
getPdf( 
const QString &tmpFileName );
 
  173      QList<QgsMapLayer *> highlightLayers( QList<QgsWmsParametersHighlightLayer> params );
 
  176      QPainter *layersRendering( 
const QgsMapSettings &mapSettings, QImage &image ) 
const;
 
  179      void annotationsRendering( QPainter *painter, 
const QgsMapSettings &mapSettings ) 
const;
 
  182      void setLayerOpacity( 
QgsMapLayer *layer, 
int opacity ) 
const;
 
  185      void setLayerFilter( 
QgsMapLayer *layer, 
const QList<QgsWmsParametersFilter> &filters );
 
  190      void setLayerAccessControlFilter( 
QgsMapLayer *layer ) 
const;
 
  193      void setLayerSelection( 
QgsMapLayer *layer, 
const QStringList &fids ) 
const;
 
  199      QImage *scaleImage( 
const QImage *image ) 
const;
 
  207      QImage *createImage( 
const QSize &size ) 
const;
 
  216      void configureMapSettings( 
const QPaintDevice *paintDevice, 
QgsMapSettings &mapSettings, 
bool mandatoryCrsParam = 
true );
 
  224      QgsRenderContext configureDefaultRenderContext( QPainter *painter = 
nullptr );
 
  226      QDomDocument featureInfoDocument( QList<QgsMapLayer *> &layers, 
const QgsMapSettings &mapSettings,
 
  227                                        const QImage *outputImage, 
const QString &version ) 
const;
 
  247                                       QDomDocument &infoDocument,
 
  248                                       QDomElement &layerElement,
 
  251                                       const QString &version,
 
  299                                       QDomDocument &infoDocument,
 
  300                                       QDomElement &layerElement,
 
  301                                       const QString &version ) 
const;
 
  312      bool testFilterStringSafety( 
const QString &filter ) 
const;
 
  314      static void groupStringList( QStringList &list, 
const QString &groupString );
 
  317      void convertFeatureInfoToSia2045( QDomDocument &doc ) 
const;
 
  320      QByteArray convertFeatureInfoToHtml( 
const QDomDocument &doc ) 
const;
 
  323      QByteArray convertFeatureInfoToText( 
const QDomDocument &doc ) 
const;
 
  326      QByteArray convertFeatureInfoToJson( 
const QList<QgsMapLayer *> &layers, 
const QDomDocument &doc, 
const QgsCoordinateReferenceSystem &destCRS ) 
const;
 
  328      QDomElement createFeatureGML(
 
  337        QStringList *attributes = 
nullptr ) 
const;
 
  340      static QString replaceValueMapAndRelation( 
QgsVectorLayer *vl, 
int idx, 
const QVariant &attributeVal );
 
  353      void removeTemporaryLayers();
 
  355      void handlePrintErrors( 
const QgsLayout *layout ) 
const;
 
  357      void setLayerStyle( 
QgsMapLayer *layer, 
const QString &style ) 
const;
 
  359      void setLayerSld( 
QgsMapLayer *layer, 
const QDomElement &sld ) 
const;
 
  366      QList<QgsMapLayer *> mTemporaryLayers;
 
  370      bool mIsTemporal = 
false;
 
 
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
 
A helper class that centralizes restrictions given by all the access control filter plugins.
 
This is an abstract base class for any elements of a drag and drop form.
 
This class represents a coordinate reference system (CRS).
 
Exports QGIS layers to the DXF format.
 
A feature filter provider allowing to set filter expressions on a per-layer basis.
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
 
Container of fields for a vector layer.
 
A geometry is the spatial representation of a feature.
 
Layer tree group node serves as a container for layers and further groups.
 
The QgsLegendRendererItem class is abstract interface for legend items returned from QgsMapLayerLegen...
 
The QgsLayerTreeModel class is model implementation for Qt item views framework.
 
Namespace with helper functions for layer tree operations.
 
Class used to render QgsLayout as an atlas, by iterating over the features from an associated vector ...
 
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
 
The QgsLegendSettings class stores the appearance and layout settings for legend drawing with QgsLege...
 
Base class for all map layer types.
 
QgsTask task which draws a map to an image file or a painter as a background task.
 
The QgsMapSettings class contains configuration for rendering of the map.
 
A class to represent a 2D point.
 
Print layout, a QgsLayout subclass for static or atlas-based layouts.
 
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
 
Represents a raster layer.
 
A rectangle specified with double values.
 
Contains information about the context of a rendering operation.
 
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins.
 
Represents a vector layer which manages a vector based data sets.
 
Map renderer for WMS requests.
 
QHash< QgsVectorLayer *, SymbolSet > HitTest
 
QByteArray getPrint()
Returns printed page as binary.
 
HitTest symbols()
Returns the hit test according to the current context.
 
std::unique_ptr< QgsDxfExport > getDxf()
Returns the map as DXF data.
 
QSet< QString > SymbolSet
 
void configureLayers(QList< QgsMapLayer * > &layers, QgsMapSettings *settings=nullptr)
Configures layers for rendering optionally considering the map settings.
 
std::unique_ptr< QgsMapRendererTask > getPdf(const QString &tmpFileName)
Returns a configured pdf export task.
 
QByteArray getFeatureInfo(const QString &version="1.3.0")
Creates an xml document that describes the result of the getFeatureInfo request.
 
QImage * getLegendGraphics(QgsLayerTreeModel &model)
Returns the map legend as an image (or nullptr in case of error).
 
QJsonObject getLegendGraphicsAsJson(QgsLayerTreeModel &model, const Qgis::LegendJsonRenderFlags &jsonRenderFlags=Qgis::LegendJsonRenderFlags())
Returns the map legend as a JSON object.
 
QImage * getMap()
Returns the map as an image (or nullptr in case of error).
 
~QgsRenderer()
Destructor for QgsRenderer.
 
Provides an interface to retrieve and manipulate WMS parameters received from the client.
 
Rendering context for the WMS renderer.
 
Median cut implementation.
 
QgsLayerTreeModelLegendNode * legendNode(const QString &rule, QgsLayerTreeModel &model)
 
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
 
const QgsCoordinateReferenceSystem & crs