QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Base class for paint effects which offset, blurred shadows. More...
#include <qgsshadoweffect.h>
Public Member Functions | |
QgsShadowEffect () | |
QPainter::CompositionMode | blendMode () const |
Returns the blend mode for the effect. More... | |
double | blurLevel () const |
Returns the blur level (radius) for the shadow. More... | |
const QgsMapUnitScale & | blurMapUnitScale () const |
Returns the map unit scale used for the shadow blur strength (radius). More... | |
QgsUnitTypes::RenderUnit | blurUnit () const |
Returns the units used for the shadow blur level (radius). More... | |
QColor | color () const |
Returns the color used for the shadow. More... | |
int | offsetAngle () const |
Returns the angle used for offsetting the shadow. More... | |
double | offsetDistance () const |
Returns the distance used for offsetting the shadow. More... | |
const QgsMapUnitScale & | offsetMapUnitScale () const |
Returns the map unit scale used for the shadow offset distance. More... | |
QgsUnitTypes::RenderUnit | offsetUnit () const |
Returns the units used for the shadow offset distance. 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) for the shadow. More... | |
void | setBlurMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale used for the shadow blur strength (radius). More... | |
void | setBlurUnit (const QgsUnitTypes::RenderUnit unit) |
Sets the units used for the shadow blur level (radius). More... | |
void | setColor (const QColor &color) |
Sets the color for the shadow. More... | |
void | setOffsetAngle (const int angle) |
Sets the angle for offsetting the shadow. More... | |
void | setOffsetDistance (const double distance) |
Sets the distance for offsetting the shadow. More... | |
void | setOffsetMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale used for the shadow offset distance. More... | |
void | setOffsetUnit (const QgsUnitTypes::RenderUnit unit) |
Sets the units used for the shadow offset distance. More... | |
void | setOpacity (const double opacity) |
Sets the opacity for the effect. 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 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... | |
virtual QString | type () const =0 |
Returns the effect type. 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... | |
virtual bool | exteriorShadow () const =0 |
Specifies whether the shadow is drawn outside the picture or within the picture. 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... | |
Protected Attributes | |
QPainter::CompositionMode | mBlendMode = QPainter::CompositionMode_Multiply |
double | mBlurLevel = 2.645 |
QgsMapUnitScale | mBlurMapUnitScale |
QgsUnitTypes::RenderUnit | mBlurUnit = QgsUnitTypes::RenderMillimeters |
QColor | mColor |
int | mOffsetAngle = 135 |
double | mOffsetDist = 2.0 |
QgsMapUnitScale | mOffsetMapUnitScale |
QgsUnitTypes::RenderUnit | mOffsetUnit = QgsUnitTypes::RenderMillimeters |
double | mOpacity = 1.0 |
Protected Attributes inherited from QgsPaintEffect | |
DrawMode | mDrawMode = ModifyAndRender |
bool | mEnabled = true |
bool | requiresQPainterDpiFix = true |
Additional Inherited Members | |
Public Types inherited from QgsPaintEffect | |
enum | DrawMode { Modifier, Render, ModifyAndRender } |
Drawing modes for effects. More... | |
Base class for paint effects which offset, blurred shadows.
Definition at line 34 of file qgsshadoweffect.h.
QgsShadowEffect::QgsShadowEffect | ( | ) |
Definition at line 23 of file qgsshadoweffect.cpp.
|
inline |
Returns the blend mode for the effect.
Definition at line 218 of file qgsshadoweffect.h.
|
inline |
Returns the blur level (radius) for the shadow.
Definition at line 62 of file qgsshadoweffect.h.
|
inline |
Returns the map unit scale used for the shadow blur strength (radius).
Definition at line 102 of file qgsshadoweffect.h.
|
inline |
Returns the units used for the shadow blur level (radius).
Definition at line 82 of file qgsshadoweffect.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 167 of file qgsshadoweffect.cpp.
|
inline |
Returns the color used for the shadow.
Definition at line 186 of file qgsshadoweffect.h.
|
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 29 of file qgsshadoweffect.cpp.
|
protectedpure virtual |
Specifies whether the shadow is drawn outside the picture or within the picture.
true
if shadow is to be drawn outside the picture, or false
to draw shadow within the picture Implemented in QgsInnerShadowEffect, and QgsDropShadowEffect.
|
inline |
Returns the angle used for offsetting the shadow.
Definition at line 118 of file qgsshadoweffect.h.
|
inline |
Returns the distance used for offsetting the shadow.
Definition at line 136 of file qgsshadoweffect.h.
|
inline |
Returns the map unit scale used for the shadow offset distance.
Definition at line 172 of file qgsshadoweffect.h.
|
inline |
Returns the units used for the shadow offset distance.
Definition at line 154 of file qgsshadoweffect.h.
|
inline |
Returns the opacity for the effect.
Definition at line 202 of file qgsshadoweffect.h.
|
overridevirtual |
Returns the properties describing the paint effect encoded in a string format.
Implements QgsPaintEffect.
Definition at line 93 of file qgsshadoweffect.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 111 of file qgsshadoweffect.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 210 of file qgsshadoweffect.h.
|
inline |
Sets blur level (radius) for the shadow.
level | blur level. values indicating greater blur strength. |
Definition at line 52 of file qgsshadoweffect.h.
|
inline |
Sets the map unit scale used for the shadow blur strength (radius).
scale | map unit scale for blur strength |
Definition at line 92 of file qgsshadoweffect.h.
|
inline |
Sets the units used for the shadow blur level (radius).
unit | units for blur level |
Definition at line 72 of file qgsshadoweffect.h.
|
inline |
Sets the color for the shadow.
color | shadow color |
Definition at line 179 of file qgsshadoweffect.h.
|
inline |
Sets the angle for offsetting the shadow.
angle | offset angle in degrees clockwise from North |
Definition at line 110 of file qgsshadoweffect.h.
|
inline |
Sets the distance for offsetting the shadow.
distance | offset distance. Units are specified via setOffsetUnit() |
Definition at line 127 of file qgsshadoweffect.h.
|
inline |
Sets the map unit scale used for the shadow offset distance.
scale | map unit scale for offset distance |
Definition at line 163 of file qgsshadoweffect.h.
|
inline |
Sets the units used for the shadow offset distance.
unit | units for offset distance |
Definition at line 145 of file qgsshadoweffect.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 194 of file qgsshadoweffect.h.
|
protected |
Definition at line 242 of file qgsshadoweffect.h.
|
protected |
Definition at line 233 of file qgsshadoweffect.h.
|
protected |
Definition at line 235 of file qgsshadoweffect.h.
|
protected |
Definition at line 234 of file qgsshadoweffect.h.
|
protected |
Definition at line 241 of file qgsshadoweffect.h.
|
protected |
Definition at line 236 of file qgsshadoweffect.h.
|
protected |
Definition at line 237 of file qgsshadoweffect.h.
|
protected |
Definition at line 239 of file qgsshadoweffect.h.
|
protected |
Definition at line 238 of file qgsshadoweffect.h.
|
protected |
Definition at line 240 of file qgsshadoweffect.h.