QGIS/python/core/auto_generated/qgsrenderedfeaturehandlerinterface.sip.in
Nyall Dawson 3f6b490218 Sipify
2025-04-02 11:11:10 +10:00

93 lines
3.6 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsrenderedfeaturehandlerinterface.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsRenderedFeatureHandlerInterface
{
%Docstring(signature="appended")
An interface for classes which provide custom handlers for features
rendered as part of a map render job.
:py:class:`QgsRenderedFeatureHandlerInterface` objects are registered in
the :py:class:`QgsMapSettings` objects used to construct map render
jobs. During the rendering operation, the
:py:func:`~handleRenderedFeature` method will be called once for every
rendered feature, allowing the handler to perform some custom task based
on the provided information.
They can be used for custom tasks which operate on a set of rendered
features, such as creating spatial indexes of the location and rendered
symbology bounding box of all features rendered on a map.
.. versionadded:: 3.10
%End
%TypeHeaderCode
#include "qgsrenderedfeaturehandlerinterface.h"
%End
public:
virtual ~QgsRenderedFeatureHandlerInterface();
struct RenderedFeatureContext
{
RenderedFeatureContext( const QgsRenderContext &renderContext );
%Docstring
Constructor for RenderedFeatureContext.
:param renderContext: The render context which was used while rendering
feature.
%End
const QgsRenderContext &renderContext;
%Docstring
The render context which was used while rendering feature.
%End
private:
RenderedFeatureContext &operator=( const RenderedFeatureContext & );
};
virtual void handleRenderedFeature( const QgsFeature &feature, const QgsGeometry &renderedBounds, const QgsRenderedFeatureHandlerInterface::RenderedFeatureContext &context ) = 0;
%Docstring
Called whenever a ``feature`` is rendered during a map render job.
The ``renderedBounds`` argument specifies the (approximate) bounds of
the rendered feature's symbology. E.g. for point geometry features, this
will be the bounding box of the marker symbol used to symbolize the
point. ``renderedBounds`` geometries are specified in painter units (not
map units).
.. warning::
This method may be called from many different threads (for multi-threaded map render operations),
and accordingly care must be taken to ensure that :py:func:`~QgsRenderedFeatureHandlerInterface.handleRenderedFeature` implementations are
appropriately thread safe.
The ``context`` argument is used to provide additional context relating
to the rendering of a feature.
%End
virtual QSet<QString> usedAttributes( QgsVectorLayer *layer, const QgsRenderContext &context ) const;
%Docstring
Returns a list of attributes required by this handler, for the specified
``layer``. Attributes not listed in here may not be requested from the
provider at rendering time.
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsrenderedfeaturehandlerinterface.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/