QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
QgsDrawSourceEffect Class Reference

A paint effect which draws the source picture with minor or no alterations. More...

#include <qgspainteffect.h>

Inheritance diagram for QgsDrawSourceEffect:
Inheritance graph
[legend]

Public Member Functions

 QgsDrawSourceEffect ()
 
virtual ~QgsDrawSourceEffect ()
 
QPainter::CompositionMode blendMode () const
 Returns the blend mode for the effect. More...
 
virtual QgsDrawSourceEffectclone () const override
 Duplicates an effect by creating a deep copy of the effect. 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 setTransparency (const double transparency)
 Sets the transparency for the effect. More...
 
double transparency () const
 Returns the transparency for the effect. More...
 
virtual QString type () const override
 Returns the effect type. 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...
 
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...
 

Static Public Member Functions

static QgsPaintEffectcreate (const QgsStringMap &map)
 Creates a new QgsDrawSource effect from a properties string map. More...
 

Protected Member Functions

virtual 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...
 
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...
 

Additional Inherited Members

- Public Types inherited from QgsPaintEffect
enum  DrawMode { Modifier, Render, ModifyAndRender }
 Drawing modes for effects. More...
 
- Protected Attributes inherited from QgsPaintEffect
DrawMode mDrawMode
 
bool mEnabled
 
bool requiresQPainterDpiFix
 

Detailed Description

A paint effect which draws the source picture with minor or no alterations.

The draw source effect can be used to draw an unaltered copy of the original source picture. Minor changes like lowering the opacity and applying a blend mode are supported, however these changes will force the resultant output to be rasterised. If no alterations are performed then the original picture will be rendered as a vector.

Note
Added in version 2.9

Definition at line 255 of file qgspainteffect.h.

Constructor & Destructor Documentation

◆ QgsDrawSourceEffect()

QgsDrawSourceEffect::QgsDrawSourceEffect ( )

Definition at line 249 of file qgspainteffect.cpp.

◆ ~QgsDrawSourceEffect()

QgsDrawSourceEffect::~QgsDrawSourceEffect ( )
virtual

Definition at line 257 of file qgspainteffect.cpp.

Member Function Documentation

◆ blendMode()

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

Returns the blend mode for the effect.

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

Definition at line 299 of file qgspainteffect.h.

◆ clone()

QgsDrawSourceEffect * QgsDrawSourceEffect::clone ( ) const
overridevirtual

Duplicates an effect by creating a deep copy of the effect.

Returns
clone of paint effect

Implements QgsPaintEffect.

Definition at line 293 of file qgspainteffect.cpp.

◆ create()

QgsPaintEffect * QgsDrawSourceEffect::create ( const QgsStringMap map)
static

Creates a new QgsDrawSource effect from a properties string map.

Parameters
mapencoded properties string map
Returns
new QgsDrawSourceEffect

Definition at line 262 of file qgspainteffect.cpp.

◆ draw()

void QgsDrawSourceEffect::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 269 of file qgspainteffect.cpp.

◆ properties()

QgsStringMap QgsDrawSourceEffect::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 298 of file qgspainteffect.cpp.

◆ readProperties()

void QgsDrawSourceEffect::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 308 of file qgspainteffect.cpp.

◆ setBlendMode()

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

Sets the blend mode for the effect.

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

Definition at line 292 of file qgspainteffect.h.

◆ setTransparency()

void QgsDrawSourceEffect::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 278 of file qgspainteffect.h.

◆ transparency()

double QgsDrawSourceEffect::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 285 of file qgspainteffect.h.

◆ type()

virtual QString QgsDrawSourceEffect::type ( ) const
inlineoverridevirtual

Returns the effect type.

Returns
unique string representation of the effect type

Implements QgsPaintEffect.

Definition at line 268 of file qgspainteffect.h.


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