16 #ifndef QGSFILLSYMBOLLAYERV2_H
17 #define QGSFILLSYMBOLLAYERV2_H
21 #define DEFAULT_SIMPLEFILL_COLOR QColor(0,0,255)
22 #define DEFAULT_SIMPLEFILL_STYLE Qt::SolidPattern
23 #define DEFAULT_SIMPLEFILL_BORDERCOLOR QColor(0,0,0)
24 #define DEFAULT_SIMPLEFILL_BORDERSTYLE Qt::SolidLine
25 #define DEFAULT_SIMPLEFILL_BORDERWIDTH DEFAULT_LINE_WIDTH
60 QString
ogrFeatureStyle(
double mmScaleFactor,
double mapUnitScaleFactor )
const;
62 Qt::BrushStyle
brushStyle()
const {
return mBrushStyle; }
83 void setBorderStyle( Qt::PenStyle borderStyle ) { mBorderStyle = borderStyle; }
88 void setOffset( QPointF offset ) { mOffset = offset; }
158 QColor color2 = Qt::white,
159 GradientColorType gradientColorType = SimpleTwoColor,
160 GradientType gradientType = Linear,
161 GradientCoordinateMode coordinateMode = Feature,
162 GradientSpread gradientSpread = Pad
200 QColor
color2()
const {
return mColor2; };
233 QPointF
offset()
const {
return mOffset; };
265 void applyGradient(
const QgsSymbolV2RenderContext& context, QBrush& brush,
const QColor& color,
const QColor& color2,
268 const QPointF &referencePoint1,
const QPointF &referencePoint2,
const double angle );
271 QPointF rotateReferencePoint(
const QPointF & refPoint,
double angle );
334 void setSvgFilePath(
const QString& svgPath );
382 void setDefaultSvgParams();
385 void applyPattern( QBrush& brush,
const QString& svgFilePath,
double patternWidth,
QgsSymbolV2::OutputUnit patternWidthUnit,
const QColor& svgFillColor,
const QColor& svgOutlineColor,
419 void setLineWidth(
double w );
424 double offset()
const {
return mOffset; }
459 void applyPattern(
const QgsSymbolV2RenderContext& context, QBrush& brush,
double lineAngle,
double distance,
double lineWidth,
const QColor& color );
536 double displacementX,
double displacementY );
566 void setColor(
const QColor& color );
virtual QSet< QString > usedAttributes() const
QgsVectorColorRampV2 * colorRamp()
Color ramp used for the gradient fill, only used if the gradient color type is set to ColorRamp...
QgsSymbolV2::OutputUnit patternWidthUnit() const
double borderWidth() const
#define DEFAULT_SIMPLEFILL_BORDERCOLOR
void setDistance(double d)
QgsSymbolV2::OutputUnit distanceYUnit() const
void setReferencePoint1(QPointF referencePoint)
Starting point of gradient fill, in the range [0,0] - [1,1].
QgsSymbolV2::OutputUnit mSvgOutlineWidthUnit
void setReferencePoint2IsCentroid(bool isCentroid)
Sets the end point of the gradient to be the feature centroid.
void setSvgOutlineWidth(double w)
virtual QgsSymbolV2::OutputUnit outputUnit() const
void setAngle(double angle)
Rotation angle for gradient fill.
virtual void setOutputUnit(QgsSymbolV2::OutputUnit unit)
virtual Qt::PenStyle dxfPenStyle() const
virtual QgsSymbolLayerV2 * clone() const =0
virtual double dxfWidth(const QgsDxfExport &e, const QgsSymbolV2RenderContext &context) const
QgsSymbolV2::OutputUnit mLineWidthUnit
void setCoordinateMode(GradientCoordinateMode coordinateMode)
QgsSymbolV2::OutputUnit distanceXUnit() const
void setSvgFillColor(const QColor &c)
bool mReferencePoint1IsCentroid
QgsSymbolV2::OutputUnit offsetUnit() const
void setDistanceYUnit(QgsSymbolV2::OutputUnit unit)
virtual QgsSymbolV2 * subSymbol()
QString svgFilePath() const
virtual void applyDataDefinedSettings(const QgsSymbolV2RenderContext &context)
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
QPointF referencePoint2() const
double displacementX() const
double svgOutlineWidth() const
Base class for polygon renderers generating texture images.
GradientCoordinateMode mCoordinateMode
QgsSymbolV2::OutputUnit svgOutlineWidthUnit() const
bool referencePoint2IsCentroid() const
GradientType mGradientType
GradientCoordinateMode coordinateMode() const
Coordinate mode for gradient.
virtual void renderPolygon(const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolV2RenderContext &context)=0
QgsSymbolV2::OutputUnit mDisplacementXUnit
double mDistance
Distance (in mm or map units) between lines.
void setBorderColor(QColor borderColor)
QColor fillColor() const
Get fill color.
void setSvgOutlineWidthUnit(QgsSymbolV2::OutputUnit unit)
double mLineAngle
Vector line angle in degrees (0 = horizontal, counterclockwise)
GradientSpread mGradientSpread
QgsVectorColorRampV2 * mGradientRamp
QMap< QString, QString > QgsStringMap
void setFillColor(const QColor &color)
Set fill color.
void setPatternWidth(double width)
virtual double estimateMaxBleed() const
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape...
void setSvgOutlineColor(const QColor &c)
virtual void startRender(QgsSymbolV2RenderContext &context)=0
virtual QgsSymbolV2 * subSymbol()
void setDistanceUnit(QgsSymbolV2::OutputUnit unit)
void setGradientType(GradientType gradientType)
QgsSymbolV2::OutputUnit mDisplacementYUnit
void setLineAngle(double a)
virtual void toSld(QDomDocument &doc, QDomElement &element, QgsStringMap props) const
#define DEFAULT_SIMPLEFILL_BORDERSTYLE
bool mReferencePoint2IsCentroid
QByteArray mSvgData
SVG data.
Qt::PenStyle borderStyle() const
void setOutlineWidthUnit(QgsSymbolV2::OutputUnit unit)
QgsLineSymbolV2 * mOutline
Custom outline.
#define DEFAULT_SIMPLEFILL_STYLE
double mOffset
Offset perpendicular to line direction.
void setBrushStyle(Qt::BrushStyle style)
void setReferencePoint1IsCentroid(bool isCentroid)
Sets the starting point of the gradient to be the feature centroid.
void setLineWidthUnit(QgsSymbolV2::OutputUnit unit)
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
QgsMarkerSymbolV2 * mMarker
Qt::PenStyle mBorderStyle
QColor svgFillColor() const
QgsSymbolV2::OutputUnit distanceUnit() const
virtual QgsStringMap properties() const =0
double patternWidth() const
QgsSymbolV2::OutputUnit borderWidthUnit() const
virtual QColor color() const
GradientColorType gradientColorType() const
Gradient color mode, controls how gradient color stops are created.
void setDisplacementXUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit mOffsetUnit
void setBorderWidthUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit mOffsetUnit
QPointF referencePoint1() const
QString mSvgFilePath
Path to the svg file (or empty if constructed directly from data)
QgsSymbolV2::OutputUnit mOffsetUnit
virtual QColor dxfColor(const QgsSymbolV2RenderContext &context) const
QgsSymbolV2::OutputUnit mOutlineWidthUnit
double mOutlineWidth
Outline width.
double ANALYSIS_EXPORT angle(Point3D *p1, Point3D *p2, Point3D *p3, Point3D *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
void setDistanceXUnit(QgsSymbolV2::OutputUnit unit)
double mLineWidth
Line width (in mm or map units)
QColor svgOutlineColor() const
GradientSpread gradientSpread() const
Gradient spread mode.
virtual bool setSubSymbol(QgsSymbolV2 *symbol)
void setOffset(QPointF offset)
Offset for gradient fill.
virtual QString layerType() const =0
void setDisplacementY(double d)
QgsSymbolV2::OutputUnit mDistanceYUnit
virtual QgsSymbolV2 * subSymbol()
void setOffset(QPointF offset)
QgsSymbolV2::OutputUnit lineWidthUnit() const
A class for svg fill patterns.
void setGradientColorType(GradientColorType gradientColorType)
Qt::BrushStyle mBrushStyle
QColor color2() const
Color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColor.
GradientColorType mGradientColorType
QgsSymbolV2::OutputUnit mDistanceXUnit
void setDisplacementYUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit displacementYUnit() const
bool referencePoint1IsCentroid() const
QgsSymbolV2::OutputUnit mBorderWidthUnit
QgsSymbolV2::OutputUnit mDistanceUnit
void setOutputUnit(QgsSymbolV2::OutputUnit unit)
void setDistanceY(double d)
QgsMarkerSymbolV2 * mMarkerSymbol
void setOutlineColor(const QColor &color)
Set outline color.
virtual void setColor(const QColor &color)
GradientType gradientType() const
Type of gradient, eg linear or radial.
QColor borderColor() const
void setDistanceX(double d)
QgsSymbolV2::OutputUnit outlineWidthUnit() const
QColor outlineColor() const
Get outline color.
QgsLineSymbolV2 * mFillLineSymbol
Fill line.
virtual double estimateMaxBleed() const
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape...
void setOffset(double offset)
void setPatternWidthUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit displacementXUnit() const
void setGradientSpread(GradientSpread gradientSpread)
QgsSymbolV2::OutputUnit mPatternWidthUnit
QgsSymbolV2::OutputUnit offsetUnit() const
void setReferencePoint2(QPointF referencePoint)
End point of gradient fill, in the range [0,0] - [1,1].
void setBorderWidth(double borderWidth)
void setDisplacementX(double d)
virtual bool setSubSymbol(QgsSymbolV2 *symbol)
virtual void stopRender(QgsSymbolV2RenderContext &context)=0
virtual QString ogrFeatureStyle(double mmScaleFactor, double mapUnitScaleFactor) const
double displacementY() const
Qt::BrushStyle brushStyle() const
#define DEFAULT_SIMPLEFILL_BORDERWIDTH
void setOffsetUnit(QgsSymbolV2::OutputUnit unit)
Units for gradient fill offset.
QgsSymbolV2::OutputUnit offsetUnit() const
QRectF mSvgViewBox
SVG view box (to keep the aspect ratio.
QImage * mSvgPattern
SVG pattern image.
double mPatternWidth
Width of the pattern (in output units)
#define DEFAULT_SIMPLEFILL_COLOR
void setColor2(QColor color2)
void setBorderStyle(Qt::PenStyle borderStyle)