QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsShadowEffect Class Referenceabstract

Base class for paint effects which offset, blurred shadows. More...

#include <qgsshadoweffect.h>

Inheritance diagram for QgsShadowEffect:
Inheritance graph
[legend]

Public Member Functions

 QgsShadowEffect ()
 
virtual ~QgsShadowEffect ()
 
QPainter::CompositionMode blendMode () const
 Returns the blend mode for the effect. More...
 
int blurLevel () const
 Returns the blur level (strength) for the shadow. 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 QgsMapUnitScaleoffsetMapUnitScale () const
 Returns the map unit scale used for the shadow offset distance. More...
 
QgsSymbolV2::OutputUnit offsetUnit () const
 Returns the units used for the shadow offset distance. More...
 
virtual QgsStringMap properties () const override
 Returns the properties describing the paint effect encoded in a string format. More...
 
virtual 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 int level)
 Sets blur level (strength) for the shadow. 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 QgsSymbolV2::OutputUnit unit)
 Sets the units used for the shadow offset distance. More...
 
void setTransparency (const double transparency)
 Sets the transparency for the effect. More...
 
double transparency () const
 Returns the transparency for the effect. More...
 
- Public Member Functions inherited from QgsPaintEffect
 QgsPaintEffect ()
 
 QgsPaintEffect (const QgsPaintEffect &other)
 
virtual ~QgsPaintEffect ()
 
virtual void begin (QgsRenderContext &context)
 Begins intercepting paint operations to a render context. More...
 
virtual QgsPaintEffectclone () 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 (const DrawMode drawMode)
 Sets the draw mode for the effect. More...
 
void setEnabled (const bool enabled)
 Sets whether the effect is enabled. More...
 
virtual QString type () const =0
 Returns the effect type. More...
 

Protected Member Functions

virtual QRectF boundingRect (const QRectF &rect, const QgsRenderContext &context) const override
 Returns the bounding rect required for drawing the effect. More...
 
virtual 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 QPicturesource () const
 Returns the source QPicture. More...
 
QImagesourceAsImage (QgsRenderContext &context)
 Returns the source QPicture rendered to a new QImage. More...
 

Protected Attributes

QPainter::CompositionMode mBlendMode
 
int mBlurLevel
 
QColor mColor
 
int mOffsetAngle
 
double mOffsetDist
 
QgsMapUnitScale mOffsetMapUnitScale
 
QgsSymbolV2::OutputUnit mOffsetUnit
 
double mTransparency
 
- Protected Attributes inherited from QgsPaintEffect
DrawMode mDrawMode
 
bool mEnabled
 
bool requiresQPainterDpiFix
 

Additional Inherited Members

- Public Types inherited from QgsPaintEffect
enum  DrawMode { Modifier, Render, ModifyAndRender }
 Drawing modes for effects. More...
 

Detailed Description

Base class for paint effects which offset, blurred shadows.

Note
Added in version 2.9

Definition at line 32 of file qgsshadoweffect.h.

Constructor & Destructor Documentation

◆ QgsShadowEffect()

QgsShadowEffect::QgsShadowEffect ( )

Definition at line 23 of file qgsshadoweffect.cpp.

◆ ~QgsShadowEffect()

QgsShadowEffect::~QgsShadowEffect ( )
virtual

Definition at line 36 of file qgsshadoweffect.cpp.

Member Function Documentation

◆ blendMode()

QPainter::CompositionMode QgsShadowEffect::blendMode ( ) const
inline

Returns the blend mode for the effect.

Returns
blend mode used for drawing the effect on to a destination paint device
See also
setBlendMode

Definition at line 157 of file qgsshadoweffect.h.

◆ blurLevel()

int QgsShadowEffect::blurLevel ( ) const
inline

Returns the blur level (strength) for the shadow.

Returns
blur level. Value will be between 0 and 16, with larger values indicating greater blur strength.
See also
setBlurLevel

Definition at line 55 of file qgsshadoweffect.h.

◆ boundingRect()

QRectF QgsShadowEffect::boundingRect ( const QRectF rect,
const QgsRenderContext context 
) const
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.

Parameters
rectoriginal source bounding rect
contextdestination render context
Returns
modified bounding rect
See also
sourceAsImage

Reimplemented from QgsPaintEffect.

Definition at line 150 of file qgsshadoweffect.cpp.

◆ color()

QColor QgsShadowEffect::color ( ) const
inline

Returns the color used for the shadow.

Returns
shadow color
See also
setColor

Definition at line 129 of file qgsshadoweffect.h.

◆ draw()

void QgsShadowEffect::draw ( QgsRenderContext context)
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.

Parameters
contextdestination render context
See also
drawSource

Implements QgsPaintEffect.

Definition at line 41 of file qgsshadoweffect.cpp.

◆ exteriorShadow()

virtual bool QgsShadowEffect::exteriorShadow ( ) const
protectedpure virtual

Specifies whether the shadow is drawn outside the picture or within the picture.

Returns
true if shadow is to be drawn outside the picture, or false to draw shadow within the picture

Implemented in QgsInnerShadowEffect, and QgsDropShadowEffect.

◆ offsetAngle()

int QgsShadowEffect::offsetAngle ( ) const
inline

Returns the angle used for offsetting the shadow.

Returns
offset angle in degrees clockwise from North
See also
setOffsetAngle
offsetDistance

Definition at line 69 of file qgsshadoweffect.h.

◆ offsetDistance()

double QgsShadowEffect::offsetDistance ( ) const
inline

Returns the distance used for offsetting the shadow.

