QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
Public Types | Signals | Public Member Functions | Friends | List of all members
QgsLayoutRenderContext Class Reference

Stores information relating to the current rendering settings for a layout. More...

#include <qgslayoutrendercontext.h>

Inheritance diagram for QgsLayoutRenderContext:
Inheritance graph
[legend]

Public Types

enum  Flag {
  FlagDebug = 1 << 1 , FlagOutlineOnly = 1 << 2 , FlagAntialiasing = 1 << 3 , FlagUseAdvancedEffects = 1 << 4 ,
  FlagForceVectorOutput = 1 << 5 , FlagHideCoverageLayer = 1 << 6 , FlagDrawSelection = 1 << 7 , FlagDisableTiledRasterLayerRenders = 1 << 8 ,
  FlagRenderLabelsByMapLayer = 1 << 9 , FlagLosslessImageRendering = 1 << 10
}
 Flags for controlling how a layout is rendered. More...
 

Signals

void dpiChanged ()
 Emitted when the context's DPI is changed. More...
 
void flagsChanged (QgsLayoutRenderContext::Flags flags)
 Emitted whenever the context's flags change. More...
 
void predefinedScalesChanged ()
 Emitted when the list of predefined scales changes. More...
 

Public Member Functions

 QgsLayoutRenderContext (QgsLayout *layout)
 Constructor for QgsLayoutRenderContext. More...
 
bool boundingBoxesVisible () const
 Returns true if the item bounding boxes should be drawn. More...
 
Q_DECL_DEPRECATED int currentExportLayer () const
 Returns the current item layer to draw while exporting. More...
 
double dpi () const
 Returns the dpi for outputting the layout. More...
 
QStringList exportThemes () const
 Returns a list of map themes to use during the export. More...
 
QgsFeatureFilterProviderfeatureFilterProvider () const
 Returns the possibly NULL feature filter provider. More...
 
QgsLayoutRenderContext::Flags flags () const
 Returns the current combination of flags used for rendering the layout. More...
 
bool gridVisible () const
 Returns true if the page grid should be drawn. More...
 
bool isPreviewRender () const
 Returns true if the render current being conducted is a preview render, i.e. More...
 
QgsLayoutMeasurementConvertermeasurementConverter ()
 Returns the layout measurement converter to be used in the layout. More...
 
const QgsLayoutMeasurementConvertermeasurementConverter () const
 Returns the layout measurement converter to be used in the layout. More...
 
bool pagesVisible () const
 Returns whether the page items are be visible in the layout. More...
 
QVector< qreal > predefinedScales () const
 Returns the current list of predefined scales for use with the layout. More...
 
Qgis::RenderContextFlags renderContextFlags () const
 Returns the combination of render context flags matched to the layout context's settings. More...
 
QColor selectionColor () const
 Gets color that is used for drawing of selected vector features. More...
 
void setBoundingBoxesVisible (bool visible)
 Sets whether the item bounding boxes should be visible. More...
 
Q_DECL_DEPRECATED void setCurrentExportLayer (int layer=-1)
 Sets the current item layer to draw while exporting. More...
 
void setDpi (double dpi)
 Sets the dpi for outputting the layout. More...
 
void setExportThemes (const QStringList &themes)
 Sets a list of map themes to use during the export. More...
 
void setFeatureFilterProvider (QgsFeatureFilterProvider *featureFilterProvider)
 Sets feature filter provider to featureFilterProvider. More...
 
void setFlag (QgsLayoutRenderContext::Flag flag, bool on=true)
 Enables or disables a particular rendering flag for the layout. More...
 
void setFlags (QgsLayoutRenderContext::Flags flags)
 Sets the combination of flags that will be used for rendering the layout. More...
 
void setGridVisible (bool visible)
 Sets whether the page grid should be visible. More...
 
void setPagesVisible (bool visible)
 Sets whether the page items should be visible in the layout. More...
 
void setPredefinedScales (const QVector< qreal > &scales)
 Sets the list of predefined scales to use with the layout. More...
 
void setSelectionColor (const QColor &color)
 Sets color that is used for drawing of selected vector features. More...
 
void setSimplifyMethod (const QgsVectorSimplifyMethod &method)
 Sets the simplification setting to use when rendering vector layers. More...
 
