QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
QgsGradientFillSymbolLayerV2 Class Reference

#include <qgsfillsymbollayerv2.h>

Inheritance diagram for QgsGradientFillSymbolLayerV2:
Inheritance graph
[legend]
Collaboration diagram for QgsGradientFillSymbolLayerV2:
Collaboration graph
[legend]

Public Types

enum  GradientColorType { SimpleTwoColor, ColorRamp }
 
enum  GradientType { Linear, Radial, Conical }
 
enum  GradientCoordinateMode { Feature, Viewport }
 
enum  GradientSpread { Pad, Reflect, Repeat }
 

Public Member Functions

 QgsGradientFillSymbolLayerV2 (QColor color=DEFAULT_SIMPLEFILL_COLOR, QColor color2=Qt::white, GradientColorType gradientColorType=SimpleTwoColor, GradientType gradientType=Linear, GradientCoordinateMode coordinateMode=Feature, GradientSpread gradientSpread=Pad)
 
virtual ~QgsGradientFillSymbolLayerV2 ()
 
QString layerType () const
 
void startRender (QgsSymbolV2RenderContext &context)
 
void stopRender (QgsSymbolV2RenderContext &context)
 
void renderPolygon (const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolV2RenderContext &context)
 
QgsStringMap properties () const
 
QgsSymbolLayerV2clone () const
 
double estimateMaxBleed () const
 Returns the estimated maximum distance which the layer style will bleed outside the drawn shape. More...
 
GradientType gradientType () const
 Type of gradient, eg linear or radial. More...
 
void setGradientType (GradientType gradientType)
 
GradientColorType gradientColorType () const
 Gradient color mode, controls how gradient color stops are created. More...
 
void setGradientColorType (GradientColorType gradientColorType)
 
QgsVectorColorRampV2colorRamp ()
 Color ramp used for the gradient fill, only used if the gradient color type is set to ColorRamp. More...
 
void setColorRamp (QgsVectorColorRampV2 *ramp)
 
QColor color2 () const
 Color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColor. More...
 
void setColor2 (QColor color2)
 
GradientCoordinateMode coordinateMode () const
 Coordinate mode for gradient. More...
 
void setCoordinateMode (GradientCoordinateMode coordinateMode)
 
GradientSpread gradientSpread () const
 Gradient spread mode. More...
 
void setGradientSpread (GradientSpread gradientSpread)
 
void setReferencePoint1 (QPointF referencePoint)
 Starting point of gradient fill, in the range [0,0] - [1,1]. More...
 
QPointF referencePoint1 () const
 
void setReferencePoint1IsCentroid (bool isCentroid)
 Sets the starting point of the gradient to be the feature centroid. More...
 
bool referencePoint1IsCentroid () const
 
void setReferencePoint2 (QPointF referencePoint)
 End point of gradient fill, in the range [0,0] - [1,1]. More...
 
QPointF referencePoint2 () const
 
void setReferencePoint2IsCentroid (bool isCentroid)
 Sets the end point of the gradient to be the feature centroid. More...
 
bool referencePoint2IsCentroid () const
 
void setAngle (double angle)
 Rotation angle for gradient fill. More...
 
double angle () const
 
void setOffset (QPointF offset)
 Offset for gradient fill. More...
 
QPointF offset () const
 
void setOffsetUnit (QgsSymbolV2::OutputUnit unit)
 Units for gradient fill offset. More...
 
QgsSymbolV2::OutputUnit offsetUnit () const
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 
const QgsMapUnitScaleoffsetMapUnitScale () const
 
void setOutputUnit (QgsSymbolV2::OutputUnit unit)
 
QgsSymbolV2::OutputUnit outputUnit () const
 
void setMapUnitScale (const QgsMapUnitScale &scale)
 
QgsMapUnitScale mapUnitScale () const
 
- Public Member Functions inherited from QgsFillSymbolLayerV2
void drawPreviewIcon (QgsSymbolV2RenderContext &context, QSize size)
 
void setAngle (double angle)
 
double angle () const
 
- Public Member Functions inherited from QgsSymbolLayerV2
virtual QColor color () const
 
virtual void setColor (const QColor &color)
 
virtual void setOutlineColor (const QColor &color)
 Set outline color. More...
 
virtual QColor outlineColor () const
 Get outline color. More...
 
virtual void setFillColor (const QColor &color)
 Set fill color. More...
 
virtual QColor fillColor () const
 Get fill color. More...
 
