QGIS API Documentation 3.99.0-Master (26c88405ac0)
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 4 : 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( double size, Qgis::RenderUnit unit, const QgsMapUnitScale &scale = QgsMapUnitScale(), Qgis::RenderSubcomponentProperty property = Qgis::RenderSubcomponentProperty::Generic ) const;
759
767 double convertFromPainterUnits( double size, Qgis::RenderUnit unit ) const;
768
774 double convertToMapUnits( double size, Qgis::RenderUnit unit, const QgsMapUnitScale &scale = QgsMapUnitScale() ) const;
775
780 double convertFromMapUnits( double sizeInMapUnits, Qgis::RenderUnit outputUnit ) const;
781
786 double convertMetersToMapUnits( double meters ) const;
787
795 {
796 return mTextRenderFormat;
797 }
798
806 {
807 mTextRenderFormat = format;
808 }
809
815 QList<QgsRenderedFeatureHandlerInterface *> renderedFeatureHandlers() const;
816
822 bool hasRenderedFeatureHandlers() const { return mHasRenderedFeatureHandlers; }
823
832 void setMaskIdProvider( QgsMaskIdProvider *provider ) { mMaskIdProvider = provider; }
833
839 const QgsMaskIdProvider *maskIdProvider() const { return mMaskIdProvider; }
840
846 void setCurrentMaskId( int id ) { mCurrentMaskId = id; }
847
854 int currentMaskId() const { return mCurrentMaskId; }
855
865 void setIsGuiPreview( bool preview ) { mIsGuiPreview = preview; }
866
877 bool isGuiPreview() const { return mIsGuiPreview; }
878
885 Q_DECL_DEPRECATED QVariantMap customRenderingFlags() const SIP_DEPRECATED { return mCustomProperties; }
886
895 QVariantMap customProperties() const { return mCustomProperties; }
896
904 Q_DECL_DEPRECATED void setCustomRenderingFlag( const QString &flag, const QVariant &value ) SIP_DEPRECATED { mCustomProperties[flag] = value; }
905
914 void setCustomProperty( const QString &property, const QVariant &value ) { mCustomProperties[property] = value; }
915
922 Q_DECL_DEPRECATED void clearCustomRenderingFlag( const QString &flag ) SIP_DEPRECATED { mCustomProperties.remove( flag ); }
923
930 void clearCustomProperty( const QString &property ) { mCustomProperties.remove( property ); }
931
939 QList< QgsMapClippingRegion > clippingRegions() const;
940
955 QgsGeometry featureClipGeometry() const;
956
966 void setFeatureClipGeometry( const QgsGeometry &geometry );
967
975 QPointF textureOrigin() const;
976
984 void setTextureOrigin( const QPointF &origin );
985
993 const QgsMaskRenderSettings &maskSettings() const SIP_SKIP { return mMaskRenderSettings; }
994
1002 QgsMaskRenderSettings &maskSettings() { return mMaskRenderSettings; }
1003
1011 void setMaskSettings( const QgsMaskRenderSettings &settings );
1012
1019 Q_DECL_DEPRECATED void addSymbolLayerClipPath( const QString &symbolLayerId, QPainterPath path ) SIP_DEPRECATED;
1020
1027 Q_DECL_DEPRECATED QList<QPainterPath> symbolLayerClipPaths( const QString &symbolLayerId ) const SIP_DEPRECATED;
1028
1035 void addSymbolLayerClipGeometry( const QString &symbolLayerId, const QgsGeometry &geometry );
1036
1043 bool symbolLayerHasClipGeometries( const QString &symbolLayerId ) const;
1044
1052 QVector<QgsGeometry> symbolLayerClipGeometries( const QString &symbolLayerId ) const;
1053
1060 QgsDoubleRange zRange() const;
1061
1068 void setZRange( const QgsDoubleRange &range );
1069
1078 QSize outputSize() const;
1079
1086 void setOutputSize( QSize size );
1087
1096 float devicePixelRatio() const;
1097
1106 void setDevicePixelRatio( float ratio );
1107
1119 QSize deviceOutputSize() const;
1120
1128 void setImageFormat( QImage::Format format ) { mImageFormat = format; }
1129
1137 QImage::Format imageFormat() const { return mImageFormat; }
1138
1145 Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
1146
1153 void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
1154
1161 Qgis::RendererUsage rendererUsage() const {return mRendererUsage;}
1162
1172 void setRendererUsage( Qgis::RendererUsage usage ) {mRendererUsage = usage;}
1173
1182 double frameRate() const;
1183
1192 void setFrameRate( double rate );
1193
1202 long long currentFrame() const;
1203
1212 void setCurrentFrame( long long frame );
1213
1214
1221 QgsElevationMap *elevationMap() const;
1222
1231 void setElevationMap( QgsElevationMap *map );
1232
1233 private:
1234
1235 void matchRasterizedRenderingPolicyToFlags();
1236
1239
1241 QPainter *mPainter = nullptr;
1242
1244 QPainter *mPreviewRenderPainter = nullptr;
1245
1252 QMap<int, QPainter *> mMaskPainter;
1253
1259 QgsMaskIdProvider *mMaskIdProvider = nullptr;
1260
1265 int mCurrentMaskId = -1;
1266
1271 bool mIsGuiPreview = false;
1272
1274 QgsCoordinateTransform mCoordTransform;
1275
1280 QgsDistanceArea mDistanceArea;
1281
1282 QgsRectangle mExtent;
1283 QgsRectangle mOriginalMapExtent;
1284
1285 QgsMapToPixel mMapToPixel;
1286
1288 bool mRenderingStopped = false;
1289
1291 QgsFeedback *mFeedback = nullptr;
1292
1294 double mScaleFactor = 1.0;
1295
1297 double mDpiTarget = -1.0;
1298
1300 double mRendererScale = 1.0;
1301
1302 double mSymbologyReferenceScale = -1;
1303
1305 QgsLabelingEngine *mLabelingEngine = nullptr;
1306
1308 QgsLabelSink *mLabelSink = nullptr;
1309
1311 QColor mSelectionColor;
1312
1314 QgsVectorSimplifyMethod mVectorSimplifyMethod;
1315
1317 QgsExpressionContext mExpressionContext;
1318
1320 const QgsAbstractGeometry *mGeometry = nullptr;
1321
1323 std::unique_ptr< QgsFeatureFilterProvider > mFeatureFilterProvider;
1324
1325 double mSegmentationTolerance = M_PI_2 / 90;
1326
1328
1329 QgsCoordinateTransformContext mTransformContext;
1330
1331 QgsPathResolver mPathResolver;
1332
1334 QList< QgsRenderedFeatureHandlerInterface * > mRenderedFeatureHandlers;
1335 bool mHasRenderedFeatureHandlers = false;
1336 QVariantMap mCustomProperties;
1337
1338 QSet<QString> mDisabledSymbolLayers;
1339
1340 QList< QgsMapClippingRegion > mClippingRegions;
1341 QgsGeometry mFeatureClipGeometry;
1342
1343 QPointF mTextureOrigin;
1344
1345 QgsDoubleRange mZRange;
1346
1347 QSize mSize;
1348 float mDevicePixelRatio = 1.0;
1349 QImage::Format mImageFormat = QImage::Format_ARGB32_Premultiplied;
1350
1352
1353 double mFrameRate = -1;
1354 long long mCurrentFrame = -1;
1355
1357 QMap< QString, QVector<QgsGeometry> > mSymbolLayerClippingGeometries;
1358
1359 QgsMaskRenderSettings mMaskRenderSettings;
1360
1361#ifdef QGISDEBUG
1362 bool mHasTransformContext = false;
1363#endif
1364
1365 QgsElevationMap *mElevationMap = nullptr;
1366};
1367
1368#ifndef SIP_RUN
1369
1382{
1383 public:
1384
1391 QgsScopedRenderContextPainterSwap( QgsRenderContext &context, QPainter *temporaryPainter )
1392 : mContext( context )
1393 , mPreviousPainter( context.painter() )
1394 {
1395 mContext.setPainter( temporaryPainter );
1396 }
1397
1401 void reset()
1402 {
1403 if ( !mReleased )
1404 {
1405 mContext.setPainter( mPreviousPainter );
1406 mReleased = true;
1407 }
1408 }
1409
1417
1418 private:
1419
1420 QgsRenderContext &mContext;
1421 QPainter *mPreviousPainter = nullptr;
1422 bool mReleased = false;
1423};
1424
1425
1438{
1439 public:
1440
1449 : mContext( context )
1450 {
1451 if ( mContext.painter() )
1452 mContext.painter()->scale( mContext.scaleFactor(), mContext.scaleFactor() );
1453 }
1454
1459 {
1460 if ( mContext.painter() )
1461 mContext.painter()->scale( 1.0 / mContext.scaleFactor(), 1.0 / mContext.scaleFactor() );
1462 }
1463
1464 private:
1465
1466 QgsRenderContext &mContext;
1467};
1468
1469
1482{
1483 public:
1484
1493 : mContext( context )
1494 {
1495 if ( mContext.painter() )
1496 mContext.painter()->scale( 1.0 / mContext.scaleFactor(), 1.0 / mContext.scaleFactor() );
1497 }
1498
1503 {
1504 if ( mContext.painter() )
1505 mContext.painter()->scale( mContext.scaleFactor(), mContext.scaleFactor() );
1506 }
1507
1508 private:
1509
1510 QgsRenderContext &mContext;
1511};
1512
1513
1526{
1527 public:
1528
1534 QgsScopedQPainterState( QPainter *painter )
1535 : mPainter( painter )
1536 {
1537 mPainter->save();
1538 }
1539
1544 {
1545 mPainter->restore();
1546 }
1547
1548 private:
1549
1550 QPainter *mPainter = nullptr;
1551};
1552
1553
1565{
1566 public:
1567
1574 : mContext( &context )
1575 , mOriginalScale( context.symbologyReferenceScale() )
1576 {
1577 mContext->setSymbologyReferenceScale( scale );
1578 }
1579
1584 : mContext( o.mContext )
1585 , mOriginalScale( o.mOriginalScale )
1586 {
1587 o.mContext = nullptr;
1588 }
1589
1594 {
1595 if ( mContext )
1596 mContext->setSymbologyReferenceScale( mOriginalScale );
1597 }
1598
1599 private:
1600
1601 QgsRenderContext *mContext = nullptr;
1602 double mOriginalScale = 0;
1603};
1604
1605
1606#endif
1607
1608#endif
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2703
@ Default
Allow raster-based rendering in situations where it is required for correct rendering or where it wil...
Definition qgis.h:2704
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3053
@ Generic
Generic subcomponent property.
Definition qgis.h:3054
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2774
TextRenderFormat
Options for rendering text.
Definition qgis.h:2826
@ AlwaysOutlines
Always render text using path objects (AKA outlines/curves). This setting guarantees the best quality...
Definition qgis.h:2827
RenderUnit
Rendering size units.
Definition qgis.h:5183
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2748
RendererUsage
Usage of the renderer.
Definition qgis.h:3445
@ Unknown
Renderer used for unknown usage.
Definition qgis.h:3448
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.
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:114
#define SIP_SKIP
Definition qgis_sip.h:134