QGIS API Documentation 3.39.0-Master (9ea1ddbe645)
|
A paint effect which blurs a source picture, using a number of different blur methods. More...
#include <qgsblureffect.h>
Public Types | |
enum | BlurMethod { StackBlur , GaussianBlur } |
Available blur methods (algorithms) More... | |
![]() | |
enum | DrawMode { Modifier , Render , ModifyAndRender } |
Drawing modes for effects. More... | |
Public Member Functions | |
QgsBlurEffect ()=default | |
QPainter::CompositionMode | blendMode () const |
Returns the blend mode for the effect. | |
double | blurLevel () const |
Returns the blur level (radius) | |
const QgsMapUnitScale & | blurMapUnitScale () const |
Returns the map unit scale used for the blur strength (radius). | |
BlurMethod | blurMethod () const |
Returns the blur method (algorithm) used for performing the blur. | |
Qgis::RenderUnit | blurUnit () const |
Returns the units used for the blur level (radius). | |
QgsBlurEffect * | clone () const override |
Duplicates an effect by creating a deep copy of the effect. | |
double | opacity () const |
Returns the opacity for the effect. | |
QVariantMap | properties () const override |
Returns the properties describing the paint effect encoded in a string format. | |
void | readProperties (const QVariantMap &props) override |
Reads a string map of an effect's properties and restores the effect to the state described by the properties map. | |
void | setBlendMode (const QPainter::CompositionMode mode) |
Sets the blend mode for the effect. | |
void | setBlurLevel (const double level) |
Sets blur level (radius) | |
void | setBlurMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale used for the blur strength (radius). | |
void | setBlurMethod (const BlurMethod method) |
Sets the blur method (algorithm) to use for performing the blur. | |
void | setBlurUnit (const Qgis::RenderUnit unit) |
Sets the units used for the blur level (radius). | |
void | setOpacity (const double opacity) |
Sets the opacity for the effect. | |
QString | type () const override |
Returns the effect type. | |
![]() | |
QgsPaintEffect ()=default | |
QgsPaintEffect (const QgsPaintEffect &other) | |
virtual | ~QgsPaintEffect () |
virtual void | begin (QgsRenderContext &context) |
Begins intercepting paint operations to a render context. | |
DrawMode | drawMode () const |
Returns the draw mode for the effect. | |
bool | enabled () const |
Returns whether the effect is enabled. | |
virtual void | end (QgsRenderContext &context) |
Ends interception of paint operations to a render context, and draws the result to the render context after being modified by the effect. | |
virtual bool | readProperties (const QDomElement &element) |
Restores the effect to the state described by a DOM element. | |
virtual void | render (QPicture &picture, QgsRenderContext &context) |
Renders a picture using the effect. | |
virtual bool | saveProperties (QDomDocument &doc, QDomElement &element) const |
Saves the current state of the effect to a DOM element. | |
void | setDrawMode (DrawMode drawMode) |
Sets the draw mode for the effect. | |
void | setEnabled (bool enabled) |
Sets whether the effect is enabled. | |
Static Public Member Functions | |
static QgsPaintEffect * | create (const QVariantMap &map) |
Creates a new QgsBlurEffect effect from a properties string map. | |
Protected Member Functions | |
QRectF | boundingRect (const QRectF &rect, const QgsRenderContext &context) const override |
Returns the bounding rect required for drawing the effect. | |
void | draw (QgsRenderContext &context) override |
Handles drawing of the effect's result on to the specified render context. | |
![]() | |
void | drawSource (QPainter &painter) |
Draws the source QPicture onto the specified painter. | |
Q_DECL_DEPRECATED void | fixQPictureDpi (QPainter *painter) const |
Applies a workaround to a QPainter to avoid an issue with incorrect scaling when drawing QPictures. | |
QPointF | imageOffset (const QgsRenderContext &context) const |
Returns the offset which should be used when drawing the source image on to a destination render context. | |
const QPicture * | source () const |
Returns the source QPicture. | |
QImage * | sourceAsImage (QgsRenderContext &context) |
Returns the source QPicture rendered to a new QImage. | |
Additional Inherited Members | |
![]() | |
DrawMode | mDrawMode = ModifyAndRender |
bool | mEnabled = true |
bool | requiresQPainterDpiFix = true |
A paint effect which blurs a source picture, using a number of different blur methods.
Definition at line 36 of file qgsblureffect.h.
Available blur methods (algorithms)
Definition at line 42 of file qgsblureffect.h.
|
default |
|
inline |
Returns the blend mode for the effect.
Definition at line 168 of file qgsblureffect.h.
|
inline |
Returns the blur level (radius)
Definition at line 82 of file qgsblureffect.h.
|
inline |
Returns the map unit scale used for the blur strength (radius).
Definition at line 122 of file qgsblureffect.h.
|
inline |
Returns the blur method (algorithm) used for performing the blur.
Definition at line 136 of file qgsblureffect.h.
|
inline |
Returns the units used for the blur level (radius).
Definition at line 102 of file qgsblureffect.h.
|
overrideprotectedvirtual |
Returns the bounding rect required for drawing the effect.
This method can be used to expand the bounding rect of a source picture to account for offset or blurring effects.
rect | original source bounding rect |
context | destination render context |
Reimplemented from QgsPaintEffect.
Definition at line 143 of file qgsblureffect.cpp.
|
overridevirtual |
Duplicates an effect by creating a deep copy of the effect.
Implements QgsPaintEffect.
Definition at line 137 of file qgsblureffect.cpp.
|
static |
Creates a new QgsBlurEffect effect from a properties string map.
map | encoded properties string map |
Definition at line 24 of file qgsblureffect.cpp.
|
overrideprotectedvirtual |
Handles drawing of the effect's result on to the specified render context.
Derived classes must reimplement this method to apply any transformations to the source QPicture and draw the result using the context's painter.
context | destination render context |
Implements QgsPaintEffect.
Definition at line 31 of file qgsblureffect.cpp.
|
inline |
Returns the opacity for the effect.
Definition at line 152 of file qgsblureffect.h.
|
overridevirtual |
Returns the properties describing the paint effect encoded in a string format.
Implements QgsPaintEffect.
Definition at line 77 of file qgsblureffect.cpp.
|
overridevirtual |
Reads a string map of an effect's properties and restores the effect to the state described by the properties map.
props | effect properties encoded in a string map |
Implements QgsPaintEffect.
Definition at line 91 of file qgsblureffect.cpp.
|
inline |
Sets the blend mode for the effect.
mode | blend mode used for drawing the effect on to a destination paint device |
Definition at line 160 of file qgsblureffect.h.
|
inline |
Sets blur level (radius)
level | blur level. Depending on the current blurMethod(), this parameter has different effects |
Definition at line 71 of file qgsblureffect.h.
|
inline |
Sets the map unit scale used for the blur strength (radius).
scale | map unit scale for blur strength |
Definition at line 112 of file qgsblureffect.h.
|
inline |
Sets the blur method (algorithm) to use for performing the blur.
method | blur method |
Definition at line 129 of file qgsblureffect.h.
|
inline |
Sets the units used for the blur level (radius).
unit | units for blur level |
Definition at line 92 of file qgsblureffect.h.
|
inline |
Sets the opacity for the effect.
opacity | double between 0 and 1 inclusive, where 0 is fully transparent and 1 is fully opaque |
Definition at line 144 of file qgsblureffect.h.
|
inlineoverridevirtual |
Returns the effect type.
Implements QgsPaintEffect.
Definition at line 57 of file qgsblureffect.h.