QGIS API Documentation 3.43.0-Master (cd2944e57f9)
qgsrendercontext.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsrendercontext.h
3 ------------------
4 begin : March 16, 2008
5 copyright : (C) 2008 by Marco Hugentobler
6 email : marco dot hugentobler at karto dot baug dot ethz dot ch
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSRENDERCONTEXT_H
19#define QGSRENDERCONTEXT_H
20
21#include "qgis_core.h"
22#include "qgis_sip.h"
23#include <QColor>
24#include <QPainter>
25#include <QPainterPath>
26#include <memory>
27
31#include "qgslabelsink.h"
32#include "qgsmaptopixel.h"
33#include "qgsmapunitscale.h"
34#include "qgsrectangle.h"
36#include "qgsdistancearea.h"
38#include "qgspathresolver.h"
41
42class QPainter;
45class QgsMapSettings;
47class QgsSymbolLayer;
50class QgsElevationMap;
51
52
61class CORE_EXPORT QgsRenderContext : public QgsTemporalRangeObject
62{
63 public:
66
68 QgsRenderContext &operator=( const QgsRenderContext &rh );
69
73 void setFlags( Qgis::RenderContextFlags flags );
74
78 void setFlag( Qgis::RenderContextFlag flag, bool on = true );
79
83 Qgis::RenderContextFlags flags() const;
84
88 bool testFlag( Qgis::RenderContextFlag flag ) const;
89
93 static QgsRenderContext fromMapSettings( const QgsMapSettings &mapSettings );
94
100 static QgsRenderContext fromQPainter( QPainter *painter );
101
102 //getters
103
108 QPainter *painter() {return mPainter;}
109
110#ifndef SIP_RUN
111
117 const QPainter *painter() const { return mPainter; }
118#endif
119
128 QPainter *previewRenderPainter() {return mPreviewRenderPainter;}
129
130#ifndef SIP_RUN
131
140 const QPainter *previewRenderPainter() const { return mPreviewRenderPainter; }
141#endif
142
152 void setPainterFlagsUsingContext( QPainter *painter = nullptr ) const;
153
163 QPainter *maskPainter( int id = 0 ) { return mMaskPainter.value( id, nullptr ); }
164
165 // TODO QGIS 4 : remove the V2 from method name
166
177 Q_DECL_DEPRECATED void setDisabledSymbolLayers( const QSet<const QgsSymbolLayer *> &symbolLayers ) SIP_DEPRECATED;
178
188 void setDisabledSymbolLayersV2( const QSet<QString> &symbolLayers );
189
200 Q_DECL_DEPRECATED QSet<const QgsSymbolLayer *> disabledSymbolLayers() const SIP_DEPRECATED;
201
211 QSet<QString> disabledSymbolLayersV2() const;
212
222 bool isSymbolLayerEnabled( const QgsSymbolLayer *layer ) const;
223
234 QgsCoordinateTransform coordinateTransform() const {return mCoordTransform;}
235
239 const QgsDistanceArea &distanceArea() const { return mDistanceArea; }
240
248 QgsCoordinateTransformContext transformContext() const;
249
257 void setTransformContext( const QgsCoordinateTransformContext &context );
258
265 const QgsPathResolver &pathResolver() const { return mPathResolver; }
266
273 void setPathResolver( const QgsPathResolver &resolver ) { mPathResolver = resolver; }
274
290 const QgsRectangle &extent() const { return mExtent; }
291
302 QgsRectangle mapExtent() const { return mOriginalMapExtent; }
303
309 const QgsMapToPixel &mapToPixel() const {return mMapToPixel;}
310
317 double scaleFactor() const {return mScaleFactor;}
318
325 double dpiTarget() const {return mDpiTarget;}
326
336 bool renderingStopped() const {return mRenderingStopped;}
337
349 void setFeedback( QgsFeedback *feedback );
350
359 QgsFeedback *feedback() const;
360
368 Q_DECL_DEPRECATED bool forceVectorOutput() const SIP_DEPRECATED;
369
376 Q_DECL_DEPRECATED bool useAdvancedEffects() const SIP_DEPRECATED;
377
384 Q_DECL_DEPRECATED void setUseAdvancedEffects( bool enabled ) SIP_DEPRECATED;
385
391 bool drawEditingInformation() const;
392
398 double rendererScale() const {return mRendererScale;}
399
400
416 double symbologyReferenceScale() const { return mSymbologyReferenceScale; }
417
422 QgsLabelingEngine *labelingEngine() const SIP_SKIP { return mLabelingEngine; }
423
429 QgsLabelSink *labelSink() const SIP_SKIP { return mLabelSink; }
430
436 QColor selectionColor() const { return mSelectionColor; }
437
445 bool showSelection() const;
446
447 //setters
448
459 void setCoordinateTransform( const QgsCoordinateTransform &t );
460
466 void setMapToPixel( const QgsMapToPixel &mtp ) {mMapToPixel = mtp;}
467
480 void setExtent( const QgsRectangle &extent ) {mExtent = extent;}
481
492 void setMapExtent( const QgsRectangle &extent ) { mOriginalMapExtent = extent; }
493
499 void setDrawEditingInformation( bool b );
500
511 void setRenderingStopped( bool stopped ) {mRenderingStopped = stopped;}
512
517 void setDistanceArea( const QgsDistanceArea &distanceArea ) {mDistanceArea = distanceArea ;}
518
525 void setScaleFactor( double factor ) {mScaleFactor = factor;}
526
533 void setDpiTarget( double dpi ) {mDpiTarget = dpi;}
534
540 void setRendererScale( double scale ) {mRendererScale = scale;}
541
557 void setSymbologyReferenceScale( double scale ) { mSymbologyReferenceScale = scale; }
558
565 void setPainter( QPainter *p ) {mPainter = p;}
566
577 void setPreviewRenderPainter( QPainter *painter ) { mPreviewRenderPainter = painter; }
578
586 void setMaskPainter( QPainter *p, int id = 0 ) { mMaskPainter[id] = p; }
587
595 Q_DECL_DEPRECATED void setForceVectorOutput( bool force ) SIP_DEPRECATED;
596
601 void setLabelingEngine( QgsLabelingEngine *engine ) SIP_SKIP { mLabelingEngine = engine; }
602
609 void setLabelSink( QgsLabelSink *sink ) SIP_SKIP { mLabelSink = sink; }
610
616 void setSelectionColor( const QColor &color ) { mSelectionColor = color; }
617
625 void setShowSelection( bool showSelection );
626
632 bool useRenderingOptimization() const;
633
639 void setUseRenderingOptimization( bool enabled );
640
648 QgsVectorSimplifyMethod &vectorSimplifyMethod() { return mVectorSimplifyMethod; }
649
657 const QgsVectorSimplifyMethod &vectorSimplifyMethod() const SIP_SKIP { return mVectorSimplifyMethod; }
658
671 void setVectorSimplifyMethod( const QgsVectorSimplifyMethod &simplifyMethod ) { mVectorSimplifyMethod = simplifyMethod; }
672
678 void setExpressionContext( const QgsExpressionContext &context ) { mExpressionContext = context; }
679
685 QgsExpressionContext &expressionContext() { return mExpressionContext; }
686
693 const QgsExpressionContext &expressionContext() const SIP_SKIP { return mExpressionContext; }
694
696 const QgsAbstractGeometry *geometry() const { return mGeometry; }
698 void setGeometry( const QgsAbstractGeometry *geometry ) { mGeometry = geometry; }
699
705 void setFeatureFilterProvider( const QgsFeatureFilterProvider *ffp );
706
712 const QgsFeatureFilterProvider *featureFilterProvider() const;
713
720 void setSegmentationTolerance( double tolerance ) { mSegmentationTolerance = tolerance; }
721
726 double segmentationTolerance() const { return mSegmentationTolerance; }
727
734 void setSegmentationToleranceType( QgsAbstractGeometry::SegmentationToleranceType type ) { mSegmentationToleranceType = type; }
735
741
742 // Conversions
743
755 double convertToPainterUnits( double size, Qgis::RenderUnit unit, const QgsMapUnitScale &scale = QgsMapUnitScale(), Qgis::RenderSubcomponentProperty property = Qgis::RenderSubcomponentProperty::Generic ) const;
756
764 double convertFromPainterUnits( double size, Qgis::RenderUnit unit ) const;
765
771 double convertToMapUnits( double size, Qgis::RenderUnit unit, const QgsMapUnitScale &scale = QgsMapUnitScale() ) const;
772
777 double convertFromMapUnits( double sizeInMapUnits, Qgis::RenderUnit outputUnit ) const;
778
783 double convertMetersToMapUnits( double meters ) const;
784
792 {
793 return mTextRenderFormat;
794 }
795
803 {
804 mTextRenderFormat = format;
805 }
806
812 QList<QgsRenderedFeatureHandlerInterface *> renderedFeatureHandlers() const;
813
819 bool hasRenderedFeatureHandlers() const { return mHasRenderedFeatureHandlers; }
820
829 void setMaskIdProvider( QgsMaskIdProvider *provider ) { mMaskIdProvider = provider; }
830
836 const QgsMaskIdProvider *maskIdProvider() const { return mMaskIdProvider; }
837
843 void setCurrentMaskId( int id ) { mCurrentMaskId = id; }
844
851 int currentMaskId() const { return mCurrentMaskId; }
852
862 void setIsGuiPreview( bool preview ) { mIsGuiPreview = preview; }
863
874 bool isGuiPreview() const { return mIsGuiPreview; }
875
882 Q_DECL_DEPRECATED QVariantMap customRenderingFlags() const SIP_DEPRECATED { return mCustomProperties; }
883
892 QVariantMap customProperties() const { return mCustomProperties; }
893
901 Q_DECL_DEPRECATED void setCustomRenderingFlag( const QString &flag, const QVariant &value ) SIP_DEPRECATED { mCustomProperties[flag] = value; }
902
911 void setCustomProperty( const QString &property, const QVariant &value ) { mCustomProperties[property] = value; }
912
919 Q_DECL_DEPRECATED void clearCustomRenderingFlag( const QString &flag ) SIP_DEPRECATED { mCustomProperties.remove( flag ); }
920
927 void clearCustomProperty( const QString &property ) { mCustomProperties.remove( property ); }
928
936 QList< QgsMapClippingRegion > clippingRegions() const;
937
952 QgsGeometry featureClipGeometry() const;
953
963 void setFeatureClipGeometry( const QgsGeometry &geometry );
964
972 QPointF textureOrigin() const;
973
981 void setTextureOrigin( const QPointF &origin );
982
990 const QgsMaskRenderSettings &maskSettings() const SIP_SKIP { return mMaskRenderSettings; }
991
999 QgsMaskRenderSettings &maskSettings() { return mMaskRenderSettings; }
1000
1008 void setMaskSettings( const QgsMaskRenderSettings &settings );
1009
1016 Q_DECL_DEPRECATED void addSymbolLayerClipPath( const QString &symbolLayerId, QPainterPath path ) SIP_DEPRECATED;
1017
1024 Q_DECL_DEPRECATED QList<QPainterPath> symbolLayerClipPaths( const QString &symbolLayerId ) const SIP_DEPRECATED;
1025
1032 void addSymbolLayerClipGeometry( const QString &symbolLayerId, const QgsGeometry &geometry );
1033
1040 bool symbolLayerHasClipGeometries( const QString &symbolLayerId ) const;
1041
1049 QVector<QgsGeometry> symbolLayerClipGeometries( const QString &symbolLayerId ) const;
1050
1057 QgsDoubleRange zRange() const;
1058
1065 void setZRange( const QgsDoubleRange &range );
1066
1075 QSize outputSize() const;
1076
1083 void setOutputSize( QSize size );
1084
1093 float devicePixelRatio() const;
1094
1103 void setDevicePixelRatio( float ratio );
1104
1116 QSize deviceOutputSize() const;
1117
1125 void setImageFormat( QImage::Format format ) { mImageFormat = format; }
1126
1134 QImage::Format imageFormat() const { return mImageFormat; }
1135
1142 Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
1143
1150 void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
1151
1158 Qgis::RendererUsage rendererUsage() const {return mRendererUsage;}
1159
1169 void setRendererUsage( Qgis::RendererUsage usage ) {mRendererUsage = usage;}
1170
1179 double frameRate() const;
1180
1189 void setFrameRate( double rate );
1190
1199 long long currentFrame() const;
1200
1209 void setCurrentFrame( long long frame );
1210
1211
1218 QgsElevationMap *elevationMap() const;
1219
1228 void setElevationMap( QgsElevationMap *map );
1229
1230 private:
1231
1232 void matchRasterizedRenderingPolicyToFlags();
1233
1236
1238 QPainter *mPainter = nullptr;
1239
1241 QPainter *mPreviewRenderPainter = nullptr;
1242
1249 QMap<int, QPainter *> mMaskPainter;
1250
1256 QgsMaskIdProvider *mMaskIdProvider = nullptr;
1257
1262 int mCurrentMaskId = -1;
1263
1268 bool mIsGuiPreview = false;
1269
1271 QgsCoordinateTransform mCoordTransform;
1272
1277 QgsDistanceArea mDistanceArea;
1278
1279 QgsRectangle mExtent;
1280 QgsRectangle mOriginalMapExtent;
1281
1282 QgsMapToPixel mMapToPixel;
1283
1285 bool mRenderingStopped = false;
1286
1288 QgsFeedback *mFeedback = nullptr;
1289
1291 double mScaleFactor = 1.0;
1292
1294 double mDpiTarget = -1.0;
1295
1297 double mRendererScale = 1.0;
1298
1299 double mSymbologyReferenceScale = -1;
1300
1302 QgsLabelingEngine *mLabelingEngine = nullptr;
1303
1305 QgsLabelSink *mLabelSink = nullptr;
1306
1308 QColor mSelectionColor;
1309
1311 QgsVectorSimplifyMethod mVectorSimplifyMethod;
1312
1314 QgsExpressionContext mExpressionContext;
1315
1317 const QgsAbstractGeometry *mGeometry = nullptr;
1318
1320 std::unique_ptr< QgsFeatureFilterProvider > mFeatureFilterProvider;
1321
1322 double mSegmentationTolerance = M_PI_2 / 90;
1323
1325
1326 QgsCoordinateTransformContext mTransformContext;
1327
1328 QgsPathResolver mPathResolver;
1329
1331 QList< QgsRenderedFeatureHandlerInterface * > mRenderedFeatureHandlers;
1332 bool mHasRenderedFeatureHandlers = false;
1333 QVariantMap mCustomProperties;
1334
1335 QSet<QString> mDisabledSymbolLayers;
1336
1337 QList< QgsMapClippingRegion > mClippingRegions;
1338 QgsGeometry mFeatureClipGeometry;
1339
1340 QPointF mTextureOrigin;
1341
1342 QgsDoubleRange mZRange;
1343
1344 QSize mSize;
1345 float mDevicePixelRatio = 1.0;
1346 QImage::Format mImageFormat = QImage::Format_ARGB32_Premultiplied;
1347
1349
1350 double mFrameRate = -1;
1351 long long mCurrentFrame = -1;
1352
1354 QMap< QString, QVector<QgsGeometry> > mSymbolLayerClippingGeometries;
1355
1356 QgsMaskRenderSettings mMaskRenderSettings;
1357
1358#ifdef QGISDEBUG
1359 bool mHasTransformContext = false;
1360#endif
1361
1362 QgsElevationMap *mElevationMap = nullptr;
1363};
1364
1365#ifndef SIP_RUN
1366
1379{
1380 public:
1381
1388 QgsScopedRenderContextPainterSwap( QgsRenderContext &context, QPainter *temporaryPainter )
1389 : mContext( context )
1390 , mPreviousPainter( context.painter() )
1391 {
1392 mContext.setPainter( temporaryPainter );
1393 }
1394
1398 void reset()
1399 {
1400 if ( !mReleased )
1401 {
1402 mContext.setPainter( mPreviousPainter );
1403 mReleased = true;
1404 }
1405 }
1406
1414
1415 private:
1416
1417 QgsRenderContext &mContext;
1418 QPainter *mPreviousPainter = nullptr;
1419 bool mReleased = false;
1420};
1421
1422
1435{
1436 public:
1437
1446 : mContext( context )
1447 {
1448 if ( mContext.painter() )
1449 mContext.painter()->scale( mContext.scaleFactor(), mContext.scaleFactor() );
1450 }
1451
1456 {
1457 if ( mContext.painter() )
1458 mContext.painter()->scale( 1.0 / mContext.scaleFactor(), 1.0 / mContext.scaleFactor() );
1459 }
1460
1461 private:
1462
1463 QgsRenderContext &mContext;
1464};
1465
1466
1479{
1480 public:
1481
1490 : mContext( context )
1491 {
1492 if ( mContext.painter() )
1493 mContext.painter()->scale( 1.0 / mContext.scaleFactor(), 1.0 / mContext.scaleFactor() );
1494 }
1495
1500 {
1501 if ( mContext.painter() )
1502 mContext.painter()->scale( mContext.scaleFactor(), mContext.scaleFactor() );
1503 }
1504
1505 private:
1506
1507 QgsRenderContext &mContext;
1508};
1509
1510
1523{
1524 public:
1525
1531 QgsScopedQPainterState( QPainter *painter )
1532 : mPainter( painter )
1533 {
1534 mPainter->save();
1535 }
1536
1541 {
1542 mPainter->restore();
1543 }
1544
1545 private:
1546
1547 QPainter *mPainter = nullptr;
1548};
1549
1550
1562{
1563 public:
1564
1571 : mContext( &context )
1572 , mOriginalScale( context.symbologyReferenceScale() )
1573 {
1574 mContext->setSymbologyReferenceScale( scale );
1575 }
1576
1581 : mContext( o.mContext )
1582 , mOriginalScale( o.mOriginalScale )
1583 {
1584 o.mContext = nullptr;
1585 }
1586
1591 {
1592 if ( mContext )
1593 mContext->setSymbologyReferenceScale( mOriginalScale );
1594 }
1595
1596 private:
1597
1598 QgsRenderContext *mContext = nullptr;
1599 double mOriginalScale = 0;
1600};
1601
1602
1603#endif
1604
1605#endif
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2651
@ Default
Allow raster-based rendering in situations where it is required for correct rendering or where it wil...
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:2961
@ Generic
Generic subcomponent property.
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2722
TextRenderFormat
Options for rendering text.
Definition qgis.h:2755
@ AlwaysOutlines
Always render text using path objects (AKA outlines/curves). This setting guarantees the best quality...
RenderUnit
Rendering size units.
Definition qgis.h:5043
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2696
RendererUsage
Usage of the renderer.
Definition qgis.h:3327
@ Unknown
Renderer used for unknown usage.
Abstract base class for all geometries.
SegmentationToleranceType
Segmentation tolerance as maximum angle or maximum difference between approximation and circle.
@ MaximumAngle
Maximum angle between generating radii (lines from arc center to output vertices)
Contains information about the context in which a coordinate transform is executed.
Handles coordinate transforms between two coordinate systems.
A general purpose distance and area calculator, capable of performing ellipsoid based calculations.
QgsRange which stores a range of double values.
Definition qgsrange.h:233
Stores a digital elevation model in a raster image which may get updated as a part of the map layer r...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Abstract interface for use by classes that filter the features or attributes of a layer.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
A geometry is the spatial representation of a feature.
Abstract base class that can be used to intercept rendered labels from a labeling / rendering job.
Provides map labeling functionality.
A map clipping region (in map coordinates and CRS).
Contains configuration for rendering maps.
Perform transforms between map coordinates and device coordinates.
Struct for storing maximum and minimum scales for measurements in map units.
Allows the creation of mask ids based on the different label layers and to give a mask id from a labe...
Contains settings regarding how masks are calculated and handled during a map render.
Resolves relative paths into absolute paths and vice versa.
A rectangle specified with double values.
Contains information about the context of a rendering operation.
const QgsMaskIdProvider * maskIdProvider() const
Returns the mask id provider attached to the context.
QgsMaskRenderSettings & maskSettings()
Returns a reference to the mask render settings, which control how masks are drawn and behave during ...
void setMapExtent(const QgsRectangle &extent)
Sets the original extent of the map being rendered.
double scaleFactor() const
Returns the scaling factor for the render to convert painter units to physical sizes.
void setRenderingStopped(bool stopped)
Sets whether the rendering operation has been stopped and any ongoing rendering should be canceled im...
Q_DECL_DEPRECATED QVariantMap customRenderingFlags() const
Gets custom rendering flags.
void setDistanceArea(const QgsDistanceArea &distanceArea)
A general purpose distance and area calculator, capable of performing ellipsoid based calculations.
Qgis::RendererUsage rendererUsage() const
Returns the renderer usage.
void setScaleFactor(double factor)
Sets the scaling factor for the render to convert painter units to physical sizes.
bool hasRenderedFeatureHandlers() const
Returns true if the context has any rendered feature handlers.
void setImageFormat(QImage::Format format)
Sets QImage format which should be used for QImages created during rendering.
QgsVectorSimplifyMethod & vectorSimplifyMethod()
Returns the simplification settings to use when rendering vector layers.
void setSegmentationToleranceType(QgsAbstractGeometry::SegmentationToleranceType type)
Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation...
double symbologyReferenceScale() const
Returns the symbology reference scale.
double segmentationTolerance() const
Gets the segmentation tolerance applied when rendering curved geometries.
const QPainter * painter() const
Returns the const destination QPainter for the render operation.
const QgsDistanceArea & distanceArea() const
A general purpose distance and area calculator, capable of performing ellipsoid based calculations.
Q_DECL_DEPRECATED void clearCustomRenderingFlag(const QString &flag)
Clears the specified custom rendering flag.
const QPainter * previewRenderPainter() const
Returns the const destination QPainter for temporary in-progress preview renders.
QPainter * painter()
Returns the destination QPainter for the render operation.
QgsExpressionContext & expressionContext()
Gets the expression context.
void setTextRenderFormat(Qgis::TextRenderFormat format)
Sets the text render format, which dictates how text is rendered (e.g.
void setGeometry(const QgsAbstractGeometry *geometry)
Sets pointer to original (unsegmentized) geometry.
void setVectorSimplifyMethod(const QgsVectorSimplifyMethod &simplifyMethod)
Sets the simplification setting to use when rendering vector layers.
QgsLabelSink * labelSink() const
Returns the associated label sink, or nullptr if not set.
bool isGuiPreview() const
Returns the Gui preview mode.
void setPreviewRenderPainter(QPainter *painter)
Sets the destination painter for temporary in-progress preview renders.
const QgsRectangle & extent() const
When rendering a map layer, calling this method returns the "clipping" extent for the layer (in the l...
void setCurrentMaskId(int id)
Stores a mask id as the "current" one.
void clearCustomProperty(const QString &property)
Clears the specified custom rendering property.
void setDpiTarget(double dpi)
Sets the targeted dpi for rendering.
~QgsRenderContext() override
void setPathResolver(const QgsPathResolver &resolver)
Sets the path resolver for conversion between relative and absolute paths during rendering operations...
void setIsGuiPreview(bool preview)
Sets GUI preview mode.
QVariantMap customProperties() const
Returns custom rendering properties.
void setLabelSink(QgsLabelSink *sink)
Assigns the label sink which will take over responsibility for handling labels.
const QgsExpressionContext & expressionContext() const
Gets the expression context (const version).
Qgis::TextRenderFormat textRenderFormat() const
Returns the text render format, which dictates how text is rendered (e.g.
QgsRectangle mapExtent() const
Returns the original extent of the map being rendered.
void setSymbologyReferenceScale(double scale)
Sets the symbology reference scale.
double dpiTarget() const
Returns the targeted DPI for rendering.
const QgsVectorSimplifyMethod & vectorSimplifyMethod() const
Returns the simplification settings to use when rendering vector layers.
const QgsMapToPixel & mapToPixel() const
Returns the context's map to pixel transform, which transforms between map coordinates and device coo...
void setMaskIdProvider(QgsMaskIdProvider *provider)
Attaches a mask id provider to the context.
QColor selectionColor() const
Returns the color to use when rendering selected features.
void setExtent(const QgsRectangle &extent)
When rendering a map layer, calling this method sets the "clipping" extent for the layer (in the laye...
QPainter * maskPainter(int id=0)
Returns a mask QPainter for the render operation.
void setMapToPixel(const QgsMapToPixel &mtp)
Sets the context's map to pixel transform, which transforms between map coordinates and device coordi...
int currentMaskId() const
Returns the current mask id, which can be used with maskPainter()
void setCustomProperty(const QString &property, const QVariant &value)
Sets a custom rendering property.
Q_DECL_DEPRECATED void setCustomRenderingFlag(const QString &flag, const QVariant &value)
Sets a custom rendering flag.
void setPainter(QPainter *p)
Sets the destination QPainter for the render operation.
void setMaskPainter(QPainter *p, int id=0)
Sets a mask QPainter for the render operation.
void setLabelingEngine(QgsLabelingEngine *engine)
Assigns the labeling engine.
bool renderingStopped() const
Returns true if the rendering operation has been stopped and any ongoing rendering should be canceled...
void setExpressionContext(const QgsExpressionContext &context)
Sets the expression context.
void setRendererScale(double scale)
Sets the renderer map scale.
QgsLabelingEngine * labelingEngine() const
Gets access to new labeling engine (may be nullptr).
QPainter * previewRenderPainter()
Returns the const destination QPainter for temporary in-progress preview renders.
void setRendererUsage(Qgis::RendererUsage usage)
Sets the renderer usage.
QgsAbstractGeometry::SegmentationToleranceType segmentationToleranceType() const
Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation...
const QgsAbstractGeometry * geometry() const
Returns pointer to the unsegmentized geometry.
QImage::Format imageFormat() const
Returns the QImage format which should be used for QImages created during rendering.
const QgsMaskRenderSettings & maskSettings() const
Returns a reference to the mask render settings, which control how masks are drawn and behave during ...
const QgsPathResolver & pathResolver() const
Returns the path resolver for conversion between relative and absolute paths during rendering operati...
void setSelectionColor(const QColor &color)
Sets the color to use when rendering selected features.
void setSegmentationTolerance(double tolerance)
Sets the segmentation tolerance applied when rendering curved geometries.
An interface for classes which provide custom handlers for features rendered as part of a map render ...
Scoped object for saving and restoring a QPainter object's state.
QgsScopedQPainterState(QPainter *painter)
Constructor for QgsScopedQPainterState.
~QgsScopedQPainterState()
Restores the painter back to its original state.
Scoped object for temporary replacement of a QgsRenderContext destination painter.
QgsScopedRenderContextPainterSwap(QgsRenderContext &context, QPainter *temporaryPainter)
Constructor for QgsScopedRenderContextPainterSwap.
~QgsScopedRenderContextPainterSwap()
Returns the destination painter for the context back to the original QPainter object.
void reset()
Resets the destination painter for the context back to the original QPainter object.
Scoped object for temporary override of the symbologyReferenceScale property of a QgsRenderContext.
QgsScopedRenderContextReferenceScaleOverride(QgsScopedRenderContextReferenceScaleOverride &&o) noexcept
Move constructor.
~QgsScopedRenderContextReferenceScaleOverride()
Returns the render context back to the original reference scale.
QgsScopedRenderContextReferenceScaleOverride(QgsRenderContext &context, double scale)
Constructor for QgsScopedRenderContextReferenceScaleOverride.
Scoped object for temporary scaling of a QgsRenderContext for millimeter based rendering.
~QgsScopedRenderContextScaleToMm()
Returns the destination painter back to pixel based units.
QgsScopedRenderContextScaleToMm(QgsRenderContext &context)
Constructor for QgsScopedRenderContextScaleToMm.
Scoped object for temporary scaling of a QgsRenderContext for pixel based rendering.
QgsScopedRenderContextScaleToPixels(QgsRenderContext &context)
Constructor for QgsScopedRenderContextScaleToPixels.
~QgsScopedRenderContextScaleToPixels()
Returns the destination painter back to millimeter based units.
Abstract base class for symbol layers.
Base class for objects with an associated (optional) temporal range.
Contains settings for simplifying geometries fetched from a vector layer.
#define SIP_DEPRECATED
Definition qgis_sip.h:106
#define SIP_SKIP
Definition qgis_sip.h:126