Returns
offset distance. Distance units are retrieved via offsetUnit
See also
setOffsetDistance
offsetUnit
offsetMapUnitScale

Definition at line 85 of file qgsshadoweffect.h.

◆ offsetMapUnitScale()

const QgsMapUnitScale& QgsShadowEffect::offsetMapUnitScale ( ) const
inline

Returns the map unit scale used for the shadow offset distance.

Returns
map unit scale for offset distance
See also
setOffsetMapUnitScale
offsetDistance
offsetUnit

Definition at line 117 of file qgsshadoweffect.h.

◆ offsetUnit()

QgsSymbolV2::OutputUnit QgsShadowEffect::offsetUnit ( ) const
inline

Returns the units used for the shadow offset distance.

Returns
units for offset distance
See also
setOffsetUnit
offsetDistance
offsetMapUnitScale

Definition at line 101 of file qgsshadoweffect.h.

◆ properties()

QgsStringMap QgsShadowEffect::properties ( ) const
overridevirtual

Returns the properties describing the paint effect encoded in a string format.

Returns
string map of properties, in the form property key, value
See also
readProperties
saveProperties

Implements QgsPaintEffect.

Definition at line 96 of file qgsshadoweffect.cpp.

◆ readProperties()

void QgsShadowEffect::readProperties ( const QgsStringMap props)
overridevirtual

Reads a string map of an effect's properties and restores the effect to the state described by the properties map.

Parameters
propseffect properties encoded in a string map
See also
properties

Implements QgsPaintEffect.

Definition at line 112 of file qgsshadoweffect.cpp.

◆ setBlendMode()

void QgsShadowEffect::setBlendMode ( const QPainter::CompositionMode  mode)
inline

Sets the blend mode for the effect.

Parameters
modeblend mode used for drawing the effect on to a destination paint device
See also
blendMode

Definition at line 150 of file qgsshadoweffect.h.

◆ setBlurLevel()

void QgsShadowEffect::setBlurLevel ( const int  level)
inline

Sets blur level (strength) for the shadow.

Parameters
levelblur level. Values between 0 and 16 are valid, with larger values indicating greater blur strength.
See also
blurLevel

Definition at line 48 of file qgsshadoweffect.h.

◆ setColor()

void QgsShadowEffect::setColor ( const QColor color)
inline

Sets the color for the shadow.

Parameters
colorshadow color
See also
color

Definition at line 123 of file qgsshadoweffect.h.

◆ setOffsetAngle()

void QgsShadowEffect::setOffsetAngle ( const int  angle)
inline

Sets the angle for offsetting the shadow.

Parameters
angleoffset angle in degrees clockwise from North
See also
offsetAngle
setOffsetDistance

Definition at line 62 of file qgsshadoweffect.h.

◆ setOffsetDistance()

void QgsShadowEffect::setOffsetDistance ( const double  distance)
inline

Sets the distance for offsetting the shadow.

Parameters
distanceoffset distance. Units are specified via setOffsetUnit
See also
offsetDistance
setOffsetUnit
setOffsetMapUnitScale

Definition at line 77 of file qgsshadoweffect.h.

◆ setOffsetMapUnitScale()

void QgsShadowEffect::setOffsetMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map unit scale used for the shadow offset distance.

Parameters
scalemap unit scale for offset distance
See also
offsetMapUnitScale
setOffsetDistance
setOffsetUnit

Definition at line 109 of file qgsshadoweffect.h.

◆ setOffsetUnit()

void QgsShadowEffect::setOffsetUnit ( const QgsSymbolV2::OutputUnit  unit)
inline

Sets the units used for the shadow offset distance.

Parameters
unitunits for offset distance
See also
offsetUnit
setOffsetDistance
setOffsetMapUnitScale

Definition at line 93 of file qgsshadoweffect.h.

◆ setTransparency()

void QgsShadowEffect::setTransparency ( const double  transparency)
inline

Sets the transparency for the effect.

Parameters
transparencydouble between 0 and 1 inclusive, where 0 is fully opaque and 1 is fully transparent
See also
transparency

Definition at line 136 of file qgsshadoweffect.h.

◆ transparency()

double QgsShadowEffect::transparency ( ) const
inline

Returns the transparency for the effect.

Returns
transparency value between 0 and 1 inclusive, where 0 is fully opaque and 1 is fully transparent
See also
setTransparency

Definition at line 143 of file qgsshadoweffect.h.

Member Data Documentation

◆ mBlendMode

QPainter::CompositionMode QgsShadowEffect::mBlendMode
protected

Definition at line 178 of file qgsshadoweffect.h.

◆ mBlurLevel

int QgsShadowEffect::mBlurLevel
protected

Definition at line 171 of file qgsshadoweffect.h.

◆ mColor

QColor QgsShadowEffect::mColor
protected

Definition at line 177 of file qgsshadoweffect.h.

◆ mOffsetAngle

int QgsShadowEffect::mOffsetAngle
protected

Definition at line 172 of file qgsshadoweffect.h.

◆ mOffsetDist

double QgsShadowEffect::mOffsetDist
protected

Definition at line 173 of file qgsshadoweffect.h.

◆ mOffsetMapUnitScale

QgsMapUnitScale QgsShadowEffect::mOffsetMapUnitScale
protected

Definition at line 175 of file qgsshadoweffect.h.

◆ mOffsetUnit

QgsSymbolV2::OutputUnit QgsShadowEffect::mOffsetUnit
protected

Definition at line 174 of file qgsshadoweffect.h.

◆ mTransparency

double QgsShadowEffect::mTransparency
protected

Definition at line 176 of file qgsshadoweffect.h.


The documentation for this class was generated from the following files: