#include <qgsfillsymbollayerv2.h>
Public Member Functions | |
QgsSVGFillSymbolLayer (const QString &svgFilePath="", double width=20) | |
QgsSVGFillSymbolLayer (const QByteArray &svgData, double width=20) | |
~QgsSVGFillSymbolLayer () | |
QString | layerType () const |
void | startRender (QgsSymbolV2RenderContext &context) |
void | stopRender (QgsSymbolV2RenderContext &context) |
void | renderPolygon (const QPolygonF &points, QList< QPolygonF > *rings, QgsSymbolV2RenderContext &context) |
QgsStringMap | properties () const |
QgsSymbolLayerV2 * | clone () const |
void | setSvgFilePath (const QString &svgPath) |
QString | svgFilePath () const |
void | setPatternWidth (double width) |
double | patternWidth () const |
QgsSymbolV2 * | subSymbol () |
bool | setSubSymbol (QgsSymbolV2 *symbol) |
Static Public Member Functions | |
static QgsSymbolLayerV2 * | create (const QgsStringMap &properties=QgsStringMap()) |
Protected Attributes | |
double | mPatternWidth |
Width of the pattern (in QgsSymbolV2 output units). | |
QByteArray | mSvgData |
SVG data. | |
QString | mSvgFilePath |
Path to the svg file (or empty if constructed directly from data). | |
QRectF | mSvgViewBox |
SVG view box (to keep the aspect ratio. | |
QBrush | mBrush |
Brush that receives rendered pixel image in startRender() method. | |
double | mOutlineWidth |
Outline width. | |
QgsLineSymbolV2 * | mOutline |
Custom outline. | |
Private Member Functions | |
void | storeViewBox () |
Helper function that gets the view box from the byte array. |
The class automatically scales the pattern to the appropriate pixel dimensions of the output device
Definition at line 72 of file qgsfillsymbollayerv2.h.
QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer | ( | const QString & | svgFilePath = "" , |
|
double | width = 20 | |||
) |
Definition at line 119 of file qgsfillsymbollayerv2.cpp.
References mOutlineWidth, setSubSymbol(), and setSvgFilePath().
QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer | ( | const QByteArray & | svgData, | |
double | width = 20 | |||
) |
Definition at line 126 of file qgsfillsymbollayerv2.cpp.
References mOutlineWidth, setSubSymbol(), and storeViewBox().
QgsSVGFillSymbolLayer::~QgsSVGFillSymbolLayer | ( | ) |
QgsSymbolLayerV2 * QgsSVGFillSymbolLayer::create | ( | const QgsStringMap & | properties = QgsStringMap() |
) | [static] |
Definition at line 149 of file qgsfillsymbollayerv2.cpp.
References QgsSVGFillSymbolLayer(), svgFilePath(), and QgsSvgMarkerSymbolLayerV2::symbolNameToPath().
Referenced by QgsSymbolLayerV2Registry::QgsSymbolLayerV2Registry().
QString QgsSVGFillSymbolLayer::layerType | ( | ) | const [virtual] |
void QgsSVGFillSymbolLayer::startRender | ( | QgsSymbolV2RenderContext & | context | ) | [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 187 of file qgsfillsymbollayerv2.cpp.
References QgsSymbolV2RenderContext::alpha(), mBrush, mOutline, mPatternWidth, mSvgData, mSvgViewBox, QgsSymbolLayerV2Utils::multiplyImageOpacity(), QgsSymbolV2RenderContext::outputPixelSize(), QgsRenderContext::rasterScaleFactor(), QgsSymbolV2RenderContext::renderContext(), and QgsSymbolV2::startRender().
void QgsSVGFillSymbolLayer::stopRender | ( | QgsSymbolV2RenderContext & | context | ) | [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 226 of file qgsfillsymbollayerv2.cpp.
References mOutline, QgsSymbolV2RenderContext::renderContext(), and QgsSymbolV2::stopRender().
void QgsSVGFillSymbolLayer::renderPolygon | ( | const QPolygonF & | points, | |
QList< QPolygonF > * | rings, | |||
QgsSymbolV2RenderContext & | context | |||
) | [virtual] |
Implements QgsFillSymbolLayerV2.
Definition at line 234 of file qgsfillsymbollayerv2.cpp.
References QgsFillSymbolLayerV2::_renderPolygon(), QgsSymbolV2RenderContext::alpha(), mBrush, mOutline, QgsRenderContext::painter(), QgsSymbolV2RenderContext::renderContext(), QgsLineSymbolV2::renderPolyline(), QgsSymbolV2RenderContext::selected(), QgsSymbolLayerV2::selectFillBorder, QgsSymbolV2RenderContext::selectionColor(), and QgsSymbolLayerV2::selectionIsOpaque.
QgsStringMap QgsSVGFillSymbolLayer::properties | ( | ) | const [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 265 of file qgsfillsymbollayerv2.cpp.
References mPatternWidth, mSvgData, mSvgFilePath, and QgsSvgMarkerSymbolLayerV2::symbolPathToName().
QgsSymbolLayerV2 * QgsSVGFillSymbolLayer::clone | ( | ) | const [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 281 of file qgsfillsymbollayerv2.cpp.
References QgsLineSymbolV2::clone(), mOutline, mPatternWidth, mSvgData, mSvgFilePath, QgsSVGFillSymbolLayer(), and QgsSymbolLayerV2::setSubSymbol().
void QgsSVGFillSymbolLayer::setSvgFilePath | ( | const QString & | svgPath | ) |
Definition at line 138 of file qgsfillsymbollayerv2.cpp.
References mSvgData, mSvgFilePath, and storeViewBox().
Referenced by QgsSVGFillSymbolLayer().
QString QgsSVGFillSymbolLayer::svgFilePath | ( | ) | const [inline] |
void QgsSVGFillSymbolLayer::setPatternWidth | ( | double | width | ) | [inline] |
Definition at line 97 of file qgsfillsymbollayerv2.h.
double QgsSVGFillSymbolLayer::patternWidth | ( | ) | const [inline] |
Definition at line 98 of file qgsfillsymbollayerv2.h.
QgsSymbolV2* QgsSVGFillSymbolLayer::subSymbol | ( | ) | [inline, virtual] |
bool QgsSVGFillSymbolLayer::setSubSymbol | ( | QgsSymbolV2 * | symbol | ) | [virtual] |
Reimplemented from QgsSymbolLayerV2.
Definition at line 316 of file qgsfillsymbollayerv2.cpp.
References QgsSymbolV2::Line, mOutline, and QgsSymbolV2::type().
Referenced by QgsSVGFillSymbolLayer().
void QgsSVGFillSymbolLayer::storeViewBox | ( | ) | [private] |
Helper function that gets the view box from the byte array.
Definition at line 300 of file qgsfillsymbollayerv2.cpp.
References mSvgData, and mSvgViewBox.
Referenced by QgsSVGFillSymbolLayer(), and setSvgFilePath().
double QgsSVGFillSymbolLayer::mPatternWidth [protected] |
Width of the pattern (in QgsSymbolV2 output units).
Definition at line 105 of file qgsfillsymbollayerv2.h.
Referenced by clone(), properties(), and startRender().
QByteArray QgsSVGFillSymbolLayer::mSvgData [protected] |
SVG data.
Definition at line 107 of file qgsfillsymbollayerv2.h.
Referenced by clone(), properties(), setSvgFilePath(), startRender(), and storeViewBox().
QString QgsSVGFillSymbolLayer::mSvgFilePath [protected] |
Path to the svg file (or empty if constructed directly from data).
Definition at line 109 of file qgsfillsymbollayerv2.h.
Referenced by clone(), properties(), and setSvgFilePath().
QRectF QgsSVGFillSymbolLayer::mSvgViewBox [protected] |
SVG view box (to keep the aspect ratio.
Definition at line 111 of file qgsfillsymbollayerv2.h.
Referenced by startRender(), and storeViewBox().
QBrush QgsSVGFillSymbolLayer::mBrush [protected] |
Brush that receives rendered pixel image in startRender() method.
Definition at line 113 of file qgsfillsymbollayerv2.h.
Referenced by renderPolygon(), and startRender().
double QgsSVGFillSymbolLayer::mOutlineWidth [protected] |
Outline width.
Definition at line 115 of file qgsfillsymbollayerv2.h.
Referenced by QgsSVGFillSymbolLayer().
QgsLineSymbolV2* QgsSVGFillSymbolLayer::mOutline [protected] |
Custom outline.
Definition at line 117 of file qgsfillsymbollayerv2.h.
Referenced by clone(), renderPolygon(), setSubSymbol(), startRender(), stopRender(), and ~QgsSVGFillSymbolLayer().