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; }
69 void setBorderStyle( Qt::PenStyle borderStyle ) { mBorderStyle = borderStyle; }
74 void setOffset( QPointF offset ) { mOffset = offset; }
159 void setSvgFilePath(
const QString& svgPath );
207 void setDefaultSvgParams();
210 void applyPattern( QBrush& brush,
const QString& svgFilePath,
double patternWidth,
QgsSymbolV2::OutputUnit patternWidthUnit,
const QColor& svgFillColor,
const QColor& svgOutlineColor,
247 double offset()
const {
return mOffset; }
279 void applyPattern(
const QgsSymbolV2RenderContext& context, QBrush& brush,
double lineAngle,
double distance,
double lineWidth,
const QColor& color );
349 double displacementX,
double displacementY );
379 void setColor(
const QColor& color );
virtual QSet< QString > usedAttributes() const
QgsSymbolV2::OutputUnit patternWidthUnit() const
double borderWidth() const
#define DEFAULT_SIMPLEFILL_BORDERCOLOR
void setDistance(double d)
QgsSymbolV2::OutputUnit distanceYUnit() const
QgsSymbolV2::OutputUnit mSvgOutlineWidthUnit
void setSvgOutlineWidth(double w)
virtual QgsSymbolV2::OutputUnit outputUnit() const
virtual void setOutputUnit(QgsSymbolV2::OutputUnit unit)
virtual QgsSymbolLayerV2 * clone() const =0
QgsSymbolV2::OutputUnit mLineWidthUnit
QgsSymbolV2::OutputUnit distanceXUnit() const
void setSvgFillColor(const QColor &c)
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)
double displacementX() const
double svgOutlineWidth() const
Base class for polygon renderers generating texture images.
QgsSymbolV2::OutputUnit svgOutlineWidthUnit() const
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)
void setSvgOutlineWidthUnit(QgsSymbolV2::OutputUnit unit)
double mLineAngle
Vector line angle in degrees (0 = horizontal, counterclockwise)
QMap< QString, QString > QgsStringMap
void setPatternWidth(double width)
void setSvgOutlineColor(const QColor &c)
virtual void startRender(QgsSymbolV2RenderContext &context)=0
void setColor(const QColor &c)
virtual QgsSymbolV2 * subSymbol()
void setDistanceUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit mDisplacementYUnit
void setLineAngle(double a)
virtual void toSld(QDomDocument &doc, QDomElement &element, QgsStringMap props) const
#define DEFAULT_SIMPLEFILL_BORDERSTYLE
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 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
void setDisplacementXUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit mOffsetUnit
void setBorderWidthUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit mOffsetUnit
QString mSvgFilePath
Path to the svg file (or empty if constructed directly from data)
QgsSymbolV2::OutputUnit mOutlineWidthUnit
double mOutlineWidth
Outline width.
void setDistanceXUnit(QgsSymbolV2::OutputUnit unit)
double mLineWidth
Line width (in mm or map units)
QColor svgOutlineColor() const
virtual bool setSubSymbol(QgsSymbolV2 *symbol)
virtual QString layerType() const =0
void setDisplacementY(double d)
QgsSymbolV2::OutputUnit mDistanceYUnit
virtual QgsSymbolV2 * subSymbol()
void setOffset(QPointF offset)
void setLineWidth(double w)
QgsSymbolV2::OutputUnit lineWidthUnit() const
A class for svg fill patterns.
Qt::BrushStyle mBrushStyle
QgsSymbolV2::OutputUnit mDistanceXUnit
void setDisplacementYUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit displacementYUnit() const
QgsSymbolV2::OutputUnit mBorderWidthUnit
QgsSymbolV2::OutputUnit mDistanceUnit
void setOutputUnit(QgsSymbolV2::OutputUnit unit)
void setDistanceY(double d)
QgsMarkerSymbolV2 * mMarkerSymbol
virtual void setColor(const QColor &color)
QColor borderColor() const
void setDistanceX(double d)
QgsSymbolV2::OutputUnit outlineWidthUnit() const
void setOffset(double offset)
void setPatternWidthUnit(QgsSymbolV2::OutputUnit unit)
QgsSymbolV2::OutputUnit displacementXUnit() const
QgsSymbolV2::OutputUnit mPatternWidthUnit
QgsSymbolV2::OutputUnit offsetUnit() const
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
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 setBorderStyle(Qt::PenStyle borderStyle)