virtual ~QgsSymbolLayerV2 ()
 
virtual void toSld (QDomDocument &doc, QDomElement &element, QgsStringMap props) const
 
virtual QString ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const
 
virtual QgsSymbolV2subSymbol ()
 
virtual bool setSubSymbol (QgsSymbolV2 *symbol)
 
QgsSymbolV2::SymbolType type () const
 
void setLocked (bool locked)
 
bool isLocked () const
 
void setRenderingPass (int renderingPass)
 
int renderingPass () const
 
virtual QSet< QString > usedAttributes () const
 
virtual const QgsExpressiondataDefinedProperty (const QString &property) const
 
virtual QString dataDefinedPropertyString (const QString &property) const
 
virtual void setDataDefinedProperty (const QString &property, const QString &expressionString)
 
virtual void removeDataDefinedProperty (const QString &property)
 
virtual void removeDataDefinedProperties ()
 
bool hasDataDefinedProperties () const
 
virtual bool writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, const QgsSymbolV2RenderContext *context, const QgsFeature *f, const QPointF &shift=QPointF(0.0, 0.0)) const
 
virtual double dxfWidth (const QgsDxfExport &e, const QgsSymbolV2RenderContext &context) const
 
virtual QColor dxfColor (const QgsSymbolV2RenderContext &context) const
 
virtual QVector< qreal > dxfCustomDashPattern (QgsSymbolV2::OutputUnit &unit) const
 
virtual Qt::PenStyle dxfPenStyle () const
 

Static Public Member Functions

static QgsSymbolLayerV2create (const QgsStringMap &properties=QgsStringMap())
 

Protected Attributes

QBrush mBrush
 
QBrush mSelBrush
 
GradientColorType mGradientColorType
 
QColor mColor2
 
QgsVectorColorRampV2mGradientRamp
 
GradientType mGradientType
 
GradientCoordinateMode mCoordinateMode
 
GradientSpread mGradientSpread
 
QPointF mReferencePoint1
 
bool mReferencePoint1IsCentroid
 
QPointF mReferencePoint2
 
bool mReferencePoint2IsCentroid
 
double mAngle
 
QPointF mOffset
 
QgsSymbolV2::OutputUnit mOffsetUnit
 
QgsMapUnitScale mOffsetMapUnitScale
 
- Protected Attributes inherited from QgsFillSymbolLayerV2
double mAngle
 
- Protected Attributes inherited from QgsSymbolLayerV2
QgsSymbolV2::SymbolType mType
 
bool mLocked
 
QColor mColor
 
int mRenderingPass
 
QMap< QString, QgsExpression * > mDataDefinedProperties
 

Private Member Functions

void applyDataDefinedSymbology (QgsSymbolV2RenderContext &context, const QPolygonF &points)
 
void applyGradient (const QgsSymbolV2RenderContext &context, QBrush &brush, const QColor &color, const QColor &color2, const GradientColorType &gradientColorType, QgsVectorColorRampV2 *gradientRamp, const GradientType &gradientType, const GradientCoordinateMode &coordinateMode, const GradientSpread &gradientSpread, const QPointF &referencePoint1, const QPointF &referencePoint2, const double angle)
 Applies the gradient to a brush. More...
 
QPointF rotateReferencePoint (const QPointF &refPoint, double angle)
 rotates a reference point by a specified angle around the point (0.5, 0.5) More...
 

Additional Inherited Members

- Protected Member Functions inherited from QgsFillSymbolLayerV2
 QgsFillSymbolLayerV2 (bool locked=false)
 
void _renderPolygon (QPainter *p, const QPolygonF &points, const QList< QPolygonF > *rings, QgsSymbolV2RenderContext &context)
 Default method to render polygon. More...
 
- Protected Member Functions inherited from QgsSymbolLayerV2
 QgsSymbolLayerV2 (QgsSymbolV2::SymbolType type, bool locked=false)
 
virtual void prepareExpressions (const QgsFields *fields, double scale=-1.0)
 
virtual QgsExpressionexpression (const QString &property) const
 
void saveDataDefinedProperties (QgsStringMap &stringMap) const
 Saves data defined properties to string map. More...
 
void copyDataDefinedProperties (QgsSymbolLayerV2 *destLayer) const
 Copies data defined properties of this layer to another symbol layer. More...
 
- Static Protected Attributes inherited from QgsSymbolLayerV2
static const bool selectionIsOpaque = true
 
