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

A paint effect which applies transformations (such as move, scale and rotate) to a picture. More...

#include <qgstransformeffect.h>

Inheritance diagram for QgsTransformEffect:
Inheritance graph
[legend]

Public Member Functions

 QgsTransformEffect ()
 
virtual ~QgsTransformEffect ()
 
virtual QgsTransformEffectclone () 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...
 
bool reflectX () const
 Returns whether transform will be reflected along the x-axis. More...
 
bool reflectY () const
 Returns whether transform will be reflected along the y-axis. More...
 
double rotation () const
 Returns the transform rotation. More...
 
double scaleX () const
 Returns the x axis scaling factor. More...
 
double scaleY () const
 Returns the y axis scaling factor. More...
 
void setReflectX (const bool reflectX)
 Sets whether to reflect along the x-axis. More...
 
void setReflectY (const bool reflectY)
 Sets whether to reflect along the y-axis. More...
 
void setRotation (const double rotation)
 Sets the transform rotation. More...
 
void setScaleX (const double scaleX)
 Sets the x axis scaling factor. More...
 
void setScaleY (const double scaleY)
 Sets the y axis scaling factor. More...
 
void setShearX (const double shearX)
 Sets the x axis shearing factor. More...
 
void setShearY (const double shearY)
 Sets the y axis shearing factor. More...
 
void setTranslateMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale used for the transform translation. More...
 
void setTranslateUnit (const QgsSymbolV2::OutputUnit unit)
 Sets the units used for the transform translation. More...
 
void setTranslateX (const double translateX)
 Sets the transform x translation. More...
 
void setTranslateY (const double translateY)
 Sets the transform y translation. More...
 
double shearX () const
 Returns the x axis shearing factor. More...
 
double shearY () const
 Returns the y axis shearing factor. More...
 
const QgsMapUnitScaletranslateMapUnitScale () const
 Returns the map unit scale used for the transform translation. More...
 
QgsSymbolV2::OutputUnit translateUnit () const
 Returns the units used for the transform translation. More...
 
double translateX () const
 Returns the transform x translation. More...
 
double translateY () const
 Returns the transform y translation. 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 QgsTransformEffect effect from a properties string map. 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...
 
- 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...
 

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 applies transformations (such as move, scale and rotate) to a picture.

Note
Added in version 2.9

Definition at line 34 of file qgstransformeffect.h.

Constructor & Destructor Documentation

◆ QgsTransformEffect()

QgsTransformEffect::QgsTransformEffect ( )

Definition at line 31 of file qgstransformeffect.cpp.

◆ ~QgsTransformEffect()

QgsTransformEffect::~QgsTransformEffect ( )
virtual

Definition at line 47 of file qgstransformeffect.cpp.

Member Function Documentation

◆ boundingRect()

QRectF QgsTransformEffect::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 111 of file qgstransformeffect.cpp.

◆ clone()

QgsTransformEffect * QgsTransformEffect::clone ( ) const
overridevirtual

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

Returns
clone of paint effect

Implements QgsPaintEffect.

Definition at line 105 of file qgstransformeffect.cpp.

◆ create()

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

Creates a new QgsTransformEffect effect from a properties string map.

Parameters
mapencoded properties string map
Returns
new QgsTransformEffect

Definition at line 24 of file qgstransformeffect.cpp.

◆ draw()

void QgsTransformEffect::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 52 of file qgstransformeffect.cpp.

◆ properties()

QgsStringMap QgsTransformEffect::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 69 of file qgstransformeffect.cpp.

◆ readProperties()

void QgsTransformEffect::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 88 of file qgstransformeffect.cpp.

◆ reflectX()

bool QgsTransformEffect::reflectX ( ) const
inline

Returns whether transform will be reflected along the x-axis.

Returns
true if transform will reflect horizontally
See also
setReflectX
reflectY

Definition at line 204 of file qgstransformeffect.h.

◆ reflectY()

bool QgsTransformEffect::reflectY ( ) const
inline

Returns whether transform will be reflected along the y-axis.

Returns
true if transform will reflect horizontally
See also
setReflectY
reflectX

Definition at line 218 of file qgstransformeffect.h.

◆ rotation()

double QgsTransformEffect::rotation ( ) const
inline

Returns the transform rotation.

Returns
rotation in degrees clockwise
See also
setRotation

Definition at line 162 of file qgstransformeffect.h.

◆ scaleX()

double QgsTransformEffect::scaleX ( ) const
inline

Returns the x axis scaling factor.

Returns
x axis scaling factor, where 1.0 = no scaling
See also
setScaleX
scaleY

Definition at line 137 of file qgstransformeffect.h.

◆ scaleY()

double QgsTransformEffect::scaleY ( ) const
inline

Returns the y axis scaling factor.

Returns
y axis scaling factor, where 1.0 = no scaling
See also
setScaleY
scaleX

Definition at line 150 of file qgstransformeffect.h.

◆ setReflectX()

void QgsTransformEffect::setReflectX ( const bool  reflectX)
inline

Sets whether to reflect along the x-axis.

