QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
|
A paint effect which applies transformations (such as move, scale and rotate) to a picture. More...
#include <qgstransformeffect.h>
Public Member Functions | |
QgsTransformEffect ()=default | |
Constructor for QgsTransformEffect. More... | |
QgsTransformEffect * | clone () const override |
Duplicates an effect by creating a deep copy of the effect. More... | |
QVariantMap | properties () const override |
Returns the properties describing the paint effect encoded in a string format. More... | |
void | readProperties (const QVariantMap &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, in degrees clockwise. 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, in degrees clockwise. 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 Qgis::RenderUnit 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 QgsMapUnitScale & | translateMapUnitScale () const |
Returns the map unit scale used for the transform translation. More... | |
Qgis::RenderUnit | 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... | |
QString | type () const override |
Returns the effect type. 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 QVariantMap | properties () const =0 |
Returns the properties describing the paint effect encoded in a string format. More... | |
virtual bool | readProperties (const QDomElement &element) |
Restores the effect to the state described by a DOM element. More... | |
virtual void | readProperties (const QVariantMap &props)=0 |
Reads a string map of an effect's properties and restores the effect to the state described by the properties map. 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... | |
Static Public Member Functions | |
static QgsPaintEffect * | create (const QVariantMap &map) |
Creates a new QgsTransformEffect effect from a properties string map. 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... | |
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... | |
virtual void | draw (QgsRenderContext &context)=0 |
Handles drawing of the effect's result on to the specified render context. 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 QPicture * | source () const |
Returns the source QPicture. More... | |
QImage * | sourceAsImage (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 = ModifyAndRender |
bool | mEnabled = true |
bool | requiresQPainterDpiFix = true |
A paint effect which applies transformations (such as move, scale and rotate) to a picture.
Definition at line 35 of file qgstransformeffect.h.
|
default |
Constructor for QgsTransformEffect.
|
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 88 of file qgstransformeffect.cpp.
|
overridevirtual |
Duplicates an effect by creating a deep copy of the effect.
Implements QgsPaintEffect.
Definition at line 82 of file qgstransformeffect.cpp.
|
static |
Creates a new QgsTransformEffect effect from a properties string map.
map | encoded properties string map |
Definition at line 24 of file qgstransformeffect.cpp.
|
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 31 of file qgstransformeffect.cpp.
|
overridevirtual |
Returns the properties describing the paint effect encoded in a string format.
Implements QgsPaintEffect.
Definition at line 46 of file qgstransformeffect.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 65 of file qgstransformeffect.cpp.
|
inline |
Returns whether transform will be reflected along the x-axis.
true
if transform will reflect horizontally Definition at line 226 of file qgstransformeffect.h.
|
inline |
Returns whether transform will be reflected along the y-axis.
true
if transform will reflect horizontally Definition at line 242 of file qgstransformeffect.h.
|
inline |
Returns the transform rotation, in degrees clockwise.
Definition at line 178 of file qgstransformeffect.h.
|
inline |
Returns the x axis scaling factor.
Definition at line 151 of file qgstransformeffect.h.
|
inline |
Returns the y axis scaling factor.
Definition at line 166 of file qgstransformeffect.h.
|
inline |
Sets whether to reflect along the x-axis.
reflectX | true to reflect horizontally |
Definition at line 218 of file qgstransformeffect.h.
|
inline |
Sets whether to reflect along the y-axis.
reflectY | true to reflect horizontally |
Definition at line 234 of file qgstransformeffect.h.
|
inline |
Sets the transform rotation, in degrees clockwise.
Definition at line 172 of file qgstransformeffect.h.
|
inline |
Sets the x axis scaling factor.
scaleX | factor to scale x axis by, where 1.0 = no scaling |
Definition at line 143 of file qgstransformeffect.h.
|
inline |
Sets the y axis scaling factor.
scaleY | factor to scale y axis by, where 1.0 = no scaling |
Definition at line 158 of file qgstransformeffect.h.
|
inline |
Sets the x axis shearing factor.
shearX | x axis shearing |
Definition at line 186 of file qgstransformeffect.h.
|
inline |
Sets the y axis shearing factor.
shearY | y axis shearing |
Definition at line 202 of file qgstransformeffect.h.
|
inline |
Sets the map unit scale used for the transform translation.
scale | map unit scale for translation |
Definition at line 125 of file qgstransformeffect.h.
|
inline |
Sets the units used for the transform translation.
unit | units for translation |
Definition at line 105 of file qgstransformeffect.h.
|
inline |
Sets the transform x translation.
translateX | distance to translate along the x axis |
Definition at line 65 of file qgstransformeffect.h.
|
inline |
Sets the transform y translation.
translateY | distance to translate along the y axis |
Definition at line 85 of file qgstransformeffect.h.
|
inline |
Returns the x axis shearing factor.
Definition at line 194 of file qgstransformeffect.h.
|
inline |
Returns the y axis shearing factor.
Definition at line 210 of file qgstransformeffect.h.
|
inline |
Returns the map unit scale used for the transform translation.
Definition at line 135 of file qgstransformeffect.h.
|
inline |
Returns the units used for the transform translation.
Definition at line 115 of file qgstransformeffect.h.
|
inline |
Returns the transform x translation.
Definition at line 75 of file qgstransformeffect.h.
|
inline |
Returns the transform y translation.
Definition at line 95 of file qgstransformeffect.h.
|
inlineoverridevirtual |
Returns the effect type.
Implements QgsPaintEffect.
Definition at line 52 of file qgstransformeffect.h.