static const bool selectFillBorder = false
 
static const bool selectFillStyle = false
 

Detailed Description

Definition at line 147 of file qgsfillsymbollayerv2.h.

Member Enumeration Documentation

Enumerator
SimpleTwoColor 
ColorRamp 

Definition at line 151 of file qgsfillsymbollayerv2.h.

Enumerator
Feature 
Viewport 

Definition at line 164 of file qgsfillsymbollayerv2.h.

Enumerator
Pad 
Reflect 
Repeat 

Definition at line 170 of file qgsfillsymbollayerv2.h.

Enumerator
Linear 
Radial 
Conical 

Definition at line 157 of file qgsfillsymbollayerv2.h.

Constructor & Destructor Documentation

QgsGradientFillSymbolLayerV2::QgsGradientFillSymbolLayerV2 ( QColor  color = DEFAULT_SIMPLEFILL_COLOR,
QColor  color2 = Qt::white,
GradientColorType  gradientColorType = SimpleTwoColor,
GradientType  gradientType = Linear,
GradientCoordinateMode  coordinateMode = Feature,
GradientSpread  gradientSpread = Pad 
)

Definition at line 357 of file qgsfillsymbollayerv2.cpp.

References QgsSymbolLayerV2::color(), color2(), QgsSymbolLayerV2::mColor, and mColor2.

Referenced by clone(), and create().

QgsGradientFillSymbolLayerV2::~QgsGradientFillSymbolLayerV2 ( )
virtual

Definition at line 376 of file qgsfillsymbollayerv2.cpp.

References mGradientRamp.

Member Function Documentation

double QgsGradientFillSymbolLayerV2::angle ( void  ) const
inline
void QgsGradientFillSymbolLayerV2::applyDataDefinedSymbology ( QgsSymbolV2RenderContext context,
const QPolygonF &  points 
)
private
void QgsGradientFillSymbolLayerV2::applyGradient ( const QgsSymbolV2RenderContext context,
QBrush &  brush,
const QColor &  color,
const QColor &  color2,
const GradientColorType gradientColorType,
QgsVectorColorRampV2 gradientRamp,
const GradientType gradientType,
const GradientCoordinateMode coordinateMode,
const GradientSpread gradientSpread,
const QPointF &  referencePoint1,
const QPointF &  referencePoint2,
const double  angle 
)
private
QgsSymbolLayerV2 * QgsGradientFillSymbolLayerV2::clone ( ) const
virtual
QColor QgsGradientFillSymbolLayerV2::color2 ( ) const
inline

Color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColor.

Definition at line 220 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), applyGradient(), create(), QgsGradientFillSymbolLayerV2(), and QgsGradientFillSymbolLayerV2Widget::setSymbolLayer().

QgsVectorColorRampV2* QgsGradientFillSymbolLayerV2::colorRamp ( )
inline

Color ramp used for the gradient fill, only used if the gradient color type is set to ColorRamp.

Definition at line 216 of file qgsfillsymbollayerv2.h.

Referenced by QgsGradientFillSymbolLayerV2Widget::setSymbolLayer().

GradientCoordinateMode QgsGradientFillSymbolLayerV2::coordinateMode ( ) const
inline

Coordinate mode for gradient.

Controls how the gradient stops are positioned.

Definition at line 224 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), create(), and QgsGradientFillSymbolLayerV2Widget::setSymbolLayer().

QgsSymbolLayerV2 * QgsGradientFillSymbolLayerV2::create ( const QgsStringMap properties = QgsStringMap())
static
double QgsGradientFillSymbolLayerV2::estimateMaxBleed ( ) const
virtual

Returns the estimated maximum distance which the layer style will bleed outside the drawn shape.

Eg, polygons drawn with an outline will draw half the width of the outline outside of the polygon. This amount is estimated, since it may be affected by data defined symbology rules.

Reimplemented from QgsSymbolLayerV2.

Definition at line 806 of file qgsfillsymbollayerv2.cpp.

References mOffset.

GradientColorType QgsGradientFillSymbolLayerV2::gradientColorType ( ) const
inline

Gradient color mode, controls how gradient color stops are created.

Definition at line 212 of file qgsfillsymbollayerv2.h.

Referenced by QgsGradientFillSymbolLayerV2Widget::setSymbolLayer().

GradientSpread QgsGradientFillSymbolLayerV2::gradientSpread ( ) const
inline

Gradient spread mode.

Controls how the gradient behaves outside of the predefined stops

