QGIS API Documentation  2.2.0-Valmiera
 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.
GradientType gradientType () const
 Type of gradient, eg linear or radial.
void setGradientType (GradientType gradientType)
GradientColorType gradientColorType () const
 Gradient color mode, controls how gradient color stops are created.
void setGradientColorType (GradientColorType gradientColorType)
QgsVectorColorRampV2colorRamp ()
 Color ramp used for the gradient fill, only used if the gradient color type is set to ColorRamp.
void setColorRamp (QgsVectorColorRampV2 *ramp)
QColor color2 () const
 Color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColor.
void setColor2 (QColor color2)
GradientCoordinateMode coordinateMode () const
 Coordinate mode for gradient.
void setCoordinateMode (GradientCoordinateMode coordinateMode)
GradientSpread gradientSpread () const
 Gradient spread mode.
void setGradientSpread (GradientSpread gradientSpread)
void setReferencePoint1 (QPointF referencePoint)
 Starting point of gradient fill, in the range [0,0] - [1,1].
QPointF referencePoint1 () const
void setReferencePoint1IsCentroid (bool isCentroid)
 Sets the starting point of the gradient to be the feature centroid.
bool referencePoint1IsCentroid () const
void setReferencePoint2 (QPointF referencePoint)
 End point of gradient fill, in the range [0,0] - [1,1].
QPointF referencePoint2 () const
void setReferencePoint2IsCentroid (bool isCentroid)
 Sets the end point of the gradient to be the feature centroid.
bool referencePoint2IsCentroid () const
void setAngle (double angle)
 Rotation angle for gradient fill.
double angle () const
void setOffset (QPointF offset)
 Offset for gradient fill.
QPointF offset () const
void setOffsetUnit (QgsSymbolV2::OutputUnit unit)
 Units for gradient fill offset.
QgsSymbolV2::OutputUnit offsetUnit () const
- Public Member Functions inherited from QgsFillSymbolLayerV2
void drawPreviewIcon (QgsSymbolV2RenderContext &context, QSize size)
- 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.
virtual QColor outlineColor () const
 Get outline color.
virtual void setFillColor (const QColor &color)
 Set fill color.
virtual QColor fillColor () const
 Get fill color.
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
virtual void setOutputUnit (QgsSymbolV2::OutputUnit unit)
virtual QgsSymbolV2::OutputUnit outputUnit () 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
- 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.
QPointF rotateReferencePoint (const QPointF &refPoint, double angle)
 rotates a reference point by a specified angle around the point (0.5, 0.5)

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.
- 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 127 of file qgsfillsymbollayerv2.h.

Member Enumeration Documentation

Enumerator:
SimpleTwoColor 
ColorRamp 

Definition at line 131 of file qgsfillsymbollayerv2.h.

Enumerator:
Feature 
Viewport 

Definition at line 144 of file qgsfillsymbollayerv2.h.

Enumerator:
Pad 
Reflect 
Repeat 

Definition at line 150 of file qgsfillsymbollayerv2.h.

Enumerator:
Linear 
Radial 
Conical 

Definition at line 137 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 333 of file qgsfillsymbollayerv2.cpp.

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

Referenced by clone(), and create().

QgsGradientFillSymbolLayerV2::~QgsGradientFillSymbolLayerV2 ( )
virtual

Definition at line 352 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 200 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), applyGradient(), create(), and QgsGradientFillSymbolLayerV2().

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 196 of file qgsfillsymbollayerv2.h.

GradientCoordinateMode QgsGradientFillSymbolLayerV2::coordinateMode ( ) const
inline

Coordinate mode for gradient.

Controls how the gradient stops are positioned.

Definition at line 204 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), and create().

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 778 of file qgsfillsymbollayerv2.cpp.

References mOffset.

GradientColorType QgsGradientFillSymbolLayerV2::gradientColorType ( ) const
inline

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

Definition at line 192 of file qgsfillsymbollayerv2.h.

GradientSpread QgsGradientFillSymbolLayerV2::gradientSpread ( ) const
inline

Gradient spread mode.

Controls how the gradient behaves outside of the predefined stops

Definition at line 208 of file qgsfillsymbollayerv2.h.

Referenced by create().

GradientType QgsGradientFillSymbolLayerV2::gradientType ( ) const
inline

Type of gradient, eg linear or radial.

Definition at line 188 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology().

QString QgsGradientFillSymbolLayerV2::layerType ( ) const
virtual

Implements QgsSymbolLayerV2.

Definition at line 450 of file qgsfillsymbollayerv2.cpp.

QPointF QgsGradientFillSymbolLayerV2::offset ( ) const
inline

Definition at line 233 of file qgsfillsymbollayerv2.h.

Referenced by create(), and renderPolygon().

QgsSymbolV2::OutputUnit QgsGradientFillSymbolLayerV2::offsetUnit ( ) const
inline

Definition at line 237 of file qgsfillsymbollayerv2.h.

QgsStringMap QgsGradientFillSymbolLayerV2::properties ( ) const
virtual
QPointF QgsGradientFillSymbolLayerV2::referencePoint1 ( ) const
inline

Definition at line 213 of file qgsfillsymbollayerv2.h.

Referenced by applyGradient(), and create().

bool QgsGradientFillSymbolLayerV2::referencePoint1IsCentroid ( ) const
inline