Parameters
reflectXtrue to reflect horizontally
See also
reflectX
setReflectY

Definition at line 197 of file qgstransformeffect.h.

◆ setReflectY()

void QgsTransformEffect::setReflectY ( const bool  reflectY)
inline

Sets whether to reflect along the y-axis.

Parameters
reflectYtrue to reflect horizontally
See also
reflectY
setReflectX

Definition at line 211 of file qgstransformeffect.h.

◆ setRotation()

void QgsTransformEffect::setRotation ( const double  rotation)
inline

Sets the transform rotation.

Parameters
rotationdegrees to rotate, clockwise
See also
rotation

Definition at line 156 of file qgstransformeffect.h.

◆ setScaleX()

void QgsTransformEffect::setScaleX ( const double  scaleX)
inline

Sets the x axis scaling factor.

Parameters
scaleXfactor to scale x axis by, where 1.0 = no scaling
See also
scaleX
setScaleY

Definition at line 130 of file qgstransformeffect.h.

◆ setScaleY()

void QgsTransformEffect::setScaleY ( const double  scaleY)
inline

Sets the y axis scaling factor.

Parameters
scaleYfactor to scale y axis by, where 1.0 = no scaling
See also
scaleX

Definition at line 143 of file qgstransformeffect.h.

◆ setShearX()

void QgsTransformEffect::setShearX ( const double  shearX)
inline

Sets the x axis shearing factor.

Parameters
shearXx axis shearing
See also
shearX
setShearY

Definition at line 169 of file qgstransformeffect.h.

◆ setShearY()

void QgsTransformEffect::setShearY ( const double  shearY)
inline

Sets the y axis shearing factor.

Parameters
shearYy axis shearing
See also
shearY
setShearX

Definition at line 183 of file qgstransformeffect.h.

◆ setTranslateMapUnitScale()

void QgsTransformEffect::setTranslateMapUnitScale ( const QgsMapUnitScale scale)
inline

Sets the map unit scale used for the transform translation.

Parameters
scalemap unit scale for translation
See also
translateMapUnitScale
setTranslateX
setTranslateY
setTranslateUnit

Definition at line 114 of file qgstransformeffect.h.

◆ setTranslateUnit()

void QgsTransformEffect::setTranslateUnit ( const QgsSymbolV2::OutputUnit  unit)
inline

Sets the units used for the transform translation.

Parameters
unitunits for translation
See also
translateUnit
setTranslateX
setTranslateY
setTranslateMapUnitScale

Definition at line 96 of file qgstransformeffect.h.

◆ setTranslateX()

void QgsTransformEffect::setTranslateX ( const double  translateX)
inline

Sets the transform x translation.

Parameters
translateXdistance to translate along the x axis
See also
translateX
setTranslateY
setTranslateUnit
setTranslateMapUnitScale

Definition at line 60 of file qgstransformeffect.h.

◆ setTranslateY()

void QgsTransformEffect::setTranslateY ( const double  translateY)
inline

Sets the transform y translation.

Parameters
translateYdistance to translate along the y axis
See also
translateY
setTranslateX
setTranslateUnit
setTranslateMapUnitScale

Definition at line 78 of file qgstransformeffect.h.

◆ shearX()

double QgsTransformEffect::shearX ( ) const
inline

Returns the x axis shearing factor.

Returns
x axis shearing
See also
setShearX
shearY

Definition at line 176 of file qgstransformeffect.h.

◆ shearY()

double QgsTransformEffect::shearY ( ) const
inline

Returns the y axis shearing factor.

Returns
y axis shearing
See also
setShearY
shearX

Definition at line 190 of file qgstransformeffect.h.

◆ translateMapUnitScale()

const QgsMapUnitScale& QgsTransformEffect::translateMapUnitScale ( ) const
inline

Returns the map unit scale used for the transform translation.

Returns
map unit scale for translation
See also
setTranslateMapUnitScale
translateX
translateY
translateUnit

Definition at line 123 of file qgstransformeffect.h.

◆ translateUnit()

QgsSymbolV2::OutputUnit QgsTransformEffect::translateUnit ( ) const
inline

Returns the units used for the transform translation.

Returns
units for translation
See also
setTranslateUnit
translateX
translateY
translateMapUnitScale

Definition at line 105 of file qgstransformeffect.h.

◆ translateX()

double QgsTransformEffect::translateX ( ) const
inline

Returns the transform x translation.

Returns
X distance translated along the x axis
See also
setTranslateX
translateY
translateUnit
translateMapUnitScale

Definition at line 69 of file qgstransformeffect.h.

◆ translateY()

double QgsTransformEffect::translateY ( ) const
inline

Returns the transform y translation.

Returns
Y distance translated along the y axis
See also
setTranslateY
translateX
translateUnit
translateMapUnitScale

Definition at line 87 of file qgstransformeffect.h.

◆ type()

virtual QString QgsTransformEffect::type ( ) const
inlineoverridevirtual

Returns the effect type.

Returns
unique string representation of the effect type

Implements QgsPaintEffect.

Definition at line 48 of file qgstransformeffect.h.


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