mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
479 lines
14 KiB
Plaintext
479 lines
14 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsrendercontext.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsRenderContext
|
|
{
|
|
%Docstring
|
|
Contains information about the context of a rendering operation.
|
|
The context of a rendering operation defines properties such as
|
|
the conversion ratio between screen and map units, the extents
|
|
to be rendered etc.
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsrendercontext.h"
|
|
%End
|
|
public:
|
|
QgsRenderContext();
|
|
|
|
QgsRenderContext( const QgsRenderContext &rh );
|
|
|
|
enum Flag
|
|
{
|
|
DrawEditingInfo,
|
|
ForceVectorOutput,
|
|
UseAdvancedEffects,
|
|
UseRenderingOptimization,
|
|
DrawSelection,
|
|
DrawSymbolBounds,
|
|
RenderMapTile,
|
|
Antialiasing,
|
|
RenderPartialOutput,
|
|
RenderPreviewJob,
|
|
};
|
|
typedef QFlags<QgsRenderContext::Flag> Flags;
|
|
|
|
|
|
enum TextRenderFormat
|
|
{
|
|
// refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
|
|
// https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
|
|
|
|
TextFormatAlwaysOutlines,
|
|
|
|
TextFormatAlwaysText,
|
|
};
|
|
|
|
void setFlags( QgsRenderContext::Flags flags );
|
|
%Docstring
|
|
Set combination of flags that will be used for rendering.
|
|
|
|
.. versionadded:: 2.14
|
|
%End
|
|
|
|
void setFlag( Flag flag, bool on = true );
|
|
%Docstring
|
|
Enable or disable a particular flag (other flags are not affected)
|
|
|
|
.. versionadded:: 2.14
|
|
%End
|
|
|
|
Flags flags() const;
|
|
%Docstring
|
|
Returns combination of flags used for rendering.
|
|
|
|
.. versionadded:: 2.14
|
|
%End
|
|
|
|
bool testFlag( Flag flag ) const;
|
|
%Docstring
|
|
Check whether a particular flag is enabled.
|
|
|
|
.. versionadded:: 2.14
|
|
%End
|
|
|
|
static QgsRenderContext fromMapSettings( const QgsMapSettings &mapSettings );
|
|
%Docstring
|
|
create initialized QgsRenderContext instance from given :py:class:`QgsMapSettings`
|
|
|
|
.. versionadded:: 2.4
|
|
%End
|
|
|
|
static QgsRenderContext fromQPainter( QPainter *painter );
|
|
%Docstring
|
|
Creates a default render context given a pixel based QPainter destination.
|
|
If no painter is specified or the painter has no device, then a default
|
|
DPI of 88 will be assumed.
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
|
|
QPainter *painter();
|
|
%Docstring
|
|
Returns the destination QPainter for the render operation.
|
|
|
|
.. seealso:: :py:func:`setPainter`
|
|
%End
|
|
|
|
QgsCoordinateTransform coordinateTransform() const;
|
|
%Docstring
|
|
Returns the current coordinate transform for the context.
|
|
|
|
This represents the coordinate transform required to transform a layer
|
|
which is being rendered back to the CRS of the rendered map. If no coordinate
|
|
transformation is required, or the render context is not associated with
|
|
a map layer render, then an invalid coordinate transformation is returned.
|
|
|
|
.. seealso:: :py:func:`setCoordinateTransform`
|
|
%End
|
|
|
|
const QgsDistanceArea &distanceArea() const;
|
|
%Docstring
|
|
A general purpose distance and area calculator, capable of performing ellipsoid based calculations.
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
QgsCoordinateTransformContext transformContext() const;
|
|
%Docstring
|
|
Returns the context's coordinate transform context, which stores various
|
|
information regarding which datum transforms should be used when transforming points
|
|
from a source to destination coordinate reference system.
|
|
|
|
.. seealso:: :py:func:`setTransformContext`
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
void setTransformContext( const QgsCoordinateTransformContext &context );
|
|
%Docstring
|
|
Sets the context's coordinate transform ``context``, which stores various
|
|
information regarding which datum transforms should be used when transforming points
|
|
from a source to destination coordinate reference system.
|
|
|
|
.. seealso:: :py:func:`transformContext`
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
const QgsPathResolver &pathResolver() const;
|
|
%Docstring
|
|
Returns the path resolver for conversion between relative and absolute paths
|
|
during rendering operations, e.g. for resolving relative symbol paths.
|
|
|
|
.. seealso:: :py:func:`setPathResolver`
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
void setPathResolver( const QgsPathResolver &resolver );
|
|
%Docstring
|
|
Sets the path ``resolver`` for conversion between relative and absolute paths
|
|
during rendering operations, e.g. for resolving relative symbol paths.
|
|
|
|
.. seealso:: :py:func:`pathResolver`
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
const QgsRectangle &extent() const;
|
|
%Docstring
|
|
When rendering a map layer, calling this method returns the "clipping"
|
|
extent for the layer (in the layer's CRS).
|
|
|
|
This extent is a "worst-case" scenario, which is guaranteed to cover the complete
|
|
visible portion of the layer when it is rendered to a map. It is often larger
|
|
than the actual visible portion of that layer.
|
|
|
|
.. warning::
|
|
|
|
For some layers, depending on the visible extent and the coordinate
|
|
transforms involved, this extent will represent the entire globe. This method
|
|
should never be used to determine the actual visible extent of a map render.
|
|
|
|
.. seealso:: :py:func:`setExtent`
|
|
%End
|
|
|
|
const QgsMapToPixel &mapToPixel() const;
|
|
|
|
double scaleFactor() const;
|
|
%Docstring
|
|
Returns the scaling factor for the render to convert painter units
|
|
to physical sizes. This is usually equal to the number of pixels
|
|
per millimeter.
|
|
|
|
.. seealso:: :py:func:`setScaleFactor`
|
|
%End
|
|
|
|
bool renderingStopped() const;
|
|
|
|
bool forceVectorOutput() const;
|
|
|
|
bool useAdvancedEffects() const;
|
|
%Docstring
|
|
Returns true if advanced effects such as blend modes such be used
|
|
%End
|
|
|
|
void setUseAdvancedEffects( bool enabled );
|
|
%Docstring
|
|
Used to enable or disable advanced effects such as blend modes
|
|
%End
|
|
|
|
bool drawEditingInformation() const;
|
|
|
|
double rendererScale() const;
|
|
%Docstring
|
|
Returns the renderer map scale. This will match the desired scale denominator
|
|
for the rendered map, eg 1000.0 for a 1:1000 map render.
|
|
|
|
.. seealso:: :py:func:`setRendererScale`
|
|
%End
|
|
|
|
|
|
QColor selectionColor() const;
|
|
|
|
bool showSelection() const;
|
|
%Docstring
|
|
Returns true if vector selections should be shown in the rendered map
|
|
|
|
:return: true if selections should be shown
|
|
|
|
.. seealso:: :py:func:`setShowSelection`
|
|
|
|
.. seealso:: :py:func:`selectionColor`
|
|
|
|
.. versionadded:: 2.4
|
|
%End
|
|
|
|
|
|
void setCoordinateTransform( const QgsCoordinateTransform &t );
|
|
%Docstring
|
|
Sets the current coordinate transform for the context.
|
|
|
|
This represents the coordinate transform required to transform the layer
|
|
which is being rendered back to the CRS of the rendered map.
|
|
|
|
Set to an invalid QgsCoordinateTransform to indicate that no transformation is required.
|
|
|
|
.. seealso:: :py:func:`coordinateTransform`
|
|
%End
|
|
|
|
void setMapToPixel( const QgsMapToPixel &mtp );
|
|
|
|
void setExtent( const QgsRectangle &extent );
|
|
%Docstring
|
|
When rendering a map layer, calling this method sets the "clipping"
|
|
extent for the layer (in the layer's CRS).
|
|
|
|
This extent should be a "worst-case" scenario, which is guaranteed to
|
|
completely cover the entire visible portion of the layer when it is rendered
|
|
to the map. It may be larger than the actual visible area, but MUST contain at least the
|
|
entire visible area.
|
|
|
|
.. seealso:: :py:func:`setExtent`
|
|
%End
|
|
|
|
void setDrawEditingInformation( bool b );
|
|
|
|
void setRenderingStopped( bool stopped );
|
|
|
|
void setDistanceArea( const QgsDistanceArea &distanceArea );
|
|
%Docstring
|
|
A general purpose distance and area calculator, capable of performing ellipsoid based calculations.
|
|
Will be used to convert meter distances to active MapUnit values for QgsUnitTypes.RenderMetersInMapUnits
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
void setScaleFactor( double factor );
|
|
%Docstring
|
|
Sets the scaling factor for the render to convert painter units
|
|
to physical sizes. This should usually be equal to the number of pixels
|
|
per millimeter.
|
|
|
|
.. seealso:: :py:func:`scaleFactor`
|
|
%End
|
|
|
|
void setRendererScale( double scale );
|
|
%Docstring
|
|
Sets the renderer map scale. This should match the desired scale denominator
|
|
for the rendered map, eg 1000.0 for a 1:1000 map render.
|
|
|
|
.. seealso:: :py:func:`rendererScale`
|
|
%End
|
|
|
|
void setPainter( QPainter *p );
|
|
%Docstring
|
|
Sets the destination QPainter for the render operation. Ownership of the painter
|
|
is not transferred and the QPainter destination must stay alive for the duration
|
|
of any rendering operations.
|
|
|
|
.. seealso:: :py:func:`painter`
|
|
%End
|
|
|
|
void setForceVectorOutput( bool force );
|
|
|
|
void setSelectionColor( const QColor &color );
|
|
|
|
void setShowSelection( bool showSelection );
|
|
%Docstring
|
|
Sets whether vector selections should be shown in the rendered map
|
|
|
|
:param showSelection: set to true if selections should be shown
|
|
|
|
.. seealso:: :py:func:`showSelection`
|
|
|
|
.. seealso:: :py:func:`setSelectionColor`
|
|
|
|
.. versionadded:: 2.4
|
|
%End
|
|
|
|
bool useRenderingOptimization() const;
|
|
%Docstring
|
|
Returns true if the rendering optimization (geometry simplification) can be executed
|
|
%End
|
|
|
|
void setUseRenderingOptimization( bool enabled );
|
|
|
|
const QgsVectorSimplifyMethod &vectorSimplifyMethod() const;
|
|
%Docstring
|
|
Added in QGIS v2.4
|
|
%End
|
|
void setVectorSimplifyMethod( const QgsVectorSimplifyMethod &simplifyMethod );
|
|
|
|
void setExpressionContext( const QgsExpressionContext &context );
|
|
%Docstring
|
|
Sets the expression context. This context is used for all expression evaluation
|
|
associated with this render context.
|
|
|
|
.. seealso:: :py:func:`expressionContext`
|
|
|
|
.. versionadded:: 2.12
|
|
%End
|
|
|
|
QgsExpressionContext &expressionContext();
|
|
%Docstring
|
|
Gets the expression context. This context should be used for all expression evaluation
|
|
associated with this render context.
|
|
|
|
.. seealso:: :py:func:`setExpressionContext`
|
|
|
|
.. versionadded:: 2.12
|
|
%End
|
|
|
|
|
|
const QgsAbstractGeometry *geometry() const;
|
|
%Docstring
|
|
Returns pointer to the unsegmentized geometry
|
|
%End
|
|
void setGeometry( const QgsAbstractGeometry *geometry );
|
|
%Docstring
|
|
Sets pointer to original (unsegmentized) geometry
|
|
%End
|
|
|
|
void setFeatureFilterProvider( const QgsFeatureFilterProvider *ffp );
|
|
%Docstring
|
|
Set a filter feature provider used for additional filtering of rendered features.
|
|
|
|
:param ffp: the filter feature provider
|
|
|
|
.. seealso:: :py:func:`featureFilterProvider`
|
|
|
|
.. versionadded:: 2.14
|
|
%End
|
|
|
|
const QgsFeatureFilterProvider *featureFilterProvider() const;
|
|
%Docstring
|
|
Gets the filter feature provider used for additional filtering of rendered features.
|
|
|
|
:return: the filter feature provider
|
|
|
|
.. seealso:: :py:func:`setFeatureFilterProvider`
|
|
|
|
.. versionadded:: 2.14
|
|
%End
|
|
|
|
void setSegmentationTolerance( double tolerance );
|
|
%Docstring
|
|
Sets the segmentation tolerance applied when rendering curved geometries
|
|
|
|
:param tolerance: the segmentation tolerance*
|
|
%End
|
|
double segmentationTolerance() const;
|
|
%Docstring
|
|
Gets the segmentation tolerance applied when rendering curved geometries
|
|
%End
|
|
|
|
void setSegmentationToleranceType( QgsAbstractGeometry::SegmentationToleranceType type );
|
|
%Docstring
|
|
Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)
|
|
|
|
:param type: the segmentation tolerance typename*
|
|
%End
|
|
QgsAbstractGeometry::SegmentationToleranceType segmentationToleranceType() const;
|
|
%Docstring
|
|
Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)
|
|
%End
|
|
|
|
|
|
double convertToPainterUnits( double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale = QgsMapUnitScale() ) const;
|
|
%Docstring
|
|
Converts a size from the specified units to painter units (pixels). The conversion respects the limits
|
|
specified by the optional scale parameter.
|
|
|
|
.. seealso:: :py:func:`convertToMapUnits`
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
double convertToMapUnits( double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale = QgsMapUnitScale() ) const;
|
|
%Docstring
|
|
Converts a size from the specified units to map units. The conversion respects the limits
|
|
specified by the optional scale parameter.
|
|
|
|
.. seealso:: :py:func:`convertToPainterUnits`
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
double convertFromMapUnits( double sizeInMapUnits, QgsUnitTypes::RenderUnit outputUnit ) const;
|
|
%Docstring
|
|
Converts a size from map units to the specified units.
|
|
|
|
.. seealso:: :py:func:`convertToMapUnits`
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
double convertMetersToMapUnits( double meters ) const;
|
|
%Docstring
|
|
Convert meter distances to active MapUnit values for QgsUnitTypes.RenderMetersInMapUnits
|
|
\note
|
|
When the sourceCrs() is geographic, the center of the Extent will be used
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
TextRenderFormat textRenderFormat() const;
|
|
%Docstring
|
|
Returns the text render format, which dictates how text is rendered (e.g. as paths or real text objects).
|
|
|
|
.. seealso:: :py:func:`setTextRenderFormat`
|
|
|
|
.. versionadded:: 3.4.3
|
|
%End
|
|
|
|
void setTextRenderFormat( TextRenderFormat format );
|
|
%Docstring
|
|
Sets the text render ``format``, which dictates how text is rendered (e.g. as paths or real text objects).
|
|
|
|
.. seealso:: :py:func:`textRenderFormat`
|
|
|
|
.. versionadded:: 3.4.3
|
|
%End
|
|
|
|
};
|
|
|
|
QFlags<QgsRenderContext::Flag> operator|(QgsRenderContext::Flag f1, QFlags<QgsRenderContext::Flag> f2);
|
|
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsrendercontext.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|