QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Base class for paint effect which draw a glow inside or outside a picture. More...
#include <qgsgloweffect.h>
Public Types | |
enum | GlowColorType { SingleColor, ColorRamp } |
Color sources for the glow. More... | |
Public Types inherited from QgsPaintEffect | |
enum | DrawMode { Modifier, Render, ModifyAndRender } |
Drawing modes for effects. More... | |
Public Member Functions | |
QgsGlowEffect () | |
QgsGlowEffect (const QgsGlowEffect &other) | |
~QgsGlowEffect () override | |
QPainter::CompositionMode | blendMode () const |
Returns the blend mode for the effect. More... | |
double | blurLevel () const |
Returns the blur level (radius) for the glow. More... | |
const QgsMapUnitScale & | blurMapUnitScale () const |
Returns the map unit scale used for the glow blur strength (radius). More... | |
QgsUnitTypes::RenderUnit | blurUnit () const |
Returns the units used for the glow blur level (radius). More... | |
QColor | color () const |
Returns the color for the glow. More... | |
GlowColorType | colorType () const |
Returns the color mode used for the glow. More... | |
double | opacity () const |
Returns the opacity for the effect. More... | |
QgsGlowEffect & | operator= (const QgsGlowEffect &rhs) |
QgsStringMap | properties () const override |
Returns the properties describing the paint effect encoded in a string format. More... | |
QgsColorRamp * | ramp () const |
Returns the color ramp used for the glow. 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 glow. More... | |
void | setBlurMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale used for the glow blur strength (radius). More... | |
void | setBlurUnit (const QgsUnitTypes::RenderUnit unit) |
Sets the units used for the glow blur level (radius). More... | |
void | setColor (const QColor &color) |
Sets the color for the glow. More... | |
void | setColorType (GlowColorType colorType) |
Sets the color mode to use for the glow. More... | |
void | setOpacity (const double opacity) |
Sets the opacity for the effect. More... | |
void | setRamp (QgsColorRamp *ramp) |
Sets the color ramp for the glow. More... | |
void | setSpread (const double spread) |
Sets the spread distance for drawing the glow effect. More... | |
void | setSpreadMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale used for the spread distance. More... | |
void | setSpreadUnit (const QgsUnitTypes::RenderUnit unit) |
Sets the units used for the glow spread distance. More... | |
double | spread () const |
Returns the spread distance used for drawing the glow effect. More... | |
const QgsMapUnitScale & | spreadMapUnitScale () const |
Returns the map unit scale used for the spread distance. More... | |
QgsUnitTypes::RenderUnit | spreadUnit () const |
Returns the units used for the glow spread distance. 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 | shadeExterior () const =0 |
Specifies whether the glow 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_SourceOver |
double | mBlurLevel = 2.645 |
QgsMapUnitScale | mBlurMapUnitScale |
QgsUnitTypes::RenderUnit | mBlurUnit = QgsUnitTypes::RenderMillimeters |
QColor | mColor |
GlowColorType | mColorType = SingleColor |
double | mOpacity = 0.5 |
QgsColorRamp * | mRamp = nullptr |
double | mSpread = 2.0 |
QgsMapUnitScale | mSpreadMapUnitScale |
QgsUnitTypes::RenderUnit | mSpreadUnit = QgsUnitTypes::RenderMillimeters |
Protected Attributes inherited from QgsPaintEffect | |
DrawMode | mDrawMode = ModifyAndRender |
bool | mEnabled = true |
bool | requiresQPainterDpiFix = true |
Base class for paint effect which draw a glow inside or outside a picture.
Definition at line 38 of file qgsgloweffect.h.
Color sources for the glow.
Enumerator | |
---|---|
SingleColor | Use a single color and fade the color to totally transparent. |
ColorRamp | Use colors from a color ramp. |
Definition at line 44 of file qgsgloweffect.h.
QgsGlowEffect::QgsGlowEffect | ( | ) |
Definition at line 24 of file qgsgloweffect.cpp.
QgsGlowEffect::QgsGlowEffect | ( | const QgsGlowEffect & | other | ) |
Definition at line 30 of file qgsgloweffect.cpp.
|
override |
Definition at line 36 of file qgsgloweffect.cpp.
|
inline |
Returns the blend mode for the effect.
Definition at line 238 of file qgsgloweffect.h.
|
inline |
Returns the blur level (radius) for the glow.
Definition at line 128 of file qgsgloweffect.h.
|
inline |
Returns the map unit scale used for the glow blur strength (radius).
Definition at line 168 of file qgsgloweffect.h.
|
inline |
Returns the units used for the glow blur level (radius).
Definition at line 148 of file qgsgloweffect.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 223 of file qgsgloweffect.cpp.
|
inline |
Returns the color for the glow.
This only applies if the colorType() is set to SingleColor. The glow will fade between the specified color and a totally transparent version of the color.
Definition at line 204 of file qgsgloweffect.h.
|
inline |
Returns the color mode used for the glow.
The glow can either be drawn using a QgsColorRamp color ramp or by specificing a single color.
Definition at line 259 of file qgsgloweffect.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 41 of file qgsgloweffect.cpp.
|
inline |
Returns the opacity for the effect.
Definition at line 184 of file qgsgloweffect.h.
QgsGlowEffect & QgsGlowEffect::operator= | ( | const QgsGlowEffect & | rhs | ) |
Definition at line 201 of file qgsgloweffect.cpp.
|
overridevirtual |
Returns the properties describing the paint effect encoded in a string format.
Implements QgsPaintEffect.
Definition at line 100 of file qgsgloweffect.cpp.
|
inline |
Returns the color ramp used for the glow.
This only applies if the colorType() is set to ColorRamp. The glow will utilize colors from the ramp.
Definition at line 222 of file qgsgloweffect.h.
|
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 128 of file qgsgloweffect.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 230 of file qgsgloweffect.h.
|
inline |
Sets blur level (radius) for the glow.
This can be used to smooth the output from the glow effect.
level | blur level. |
Definition at line 119 of file qgsgloweffect.h.
|
inline |
Sets the map unit scale used for the glow blur strength (radius).
scale | map unit scale for blur strength |
Definition at line 158 of file qgsgloweffect.h.
|
inline |
Sets the units used for the glow blur level (radius).
unit | units for blur level |
Definition at line 138 of file qgsgloweffect.h.
|
inline |
Sets the color for the glow.
This only applies if the colorType() is set to SingleColor. The glow will fade between the specified color and a totally transparent version of the color.
color | glow color |
Definition at line 194 of file qgsgloweffect.h.
|
inline |
Sets the color mode to use for the glow.
The glow can either be drawn using a QgsColorRamp color ramp or by simply specificing a single color. setColorType is used to specify which mode to use for the glow.
colorType | color type to use for glow |
Definition at line 249 of file qgsgloweffect.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 176 of file qgsgloweffect.h.
void QgsGlowEffect::setRamp | ( | QgsColorRamp * | ramp | ) |
Sets the color ramp for the glow.
This only applies if the colorType() is set to ColorRamp. The glow will utilize colors from the ramp.
ramp | color ramp for glow. Ownership of the ramp is transferred to the effect. |
Definition at line 195 of file qgsgloweffect.cpp.
|
inline |
Sets the spread distance for drawing the glow effect.
spread | spread distance. Units are specified via setSpreadUnit() |
Definition at line 64 of file qgsgloweffect.h.
|
inline |
Sets the map unit scale used for the spread distance.
scale | map unit scale for spread distance |
Definition at line 100 of file qgsgloweffect.h.
|
inline |
Sets the units used for the glow spread distance.
unit | units for spread distance |
Definition at line 82 of file qgsgloweffect.h.
|
protectedpure virtual |
Specifies whether the glow is drawn outside the picture or within the picture.
true
if glow is to be drawn outside the picture, or false
to draw glow within the picture Implemented in QgsInnerGlowEffect, and QgsOuterGlowEffect.
|
inline |
Returns the spread distance used for drawing the glow effect.
Definition at line 73 of file qgsgloweffect.h.
|
inline |
Returns the map unit scale used for the spread distance.
Definition at line 109 of file qgsgloweffect.h.
|
inline |
Returns the units used for the glow spread distance.
Definition at line 91 of file qgsgloweffect.h.
|
protected |
Definition at line 285 of file qgsgloweffect.h.
|
protected |
Definition at line 280 of file qgsgloweffect.h.
|
protected |
Definition at line 282 of file qgsgloweffect.h.
|
protected |
Definition at line 281 of file qgsgloweffect.h.
|
protected |
Definition at line 284 of file qgsgloweffect.h.
|
protected |
Definition at line 286 of file qgsgloweffect.h.
|
protected |
Definition at line 283 of file qgsgloweffect.h.
|
protected |
Definition at line 279 of file qgsgloweffect.h.
|
protected |
Definition at line 276 of file qgsgloweffect.h.
|
protected |
Definition at line 278 of file qgsgloweffect.h.
|
protected |
Definition at line 277 of file qgsgloweffect.h.