Quantum GIS API Documentation
1.8
|
#include <qgssymbolv2.h>
Public Types | |
enum | OutputUnit { MM, MapUnit } |
enum | SymbolType { Marker, Line, Fill } |
enum | RenderHint { DataDefinedSizeScale = 1, DataDefinedRotation = 2 } |
Public Member Functions | |
virtual | ~QgsSymbolV2 () |
SymbolType | type () const |
QgsSymbolLayerV2 * | symbolLayer (int layer) |
int | symbolLayerCount () |
bool | insertSymbolLayer (int index, QgsSymbolLayerV2 *layer) |
insert symbol layer to specified index | |
bool | appendSymbolLayer (QgsSymbolLayerV2 *layer) |
append symbol layer at the end of the list | |
bool | deleteSymbolLayer (int index) |
delete symbol layer at specified index | |
QgsSymbolLayerV2 * | takeSymbolLayer (int index) |
remove symbol layer from the list and return pointer to it | |
bool | changeSymbolLayer (int index, QgsSymbolLayerV2 *layer) |
delete layer at specified index and set a new one | |
void | startRender (QgsRenderContext &context, const QgsVectorLayer *layer=0) |
void | stopRender (QgsRenderContext &context) |
void | setColor (const QColor &color) |
QColor | color () |
void | drawPreviewIcon (QPainter *painter, QSize size) |
QImage | bigSymbolPreviewImage () |
QString | dump () |
virtual QgsSymbolV2 * | clone () const =0 |
void | toSld (QDomDocument &doc, QDomElement &element, QgsStringMap props) const |
OutputUnit | outputUnit () const |
void | setOutputUnit (OutputUnit u) |
qreal | alpha () const |
Get alpha transparency 1 for opaque, 0 for invisible. | |
void | setAlpha (qreal alpha) |
Set alpha transparency 1 for opaque, 0 for invisible. | |
void | setRenderHints (int hints) |
int | renderHints () const |
QSet< QString > | usedAttributes () const |
Static Public Member Functions | |
static QgsSymbolV2 * | defaultSymbol (QGis::GeometryType geomType) |
return new default symbol for specified geometry type | |
Protected Member Functions | |
QgsSymbolV2 (SymbolType type, QgsSymbolLayerV2List layers) | |
QgsSymbolLayerV2List | cloneLayers () const |
bool | isSymbolLayerCompatible (SymbolType t) |
check whether a symbol layer type can be used within the symbol (marker-marker, line-line, fill-fill/line) | |
Protected Attributes | |
SymbolType | mType |
QgsSymbolLayerV2List | mLayers |
OutputUnit | mOutputUnit |
qreal | mAlpha |
Symbol opacity (in the range 0 - 1) | |
int | mRenderHints |
Definition at line 42 of file qgssymbolv2.h.
Definition at line 46 of file qgssymbolv2.h.
Definition at line 60 of file qgssymbolv2.h.
Definition at line 52 of file qgssymbolv2.h.
QgsSymbolV2::~QgsSymbolV2 | ( | ) | [virtual] |
Definition at line 54 of file qgssymbolv2.cpp.
References mLayers.
QgsSymbolV2::QgsSymbolV2 | ( | SymbolType | type, |
QgsSymbolLayerV2List | layers | ||
) | [protected] |
Definition at line 34 of file qgssymbolv2.cpp.
References isSymbolLayerCompatible(), mLayers, and type().
qreal QgsSymbolV2::alpha | ( | ) | const [inline] |
Get alpha transparency 1 for opaque, 0 for invisible.
Definition at line 115 of file qgssymbolv2.h.
Referenced by QgsSymbolLayerV2Utils::saveSymbol(), and toSld().
bool QgsSymbolV2::appendSymbolLayer | ( | QgsSymbolLayerV2 * | layer | ) |
append symbol layer at the end of the list
Definition at line 108 of file qgssymbolv2.cpp.
References isSymbolLayerCompatible(), mLayers, and QgsSymbolLayerV2::type().
QImage QgsSymbolV2::bigSymbolPreviewImage | ( | ) |
Definition at line 210 of file qgssymbolv2.cpp.
References QgsSymbolLayerV2Utils::createRenderContext(), Fill, Line, Marker, mType, startRender(), and stopRender().
bool QgsSymbolV2::changeSymbolLayer | ( | int | index, |
QgsSymbolLayerV2 * | layer | ||
) |
delete layer at specified index and set a new one
Definition at line 138 of file qgssymbolv2.cpp.
References isSymbolLayerCompatible(), mLayers, and QgsSymbolLayerV2::type().
virtual QgsSymbolV2* QgsSymbolV2::clone | ( | ) | const [pure virtual] |
Implemented in QgsFillSymbolV2, QgsLineSymbolV2, and QgsMarkerSymbolV2.
Referenced by QgsGraduatedSymbolRendererV2::addClass(), QgsSingleSymbolRendererV2::clone(), QgsGraduatedSymbolRendererV2::clone(), QgsCategorizedSymbolRendererV2::clone(), QgsComposerSymbolV2Item::clone(), QgsRuleBasedRendererV2::Rule::clone(), QgsGraduatedSymbolRendererV2::createRenderer(), QgsRendererCategoryV2::QgsRendererCategoryV2(), QgsRendererRangeV2::QgsRendererRangeV2(), QgsRuleBasedRendererV2::refineRuleCategories(), QgsRuleBasedRendererV2::refineRuleRanges(), QgsRuleBasedRendererV2::refineRuleScales(), QgsSingleSymbolRendererV2::startRender(), QgsGraduatedSymbolRendererV2::startRender(), QgsCategorizedSymbolRendererV2::startRender(), QgsGraduatedSymbolRendererV2::updateColorRamp(), and QgsGraduatedSymbolRendererV2::updateSymbols().
QgsSymbolLayerV2List QgsSymbolV2::cloneLayers | ( | ) | const [protected] |
Definition at line 283 of file qgssymbolv2.cpp.
References QgsSymbolLayerV2::clone(), mLayers, QgsSymbolLayerV2::setLocked(), and QgsSymbolLayerV2::setRenderingPass().
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), and QgsFillSymbolV2::clone().
QColor QgsSymbolV2::color | ( | void | ) |
Definition at line 175 of file qgssymbolv2.cpp.
References mLayers.
Referenced by dump(), QgsMarkerLineSymbolLayerV2::setSubSymbol(), QgsCentroidFillSymbolLayerV2::setSubSymbol(), and QgsGraduatedSymbolRendererV2::updateSymbols().
QgsSymbolV2 * QgsSymbolV2::defaultSymbol | ( | QGis::GeometryType | geomType | ) | [static] |
return new default symbol for specified geometry type
Definition at line 61 of file qgssymbolv2.cpp.
References QGis::Line, QGis::Point, QGis::Polygon, QgsDebugMsg, and setColor().
Referenced by QgsFeatureRendererV2::defaultRenderer(), and QgsVectorLayer::drawRendererV2Levels().
bool QgsSymbolV2::deleteSymbolLayer | ( | int | index | ) |
delete symbol layer at specified index
Definition at line 118 of file qgssymbolv2.cpp.
References mLayers.
void QgsSymbolV2::drawPreviewIcon | ( | QPainter * | painter, |
QSize | size | ||
) |
Definition at line 186 of file qgssymbolv2.cpp.
References QgsSymbolLayerV2Utils::createRenderContext(), Fill, Line, mAlpha, mLayers, mOutputUnit, mRenderHints, mType, QgsLineSymbolLayerV2::renderPolygonOutline(), QgsSymbolLayerV2::startRender(), and QgsSymbolLayerV2::stopRender().
Referenced by QgsVectorFieldSymbolLayer::drawPreviewIcon(), QgsComposerLegend::drawSymbolV2(), and QgsSymbolLayerV2Utils::symbolPreviewPixmap().
QString QgsSymbolV2::dump | ( | ) |
Definition at line 251 of file qgssymbolv2.cpp.
References color(), QgsSymbolLayerV2Utils::encodeColor(), Fill, Line, Marker, mLayers, and type().
Referenced by QgsRendererRangeV2::dump(), QgsRendererCategoryV2::dump(), and QgsSingleSymbolRendererV2::dump().
bool QgsSymbolV2::insertSymbolLayer | ( | int | index, |
QgsSymbolLayerV2 * | layer | ||
) |
insert symbol layer to specified index
Definition at line 96 of file qgssymbolv2.cpp.
References isSymbolLayerCompatible(), mLayers, and QgsSymbolLayerV2::type().
bool QgsSymbolV2::isSymbolLayerCompatible | ( | SymbolType | t | ) | [protected] |
check whether a symbol layer type can be used within the symbol (marker-marker, line-line, fill-fill/line)
Definition at line 86 of file qgssymbolv2.cpp.
References Fill, Line, and mType.
Referenced by appendSymbolLayer(), changeSymbolLayer(), insertSymbolLayer(), and QgsSymbolV2().
OutputUnit QgsSymbolV2::outputUnit | ( | ) | const [inline] |
Definition at line 111 of file qgssymbolv2.h.
Referenced by QgsComposerLegend::drawSymbolV2(), QgsSymbolLayerV2Utils::saveSymbol(), and toSld().
int QgsSymbolV2::renderHints | ( | ) | const [inline] |
Definition at line 122 of file qgssymbolv2.h.
void QgsSymbolV2::setAlpha | ( | qreal | alpha | ) | [inline] |
Set alpha transparency 1 for opaque, 0 for invisible.
Definition at line 117 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), QgsFillSymbolV2::clone(), QgsSymbolLayerV2Utils::loadSymbol(), QgsMarkerLineSymbolLayerV2::startRender(), and QgsCentroidFillSymbolLayerV2::startRender().
void QgsSymbolV2::setColor | ( | const QColor & | color | ) |
Definition at line 166 of file qgssymbolv2.cpp.
References mLayers.
Referenced by QgsGraduatedSymbolRendererV2::createRenderer(), defaultSymbol(), QgsVectorLayer::drawRendererV2Levels(), QgsMarkerLineSymbolLayerV2::setColor(), QgsCentroidFillSymbolLayerV2::setColor(), QgsGraduatedSymbolRendererV2::updateColorRamp(), and QgsGraduatedSymbolRendererV2::updateSymbols().
void QgsSymbolV2::setOutputUnit | ( | OutputUnit | u | ) | [inline] |
Definition at line 112 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), QgsFillSymbolV2::clone(), QgsComposerLegend::drawSymbolV2(), QgsSymbolLayerV2Utils::loadSymbol(), QgsMarkerLineSymbolLayerV2::startRender(), QgsPointPatternFillSymbolLayer::startRender(), and QgsCentroidFillSymbolLayerV2::startRender().
void QgsSymbolV2::setRenderHints | ( | int | hints | ) | [inline] |
Definition at line 120 of file qgssymbolv2.h.
Referenced by QgsSingleSymbolRendererV2::startRender(), QgsGraduatedSymbolRendererV2::startRender(), QgsCategorizedSymbolRendererV2::startRender(), and QgsMarkerLineSymbolLayerV2::startRender().
void QgsSymbolV2::startRender | ( | QgsRenderContext & | context, |
const QgsVectorLayer * | layer = 0 |
||
) |
Definition at line 151 of file qgssymbolv2.cpp.
References mAlpha, mLayers, mOutputUnit, mRenderHints, and QgsSymbolV2RenderContext::setLayer().
Referenced by bigSymbolPreviewImage(), QgsAnnotationItem::drawMarkerSymbol(), QgsSingleSymbolRendererV2::startRender(), QgsPointDisplacementRenderer::startRender(), QgsVectorFieldSymbolLayer::startRender(), QgsGraduatedSymbolRendererV2::startRender(), QgsCategorizedSymbolRendererV2::startRender(), QgsSVGFillSymbolLayer::startRender(), QgsMarkerLineSymbolLayerV2::startRender(), QgsLinePatternFillSymbolLayer::startRender(), QgsPointPatternFillSymbolLayer::startRender(), and QgsCentroidFillSymbolLayerV2::startRender().
void QgsSymbolV2::stopRender | ( | QgsRenderContext & | context | ) |
Definition at line 159 of file qgssymbolv2.cpp.
References mAlpha, mLayers, mOutputUnit, and mRenderHints.
Referenced by bigSymbolPreviewImage(), QgsAnnotationItem::drawMarkerSymbol(), QgsPointPatternFillSymbolLayer::startRender(), QgsSingleSymbolRendererV2::stopRender(), QgsPointDisplacementRenderer::stopRender(), QgsVectorFieldSymbolLayer::stopRender(), QgsSVGFillSymbolLayer::stopRender(), QgsMarkerLineSymbolLayerV2::stopRender(), QgsPointPatternFillSymbolLayer::stopRender(), and QgsCentroidFillSymbolLayerV2::stopRender().
QgsSymbolLayerV2 * QgsSymbolV2::symbolLayer | ( | int | layer | ) |
Definition at line 77 of file qgssymbolv2.cpp.
References mLayers.
Referenced by QgsVectorLayer::drawRendererV2Levels(), QgsSymbolLayerV2Utils::loadSymbols(), QgsSymbolLayerV2Utils::saveSymbol(), QgsRuleBasedRendererV2::stopRender(), QgsSymbologyV2Conversion::symbolV2toV1(), QgsMarkerLineSymbolLayerV2::toSld(), and QgsPointPatternFillSymbolLayer::toSld().
int QgsSymbolV2::symbolLayerCount | ( | ) | [inline] |
Definition at line 77 of file qgssymbolv2.h.
Referenced by QgsVectorLayer::drawRendererV2Levels(), QgsSymbolLayerV2Utils::loadSymbols(), QgsSymbolLayerV2Utils::saveSymbol(), QgsRuleBasedRendererV2::stopRender(), QgsSymbologyV2Conversion::symbolV2toV1(), QgsMarkerLineSymbolLayerV2::toSld(), and QgsPointPatternFillSymbolLayer::toSld().
QgsSymbolLayerV2 * QgsSymbolV2::takeSymbolLayer | ( | int | index | ) |
remove symbol layer from the list and return pointer to it
Definition at line 129 of file qgssymbolv2.cpp.
References mLayers.
void QgsSymbolV2::toSld | ( | QDomDocument & | doc, |
QDomElement & | element, | ||
QgsStringMap | props | ||
) | const |
Definition at line 270 of file qgssymbolv2.cpp.
References alpha(), QgsSymbolLayerV2Utils::encodeSldUom(), mLayers, and outputUnit().
Referenced by QgsRendererRangeV2::toSld(), QgsRendererCategoryV2::toSld(), QgsSingleSymbolRendererV2::toSld(), QgsVectorFieldSymbolLayer::toSld(), QgsSVGFillSymbolLayer::toSld(), and QgsCentroidFillSymbolLayerV2::toSld().
SymbolType QgsSymbolV2::type | ( | ) | const [inline] |
Definition at line 71 of file qgssymbolv2.h.
Referenced by dump(), QgsSymbolV2(), QgsFeatureRendererV2::renderFeatureWithSymbol(), QgsSymbolLayerV2Utils::saveSymbol(), QgsVectorFieldSymbolLayer::setSubSymbol(), QgsImageFillSymbolLayer::setSubSymbol(), QgsMarkerLineSymbolLayerV2::setSubSymbol(), QgsPointPatternFillSymbolLayer::setSubSymbol(), QgsCentroidFillSymbolLayerV2::setSubSymbol(), QgsSingleSymbolRendererV2::startRender(), QgsSingleSymbolRendererV2::symbolForFeature(), QgsGraduatedSymbolRendererV2::symbolForFeature(), and QgsCategorizedSymbolRendererV2::symbolForFeature().
QSet< QString > QgsSymbolV2::usedAttributes | ( | ) | const |
Definition at line 296 of file qgssymbolv2.cpp.
References mLayers.
Referenced by QgsSingleSymbolRendererV2::usedAttributes(), QgsGraduatedSymbolRendererV2::usedAttributes(), and QgsCategorizedSymbolRendererV2::usedAttributes().
qreal QgsSymbolV2::mAlpha [protected] |
Symbol opacity (in the range 0 - 1)
Definition at line 142 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), QgsFillSymbolV2::clone(), drawPreviewIcon(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), startRender(), and stopRender().
QgsSymbolLayerV2List QgsSymbolV2::mLayers [protected] |
Definition at line 137 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::angle(), appendSymbolLayer(), changeSymbolLayer(), cloneLayers(), color(), deleteSymbolLayer(), drawPreviewIcon(), dump(), insertSymbolLayer(), QgsFillSymbolV2::QgsFillSymbolV2(), QgsLineSymbolV2::QgsLineSymbolV2(), QgsMarkerSymbolV2::QgsMarkerSymbolV2(), QgsSymbolV2(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), QgsMarkerSymbolV2::setAngle(), QgsFillSymbolV2::setAngle(), setColor(), QgsMarkerSymbolV2::setSize(), QgsLineSymbolV2::setWidth(), QgsMarkerSymbolV2::size(), startRender(), stopRender(), symbolLayer(), takeSymbolLayer(), toSld(), usedAttributes(), QgsLineSymbolV2::width(), and ~QgsSymbolV2().
OutputUnit QgsSymbolV2::mOutputUnit [protected] |
Definition at line 139 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), QgsFillSymbolV2::clone(), drawPreviewIcon(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), startRender(), and stopRender().
int QgsSymbolV2::mRenderHints [protected] |
Definition at line 144 of file qgssymbolv2.h.
Referenced by drawPreviewIcon(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), startRender(), and stopRender().
SymbolType QgsSymbolV2::mType [protected] |
Definition at line 136 of file qgssymbolv2.h.
Referenced by bigSymbolPreviewImage(), drawPreviewIcon(), and isSymbolLayerCompatible().