Definition at line 228 of file qgsfillsymbollayerv2.h.

Referenced by create(), and QgsGradientFillSymbolLayerV2Widget::setSymbolLayer().

GradientType QgsGradientFillSymbolLayerV2::gradientType ( ) const
inline

Type of gradient, eg linear or radial.

Definition at line 208 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), and QgsGradientFillSymbolLayerV2Widget::setSymbolLayer().

QString QgsGradientFillSymbolLayerV2::layerType ( ) const
virtual

Implements QgsSymbolLayerV2.

Definition at line 476 of file qgsfillsymbollayerv2.cpp.

QgsMapUnitScale QgsGradientFillSymbolLayerV2::mapUnitScale ( ) const
virtual

Reimplemented from QgsSymbolLayerV2.

Definition at line 827 of file qgsfillsymbollayerv2.cpp.

References mOffsetMapUnitScale.

QPointF QgsGradientFillSymbolLayerV2::offset ( ) const
inline
const QgsMapUnitScale& QgsGradientFillSymbolLayerV2::offsetMapUnitScale ( ) const
inline
QgsSymbolV2::OutputUnit QgsGradientFillSymbolLayerV2::offsetUnit ( ) const
inline
QgsSymbolV2::OutputUnit QgsGradientFillSymbolLayerV2::outputUnit ( ) const
virtual

Reimplemented from QgsSymbolLayerV2.

Definition at line 817 of file qgsfillsymbollayerv2.cpp.

References mOffsetUnit.

QgsStringMap QgsGradientFillSymbolLayerV2::properties ( ) const
virtual
QPointF QgsGradientFillSymbolLayerV2::referencePoint1 ( ) const
inline
bool QgsGradientFillSymbolLayerV2::referencePoint1IsCentroid ( ) const
inline
QPointF QgsGradientFillSymbolLayerV2::referencePoint2 ( ) const
inline
bool QgsGradientFillSymbolLayerV2::referencePoint2IsCentroid ( ) const
inline
void QgsGradientFillSymbolLayerV2::renderPolygon ( const QPolygonF &  points,
QList< QPolygonF > *  rings,
QgsSymbolV2RenderContext context 
)
virtual
QPointF QgsGradientFillSymbolLayerV2::rotateReferencePoint ( const QPointF &  refPoint,
double  angle 
)
private

rotates a reference point by a specified angle around the point (0.5, 0.5)

Definition at line 626 of file qgsfillsymbollayerv2.cpp.

References angle().

Referenced by applyGradient().

void QgsGradientFillSymbolLayerV2::setAngle ( double  angle)
inline

Rotation angle for gradient fill.

Can be used to rotate a gradient around its centre point

Definition at line 248 of file qgsfillsymbollayerv2.h.

References QgsFillSymbolLayerV2::angle().

Referenced by clone(), create(), and QgsGradientFillSymbolLayerV2Widget::on_mSpinAngle_valueChanged().

void QgsGradientFillSymbolLayerV2::setColor2 ( QColor  color2)
inline
void QgsGradientFillSymbolLayerV2::setColorRamp ( QgsVectorColorRampV2 ramp)
void QgsGradientFillSymbolLayerV2::setCoordinateMode ( GradientCoordinateMode  coordinateMode)
inline
void QgsGradientFillSymbolLayerV2::setGradientColorType ( GradientColorType  gradientColorType)
inline
void QgsGradientFillSymbolLayerV2::setGradientSpread ( GradientSpread  gradientSpread)
inline
void QgsGradientFillSymbolLayerV2::setGradientType ( GradientType  gradientType)
inline
void QgsGradientFillSymbolLayerV2::setMapUnitScale ( const QgsMapUnitScale scale)
virtual

Reimplemented from QgsSymbolLayerV2.

Definition at line 822 of file qgsfillsymbollayerv2.cpp.

References mOffsetMapUnitScale.

void QgsGradientFillSymbolLayerV2::setOffset ( QPointF  offset)
inline

Offset for gradient fill.

Definition at line 252 of file qgsfillsymbollayerv2.h.

Referenced by clone(), create(), and QgsGradientFillSymbolLayerV2Widget::offsetChanged().

void QgsGradientFillSymbolLayerV2::setOffsetMapUnitScale ( const QgsMapUnitScale scale)
inline
void QgsGradientFillSymbolLayerV2::setOffsetUnit ( QgsSymbolV2::OutputUnit  unit)
inline