void setTextRenderFormat (Qgis::TextRenderFormat format)
 Sets the text render format, which dictates how text is rendered (e.g. More...
 
const QgsVectorSimplifyMethodsimplifyMethod () const
 Returns the simplification settings to use when rendering vector layers. More...
 
bool testFlag (Flag flag) const
 Check whether a particular rendering flag is enabled for the layout. More...
 
Qgis::TextRenderFormat textRenderFormat () const
 Returns the text render format, which dictates how text is rendered (e.g. More...
 

Friends

class LayoutContextPreviewSettingRestorer
 
class QgsLayoutExporter
 
class TestQgsLayout
 
class TestQgsLayoutLabel
 
class TestQgsLayoutMap
 

Detailed Description

Stores information relating to the current rendering settings for a layout.

Since
QGIS 3.0

Definition at line 36 of file qgslayoutrendercontext.h.

Member Enumeration Documentation

◆ Flag

Flags for controlling how a layout is rendered.

Enumerator
FlagDebug 

Debug/testing mode, items are drawn as solid rectangles.

FlagOutlineOnly 

Render items as outlines only.

FlagAntialiasing 

Use antialiasing when drawing items.

FlagUseAdvancedEffects 

Enable advanced effects such as blend modes.

FlagForceVectorOutput 

Force output in vector format where possible, even if items require rasterization to keep their correct appearance.

FlagHideCoverageLayer 

Hide coverage layer in outputs.

FlagDrawSelection 

Draw selection.

FlagDisableTiledRasterLayerRenders 

If set, then raster layers will not be drawn as separate tiles. This may improve the appearance in exported files, at the cost of much higher memory usage during exports.

FlagRenderLabelsByMapLayer 

When rendering map items to multi-layered exports, render labels belonging to different layers into separate export layers.

FlagLosslessImageRendering 

Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some destination devices (e.g. PDF). This flag only works with builds based on Qt 5.13 or later.

Definition at line 44 of file qgslayoutrendercontext.h.

Constructor & Destructor Documentation

◆ QgsLayoutRenderContext()

QgsLayoutRenderContext::QgsLayoutRenderContext ( QgsLayout layout)

Constructor for QgsLayoutRenderContext.

Definition at line 20 of file qgslayoutrendercontext.cpp.

Member Function Documentation

◆ boundingBoxesVisible()

bool QgsLayoutRenderContext::boundingBoxesVisible ( ) const

Returns true if the item bounding boxes should be drawn.

See also
setBoundingBoxesVisible()

Definition at line 101 of file qgslayoutrendercontext.cpp.

◆ currentExportLayer()

Q_DECL_DEPRECATED int QgsLayoutRenderContext::currentExportLayer ( ) const
inline

Returns the current item layer to draw while exporting.

QgsLayoutItem subclasses which support multi-layer SVG exports must check this and customize their rendering based on the layer.

If layer is -1, all item layers should be rendered.

See also
setCurrentExportLayer()
Deprecated:
Items should now handle this themselves, via QgsLayoutItem::exportLayerBehavior() and returning QgsLayoutItem::nextExportPart().

Definition at line 210 of file qgslayoutrendercontext.h.

◆ dpi()

double QgsLayoutRenderContext::dpi ( ) const

Returns the dpi for outputting the layout.

See also
setDpi()

Definition at line 86 of file qgslayoutrendercontext.cpp.

◆ dpiChanged

void QgsLayoutRenderContext::dpiChanged ( )
signal

Emitted when the context's DPI is changed.

◆ exportThemes()

QStringList QgsLayoutRenderContext::exportThemes ( ) const

Returns a list of map themes to use during the export.

Items which handle layered exports (e.g. maps) may utilize this list to export different representations of the item as export layers, as they iterate through these included themes.

See also
setExportThemes()
Since
QGIS 3.10

Definition at line 116 of file qgslayoutrendercontext.cpp.

◆ featureFilterProvider()

QgsFeatureFilterProvider * QgsLayoutRenderContext::featureFilterProvider ( ) const

Returns the possibly NULL feature filter provider.

A feature filter provider for filtering visible features or attributes. It is currently used by QGIS Server Access Control Plugins.

Since
QGIS 3.18

Definition at line 137 of file qgslayoutrendercontext.cpp.

◆ flags()

QgsLayoutRenderContext::Flags QgsLayoutRenderContext::flags ( ) const

Returns the current combination of flags used for rendering the layout.

See also
setFlags()
setFlag()
testFlag()

Definition at line 52 of file qgslayoutrendercontext.cpp.

◆ flagsChanged

void QgsLayoutRenderContext::flagsChanged ( QgsLayoutRenderContext::Flags  flags)
signal

Emitted whenever the context's flags change.

See also
setFlags()

◆ gridVisible()

bool QgsLayoutRenderContext::gridVisible ( ) const

Returns true if the page grid should be drawn.

See also
setGridVisible()

Definition at line 91 of file qgslayoutrendercontext.cpp.

◆ isPreviewRender()

bool QgsLayoutRenderContext::isPreviewRender ( ) const
inline

Returns true if the render current being conducted is a preview render, i.e.

it is being rendered inside a QGraphicsView widget as opposed to a destination device (such as an image).

Definition at line 146 of file qgslayoutrendercontext.h.

◆ measurementConverter() [1/2]

QgsLayoutMeasurementConverter& QgsLayoutRenderContext::measurementConverter ( )
inline

Returns the layout measurement converter to be used in the layout.

This converter is used for translating between other measurement units and the layout's native unit.

Definition at line 139 of file qgslayoutrendercontext.h.

◆ measurementConverter() [2/2]

const QgsLayoutMeasurementConverter& QgsLayoutRenderContext::measurementConverter ( ) const
inline

Returns the layout measurement converter to be used in the layout.

This converter is used for translating between other measurement units and the layout's native unit.

Definition at line 133 of file qgslayoutrendercontext.h.

◆ pagesVisible()

bool QgsLayoutRenderContext::pagesVisible ( ) const
inline

Returns whether the page items are be visible in the layout.

This setting effects both display of the page boundaries in layout views and whether they will be rendered in layout exports.

See also
setPagesVisible()

Definition at line 186 of file qgslayoutrendercontext.h.

◆ predefinedScales()

QVector<qreal> QgsLayoutRenderContext::predefinedScales ( ) const
inline

Returns the current list of predefined scales for use with the layout.

See also
setPredefinedScales()
Since
QGIS 3.10

Definition at line 302 of file qgslayoutrendercontext.h.

◆ predefinedScalesChanged

void QgsLayoutRenderContext::predefinedScalesChanged ( )
signal

Emitted when the list of predefined scales changes.

See also
predefinedScales()
Since
QGIS 3.10

◆ renderContextFlags()

Qgis::RenderContextFlags QgsLayoutRenderContext::renderContextFlags ( ) const

Returns the combination of render context flags matched to the layout context's settings.

Definition at line 62 of file qgslayoutrendercontext.cpp.

◆ selectionColor()

QColor QgsLayoutRenderContext::selectionColor ( ) const
inline

Gets color that is used for drawing of selected vector features.

See also
setSelectionColor()
Since
QGIS 3.4

Definition at line 127 of file qgslayoutrendercontext.h.

◆ setBoundingBoxesVisible()

void QgsLayoutRenderContext::setBoundingBoxesVisible ( bool  visible)

Sets whether the item bounding boxes should be visible.

See also
boundingBoxesVisible()

Definition at line 106 of file qgslayoutrendercontext.cpp.

◆ setCurrentExportLayer()

Q_DECL_DEPRECATED void QgsLayoutRenderContext::setCurrentExportLayer ( int  layer = -1)
inline

Sets the current item layer to draw while exporting.

QgsLayoutItem subclasses which support multi-layer SVG exports must check the currentExportLayer() and customize their rendering based on the layer.

If layer is -1, all item layers will be rendered.

See also
currentExportLayer()
Deprecated:
Items should now handle this themselves, via QgsLayoutItem::exportLayerBehavior() and returning QgsLayoutItem::nextExportPart().

Definition at line 198 of file qgslayoutrendercontext.h.

◆ setDpi()

void QgsLayoutRenderContext::setDpi ( double  dpi)

Sets the dpi for outputting the layout.

This also sets the corresponding DPI for the context's measurementConverter().

See also
dpi()

Definition at line 77 of file qgslayoutrendercontext.cpp.

◆ setExportThemes()

void QgsLayoutRenderContext::setExportThemes ( const QStringList &  themes)

Sets a list of map themes to use during the export.

Items which handle layered exports (e.g. maps) may utilize this list to export different representations of the item as export layers, as they iterate through these included themes.

See also
exportThemes()
Since
QGIS 3.10

Definition at line 121 of file qgslayoutrendercontext.cpp.

◆ setFeatureFilterProvider()

void QgsLayoutRenderContext::setFeatureFilterProvider ( QgsFeatureFilterProvider featureFilterProvider)

Sets feature filter provider to featureFilterProvider.

A feature filter provider for filtering visible features or attributes. It is currently used by QGIS Server Access Control Plugins.

Since
QGIS 3.18

Definition at line 142 of file qgslayoutrendercontext.cpp.

◆ setFlag()

void QgsLayoutRenderContext::setFlag ( QgsLayoutRenderContext::Flag  flag,
bool  on = true 
)

Enables or disables a particular rendering flag for the layout.

Other existing flags are not affected.

See also
setFlags()
flags()
testFlag()

Definition at line 37 of file qgslayoutrendercontext.cpp.

◆ setFlags()

void QgsLayoutRenderContext::setFlags ( QgsLayoutRenderContext::Flags  flags)

Sets the combination of flags that will be used for rendering the layout.

See also
setFlag()
flags()
testFlag()

Definition at line 28 of file qgslayoutrendercontext.cpp.

◆ setGridVisible()

void QgsLayoutRenderContext::setGridVisible ( bool  visible)

Sets whether the page grid should be visible.

See also
gridVisible()

Definition at line 96 of file qgslayoutrendercontext.cpp.

◆ setPagesVisible()

void QgsLayoutRenderContext::setPagesVisible ( bool  visible)

Sets whether the page items should be visible in the layout.

Removing them will prevent both display of the page boundaries in layout views and will also prevent them from being rendered in layout exports.

See also
pagesVisible()

Definition at line 111 of file qgslayoutrendercontext.cpp.

◆ setPredefinedScales()

void QgsLayoutRenderContext::setPredefinedScales ( const QVector< qreal > &  scales)

Sets the list of predefined scales to use with the layout.

This is used for maps which are set to the predefined atlas scaling mode.

See also
predefinedScales()
Since
QGIS 3.10

Definition at line 126 of file qgslayoutrendercontext.cpp.

◆ setSelectionColor()

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

Sets color that is used for drawing of selected vector features.

See also
selectionColor()
Since
QGIS 3.4

Definition at line 120 of file qgslayoutrendercontext.h.

◆ setSimplifyMethod()

void QgsLayoutRenderContext::setSimplifyMethod ( const QgsVectorSimplifyMethod method)
inline

Sets the simplification setting to use when rendering vector layers.

If the simplify method is enabled, it apply to all vector layers rendered inside map items.

This can be used to specify global simplification methods to apply during map exports, e.g. to allow vector layers to be simplified to an appropriate maximum level of detail during PDF exports (avoiding excessive PDF size due to huge numbers of vertices).

The default is to use no simplification.

Note
This simplification method is only used during non-preview renders.
See also
simplifyMethod()
Since
QGIS 3.10

Definition at line 251 of file qgslayoutrendercontext.h.

◆ setTextRenderFormat()

void QgsLayoutRenderContext::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 229 of file qgslayoutrendercontext.h.

◆ simplifyMethod()

const QgsVectorSimplifyMethod& QgsLayoutRenderContext::simplifyMethod ( ) const
inline

Returns the simplification settings to use when rendering vector layers.

If enabled, it will apply to all vector layers rendered for the map.

The default is to use no simplification.

Note
This simplification method is only used during non-preview renders.
See also
setSimplifyMethod()
Since
QGIS 3.10

Definition at line 265 of file qgslayoutrendercontext.h.

◆ testFlag()

bool QgsLayoutRenderContext::testFlag ( const QgsLayoutRenderContext::Flag  flag) const

Check whether a particular rendering flag is enabled for the layout.

See also
setFlags()
setFlag()
flags()

Definition at line 57 of file qgslayoutrendercontext.cpp.

◆ textRenderFormat()

Qgis::TextRenderFormat QgsLayoutRenderContext::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 218 of file qgslayoutrendercontext.h.

Friends And Related Function Documentation

◆ LayoutContextPreviewSettingRestorer

friend class LayoutContextPreviewSettingRestorer
friend

Definition at line 373 of file qgslayoutrendercontext.h.

◆ QgsLayoutExporter

friend class QgsLayoutExporter
friend

Definition at line 371 of file qgslayoutrendercontext.h.

◆ TestQgsLayout

friend class TestQgsLayout
friend

Definition at line 372 of file qgslayoutrendercontext.h.

◆ TestQgsLayoutLabel

friend class TestQgsLayoutLabel
friend

Definition at line 375 of file qgslayoutrendercontext.h.

◆ TestQgsLayoutMap

friend class TestQgsLayoutMap
friend

Definition at line 374 of file qgslayoutrendercontext.h.


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