QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
|
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... | |
Public Types inherited from QgsPaintEffect | |
enum | DrawMode { Modifier , Render , ModifyAndRender } |
Drawing modes for effects. More... | |
Public Member Functions | |
QgsBlurEffect ()=default | |
Constructor for QgsBlurEffect. More... | |
QPainter::CompositionMode | blendMode () const |
Returns the blend mode for the effect. More... | |
double | blurLevel () const |
Returns the blur level (radius) More... | |
const QgsMapUnitScale & | blurMapUnitScale () const |
Returns the map unit scale used for the blur strength (radius). More... | |
BlurMethod | blurMethod () const |
Returns the blur method (algorithm) used for performing the blur. More... | |
Qgis::RenderUnit | blurUnit () const |
Returns the units used for the blur level (radius). More... | |
QgsBlurEffect * | clone () const override |
Duplicates an effect by creating a deep copy of the effect. More... | |
double | opacity () const |
Returns the opacity for the effect. More... | |
QVariantMap | properties () const override |
Returns the properties describing the paint effect encoded in a string format. More... | |
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. More... | |
void | setBlendMode (const QPainter::CompositionMode mode) |
Sets the blend mode for the effect. More... | |
void | setBlurLevel (const double level) |
Sets blur level (radius) More... | |
void | setBlurMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale used for the blur strength (radius). More... | |
void | setBlurMethod (const BlurMethod method) |
Sets the blur method (algorithm) to use for performing the blur. More... | |
void | setBlurUnit (const Qgis::RenderUnit unit) |
Sets the units used for the blur level (radius). More... | |
void | setOpacity (const double opacity) |
Sets the opacity for the effect. More... | |
QString | type () const override |
Returns the effect type. More... | |
Public Member Functions inherited from QgsPaintEffect | |
QgsPaintEffect ()=default | |
Constructor for QgsPaintEffect. More... | |
QgsPaintEffect (const QgsPaintEffect &other) | |
virtual | ~QgsPaintEffect () |
virtual void | begin (QgsRenderContext &context) |
Begins intercepting paint operations to a render context. More... | |
virtual QgsPaintEffect * | clone () const =0 |
Duplicates an effect by creating a deep copy of the effect. More... | |
DrawMode | drawMode () const |
Returns the draw mode for the effect. More... | |
bool | enabled () const |
Returns whether the effect is enabled. More... | |
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. More... | |
virtual QVariantMap | properties () const =0 |
Returns the properties describing the paint effect encoded in a string format. More... | |
virtual bool | readProperties (const QDomElement &element) |
Restores the effect to the state described by a DOM element. More... | |
virtual void | readProperties (const QVariantMap &props)=0 |
Reads a string map of an effect's properties and restores the effect to the state described by the properties map. More... | |
virtual void | render (QPicture &picture, QgsRenderContext &context) |
Renders a picture using the effect. More... | |
virtual bool | saveProperties (QDomDocument &doc, QDomElement &element) const |
Saves the current state of the effect to a DOM element. More... | |
void | setDrawMode (DrawMode drawMode) |
Sets the draw mode for the effect. More... | |
void | setEnabled (bool enabled) |
Sets whether the effect is enabled. More... | |
virtual QString | type () const =0 |
Returns the effect type. More... | |
Static Public Member Functions | |
static QgsPaintEffect * | create (const QVariantMap &map) |
Creates a new QgsBlurEffect effect from a properties string map. More... | |
Protected Member Functions | |
QRectF | boundingRect (const QRectF &rect, const QgsRenderContext &context) const override |
Returns the bounding rect required for drawing the effect. More... | |
void | draw (QgsRenderContext &context) override |
Handles drawing of the effect's result on to the specified render context. More... | |
Protected Member Functions inherited from QgsPaintEffect | |
virtual QRectF | boundingRect (const QRectF &rect, const QgsRenderContext &context) const |
Returns the bounding rect required for drawing the effect. More... | |
virtual void | draw (QgsRenderContext &context)=0 |
Handles drawing of the effect's result on to the specified render context. More... | |
void | drawSource (QPainter &painter) |
Draws the source QPicture onto the specified painter. More... | |
void | fixQPictureDpi (QPainter *painter) const |
Applies a workaround to a QPainter to avoid an issue with incorrect scaling when drawing QPictures. More... | |
QPointF | imageOffset (const QgsRenderContext &context) const |
Returns the offset which should be used when drawing the source image on to a destination render context. More... | |
const QPicture * | source () const |
Returns the source QPicture. More... | |
QImage * | sourceAsImage (QgsRenderContext &context) |
Returns the source QPicture rendered to a new QImage. More... | |
Additional Inherited Members | |
Protected Attributes inherited from QgsPaintEffect | |
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 37 of file qgsblureffect.h.
Available blur methods (algorithms)
Definition at line 43 of file qgsblureffect.h.
|
default |
Constructor for QgsBlurEffect.
|
inline |
Returns the blend mode for the effect.
Definition at line 172 of file qgsblureffect.h.
|
inline |
Returns the blur level (radius)
Definition at line 86 of file qgsblureffect.h.
|
inline |
Returns the map unit scale used for the blur strength (radius).
Definition at line 126 of file qgsblureffect.h.
|
inline |
Returns the blur method (algorithm) used for performing the blur.
Definition at line 140 of file qgsblureffect.h.
|
inline |
Returns the units used for the blur level (radius).
Definition at line 106 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 156 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 164 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 75 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 116 of file qgsblureffect.h.
|
inline |
Sets the blur method (algorithm) to use for performing the blur.
method | blur method |
Definition at line 133 of file qgsblureffect.h.
|
inline |
Sets the units used for the blur level (radius).
unit | units for blur level |
Definition at line 96 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 148 of file qgsblureffect.h.
|
inlineoverridevirtual |
Returns the effect type.
Implements QgsPaintEffect.
Definition at line 61 of file qgsblureffect.h.