QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
Public Member Functions | Static Public Member Functions | List of all members
QgsRenderContext Class Reference

Contains information about the context of a rendering operation. More...

#include <qgsrendercontext.h>

Inheritance diagram for QgsRenderContext:
Inheritance graph
[legend]

Public Member Functions

 QgsRenderContext ()
 
 QgsRenderContext (const QgsRenderContext &rh)
 
 ~QgsRenderContext () override
 
void clearCustomRenderingFlag (const QString &flag)
 Clears the specified custom rendering flag. More...
 
QList< QgsMapClippingRegionclippingRegions () const
 Returns the list of clipping regions to apply during the render. More...
 
double convertFromMapUnits (double sizeInMapUnits, QgsUnitTypes::RenderUnit outputUnit) const
 Converts a size from map units to the specified units. More...
 
double convertMetersToMapUnits (double meters) const
 Convert meter distances to active MapUnit values for QgsUnitTypes::RenderMetersInMapUnits. More...
 
double convertToMapUnits (double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale=QgsMapUnitScale()) const
 Converts a size from the specified units to map units. More...
 
double convertToPainterUnits (double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale=QgsMapUnitScale(), Qgis::RenderSubcomponentProperty property=Qgis::RenderSubcomponentProperty::Generic) const
 Converts a size from the specified units to painter units (pixels). More...
 
QgsCoordinateTransform coordinateTransform () const
 Returns the current coordinate transform for the context. More...
 
int currentMaskId () const
 Returns the current mask id, which can be used with maskPainter() More...
 
QVariantMap customRenderingFlags () const
 Gets custom rendering flags. More...
 
QSize deviceOutputSize () const
 Returns the device output size of the render. More...
 
float devicePixelRatio () const
 Returns the device pixel ratio. More...
 
QSet< const QgsSymbolLayer * > disabledSymbolLayers () const
 When rendering a map layer in a second pass (for selective masking), some symbol layers may be disabled. More...
 
const QgsDistanceAreadistanceArea () const
 A general purpose distance and area calculator, capable of performing ellipsoid based calculations. More...
 
double dpiTarget () const
 Returns the targeted DPI for rendering. More...
 
bool drawEditingInformation () const
 Returns true if edit markers should be drawn during the render operation. More...
 
QgsExpressionContextexpressionContext ()
 Gets the expression context. More...
 
const QgsExpressionContextexpressionContext () const
 Gets the expression context (const version). More...
 
const QgsRectangleextent () const
 When rendering a map layer, calling this method returns the "clipping" extent for the layer (in the layer's CRS). More...
 
QgsGeometry featureClipGeometry () const
 Returns the geometry to use to clip features at render time. More...
 
const QgsFeatureFilterProviderfeatureFilterProvider () const
 Gets the filter feature provider used for additional filtering of rendered features. More...
 
QgsFeedbackfeedback () const
 Returns the feedback object that can be queried regularly during rendering to check if rendering should be canceled, if set. More...
 
Qgis::RenderContextFlags flags () const
 Returns combination of flags used for rendering. More...
 
bool forceVectorOutput () const
 Returns true if rendering operations should use vector operations instead of any faster raster shortcuts. More...
 
const QgsAbstractGeometrygeometry () const
 Returns pointer to the unsegmentized geometry. More...
 
bool hasRenderedFeatureHandlers () const
 Returns true if the context has any rendered feature handlers. More...
 
QImage::Format imageFormat () const
 Returns the QImage format which should be used for QImages created during rendering. More...
 
bool isGuiPreview () const
 Returns the Gui preview mode. More...
 
bool isSymbolLayerEnabled (const QgsSymbolLayer *layer) const
 When rendering a map layer in a second pass (for selective masking), some symbol layers may be disabled. More...
 
QgsLabelingEnginelabelingEngine () const
 Gets access to new labeling engine (may be nullptr) More...
 
QgsRectangle mapExtent () const
 Returns the original extent of the map being rendered. More...
 
const QgsMapToPixelmapToPixel () const
 Returns the context's map to pixel transform, which transforms between map coordinates and device coordinates. More...
 
const QgsMaskIdProvidermaskIdProvider () const
 Returns the mask id provider attached to the context. More...
 
QPainter * maskPainter (int id=0)
 Returns a mask QPainter for the render operation. More...
 
QgsRenderContextoperator= (const QgsRenderContext &rh)
 
QSize outputSize () const
 Returns the size of the resulting rendered image, in pixels. More...
 
QPainter * painter ()
 Returns the destination QPainter for the render operation. More...
 
const QPainter * painter () const
 Returns the const destination QPainter for the render operation. More...
 
const QgsPathResolverpathResolver () const
 Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g. More...
 
QList< QgsRenderedFeatureHandlerInterface * > renderedFeatureHandlers () const
 Returns the list of rendered feature handlers to use while rendering map layers. More...
 
double rendererScale () const
 Returns the renderer map scale. More...
 
bool renderingStopped () const
 Returns true if the rendering operation has been stopped and any ongoing rendering should be canceled immediately. More...
 
double scaleFactor () const
 Returns the scaling factor for the render to convert painter units to physical sizes. More...
 
double segmentationTolerance () const
 Gets the segmentation tolerance applied when rendering curved geometries. More...
 
QgsAbstractGeometry::SegmentationToleranceType segmentationToleranceType () const
 Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation) More...
 
QColor selectionColor () const
 Returns the color to use when rendering selected features. More...
 
void setCoordinateTransform (const QgsCoordinateTransform &t)
 Sets the current coordinate transform for the context. More...
 
void setCurrentMaskId (int id)
 Stores a mask id as the "current" one. More...
 
void setCustomRenderingFlag (const QString &flag, const QVariant &value)
 Sets a custom rendering flag. More...
 
void setDevicePixelRatio (float ratio)
 Sets the device pixel ratio. More...
 
