QGIS API Documentation
3.14.0-Pi (9f7028fd23)
|
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... | |
QgsUnitTypes::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... | |
QgsStringMap | properties () const override |
Returns the properties describing the paint effect encoded in a string format. More... | |
void | readProperties (const QgsStringMap &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 QgsUnitTypes::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... | |
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 bool | readProperties (const QDomElement &element) |
Restores the effect to the state described by a DOM element. 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... | |
Static Public Member Functions | |
static QgsPaintEffect * | create (const QgsStringMap &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 | |
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 34 of file qgsblureffect.h.
Available blur methods (algorithms)
Definition at line 40 of file qgsblureffect.h.
|
default |
Constructor for QgsBlurEffect.
|
inline |
Returns the blend mode for the effect.
Definition at line 169 of file qgsblureffect.h.
|
inline |
Returns the blur level (radius)
Definition at line 83 of file qgsblureffect.h.
|
inline |
Returns the map unit scale used for the blur strength (radius).
Definition at line 123 of file qgsblureffect.h.
|
inline |
Returns the blur method (algorithm) used for performing the blur.
Definition at line 137 of file qgsblureffect.h.
|
inline |
Returns the units used for the blur level (radius).
Definition at line 103 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 140 of file qgsblureffect.cpp.
|
overridevirtual |
Duplicates an effect by creating a deep copy of the effect.
Implements QgsPaintEffect.
Definition at line 134 of file qgsblureffect.cpp.
|
static |
Creates a new QgsBlurEffect effect from a properties string map.
map | encoded properties string map |
Definition at line 23 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 30 of file qgsblureffect.cpp.
|
inline |
Returns the opacity for the effect.
Definition at line 153 of file qgsblureffect.h.
|
overridevirtual |
Returns the properties describing the paint effect encoded in a string format.
Implements QgsPaintEffect.
Definition at line 74 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 88 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 161 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 72 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 113 of file qgsblureffect.h.
|
inline |
Sets the blur method (algorithm) to use for performing the blur.
method | blur method |
Definition at line 130 of file qgsblureffect.h.
|
inline |
Sets the units used for the blur level (radius).
unit | units for blur level |
Definition at line 93 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 145 of file qgsblureffect.h.
|
inlineoverridevirtual |
Returns the effect type.
Implements QgsPaintEffect.
Definition at line 58 of file qgsblureffect.h.