QGIS API Documentation 4.1.0-Master (60fea48833c)
Loading...
Searching...
No Matches
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 <memory>
22
23#include "qgis_core.h"
24#include "qgis_sip.h"
27#include "qgsdistancearea.h"
30#include "qgslabelsink.h"
31#include "qgsmaptopixel.h"
32#include "qgsmapunitscale.h"
34#include "qgspathresolver.h"
35#include "qgsrectangle.h"
38
39#include <QColor>
40#include <QPainter>
41#include <QPainterPath>
42
43class QPainter;
46class QgsMapSettings;
48class QgsSymbolLayer;
51class QgsElevationMap;
52
53
62class CORE_EXPORT QgsRenderContext : public QgsTemporalRangeObject
63{
64 public:
67
72
77
81 void setFlag( Qgis::RenderContextFlag flag, bool on = true );
82
87
91 bool testFlag( Qgis::RenderContextFlag flag ) const;
92
96 static QgsRenderContext fromMapSettings( const QgsMapSettings &mapSettings );
97
103 static QgsRenderContext fromQPainter( QPainter *painter );
104
105 //getters
106
111 QPainter *painter() { return mPainter; }
112
113#ifndef SIP_RUN
114
120 const QPainter *painter() const { return mPainter; }
121#endif
122
131 QPainter *previewRenderPainter() { return mPreviewRenderPainter; }
132
133#ifndef SIP_RUN
134
143 const QPainter *previewRenderPainter() const { return mPreviewRenderPainter; }
144#endif
145
155 void setPainterFlagsUsingContext( QPainter *painter = nullptr ) const;
156
166 QPainter *maskPainter( int id = 0 ) { return mMaskPainter.value( id, nullptr ); }
167
168 // TODO QGIS 5 : remove the V2 from method name
169
180 Q_DECL_DEPRECATED void setDisabledSymbolLayers( const QSet<const QgsSymbolLayer *> &symbolLayers ) SIP_DEPRECATED;
181
191 void setDisabledSymbolLayersV2( const QSet<QString> &symbolLayers );
192
203 Q_DECL_DEPRECATED QSet<const QgsSymbolLayer *> disabledSymbolLayers() const SIP_DEPRECATED;
204
214 QSet<QString> disabledSymbolLayersV2() const;
215
225 bool isSymbolLayerEnabled( const QgsSymbolLayer *layer ) const;
226
237 QgsCoordinateTransform coordinateTransform() const { return mCoordTransform; }
238
242 const QgsDistanceArea &distanceArea() const { return mDistanceArea; }
243
251 QgsCoordinateTransformContext transformContext() const;
252
260 void setTransformContext( const QgsCoordinateTransformContext &context );
261
268 const QgsPathResolver &pathResolver() const { return mPathResolver; }
269
276 void setPathResolver( const QgsPathResolver &resolver ) { mPathResolver = resolver; }
277
293 const QgsRectangle &extent() const { return mExtent; }
294
305 QgsRectangle mapExtent() const { return mOriginalMapExtent; }
306
312 const QgsMapToPixel &mapToPixel() const { return mMapToPixel; }
313
320 double scaleFactor() const { return mScaleFactor; }
321
328 double dpiTarget() const { return mDpiTarget; }
329
339 bool renderingStopped() const { return mRenderingStopped; }
340
352 void setFeedback( QgsFeedback *feedback );
353
362 QgsFeedback *feedback() const;
363
371 Q_DECL_DEPRECATED bool forceVectorOutput() const SIP_DEPRECATED;
372
379 Q_DECL_DEPRECATED bool useAdvancedEffects() const SIP_DEPRECATED;
380
387 Q_DECL_DEPRECATED void setUseAdvancedEffects( bool enabled ) SIP_DEPRECATED;
388
394 bool drawEditingInformation() const;
395
401 double rendererScale() const { return mRendererScale; }
402
403
419 double symbologyReferenceScale() const { return mSymbologyReferenceScale; }
420
425 QgsLabelingEngine *labelingEngine() const SIP_SKIP { return mLabelingEngine; }
426
432 QgsLabelSink *labelSink() const SIP_SKIP { return mLabelSink; }
433
439 QColor selectionColor() const { return mSelectionColor; }
440
448 bool showSelection() const;
449
450 //setters
451
462 void setCoordinateTransform( const QgsCoordinateTransform &t );
463
469 void setMapToPixel( const QgsMapToPixel &mtp ) { mMapToPixel = mtp; }
470
483 void setExtent( const QgsRectangle &extent ) { mExtent = extent; }
484
495 void setMapExtent( const QgsRectangle &extent ) { mOriginalMapExtent = extent; }
496
502 void setDrawEditingInformation( bool b );
503
514 void setRenderingStopped( bool stopped ) { mRenderingStopped = stopped; }
515
520 void setDistanceArea( const QgsDistanceArea &distanceArea ) { mDistanceArea = distanceArea; }
521
528 void setScaleFactor( double factor ) { mScaleFactor = factor; }
529
536 void setDpiTarget( double dpi ) { mDpiTarget = dpi; }
537
543 void setRendererScale( double scale ) { mRendererScale = scale; }
544
560 void setSymbologyReferenceScale( double scale ) { mSymbologyReferenceScale = scale; }
561
568 void setPainter( QPainter *p ) { mPainter = p; }
569
580 void setPreviewRenderPainter( QPainter *painter ) { mPreviewRenderPainter = painter; }
581
589 void setMaskPainter( QPainter *p, int id = 0 ) { mMaskPainter[id] = p; }
590
598 Q_DECL_DEPRECATED void setForceVectorOutput( bool force ) SIP_DEPRECATED;
599
604 void setLabelingEngine( QgsLabelingEngine *engine ) SIP_SKIP { mLabelingEngine = engine; }
605
612 void setLabelSink( QgsLabelSink *sink ) SIP_SKIP { mLabelSink = sink; }
613
619 void setSelectionColor( const QColor &color ) { mSelectionColor = color; }
620
628 void setShowSelection( bool showSelection );
629
635 bool useRenderingOptimization() const;
636
642 void setUseRenderingOptimization( bool enabled );
643
651 QgsVectorSimplifyMethod &vectorSimplifyMethod() { return mVectorSimplifyMethod; }
652
660 const QgsVectorSimplifyMethod &vectorSimplifyMethod() const SIP_SKIP { return mVectorSimplifyMethod; }
661
674 void setVectorSimplifyMethod( const QgsVectorSimplifyMethod &simplifyMethod ) { mVectorSimplifyMethod = simplifyMethod; }
675
681 void setExpressionContext( const QgsExpressionContext &context ) { mExpressionContext = context; }
682
688 QgsExpressionContext &expressionContext() { return mExpressionContext; }
689
696 const QgsExpressionContext &expressionContext() const SIP_SKIP { return mExpressionContext; }
697
699 const QgsAbstractGeometry *geometry() const { return mGeometry; }
701 void setGeometry( const QgsAbstractGeometry *geometry ) { mGeometry = geometry; }
702
708 void setFeatureFilterProvider( const QgsFeatureFilterProvider *ffp );
709
715 const QgsFeatureFilterProvider *featureFilterProvider() const;
716
723 void setSegmentationTolerance( double tolerance ) { mSegmentationTolerance = tolerance; }
724
729 double segmentationTolerance() const { return mSegmentationTolerance; }
730
737 void setSegmentationToleranceType( QgsAbstractGeometry::SegmentationToleranceType type ) { mSegmentationToleranceType = type; }
738
744
745 // Conversions
746
758 double convertToPainterUnits(
760 ) const;
761
769 double convertFromPainterUnits( double size, Qgis::RenderUnit unit ) const;
770
776 double convertToMapUnits( double size, Qgis::RenderUnit unit, const QgsMapUnitScale &scale = QgsMapUnitScale() ) const;
777
782 double convertFromMapUnits( double sizeInMapUnits, Qgis::RenderUnit outputUnit ) const;
783
788 double convertMetersToMapUnits( double meters ) const;
789
796 Qgis::TextRenderFormat textRenderFormat() const { return mTextRenderFormat; }
797
804 void setTextRenderFormat( Qgis::TextRenderFormat format ) { mTextRenderFormat = format; }
805
811 QList<QgsRenderedFeatureHandlerInterface *> renderedFeatureHandlers() const;
812
818 bool hasRenderedFeatureHandlers() const { return mHasRenderedFeatureHandlers; }
819
828 void setMaskIdProvider( QgsMaskIdProvider *provider ) { mMaskIdProvider = provider; }
829
835 const QgsMaskIdProvider *maskIdProvider() const { return mMaskIdProvider; }
836
842 void setCurrentMaskId( int id ) { mCurrentMaskId = id; }
843
850 int currentMaskId() const { return mCurrentMaskId; }
851
861 void setIsGuiPreview( bool preview ) { mIsGuiPreview = preview; }
862
873 bool isGuiPreview() const { return mIsGuiPreview; }
874
881 Q_DECL_DEPRECATED QVariantMap customRenderingFlags() const SIP_DEPRECATED { return mCustomProperties; }
882
891 QVariantMap customProperties() const { return mCustomProperties; }
892
900 Q_DECL_DEPRECATED void setCustomRenderingFlag( const QString &flag, const QVariant &value ) SIP_DEPRECATED { mCustomProperties[flag] = value; }
901
910 void setCustomProperty( const QString &property, const QVariant &value ) { mCustomProperties[property] = value; }
911
918 Q_DECL_DEPRECATED void clearCustomRenderingFlag( const QString &flag ) SIP_DEPRECATED { mCustomProperties.remove( flag ); }
919
926 void clearCustomProperty( const QString &property ) { mCustomProperties.remove( property ); }
927
935 QList< QgsMapClippingRegion > clippingRegions() const;
936
951 QgsGeometry featureClipGeometry() const;
952
962 void setFeatureClipGeometry( const QgsGeometry &geometry );
963
971 QPointF textureOrigin() const;
972
980 void setTextureOrigin( const QPointF &origin );
981
989 const QgsMaskRenderSettings &maskSettings() const SIP_SKIP { return mMaskRenderSettings; }
990
998 QgsMaskRenderSettings &maskSettings() { return mMaskRenderSettings; }
999
1007 void setMaskSettings( const QgsMaskRenderSettings &settings );
1008
1015 Q_DECL_DEPRECATED void addSymbolLayerClipPath( const QString &symbolLayerId, QPainterPath path ) SIP_DEPRECATED;
1016
1023 Q_DECL_DEPRECATED QList<QPainterPath> symbolLayerClipPaths( const QString &symbolLayerId ) const SIP_DEPRECATED;
1024
1031 void addSymbolLayerClipGeometry( const QString &symbolLayerId, const QgsGeometry &geometry );
1032
1039 bool symbolLayerHasClipGeometries( const QString &symbolLayerId ) const;
1040
1048 QVector<QgsGeometry> symbolLayerClipGeometries( const QString &symbolLayerId ) const;
1049
1056 QgsDoubleRange zRange() const;
1057
1064 void setZRange( const QgsDoubleRange &range );
1065
1074 QSize outputSize() const;
1075
1082 void setOutputSize( QSize size );
1083
1092 float devicePixelRatio() const;
1093
1102 void setDevicePixelRatio( float ratio );
1103
1115 QSize deviceOutputSize() const;
1116
1124 void setImageFormat( QImage::Format format ) { mImageFormat = format; }
1125
1133 QImage::Format imageFormat() const { return mImageFormat; }
1134
1141 Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
1142
1149 void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
1150
1157 Qgis::RendererUsage rendererUsage() const { return mRendererUsage; }
1158
1168 void setRendererUsage( Qgis::RendererUsage usage ) { mRendererUsage = usage; }
1169
1178 double frameRate() const;
1179
1188 void setFrameRate( double rate );
1189
1198 long long currentFrame() const;
1199
1208 void setCurrentFrame( long long frame );
1209
1210
1217 QgsElevationMap *elevationMap() const;
1218
1227 void setElevationMap( QgsElevationMap *map );
1228
1229 private:
1230 void matchRasterizedRenderingPolicyToFlags();
1231
1234
1236 QPainter *mPainter = nullptr;
1237
1239 QPainter *mPreviewRenderPainter = nullptr;
1240
1247 QMap<int, QPainter *> mMaskPainter;
1248
1254 QgsMaskIdProvider *mMaskIdProvider = nullptr;
1255
1260 int mCurrentMaskId = -1;
1261
1266 bool mIsGuiPreview = false;
1267
1269 QgsCoordinateTransform mCoordTransform;
1270
1275 QgsDistanceArea mDistanceArea;
1276
1277 QgsRectangle mExtent;
1278 QgsRectangle mOriginalMapExtent;
1279
1280 QgsMapToPixel mMapToPixel;
1281
1283 bool mRenderingStopped = false;
1284
1286 QgsFeedback *mFeedback = nullptr;
1287
1289 double mScaleFactor = 1.0;
1290
1292 double mDpiTarget = -1.0;
1293
1295 double mRendererScale = 1.0;
1296
1297 double mSymbologyReferenceScale = -1;
1298
1300 QgsLabelingEngine *mLabelingEngine = nullptr;
1301
1303 QgsLabelSink *mLabelSink = nullptr;
1304
1306 QColor mSelectionColor;
1307
1309 QgsVectorSimplifyMethod mVectorSimplifyMethod;
1310
1312 QgsExpressionContext mExpressionContext;
1313
1315 const QgsAbstractGeometry *mGeometry = nullptr;
1316
1318 std::unique_ptr< QgsFeatureFilterProvider > mFeatureFilterProvider;
1319
1320 double mSegmentationTolerance = M_PI_2 / 90;
1321
1323
1324 QgsCoordinateTransformContext mTransformContext;
1325
1326 QgsPathResolver mPathResolver;
1327
1329 QList< QgsRenderedFeatureHandlerInterface * > mRenderedFeatureHandlers;
1330 bool mHasRenderedFeatureHandlers = false;
1331 QVariantMap mCustomProperties;
1332
1333 QSet<QString> mDisabledSymbolLayers;
1334
1335 QList< QgsMapClippingRegion > mClippingRegions;
1336 QgsGeometry mFeatureClipGeometry;
1337
1338 QPointF mTextureOrigin;
1339
1340 QgsDoubleRange mZRange;
1341
1342 QSize mSize;
1343 float mDevicePixelRatio = 1.0;
1344 QImage::Format mImageFormat = QImage::Format_ARGB32_Premultiplied;
1345
1347
1348 double mFrameRate = -1;
1349 long long mCurrentFrame = -1;
1350
1352 QMap< QString, QVector<QgsGeometry> > mSymbolLayerClippingGeometries;
1353
1354 QgsMaskRenderSettings mMaskRenderSettings;
1355
1356#ifdef QGISDEBUG
1357 bool mHasTransformContext = false;
1358#endif
1359
1360 QgsElevationMap *mElevationMap = nullptr;
1361};
1362
1363#ifndef SIP_RUN
1364
1377{
1378 public:
1385 QgsScopedRenderContextPainterSwap( QgsRenderContext &context, QPainter *temporaryPainter )
1386 : mContext( context )
1387 , mPreviousPainter( context.painter() )
1388 {
1389 mContext.setPainter( temporaryPainter );
1390 }
1391
1395 void reset()
1396 {
1397 if ( !mReleased )
1398 {
1399 mContext.setPainter( mPreviousPainter );
1400 mReleased = true;
1401 }
1402 }
1403
1408
1409 private:
1410 QgsRenderContext &mContext;
1411 QPainter *mPreviousPainter = nullptr;
1412 bool mReleased = false;
1413};
1414
1415
1428{
1429 public:
1438 : mContext( context )
1439 {
1440 if ( mContext.painter() )
1441 mContext.painter()->scale( mContext.scaleFactor(), mContext.scaleFactor() );
1442 }
1443
1448 {
1449 if ( mContext.painter() )
1450 mContext.painter()->scale( 1.0 / mContext.scaleFactor(), 1.0 / mContext.scaleFactor() );
1451 }
1452
1453 private:
1454 QgsRenderContext &mContext;
1455};
1456
1457
1470{
1471 public:
1480 : mContext( context )
1481 {
1482 if ( mContext.painter() )
1483 mContext.painter()->scale( 1.0 / mContext.scaleFactor(), 1.0 / mContext.scaleFactor() );
1484 }
1485
1490 {
1491 if ( mContext.painter() )
1492 mContext.painter()->scale( mContext.scaleFactor(), mContext.scaleFactor() );
1493 }
1494
1495 private:
1496 QgsRenderContext &mContext;
1497};
1498
1499
1512{
1513 public:
1519 QgsScopedQPainterState( QPainter *painter )
1520 : mPainter( painter )
1521 {
1522 mPainter->save();
1523 }
1524
1528 ~QgsScopedQPainterState() { mPainter->restore(); }
1529
1530 private:
1531 QPainter *mPainter = nullptr;
1532};
1533
1534
1546{
1547 public:
1554 : mContext( &context )
1555 , mOriginalScale( context.symbologyReferenceScale() )
1556 {
1557 mContext->setSymbologyReferenceScale( scale );
1558 }
1559
1564 : mContext( o.mContext )
1565 , mOriginalScale( o.mOriginalScale )
1566 {
1567 o.mContext = nullptr;
1568 }
1569
1574 {
1575 if ( mContext )
1576 mContext->setSymbologyReferenceScale( mOriginalScale );
1577 }
1578
1579 private:
1580 QgsRenderContext *mContext = nullptr;
1581 double mOriginalScale = 0;
1582};
1583
1584
1585#endif
1586
1587#endif
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2798
@ Default
Allow raster-based rendering in situations where it is required for correct rendering or where it wil...
Definition qgis.h:2799
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3154
@ Generic
Generic subcomponent property.
Definition qgis.h:3155
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2871
TextRenderFormat
Options for rendering text.
Definition qgis.h:2923
@ AlwaysOutlines
Always render text using path objects (AKA outlines/curves). This setting guarantees the best quality...
Definition qgis.h:2924
RenderUnit
Rendering size units.
Definition qgis.h:5340
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2845
RendererUsage
Usage of the renderer.
Definition qgis.h:3559
@ Unknown
Renderer used for unknown usage.
Definition qgis.h:3562
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:217
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.
double rendererScale() const
Returns the renderer map scale.
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...
bool testFlag(Qgis::RenderContextFlag flag) const
Check whether a particular flag is enabled.
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 setFlag(Qgis::RenderContextFlag flag, bool on=true)
Enable or disable a particular flag (other flags are not affected).
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 setFlags(Qgis::RenderContextFlags flags)
Set combination of flags that will be used for rendering.
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.
static QgsRenderContext fromMapSettings(const QgsMapSettings &mapSettings)
create initialized QgsRenderContext instance from given QgsMapSettings
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...
static QgsRenderContext fromQPainter(QPainter *painter)
Creates a default render context given a pixel based QPainter destination.
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.
QgsCoordinateTransform coordinateTransform() const
Returns the current coordinate transform for the context.
Qgis::RenderContextFlags flags() const
Returns combination of flags used for rendering.
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.
QgsRenderContext & operator=(const QgsRenderContext &rh)
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 ...
QgsScopedQPainterState(QPainter *painter)
Constructor for QgsScopedQPainterState.
~QgsScopedQPainterState()
Restores the painter back to its original state.
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.
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.
~QgsScopedRenderContextScaleToMm()
Returns the destination painter back to pixel based units.
QgsScopedRenderContextScaleToMm(QgsRenderContext &context)
Constructor for QgsScopedRenderContextScaleToMm.
QgsScopedRenderContextScaleToPixels(QgsRenderContext &context)
Constructor for QgsScopedRenderContextScaleToPixels.
~QgsScopedRenderContextScaleToPixels()
Returns the destination painter back to millimeter based units.
Abstract base class for symbol layers.
QgsTemporalRangeObject(bool enabled=false)
Constructor QgsTemporalRangeObject.
Contains settings for simplifying geometries fetched from a vector layer.
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_SKIP
Definition qgis_sip.h:133