void setDisabledSymbolLayers (const QSet< const QgsSymbolLayer * > &symbolLayers)
 When rendering a map layer in a second pass (for selective masking), some symbol layers may be disabled. More...
 
void setDistanceArea (const QgsDistanceArea &distanceArea)
 A general purpose distance and area calculator, capable of performing ellipsoid based calculations. More...
 
void setDpiTarget (double dpi)
 Sets the targeted dpi for rendering. More...
 
void setDrawEditingInformation (bool b)
 Sets whether edit markers should be drawn during the render operation. More...
 
void setExpressionContext (const QgsExpressionContext &context)
 Sets the expression context. More...
 
void setExtent (const QgsRectangle &extent)
 When rendering a map layer, calling this method sets the "clipping" extent for the layer (in the layer's CRS). More...
 
void setFeatureClipGeometry (const QgsGeometry &geometry)
 Sets a geometry to use to clip features at render time. More...
 
void setFeatureFilterProvider (const QgsFeatureFilterProvider *ffp)
 Set a filter feature provider used for additional filtering of rendered features. More...
 
void setFeedback (QgsFeedback *feedback)
 Attach a feedback object that can be queried regularly during rendering to check if rendering should be canceled. More...
 
void setFlag (Qgis::RenderContextFlag flag, bool on=true)
 Enable or disable a particular flag (other flags are not affected) More...
 
void setFlags (Qgis::RenderContextFlags flags)
 Set combination of flags that will be used for rendering. More...
 
void setForceVectorOutput (bool force)
 Sets whether rendering operations should use vector operations instead of any faster raster shortcuts. More...
 
void setGeometry (const QgsAbstractGeometry *geometry)
 Sets pointer to original (unsegmentized) geometry. More...
 
void setImageFormat (QImage::Format format)
 Sets QImage format which should be used for QImages created during rendering. More...
 
void setIsGuiPreview (bool preview)
 Sets GUI preview mode. More...
 
void setLabelingEngine (QgsLabelingEngine *engine)
 Assign new labeling engine. More...
 
void setMapExtent (const QgsRectangle &extent)
 Sets the original extent of the map being rendered. More...
 
void setMapToPixel (const QgsMapToPixel &mtp)
 Sets the context's map to pixel transform, which transforms between map coordinates and device coordinates. More...
 
void setMaskIdProvider (QgsMaskIdProvider *provider)
 Attaches a mask id provider to the context. More...
 
void setMaskPainter (QPainter *p, int id=0)
 Sets a mask QPainter for the render operation. More...
 
void setOutputSize (QSize size)
 Sets the size of the resulting rendered image, in pixels. More...
 
void setPainter (QPainter *p)
 Sets the destination QPainter for the render operation. More...
 
void setPainterFlagsUsingContext (QPainter *painter=nullptr) const
 Sets relevant flags on a destination painter, using the flags and settings currently defined for the render context. More...
 
void setPathResolver (const QgsPathResolver &resolver)
 Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g. More...
 
void setRendererScale (double scale)
 Sets the renderer map scale. More...
 
void setRenderingStopped (bool stopped)
 Sets whether the rendering operation has been stopped and any ongoing rendering should be canceled immediately. More...
 
void setScaleFactor (double factor)
 Sets the scaling factor for the render to convert painter units to physical sizes. More...
 
void setSegmentationTolerance (double tolerance)
 Sets the segmentation tolerance applied when rendering curved geometries. More...
 
void setSegmentationToleranceType (QgsAbstractGeometry::SegmentationToleranceType type)
 Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation) More...
 
void setSelectionColor (const QColor &color)
 Sets the color to use when rendering selected features. More...
 
void setShowSelection (bool showSelection)
 Sets whether vector selections should be shown in the rendered map. More...
 
void setSymbologyReferenceScale (double scale)
 Sets the symbology reference scale. More...
 