Units for gradient fill offset.

Definition at line 256 of file qgsfillsymbollayerv2.h.

Referenced by clone(), create(), and QgsGradientFillSymbolLayerV2Widget::on_mOffsetUnitWidget_changed().

void QgsGradientFillSymbolLayerV2::setOutputUnit ( QgsSymbolV2::OutputUnit  unit)
virtual

Reimplemented from QgsSymbolLayerV2.

Definition at line 812 of file qgsfillsymbollayerv2.cpp.

References mOffsetUnit.

void QgsGradientFillSymbolLayerV2::setReferencePoint1 ( QPointF  referencePoint)
inline

Starting point of gradient fill, in the range [0,0] - [1,1].

Definition at line 232 of file qgsfillsymbollayerv2.h.

Referenced by clone(), create(), and QgsGradientFillSymbolLayerV2Widget::referencePointChanged().

void QgsGradientFillSymbolLayerV2::setReferencePoint1IsCentroid ( bool  isCentroid)
inline

Sets the starting point of the gradient to be the feature centroid.

Definition at line 236 of file qgsfillsymbollayerv2.h.

Referenced by clone(), create(), and QgsGradientFillSymbolLayerV2Widget::referencePointChanged().

void QgsGradientFillSymbolLayerV2::setReferencePoint2 ( QPointF  referencePoint)
inline

End point of gradient fill, in the range [0,0] - [1,1].

Definition at line 240 of file qgsfillsymbollayerv2.h.

Referenced by clone(), create(), and QgsGradientFillSymbolLayerV2Widget::referencePointChanged().

void QgsGradientFillSymbolLayerV2::setReferencePoint2IsCentroid ( bool  isCentroid)
inline

Sets the end point of the gradient to be the feature centroid.

Definition at line 244 of file qgsfillsymbollayerv2.h.

Referenced by clone(), create(), and QgsGradientFillSymbolLayerV2Widget::referencePointChanged().

void QgsGradientFillSymbolLayerV2::startRender ( QgsSymbolV2RenderContext context)
virtual
void QgsGradientFillSymbolLayerV2::stopRender ( QgsSymbolV2RenderContext context)
virtual

Implements QgsSymbolLayerV2.

Definition at line 729 of file qgsfillsymbollayerv2.cpp.

Member Data Documentation

double QgsGradientFillSymbolLayerV2::mAngle
protected

Definition at line 283 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

QBrush QgsGradientFillSymbolLayerV2::mBrush
protected

Definition at line 269 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), and renderPolygon().

QColor QgsGradientFillSymbolLayerV2::mColor2
protected
GradientCoordinateMode QgsGradientFillSymbolLayerV2::mCoordinateMode
protected

Definition at line 276 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

GradientColorType QgsGradientFillSymbolLayerV2::mGradientColorType
protected

Definition at line 272 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

QgsVectorColorRampV2* QgsGradientFillSymbolLayerV2::mGradientRamp
protected
GradientSpread QgsGradientFillSymbolLayerV2::mGradientSpread
protected

Definition at line 277 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

GradientType QgsGradientFillSymbolLayerV2::mGradientType
protected

Definition at line 275 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

QPointF QgsGradientFillSymbolLayerV2::mOffset
protected

Definition at line 285 of file qgsfillsymbollayerv2.h.

Referenced by clone(), estimateMaxBleed(), properties(), and renderPolygon().

QgsMapUnitScale QgsGradientFillSymbolLayerV2::mOffsetMapUnitScale
protected
QgsSymbolV2::OutputUnit QgsGradientFillSymbolLayerV2::mOffsetUnit
protected

Definition at line 286 of file qgsfillsymbollayerv2.h.

Referenced by clone(), outputUnit(), properties(), renderPolygon(), and setOutputUnit().

QPointF QgsGradientFillSymbolLayerV2::mReferencePoint1
protected

Definition at line 279 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

bool QgsGradientFillSymbolLayerV2::mReferencePoint1IsCentroid
protected

Definition at line 280 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

QPointF QgsGradientFillSymbolLayerV2::mReferencePoint2
protected

Definition at line 281 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

bool QgsGradientFillSymbolLayerV2::mReferencePoint2IsCentroid
protected

Definition at line 282 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), clone(), and properties().

QBrush QgsGradientFillSymbolLayerV2::mSelBrush
protected

Definition at line 270 of file qgsfillsymbollayerv2.h.

Referenced by renderPolygon(), and startRender().


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