17 #ifndef QGSSHADOWEFFECT_H 18 #define QGSSHADOWEFFECT_H 20 #include "qgis_core.h" 135 void setColor(
const QColor &color ) { mColor = color; }
142 QColor
color()
const {
return mColor; }
150 void setOpacity(
const double opacity ) { mOpacity = opacity; }
166 void setBlendMode(
const QPainter::CompositionMode mode ) { mBlendMode = mode; }
174 QPainter::CompositionMode
blendMode()
const {
return mBlendMode; }
187 virtual bool exteriorShadow()
const = 0;
190 int mOffsetAngle = 135;
191 double mOffsetDist = 2.0;
194 double mOpacity = 1.0;
196 QPainter::CompositionMode mBlendMode = QPainter::CompositionMode_Multiply;
222 QString
type()
const override;
253 QString
type()
const override;
262 #endif // QGSSHADOWEFFECT_H void setOffsetDistance(const double distance)
Sets the distance for offsetting the shadow.
virtual QgsStringMap properties() const =0
Returns the properties describing the paint effect encoded in a string format.
void setOffsetAngle(const int angle)
Sets the angle for offsetting the shadow.
void setOpacity(const double opacity)
Sets the opacity for the effect.
double offsetDistance() const
Returns the distance used for offsetting the shadow.
Base class for visual effects which can be applied to QPicture drawings.
void setBlurLevel(const int level)
Sets blur level (strength) for the shadow.
QMap< QString, QString > QgsStringMap
virtual bool exteriorShadow() const =0
Specifies whether the shadow is drawn outside the picture or within the picture.
double ANALYSIS_EXPORT angle(QgsPoint *p1, QgsPoint *p2, QgsPoint *p3, QgsPoint *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
virtual QgsPaintEffect * clone() const =0
Duplicates an effect by creating a deep copy of the effect.
QPainter::CompositionMode blendMode() const
Returns the blend mode for the effect.
QgsMapUnitScale mOffsetMapUnitScale
double opacity() const
Returns the opacity for the effect.
QColor color() const
Returns the color used for the shadow.
virtual QString type() const =0
Returns the effect type.
int blurLevel() const
Returns the blur level (strength) for the shadow.
A paint effect which draws an offset and optionally blurred drop shadow.
virtual void readProperties(const QgsStringMap &props)=0
Reads a string map of an effect's properties and restores the effect to the state described by the pr...
A paint effect which draws an offset and optionally blurred drop shadow within a picture.
void setOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale used for the shadow offset distance.
Contains information about the context of a rendering operation.
virtual QRectF boundingRect(const QRectF &rect, const QgsRenderContext &context) const
Returns the bounding rect required for drawing the effect.
Struct for storing maximum and minimum scales for measurements in map units.
void setBlendMode(const QPainter::CompositionMode mode)
Sets the blend mode for the effect.
QgsUnitTypes::RenderUnit offsetUnit() const
Returns the units used for the shadow offset distance.
void setOffsetUnit(const QgsUnitTypes::RenderUnit unit)
Sets the units used for the shadow offset distance.
Base class for paint effects which offset, blurred shadows.
virtual void draw(QgsRenderContext &context)=0
Handles drawing of the effect's result on to the specified render context.
void setColor(const QColor &color)
Sets the color for the shadow.
int offsetAngle() const
Returns the angle used for offsetting the shadow.
const QgsMapUnitScale & offsetMapUnitScale() const
Returns the map unit scale used for the shadow offset distance.
RenderUnit
Rendering size units.