Quantum GIS API Documentation
1.7.4
|
A class for svg fill patterns. More...
#include <qgsfillsymbollayerv2.h>
Public Member Functions | |
QgsSVGFillSymbolLayer (const QString &svgFilePath="", double width=20, double rotation=0.0) | |
QgsSVGFillSymbolLayer (const QByteArray &svgData, double width=20, double rotation=0.0) | |
~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. |
A class for svg fill patterns.
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 , |
||
double | rotation = 0.0 |
||
) |
Definition at line 119 of file qgsfillsymbollayerv2.cpp.
References QgsFillSymbolLayerV2::angle(), QgsFillSymbolLayerV2::mAngle, mOutlineWidth, setSubSymbol(), and setSvgFilePath().
QgsSVGFillSymbolLayer::QgsSVGFillSymbolLayer | ( | const QByteArray & | svgData, |
double | width = 20 , |
||
double | rotation = 0.0 |
||
) |
Definition at line 127 of file qgsfillsymbollayerv2.cpp.
References QgsFillSymbolLayerV2::angle(), QgsFillSymbolLayerV2::mAngle, mOutlineWidth, setSubSymbol(), and storeViewBox().
Definition at line 136 of file qgsfillsymbollayerv2.cpp.
References mOutline.
QgsSymbolLayerV2 * QgsSVGFillSymbolLayer::clone | ( | ) | const [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 303 of file qgsfillsymbollayerv2.cpp.
References QgsLineSymbolV2::clone(), QgsFillSymbolLayerV2::mAngle, mOutline, mPatternWidth, mSvgData, mSvgFilePath, QgsSVGFillSymbolLayer(), and QgsSymbolLayerV2::setSubSymbol().
QgsSymbolLayerV2 * QgsSVGFillSymbolLayer::create | ( | const QgsStringMap & | properties = QgsStringMap() | ) | [static] |
Definition at line 152 of file qgsfillsymbollayerv2.cpp.
References QgsFillSymbolLayerV2::angle(), QgsSVGFillSymbolLayer(), svgFilePath(), and QgsSvgMarkerSymbolLayerV2::symbolNameToPath().
Referenced by QgsSymbolLayerV2Registry::QgsSymbolLayerV2Registry().
QString QgsSVGFillSymbolLayer::layerType | ( | ) | const [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 190 of file qgsfillsymbollayerv2.cpp.
double QgsSVGFillSymbolLayer::patternWidth | ( | ) | const [inline] |
Definition at line 98 of file qgsfillsymbollayerv2.h.
QgsStringMap QgsSVGFillSymbolLayer::properties | ( | ) | const [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 286 of file qgsfillsymbollayerv2.cpp.
References QgsFillSymbolLayerV2::mAngle, mPatternWidth, mSvgData, mSvgFilePath, and QgsSvgMarkerSymbolLayerV2::symbolPathToName().
void QgsSVGFillSymbolLayer::renderPolygon | ( | const QPolygonF & | points, |
QList< QPolygonF > * | rings, | ||
QgsSymbolV2RenderContext & | context | ||
) | [virtual] |
Implements QgsFillSymbolLayerV2.
Definition at line 243 of file qgsfillsymbollayerv2.cpp.
References QgsFillSymbolLayerV2::_renderPolygon(), QgsSymbolV2RenderContext::alpha(), doubleNear(), QgsFillSymbolLayerV2::mAngle, mBrush, mOutline, QgsRenderContext::painter(), QgsSymbolV2RenderContext::renderContext(), QgsLineSymbolV2::renderPolyline(), QgsSymbolV2RenderContext::selected(), QgsSymbolLayerV2::selectFillBorder, QgsSymbolV2RenderContext::selectionColor(), and QgsSymbolLayerV2::selectionIsOpaque.
void QgsSVGFillSymbolLayer::setPatternWidth | ( | double | width | ) | [inline] |
Definition at line 97 of file qgsfillsymbollayerv2.h.
bool QgsSVGFillSymbolLayer::setSubSymbol | ( | QgsSymbolV2 * | symbol | ) | [virtual] |
Reimplemented from QgsSymbolLayerV2.
Definition at line 338 of file qgsfillsymbollayerv2.cpp.
References QgsSymbolV2::Line, mOutline, and QgsSymbolV2::type().
Referenced by QgsSVGFillSymbolLayer().
void QgsSVGFillSymbolLayer::setSvgFilePath | ( | const QString & | svgPath | ) |
Definition at line 141 of file qgsfillsymbollayerv2.cpp.
References mSvgData, mSvgFilePath, and storeViewBox().
Referenced by QgsSVGFillSymbolLayer().
void QgsSVGFillSymbolLayer::startRender | ( | QgsSymbolV2RenderContext & | context | ) | [virtual] |
Implements QgsSymbolLayerV2.
Definition at line 195 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 235 of file qgsfillsymbollayerv2.cpp.
References mOutline, QgsSymbolV2RenderContext::renderContext(), and QgsSymbolV2::stopRender().
void QgsSVGFillSymbolLayer::storeViewBox | ( | ) | [private] |
Helper function that gets the view box from the byte array.
Definition at line 322 of file qgsfillsymbollayerv2.cpp.
References mSvgData, and mSvgViewBox.
Referenced by QgsSVGFillSymbolLayer(), and setSvgFilePath().
QgsSymbolV2* QgsSVGFillSymbolLayer::subSymbol | ( | ) | [inline, virtual] |
Reimplemented from QgsSymbolLayerV2.
Definition at line 100 of file qgsfillsymbollayerv2.h.
QString QgsSVGFillSymbolLayer::svgFilePath | ( | ) | const [inline] |
Definition at line 96 of file qgsfillsymbollayerv2.h.
Referenced by create().
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().
QgsLineSymbolV2* QgsSVGFillSymbolLayer::mOutline [protected] |
Custom outline.
Definition at line 117 of file qgsfillsymbollayerv2.h.
Referenced by clone(), renderPolygon(), setSubSymbol(), startRender(), stopRender(), and ~QgsSVGFillSymbolLayer().
double QgsSVGFillSymbolLayer::mOutlineWidth [protected] |
Outline width.
Definition at line 115 of file qgsfillsymbollayerv2.h.
Referenced by QgsSVGFillSymbolLayer().
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().