Definition at line 217 of file qgsfillsymbollayerv2.h.

QPointF QgsGradientFillSymbolLayerV2::referencePoint2 ( ) const
inline

Definition at line 221 of file qgsfillsymbollayerv2.h.

Referenced by applyGradient(), and create().

bool QgsGradientFillSymbolLayerV2::referencePoint2IsCentroid ( ) const
inline

Definition at line 225 of file qgsfillsymbollayerv2.h.

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 600 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

Reimplemented from QgsFillSymbolLayerV2.

Definition at line 228 of file qgsfillsymbollayerv2.h.

References QgsFillSymbolLayerV2::angle().

Referenced by clone(), and create().

void QgsGradientFillSymbolLayerV2::setColor2 ( QColor  color2)
inline

Definition at line 201 of file qgsfillsymbollayerv2.h.

void QgsGradientFillSymbolLayerV2::setColorRamp ( QgsVectorColorRampV2 ramp)

Definition at line 444 of file qgsfillsymbollayerv2.cpp.

References mGradientRamp.

Referenced by clone(), and create().

void QgsGradientFillSymbolLayerV2::setCoordinateMode ( GradientCoordinateMode  coordinateMode)
inline

Definition at line 205 of file qgsfillsymbollayerv2.h.

void QgsGradientFillSymbolLayerV2::setGradientColorType ( GradientColorType  gradientColorType)
inline

Definition at line 193 of file qgsfillsymbollayerv2.h.

void QgsGradientFillSymbolLayerV2::setGradientSpread ( GradientSpread  gradientSpread)
inline

Definition at line 209 of file qgsfillsymbollayerv2.h.

void QgsGradientFillSymbolLayerV2::setGradientType ( GradientType  gradientType)
inline

Definition at line 189 of file qgsfillsymbollayerv2.h.

void QgsGradientFillSymbolLayerV2::setOffset ( QPointF  offset)
inline

Offset for gradient fill.

Definition at line 232 of file qgsfillsymbollayerv2.h.

Referenced by clone(), and create().

void QgsGradientFillSymbolLayerV2::setOffsetUnit ( QgsSymbolV2::OutputUnit  unit)
inline

Units for gradient fill offset.

Definition at line 236 of file qgsfillsymbollayerv2.h.

Referenced by clone(), and create().

void QgsGradientFillSymbolLayerV2::setReferencePoint1 ( QPointF  referencePoint)
inline

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

Definition at line 212 of file qgsfillsymbollayerv2.h.

Referenced by clone(), and create().

void QgsGradientFillSymbolLayerV2::setReferencePoint1IsCentroid ( bool  isCentroid)
inline

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

Definition at line 216 of file qgsfillsymbollayerv2.h.

Referenced by clone(), and create().

void QgsGradientFillSymbolLayerV2::setReferencePoint2 ( QPointF  referencePoint)
inline

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

Definition at line 220 of file qgsfillsymbollayerv2.h.

Referenced by clone(), and create().

void QgsGradientFillSymbolLayerV2::setReferencePoint2IsCentroid ( bool  isCentroid)
inline

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

Definition at line 224 of file qgsfillsymbollayerv2.h.

Referenced by clone(), and create().

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

Implements QgsSymbolLayerV2.

Definition at line 703 of file qgsfillsymbollayerv2.cpp.

Member Data Documentation

double QgsGradientFillSymbolLayerV2::mAngle
protected

Definition at line 254 of file qgsfillsymbollayerv2.h.

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

QBrush QgsGradientFillSymbolLayerV2::mBrush
protected

Definition at line 237 of file qgsfillsymbollayerv2.h.

Referenced by applyDataDefinedSymbology(), and renderPolygon().

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

Definition at line 247 of file qgsfillsymbollayerv2.h.

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

GradientColorType QgsGradientFillSymbolLayerV2::mGradientColorType
protected

Definition at line 243 of file qgsfillsymbollayerv2.h.

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

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

Definition at line 248 of file qgsfillsymbollayerv2.h.

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

GradientType QgsGradientFillSymbolLayerV2::mGradientType
protected

Definition at line 246 of file qgsfillsymbollayerv2.h.

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

QPointF QgsGradientFillSymbolLayerV2::mOffset
protected

Definition at line 256 of file qgsfillsymbollayerv2.h.

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

QgsSymbolV2::OutputUnit QgsGradientFillSymbolLayerV2::mOffsetUnit
protected

Definition at line 257 of file qgsfillsymbollayerv2.h.

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

QPointF QgsGradientFillSymbolLayerV2::mReferencePoint1
protected

Definition at line 250 of file qgsfillsymbollayerv2.h.

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

bool QgsGradientFillSymbolLayerV2::mReferencePoint1IsCentroid
protected

Definition at line 251 of file qgsfillsymbollayerv2.h.

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

QPointF QgsGradientFillSymbolLayerV2::mReferencePoint2
protected

Definition at line 252 of file qgsfillsymbollayerv2.h.

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

bool QgsGradientFillSymbolLayerV2::mReferencePoint2IsCentroid
protected

Definition at line 253 of file qgsfillsymbollayerv2.h.

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

QBrush QgsGradientFillSymbolLayerV2::mSelBrush
protected

Definition at line 241 of file qgsfillsymbollayerv2.h.

Referenced by renderPolygon(), and startRender().


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