void setTextRenderFormat (Qgis::TextRenderFormat format)
 Sets the text render format, which dictates how text is rendered (e.g. More...
 
void setTextureOrigin (const QPointF &origin)
 Sets the texture origin, which should be used as a brush transform when rendering using QBrush objects. More...
 
void setTransformContext (const QgsCoordinateTransformContext &context)
 Sets the context's coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system. More...
 
void setUseAdvancedEffects (bool enabled)
 Used to enable or disable advanced effects such as blend modes. More...
 
void setUseRenderingOptimization (bool enabled)
 Sets whether the rendering optimization (geometry simplification) should be executed. More...
 
void setVectorSimplifyMethod (const QgsVectorSimplifyMethod &simplifyMethod)
 Sets the simplification setting to use when rendering vector layers. More...
 
void setZRange (const QgsDoubleRange &range)
 Sets the range of z-values which should be rendered. More...
 
bool showSelection () const
 Returns true if vector selections should be shown in the rendered map. More...
 
double symbologyReferenceScale () const
 Returns the symbology reference scale. More...
 
bool testFlag (Qgis::RenderContextFlag flag) const
 Check whether a particular flag is enabled. More...
 
Qgis::TextRenderFormat textRenderFormat () const
 Returns the text render format, which dictates how text is rendered (e.g. More...
 
QPointF textureOrigin () const
 Returns the texture origin, which should be used as a brush transform when rendering using QBrush objects. More...
 
QgsCoordinateTransformContext transformContext () const
 Returns the context's coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system. More...
 
bool useAdvancedEffects () const
 Returns true if advanced effects such as blend modes such be used. More...
 
bool useRenderingOptimization () const
 Returns true if the rendering optimization (geometry simplification) can be executed. More...
 
const QgsVectorSimplifyMethodvectorSimplifyMethod () const
 Returns the simplification settings to use when rendering vector layers. More...
 
QgsDoubleRange zRange () const
 Returns the range of z-values which should be rendered. More...
 
- Public Member Functions inherited from QgsTemporalRangeObject
 QgsTemporalRangeObject (bool enabled=false)
 Constructor QgsTemporalRangeObject. More...
 
virtual ~QgsTemporalRangeObject ()=default
 
bool isTemporal () const
 Returns true if the object's temporal range is enabled, and the object will be filtered when rendering maps with a specific time range set. More...
 
void setIsTemporal (bool enabled)
 Sets whether the temporal range is enabled (i.e. More...
 
void setTemporalRange (const QgsDateTimeRange &range)
 Sets the temporal range for the object. More...
 
const QgsDateTimeRange & temporalRange () const
 Returns the datetime range for the object. More...
 

Static Public Member Functions

static QgsRenderContext fromMapSettings (const QgsMapSettings &mapSettings)
 create initialized QgsRenderContext instance from given QgsMapSettings More...
 
static QgsRenderContext fromQPainter (QPainter *painter)
 Creates a default render context given a pixel based QPainter destination. More...
 

Detailed Description

Contains information about the context of a rendering operation.

The context of a rendering operation defines properties such as the conversion ratio between screen and map units, the extents to be rendered etc.

Definition at line 57 of file qgsrendercontext.h.

Constructor & Destructor Documentation

◆ QgsRenderContext() [1/2]

QgsRenderContext::QgsRenderContext ( )

Definition at line 31 of file qgsrendercontext.cpp.

◆ ~QgsRenderContext()

QgsRenderContext::~QgsRenderContext ( )
overridedefault

◆ QgsRenderContext() [2/2]

QgsRenderContext::QgsRenderContext ( const QgsRenderContext rh)

Definition at line 42 of file qgsrendercontext.cpp.

Member Function Documentation

◆ clearCustomRenderingFlag()

void QgsRenderContext::clearCustomRenderingFlag ( const QString &  flag)
inline

Clears the specified custom rendering flag.

Parameters
flagthe flag name
See also
setCustomRenderingFlag()
Since
QGIS 3.12

Definition at line 820 of file qgsrendercontext.h.

◆ clippingRegions()

QList< QgsMapClippingRegion > QgsRenderContext::clippingRegions ( ) const

Returns the list of clipping regions to apply during the render.

These regions are always in the final destination CRS for the map.

Since
QGIS 3.16

Definition at line 606 of file qgsrendercontext.cpp.

◆ convertFromMapUnits()

double QgsRenderContext::convertFromMapUnits ( double  sizeInMapUnits,
QgsUnitTypes::RenderUnit  outputUnit 
) const

Converts a size from map units to the specified units.

See also
convertToMapUnits()
Since
QGIS 3.0

Definition at line 522 of file qgsrendercontext.cpp.

◆ convertMetersToMapUnits()

double QgsRenderContext::convertMetersToMapUnits ( double  meters) const

Convert meter distances to active MapUnit values for QgsUnitTypes::RenderMetersInMapUnits.

Note
When the sourceCrs() is geographic, the center of the Extent will be used
Since
QGIS 3.0

Definition at line 562 of file qgsrendercontext.cpp.

◆ convertToMapUnits()

double QgsRenderContext::convertToMapUnits ( double  size,
QgsUnitTypes::RenderUnit  unit,
const QgsMapUnitScale scale = QgsMapUnitScale() 
) const

Converts a size from the specified units to map units.

The conversion respects the limits specified by the optional scale parameter.

See also
convertToPainterUnits()
Since
QGIS 3.0

Definition at line 456 of file qgsrendercontext.cpp.

◆ convertToPainterUnits()

double QgsRenderContext::convertToPainterUnits ( double  size,
QgsUnitTypes::RenderUnit  unit,
const QgsMapUnitScale scale = QgsMapUnitScale(),
Qgis::RenderSubcomponentProperty  property = Qgis::RenderSubcomponentProperty::Generic 
) const

Converts a size from the specified units to painter units (pixels).

The conversion respects the limits specified by the optional scale parameter.

Since QGIS 3.22 the optional property argument can be used to specify the associated property. This is used in some contexts to refine the converted size. For example, a Qgis::RenderSubcomponentProperty::BlurSize property will be limited to a suitably fast range when the render context has the Qgis::RenderContextFlag::RenderSymbolPreview set.

See also
convertToMapUnits()
Since
QGIS 3.0

Definition at line 348 of file qgsrendercontext.cpp.

◆ coordinateTransform()

QgsCoordinateTransform QgsRenderContext::coordinateTransform ( ) const
inline

Returns the current coordinate transform for the context.

This represents the coordinate transform required to transform a layer which is being rendered back to the CRS of the rendered map. If no coordinate transformation is required, or the render context is not associated with a map layer render, then an invalid coordinate transformation is returned.

See also
setCoordinateTransform()

Definition at line 176 of file qgsrendercontext.h.

◆ currentMaskId()

int QgsRenderContext::currentMaskId ( ) const
inline

Returns the current mask id, which can be used with maskPainter()

See also
setCurrentMaskId()
maskPainter()
Since
QGIS 3.12

Definition at line 772 of file qgsrendercontext.h.

◆ customRenderingFlags()

QVariantMap QgsRenderContext::customRenderingFlags ( ) const
inline

Gets custom rendering flags.

Layers might honour these to alter their rendering.

Returns
a map of custom flags
See also
setCustomRenderingFlag()
Since
QGIS 3.12

Definition at line 803 of file qgsrendercontext.h.

◆ deviceOutputSize()

QSize QgsRenderContext::deviceOutputSize ( ) const

Returns the device output size of the render.

This is equivalent to the output size multiplicated by the device pixel ratio.

See also
outputSize()
devicePixelRatio()
setOutputSize()
Since
QGIS 3.22

Definition at line 661 of file qgsrendercontext.cpp.

◆ devicePixelRatio()

float QgsRenderContext::devicePixelRatio ( ) const

Returns the device pixel ratio.

Common values are 1 for normal-dpi displays and 2 for high-dpi "retina" displays.

See also
setDevicePixelRatio()
Since
QGIS 3.22

Definition at line 651 of file qgsrendercontext.cpp.

◆ disabledSymbolLayers()

QSet<const QgsSymbolLayer *> QgsRenderContext::disabledSymbolLayers ( ) const
inline

When rendering a map layer in a second pass (for selective masking), some symbol layers may be disabled.

Returns the list of disabled symbol layers.

See also
setDisabledSymbolLayers()
isSymbolLayerEnabled()
Since
QGIS 3.12

Definition at line 153 of file qgsrendercontext.h.

◆ distanceArea()

const QgsDistanceArea& QgsRenderContext::distanceArea ( ) const
inline

A general purpose distance and area calculator, capable of performing ellipsoid based calculations.

Since
QGIS 3.0

Definition at line 182 of file qgsrendercontext.h.

◆ dpiTarget()

double QgsRenderContext::dpiTarget ( ) const
inline

Returns the targeted DPI for rendering.

See also
setDpiTarget()
Since
QGIS 3.20

Definition at line 272 of file qgsrendercontext.h.

◆ drawEditingInformation()

bool QgsRenderContext::drawEditingInformation ( ) const

Returns true if edit markers should be drawn during the render operation.

See also
setDrawEditingInformation()

Definition at line 291 of file qgsrendercontext.cpp.

◆ expressionContext() [1/2]

QgsExpressionContext& QgsRenderContext::expressionContext ( )
inline

Gets the expression context.

This context should be used for all expression evaluation associated with this render context.

See also
setExpressionContext()
Since
QGIS 2.12

Definition at line 608 of file qgsrendercontext.h.

◆ expressionContext() [2/2]

const QgsExpressionContext& QgsRenderContext::expressionContext ( ) const
inline

Gets the expression context (const version).

This context should be used for all expression evaluation associated with this render context.

See also
setExpressionContext()
Note
not available in Python bindings
Since
QGIS 2.12

Definition at line 617 of file qgsrendercontext.h.

◆ extent()

const QgsRectangle& QgsRenderContext::extent ( ) const
inline

When rendering a map layer, calling this method returns the "clipping" extent for the layer (in the layer's CRS).

This extent is a "worst-case" scenario, which is guaranteed to cover the complete visible portion of the layer when it is rendered to a map. It is often larger than the actual visible portion of that layer.

Warning
For some layers, depending on the visible extent and the coordinate transforms involved, this extent will represent the entire globe. This method should never be used to determine the actual visible extent of a map render.
See also
setExtent()
mapExtent()

Definition at line 237 of file qgsrendercontext.h.

◆ featureClipGeometry()

QgsGeometry QgsRenderContext::featureClipGeometry ( ) const

Returns the geometry to use to clip features at render time.

When vector features are rendered, they should be clipped to this geometry.

Warning
The clipping must take effect for rendering the feature's symbol only, and should never be applied directly to the feature being rendered. Doing so would impact the results of rendering rules which rely on feature geometry, such as a rule-based renderer using the feature's area.
See also
setFeatureClipGeometry()
Since
QGIS 3.16

Definition at line 611 of file qgsrendercontext.cpp.

◆ featureFilterProvider()

const QgsFeatureFilterProvider * QgsRenderContext::featureFilterProvider ( ) const

Gets the filter feature provider used for additional filtering of rendered features.

Returns
the filter feature provider
See also
setFeatureFilterProvider()
Since
QGIS 2.14

Definition at line 343 of file qgsrendercontext.cpp.

◆ feedback()

QgsFeedback * QgsRenderContext::feedback ( ) const

Returns the feedback object that can be queried regularly during rendering to check if rendering should be canceled, if set.

Maybe be nullptr.

See also
setFeedback()
Since
QGIS 3.22

Definition at line 193 of file qgsrendercontext.cpp.

◆ flags()

Qgis::RenderContextFlags QgsRenderContext::flags ( ) const

Returns combination of flags used for rendering.

Since
QGIS 2.14

Definition at line 211 of file qgsrendercontext.cpp.

◆ forceVectorOutput()

bool QgsRenderContext::forceVectorOutput ( ) const

Returns true if rendering operations should use vector operations instead of any faster raster shortcuts.

See also
setForceVectorOutput()

Definition at line 276 of file qgsrendercontext.cpp.

◆ fromMapSettings()

QgsRenderContext QgsRenderContext::fromMapSettings ( const QgsMapSettings mapSettings)
static

create initialized QgsRenderContext instance from given QgsMapSettings

Since
QGIS 2.4

Definition at line 221 of file qgsrendercontext.cpp.

◆ fromQPainter()

QgsRenderContext QgsRenderContext::fromQPainter ( QPainter *  painter)
static

Creates a default render context given a pixel based QPainter destination.

If no painter is specified or the painter has no device, then a default DPI of 88 will be assumed.

Since
QGIS 3.0

Definition at line 133 of file qgsrendercontext.cpp.

◆ geometry()

const QgsAbstractGeometry* QgsRenderContext::geometry ( ) const
inline

Returns pointer to the unsegmentized geometry.

Definition at line 620 of file qgsrendercontext.h.

◆ hasRenderedFeatureHandlers()

bool QgsRenderContext::hasRenderedFeatureHandlers ( ) const
inline

Returns true if the context has any rendered feature handlers.

See also
renderedFeatureHandlers()
Since
QGIS 3.10

Definition at line 740 of file qgsrendercontext.h.

◆ imageFormat()

QImage::Format QgsRenderContext::imageFormat ( ) const
inline

Returns the QImage format which should be used for QImages created during rendering.

See also
setImageFormat
Since
QGIS 3.22

Definition at line 959 of file qgsrendercontext.h.

◆ isGuiPreview()

bool QgsRenderContext::isGuiPreview ( ) const
inline

Returns the Gui preview mode.

GUI preview mode is used to change the behavior of some renderings when they are done to preview of symbology in the GUI. This is especially used to display mask symbol layers rather than painting them in a mask painter, which is not meant to be visible, by definition.

See also
isGuiPreview
setIsGuiPreview
Since
QGIS 3.12

Definition at line 795 of file qgsrendercontext.h.

◆ isSymbolLayerEnabled()

bool QgsRenderContext::isSymbolLayerEnabled ( const QgsSymbolLayer layer) const
inline

When rendering a map layer in a second pass (for selective masking), some symbol layers may be disabled.

Checks whether a given symbol layer has been disabled for the current pass.

See also
setDisabledSymbolLayers()
disabledSymbolLayers()
Since
QGIS 3.12

Definition at line 164 of file qgsrendercontext.h.

◆ labelingEngine()

QgsLabelingEngine* QgsRenderContext::labelingEngine ( ) const
inline

Gets access to new labeling engine (may be nullptr)

Note
not available in Python bindings

Definition at line 366 of file qgsrendercontext.h.

◆ mapExtent()

QgsRectangle QgsRenderContext::mapExtent ( ) const
inline

Returns the original extent of the map being rendered.

Unlike extent(), this extent is always in the final destination CRS for the map render and represents the exact bounds of the map being rendered.

See also
extent()
setMapExtent()
Since
QGIS 3.4.8

Definition at line 249 of file qgsrendercontext.h.

◆ mapToPixel()

const QgsMapToPixel& QgsRenderContext::mapToPixel ( ) const
inline

Returns the context's map to pixel transform, which transforms between map coordinates and device coordinates.

See also
setMapToPixel()

Definition at line 256 of file qgsrendercontext.h.

◆ maskIdProvider()

const QgsMaskIdProvider* QgsRenderContext::maskIdProvider ( ) const
inline

Returns the mask id provider attached to the context.

See also
setMaskIdProvider()
Since
QGIS 3.12

Definition at line 757 of file qgsrendercontext.h.

◆ maskPainter()

QPainter* QgsRenderContext::maskPainter ( int  id = 0)
inline

Returns a mask QPainter for the render operation.

Multiple mask painters can be defined, each with a unique identifier. nullptr is returned if a mask painter with the given identifier does not exist. This is currently used to implement selective masking.

See also
setMaskPainter()
currentMaskId()
Since
QGIS 3.12

Definition at line 142 of file qgsrendercontext.h.

◆ operator=()

QgsRenderContext & QgsRenderContext::operator= ( const QgsRenderContext rh)

Definition at line 86 of file qgsrendercontext.cpp.

◆ outputSize()

QSize QgsRenderContext::outputSize ( ) const

Returns the size of the resulting rendered image, in pixels.

See also
deviceOutputSize()
setOutputSize()
Since
QGIS 3.22

Definition at line 641 of file qgsrendercontext.cpp.

◆ painter() [1/2]

QPainter* QgsRenderContext::painter ( )
inline

Returns the destination QPainter for the render operation.

See also
setPainter()

Definition at line 110 of file qgsrendercontext.h.

◆ painter() [2/2]

const QPainter* QgsRenderContext::painter ( ) const
inline

Returns the const destination QPainter for the render operation.

See also
setPainter()
Since
QGIS 3.12

Definition at line 119 of file qgsrendercontext.h.

◆ pathResolver()

const QgsPathResolver& QgsRenderContext::pathResolver ( ) const
inline

Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g.

for resolving relative symbol paths.

See also
setPathResolver()
Since
QGIS 3.0

Definition at line 211 of file qgsrendercontext.h.

◆ renderedFeatureHandlers()

QList< QgsRenderedFeatureHandlerInterface * > QgsRenderContext::renderedFeatureHandlers ( ) const

Returns the list of rendered feature handlers to use while rendering map layers.

See also
hasRenderedFeatureHandlers()
Since
QGIS 3.10

Definition at line 601 of file qgsrendercontext.cpp.

◆ rendererScale()

double QgsRenderContext::rendererScale ( ) const
inline

Returns the renderer map scale.

This will match the desired scale denominator for the rendered map, eg 1000.0 for a 1:1000 map render.

See also
setRendererScale()

Definition at line 342 of file qgsrendercontext.h.

◆ renderingStopped()

bool QgsRenderContext::renderingStopped ( ) const
inline

Returns true if the rendering operation has been stopped and any ongoing rendering should be canceled immediately.

Note
Since QGIS 3.22 the feedback() member exists as an alternative means of cancellation support.
See also
setRenderingStopped()
feedback()

Definition at line 283 of file qgsrendercontext.h.

◆ scaleFactor()

double QgsRenderContext::scaleFactor ( ) const
inline

Returns the scaling factor for the render to convert painter units to physical sizes.

This is usually equal to the number of pixels per millimeter.

See also
setScaleFactor()

Definition at line 264 of file qgsrendercontext.h.

◆ segmentationTolerance()

double QgsRenderContext::segmentationTolerance ( ) const
inline

Gets the segmentation tolerance applied when rendering curved geometries.

See also
setSegmentationTolerance()

Definition at line 652 of file qgsrendercontext.h.

◆ segmentationToleranceType()

QgsAbstractGeometry::SegmentationToleranceType QgsRenderContext::segmentationToleranceType ( ) const
inline

Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

See also
setSegmentationToleranceType()

Definition at line 666 of file qgsrendercontext.h.

◆ selectionColor()

QColor QgsRenderContext::selectionColor ( ) const
inline

Returns the color to use when rendering selected features.

See also
setSelectionColor()

Definition at line 373 of file qgsrendercontext.h.

◆ setCoordinateTransform()

void QgsRenderContext::setCoordinateTransform ( const QgsCoordinateTransform t)

Sets the current coordinate transform for the context.

This represents the coordinate transform required to transform the layer which is being rendered back to the CRS of the rendered map.

Set to an invalid QgsCoordinateTransform to indicate that no transformation is required.

See also
coordinateTransform()

Definition at line 301 of file qgsrendercontext.cpp.

◆ setCurrentMaskId()

void QgsRenderContext::setCurrentMaskId ( int  id)
inline

Stores a mask id as the "current" one.

See also
currentMaskId()
Since
QGIS 3.12

Definition at line 764 of file qgsrendercontext.h.

◆ setCustomRenderingFlag()

void QgsRenderContext::setCustomRenderingFlag ( const QString &  flag,
const QVariant &  value 
)
inline

Sets a custom rendering flag.

Layers might honour these to alter their rendering.

Parameters
flagthe flag name
valuethe flag value
See also
customRenderingFlags()
Since
QGIS 3.12

Definition at line 812 of file qgsrendercontext.h.

◆ setDevicePixelRatio()

void QgsRenderContext::setDevicePixelRatio ( float  ratio)

Sets the device pixel ratio.

Common values are 1 for normal-dpi displays and 2 for high-dpi "retina" displays.

See also
devicePixelRatio()
Since
QGIS 3.22

Definition at line 656 of file qgsrendercontext.cpp.

◆ setDisabledSymbolLayers()

void QgsRenderContext::setDisabledSymbolLayers ( const QSet< const QgsSymbolLayer * > &  symbolLayers)
inline

When rendering a map layer in a second pass (for selective masking), some symbol layers may be disabled.

Sets the list of disabled symbol layers.

See also
disabledSymbolLayers()
isSymbolLayerEnabled()
Since
QGIS 3.12

Definition at line 523 of file qgsrendercontext.h.

◆ setDistanceArea()

void QgsRenderContext::setDistanceArea ( const QgsDistanceArea distanceArea)
inline

A general purpose distance and area calculator, capable of performing ellipsoid based calculations.

Will be used to convert meter distances to active MapUnit values for QgsUnitTypes::RenderMetersInMapUnits

Since
QGIS 3.0

Definition at line 455 of file qgsrendercontext.h.

◆ setDpiTarget()

void QgsRenderContext::setDpiTarget ( double  dpi)
inline

Sets the targeted dpi for rendering.

See also
dpiTarget()
Since
QGIS 3.20

Definition at line 471 of file qgsrendercontext.h.

◆ setDrawEditingInformation()

void QgsRenderContext::setDrawEditingInformation ( bool  b)

Sets whether edit markers should be drawn during the render operation.

See also
drawEditingInformation()

Definition at line 306 of file qgsrendercontext.cpp.

◆ setExpressionContext()

void QgsRenderContext::setExpressionContext ( const QgsExpressionContext context)
inline

Sets the expression context.

This context is used for all expression evaluation associated with this render context.

See also
expressionContext()
Since
QGIS 2.12

Definition at line 600 of file qgsrendercontext.h.

◆ setExtent()

void QgsRenderContext::setExtent ( const QgsRectangle extent)
inline

When rendering a map layer, calling this method sets the "clipping" extent for the layer (in the layer's CRS).

This extent should be a "worst-case" scenario, which is guaranteed to completely cover the entire visible portion of the layer when it is rendered to the map. It may be larger than the actual visible area, but MUST contain at least the entire visible area.

See also
setExtent()
setMapExtent()

Definition at line 417 of file qgsrendercontext.h.

◆ setFeatureClipGeometry()

void QgsRenderContext::setFeatureClipGeometry ( const QgsGeometry geometry)

Sets a geometry to use to clip features at render time.

Note
This is not usually set directly, but rather specified by calling QgsMapSettings:addClippingRegion() prior to constructing a QgsRenderContext.
See also
featureClipGeometry()
Since
QGIS 3.16

Definition at line 616 of file qgsrendercontext.cpp.

◆ setFeatureFilterProvider()

void QgsRenderContext::setFeatureFilterProvider ( const QgsFeatureFilterProvider ffp)

Set a filter feature provider used for additional filtering of rendered features.

Parameters
ffpthe filter feature provider
See also
featureFilterProvider()
Since
QGIS 2.14

Definition at line 331 of file qgsrendercontext.cpp.

◆ setFeedback()

void QgsRenderContext::setFeedback ( QgsFeedback feedback)

Attach a feedback object that can be queried regularly during rendering to check if rendering should be canceled.

Ownership of feedback is NOT transferred, and the caller must take care that it exists for the lifetime of the render context.

See also
feedback()
Since
QGIS 3.22

Definition at line 188 of file qgsrendercontext.cpp.

◆ setFlag()

void QgsRenderContext::setFlag ( Qgis::RenderContextFlag  flag,
bool  on = true 
)

Enable or disable a particular flag (other flags are not affected)

Since
QGIS 2.14

Definition at line 203 of file qgsrendercontext.cpp.

◆ setFlags()

void QgsRenderContext::setFlags ( Qgis::RenderContextFlags  flags)

Set combination of flags that will be used for rendering.

Since
QGIS 2.14

Definition at line 198 of file qgsrendercontext.cpp.

◆ setForceVectorOutput()

void QgsRenderContext::setForceVectorOutput ( bool  force)

Sets whether rendering operations should use vector operations instead of any faster raster shortcuts.

See also
forceVectorOutput()

Definition at line 311 of file qgsrendercontext.cpp.

◆ setGeometry()

void QgsRenderContext::setGeometry ( const QgsAbstractGeometry geometry)
inline

Sets pointer to original (unsegmentized) geometry.

Definition at line 622 of file qgsrendercontext.h.

◆ setImageFormat()

void QgsRenderContext::setImageFormat ( QImage::Format  format)
inline

Sets QImage format which should be used for QImages created during rendering.

See also
imageFormat()
Since
QGIS 3.22

Definition at line 950 of file qgsrendercontext.h.

◆ setIsGuiPreview()

void QgsRenderContext::setIsGuiPreview ( bool  preview)
inline

Sets GUI preview mode.

GUI preview mode is used to change the behavior of some renderings when they are done to preview of symbology in the GUI. This is especially used to display mask symbol layers rather than painting them in a mask painter, which is not meant to be visible, by definition.

See also
isGuiPreview
Since
QGIS 3.12

Definition at line 783 of file qgsrendercontext.h.

◆ setLabelingEngine()

void QgsRenderContext::setLabelingEngine ( QgsLabelingEngine engine)
inline

Assign new labeling engine.

Note
not available in Python bindings

Definition at line 537 of file qgsrendercontext.h.

◆ setMapExtent()

void QgsRenderContext::setMapExtent ( const QgsRectangle extent)
inline

Sets the original extent of the map being rendered.

Unlike setExtent(), this extent is always in the final destination CRS for the map render and represents the exact bounds of the map being rendered.

See also
mapExtent()
setExtent()
Since
QGIS 3.4.8

Definition at line 429 of file qgsrendercontext.h.

◆ setMapToPixel()

void QgsRenderContext::setMapToPixel ( const QgsMapToPixel mtp)
inline

Sets the context's map to pixel transform, which transforms between map coordinates and device coordinates.

See also
mapToPixel()

Definition at line 403 of file qgsrendercontext.h.

◆ setMaskIdProvider()

void QgsRenderContext::setMaskIdProvider ( QgsMaskIdProvider provider)
inline

Attaches a mask id provider to the context.

It will allow some rendering operations to set the current mask id based on the context (label layer names and label rules for instance).

See also
QgsMaskIdProvider
setCurrentMaskId()
maskIdProvider()
Since
QGIS 3.12

Definition at line 750 of file qgsrendercontext.h.

◆ setMaskPainter()

void QgsRenderContext::setMaskPainter ( QPainter *  p,
int  id = 0 
)
inline

Sets a mask QPainter for the render operation.

Ownership of the painter is not transferred and the QPainter must stay alive for the duration of any rendering operations. Multiple mask painters can be defined and the second parameter gives a unique identifier to each one.

See also
maskPainter()

Definition at line 512 of file qgsrendercontext.h.

◆ setOutputSize()

void QgsRenderContext::setOutputSize ( QSize  size)

Sets the size of the resulting rendered image, in pixels.

See also
outputSize()
Since
QGIS 3.22

Definition at line 646 of file qgsrendercontext.cpp.

◆ setPainter()

void QgsRenderContext::setPainter ( QPainter *  p)
inline

Sets the destination QPainter for the render operation.

Ownership of the painter is not transferred and the QPainter destination must stay alive for the duration of any rendering operations.

See also
painter()

Definition at line 503 of file qgsrendercontext.h.

◆ setPainterFlagsUsingContext()

void QgsRenderContext::setPainterFlagsUsingContext ( QPainter *  painter = nullptr) const

Sets relevant flags on a destination painter, using the flags and settings currently defined for the render context.

If no painter is specified, then the flags will be applied to the render context's painter().

Since
QGIS 3.16

Definition at line 157 of file qgsrendercontext.cpp.

◆ setPathResolver()

void QgsRenderContext::setPathResolver ( const QgsPathResolver resolver)
inline

Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g.

for resolving relative symbol paths.

See also
pathResolver()
Since
QGIS 3.0

Definition at line 220 of file qgsrendercontext.h.

◆ setRendererScale()

void QgsRenderContext::setRendererScale ( double  scale)
inline

Sets the renderer map scale.

This should match the desired scale denominator for the rendered map, eg 1000.0 for a 1:1000 map render.

See also
rendererScale()

Definition at line 478 of file qgsrendercontext.h.

◆ setRenderingStopped()

void QgsRenderContext::setRenderingStopped ( bool  stopped)
inline

Sets whether the rendering operation has been stopped and any ongoing rendering should be canceled immediately.

Note
Since QGIS 3.22 the feedback() member exists as an alternative means of cancellation support.
See also
renderingStopped()
feedback()
setFeedback()

Definition at line 448 of file qgsrendercontext.h.

◆ setScaleFactor()

void QgsRenderContext::setScaleFactor ( double  factor)
inline

Sets the scaling factor for the render to convert painter units to physical sizes.

This should usually be equal to the number of pixels per millimeter.

See also
scaleFactor()

Definition at line 463 of file qgsrendercontext.h.

◆ setSegmentationTolerance()

void QgsRenderContext::setSegmentationTolerance ( double  tolerance)
inline

Sets the segmentation tolerance applied when rendering curved geometries.

Parameters
tolerancethe segmentation tolerance
See also
segmentationTolerance()
segmentationToleranceType()

Definition at line 646 of file qgsrendercontext.h.

◆ setSegmentationToleranceType()

void QgsRenderContext::setSegmentationToleranceType ( QgsAbstractGeometry::SegmentationToleranceType  type)
inline

Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

Parameters
typethe segmentation tolerance typename
See also
segmentationToleranceType()
segmentationTolerance()

Definition at line 660 of file qgsrendercontext.h.

◆ setSelectionColor()

void QgsRenderContext::setSelectionColor ( const QColor &  color)
inline

Sets the color to use when rendering selected features.

See also
selectionColor()

Definition at line 544 of file qgsrendercontext.h.

◆ setShowSelection()

void QgsRenderContext::setShowSelection ( bool  showSelection)

Sets whether vector selections should be shown in the rendered map.

Parameters
showSelectionset to true if selections should be shown
See also
showSelection
setSelectionColor
Since
QGIS v2.4

Definition at line 316 of file qgsrendercontext.cpp.

◆ setSymbologyReferenceScale()

void QgsRenderContext::setSymbologyReferenceScale ( double  scale)
inline

Sets the symbology reference scale.

This should match the desired scale denominator for the rendered map, eg 1000.0 for a 1:1000 map render. Set to -1 to disable symbology scaling by reference scale.

The symbology reference scale is an optional property which specifies the reference scale at which symbology in paper units (such a millimeters or points) is fixed to. For instance, if scale is set to 1000 then a 2mm thick line will be rendered at exactly 2mm thick when a map is rendered at 1:1000, or 1mm thick when rendered at 1:2000, or 4mm thick at 1:500.

See also
symbologyReferenceScale()
rendererScale()
Since
QGIS 3.22

Definition at line 495 of file qgsrendercontext.h.

◆ setTextRenderFormat()

void QgsRenderContext::setTextRenderFormat ( Qgis::TextRenderFormat  format)
inline

Sets the text render format, which dictates how text is rendered (e.g.

as paths or real text objects).

See also
textRenderFormat()
Since
QGIS 3.4.3

Definition at line 723 of file qgsrendercontext.h.

◆ setTextureOrigin()

void QgsRenderContext::setTextureOrigin ( const QPointF &  origin)

Sets the texture origin, which should be used as a brush transform when rendering using QBrush objects.

See also
textureOrigin()
Since
QGIS 3.16

Definition at line 626 of file qgsrendercontext.cpp.

◆ setTransformContext()

void QgsRenderContext::setTransformContext ( const QgsCoordinateTransformContext context)

Sets the context's coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

See also
transformContext()
Since
QGIS 3.0

Definition at line 180 of file qgsrendercontext.cpp.

◆ setUseAdvancedEffects()

void QgsRenderContext::setUseAdvancedEffects ( bool  enabled)

Used to enable or disable advanced effects such as blend modes.

See also
useAdvancedEffects()

Definition at line 286 of file qgsrendercontext.cpp.

◆ setUseRenderingOptimization()

void QgsRenderContext::setUseRenderingOptimization ( bool  enabled)

Sets whether the rendering optimization (geometry simplification) should be executed.

See also
useRenderingOptimization()

Definition at line 326 of file qgsrendercontext.cpp.

◆ setVectorSimplifyMethod()

void QgsRenderContext::setVectorSimplifyMethod ( const QgsVectorSimplifyMethod simplifyMethod)
inline

Sets the simplification setting to use when rendering vector layers.

This can be used to specify simplification methods to apply during map exports and renders, e.g. to allow vector layers to be simplified to an appropriate maximum level of detail during PDF exports or to speed up layer rendering

The default is to use no simplification.

See also
vectorSimplifyMethod()
Since
QGIS 2.4

Definition at line 592 of file qgsrendercontext.h.

◆ setZRange()

void QgsRenderContext::setZRange ( const QgsDoubleRange range)

Sets the range of z-values which should be rendered.

See also
zRange()
Since
QGIS 3.18

Definition at line 636 of file qgsrendercontext.cpp.

◆ showSelection()

bool QgsRenderContext::showSelection ( ) const

Returns true if vector selections should be shown in the rendered map.

Returns
true if selections should be shown
See also
setShowSelection
selectionColor
Since
QGIS v2.4

Definition at line 296 of file qgsrendercontext.cpp.

◆ symbologyReferenceScale()

double QgsRenderContext::symbologyReferenceScale ( ) const
inline

Returns the symbology reference scale.

This represents the desired scale denominator for the rendered map, eg 1000.0 for a 1:1000 map render. A value of -1 indicates that symbology scaling by reference scale is disabled.

The symbology reference scale is an optional property which specifies the reference scale at which symbology in paper units (such a millimeters or points) is fixed to. For instance, if the scale is 1000 then a 2mm thick line will be rendered at exactly 2mm thick when a map is rendered at 1:1000, or 1mm thick when rendered at 1:2000, or 4mm thick at 1:500.

See also
setSymbologyReferenceScale()
rendererScale()
Since
QGIS 3.22

Definition at line 360 of file qgsrendercontext.h.

◆ testFlag()

bool QgsRenderContext::testFlag ( Qgis::RenderContextFlag  flag) const

Check whether a particular flag is enabled.

Since
QGIS 2.14

Definition at line 216 of file qgsrendercontext.cpp.

◆ textRenderFormat()

Qgis::TextRenderFormat QgsRenderContext::textRenderFormat ( ) const
inline

Returns the text render format, which dictates how text is rendered (e.g.

as paths or real text objects).

See also
setTextRenderFormat()
Since
QGIS 3.4.3

Definition at line 712 of file qgsrendercontext.h.

◆ textureOrigin()

QPointF QgsRenderContext::textureOrigin ( ) const

Returns the texture origin, which should be used as a brush transform when rendering using QBrush objects.

See also
setTextureOrigin()
Since
QGIS 3.16

Definition at line 621 of file qgsrendercontext.cpp.

◆ transformContext()

QgsCoordinateTransformContext QgsRenderContext::transformContext ( ) const

Returns the context's coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

See also
setTransformContext()
Since
QGIS 3.0

Definition at line 171 of file qgsrendercontext.cpp.

◆ useAdvancedEffects()

bool QgsRenderContext::useAdvancedEffects ( ) const

Returns true if advanced effects such as blend modes such be used.

See also
setUseAdvancedEffects()

Definition at line 281 of file qgsrendercontext.cpp.

◆ useRenderingOptimization()

bool QgsRenderContext::useRenderingOptimization ( ) const

Returns true if the rendering optimization (geometry simplification) can be executed.

See also
setUseRenderingOptimization()

Definition at line 321 of file qgsrendercontext.cpp.

◆ vectorSimplifyMethod()

const QgsVectorSimplifyMethod& QgsRenderContext::vectorSimplifyMethod ( ) const
inline

Returns the simplification settings to use when rendering vector layers.

The default is to use no simplification.

See also
setVectorSimplifyMethod()
Since
QGIS 2.4

Definition at line 577 of file qgsrendercontext.h.

◆ zRange()

QgsDoubleRange QgsRenderContext::zRange ( ) const

Returns the range of z-values which should be rendered.

See also
setZRange()
Since
QGIS 3.18

Definition at line 631 of file qgsrendercontext.cpp.


The documentation for this class was generated from the following files: