A Symbology Enconding visitor that configures a given canvas based on symbolizers elements. If you want to use this visitor, use a command like: te::map::CanvasConfigurer cc(canvas); cc.config(symbolizer);
More...
#include <CanvasConfigurer.h>
Public Member Functions | |
Initializer Methods | |
CanvasConfigurer (Canvas *canvas) | |
Constructor. More... | |
~CanvasConfigurer () | |
Destructor. More... | |
Config Method | |
Method that can be used to configure a canvas based on Symbology Enconding symbolizer elements. | |
void | config (const te::se::Symbolizer *symbolizer) |
It configs the canvas based on given symbolizer. More... | |
Visitor Methods | |
All concrete visitors must implement these methods. | |
void | visit (const te::se::Style &visited) |
void | visit (const te::se::FeatureTypeStyle &visited) |
void | visit (const te::se::CoverageStyle &visited) |
void | visit (const te::se::Symbolizer &visited) |
void | visit (const te::se::PolygonSymbolizer &visited) |
void | visit (const te::se::LineSymbolizer &visited) |
void | visit (const te::se::PointSymbolizer &visited) |
void | visit (const te::se::TextSymbolizer &visited) |
void | visit (const te::se::RasterSymbolizer &visited) |
Private Types | |
enum | ConfigStyle { Point, Line, Contour, Fill } |
Internal enum that indicates which style that should be configured. More... | |
Private Member Functions | |
void | config (const te::se::Stroke *stroke, const bool &fromLineSymbolizer=true) |
Internal method that configs the canvas based on given Stroke element. More... | |
void | config (const te::se::Fill *fill) |
Internal method that configs the canvas based on given Fill element. More... | |
void | config (const te::se::Graphic *graphic, ConfigStyle configStyle) |
Internal method that configs the canvas based on given Graphic element. More... | |
void | configDefaultLine () |
Configs the canvas with default values for line styles. More... | |
void | configDefaultPoint () |
Configs the canvas with default values for point styles. More... | |
void | configDefaultPolygon () |
Configs the canvas with default values for polygon styles. More... | |
void | configDefaultText () |
Configs the canvas with default values for text styles. More... | |
Private Attributes | |
Canvas * | m_canvas |
A pointer to the canvas that will be configured. More... | |
Static Private Attributes | |
static std::map< std::string, te::map::LineCapStyle > | sm_lineCapMap |
A map that associates stroke-linecap value to the correct LineCapStyle. More... | |
static std::map< std::string, te::map::LineJoinStyle > | sm_lineJoinMap |
A map that associates stroke-linejoin value to the correct LineJoinStyle. More... | |
A Symbology Enconding visitor that configures a given canvas based on symbolizers elements. If you want to use this visitor, use a command like: te::map::CanvasConfigurer cc(canvas); cc.config(symbolizer);
Definition at line 72 of file CanvasConfigurer.h.
|
private |
Internal enum that indicates which style that should be configured.
Enumerator | |
---|---|
Point |
Adjust parameters associated with point. |
Line |
Adjust parameters associated with line. |
Contour |
Adjust parameters associated with contour. |
Fill |
Adjust parameters associated with fill. |
Definition at line 132 of file CanvasConfigurer.h.
te::map::CanvasConfigurer::CanvasConfigurer | ( | Canvas * | canvas | ) |
Constructor.
canvas | A pointer to the canvas that will be configured. |
Definition at line 60 of file CanvasConfigurer.cpp.
References te::map::BevelJoin, te::map::ButtCap, te::map::MiterJoin, te::map::RoundCap, te::map::RoundJoin, sm_lineCapMap, sm_lineJoinMap, te::map::SquareCap, TE_SE_BEVEL_JOIN, TE_SE_BUTT_CAP, TE_SE_MITRE_JOIN, TE_SE_ROUND_CAP, TE_SE_ROUND_JOIN, and TE_SE_SQUARE_CAP.
te::map::CanvasConfigurer::~CanvasConfigurer | ( | ) |
Destructor.
Definition at line 74 of file CanvasConfigurer.cpp.
void te::map::CanvasConfigurer::config | ( | const te::se::Symbolizer * | symbolizer | ) |
It configs the canvas based on given symbolizer.
symbolizer | The symbolizer that will be used to config the canvas. |
Definition at line 77 of file CanvasConfigurer.cpp.
References te::common::BaseVisitable< T, R >::accept().
Referenced by te::qt::widgets::SymbologyPreview::build(), te::graph::LayerRenderer::draw(), te::map::DrawGeometries(), te::map::QueryLayerRenderer::drawLayerGeometries(), te::map::QueryLayerRenderer::drawLayerGroupingMem(), te::map::QueryLayerRenderer::drawLayerLinkedGroupingMem(), te::layout::LegendChildModel::drawLegend(), te::wms::WMSLayerRenderer::drawRaster(), te::map::DrawRaster(), te::layout::LegendModel::drawStyleLegend(), and te::layout::LegendItem::paint().
|
private |
Internal method that configs the canvas based on given Stroke element.
stroke | The Stroke element that will be used to config the canvas. |
fromLineSymbolizer | A flag that indicates if the given stroke come from LineSymbolizer element. |
Definition at line 218 of file CanvasConfigurer.cpp.
References Contour, te::se::GetColor(), te::se::Stroke::getDashArray(), te::map::GetDashStyle(), te::se::Stroke::getGraphicFill(), te::se::GetInt(), te::se::Stroke::getLineCap(), te::se::Stroke::getLineJoin(), te::se::GetString(), te::se::Stroke::getWidth(), Line, TE_OPAQUE, and TE_SE_DEFAULT_STROKE_BASIC_COLOR.
|
private |
Internal method that configs the canvas based on given Fill element.
fill | The Fill element that will be used to config the canvas. |
Definition at line 269 of file CanvasConfigurer.cpp.
References Fill, te::se::GetColor(), te::se::Fill::getGraphicFill(), TE_OPAQUE, and TE_SE_DEFAULT_FILL_BASIC_COLOR.
|
private |
Internal method that configs the canvas based on given Graphic element.
graphic | The Graphic element that will be used to config the canvas. |
configStyle | Enumerated value that indicates which style that should be configured (for Point, Line, Contour, or Fill). |
Definition at line 285 of file CanvasConfigurer.cpp.
References Contour, Fill, te::common::Free(), te::se::GetDouble(), te::se::Graphic::getExternalGraphics(), te::common::Singleton< ExternalGraphicRendererManager >::getInstance(), te::common::Singleton< MarkRendererManager >::getInstance(), te::se::GetInt(), te::se::Graphic::getMarks(), te::se::Graphic::getOpacity(), te::se::Graphic::getRotation(), te::se::Graphic::getSize(), Line, Point, te::map::ExternalGraphicRendererManager::render(), te::map::MarkRendererManager::render(), TE_OPAQUE, TE_SE_DEFAULT_GRAPHIC_SIZE, and TE_TRANSPARENT.
|
private |
Configs the canvas with default values for line styles.
Definition at line 386 of file CanvasConfigurer.cpp.
References te::map::ButtCap, te::map::MiterJoin, te::map::SolidLine, TE_OPAQUE, TE_SE_DEFAULT_STROKE_BASIC_COLOR, and TE_SE_DEFAULT_STROKE_BASIC_WIDTH.
|
private |
Configs the canvas with default values for point styles.
Definition at line 397 of file CanvasConfigurer.cpp.
References TE_OPAQUE.
|
private |
Configs the canvas with default values for polygon styles.
Definition at line 373 of file CanvasConfigurer.cpp.
References te::map::ButtCap, te::map::MiterJoin, te::map::SolidLine, TE_OPAQUE, TE_SE_DEFAULT_FILL_BASIC_COLOR, TE_SE_DEFAULT_STROKE_BASIC_COLOR, and TE_SE_DEFAULT_STROKE_BASIC_WIDTH.
|
private |
Configs the canvas with default values for text styles.
Definition at line 402 of file CanvasConfigurer.cpp.
References TE_OPAQUE, TE_SE_DEFAULT_FONT_SIZE, and TE_SE_DEFAULT_TEXT_COLOR.
|
virtual |
Implements te::se::Visitor.
Definition at line 82 of file CanvasConfigurer.cpp.
|
virtual |
Implements te::se::Visitor.
Definition at line 87 of file CanvasConfigurer.cpp.
|
virtual |
Implements te::se::Visitor.
Definition at line 92 of file CanvasConfigurer.cpp.
|
virtual |
Implements te::se::Visitor.
Definition at line 97 of file CanvasConfigurer.cpp.
|
virtual |
Implements te::se::Visitor.
Definition at line 102 of file CanvasConfigurer.cpp.
References te::se::PolygonSymbolizer::getFill(), te::se::PolygonSymbolizer::getStroke(), and TE_TRANSPARENT.
|
virtual |
Implements te::se::Visitor.
Definition at line 122 of file CanvasConfigurer.cpp.
References te::se::LineSymbolizer::getStroke(), and TE_TRANSPARENT.
|
virtual |
Implements te::se::Visitor.
Definition at line 138 of file CanvasConfigurer.cpp.
References te::se::PointSymbolizer::getGraphic(), and Point.
|
virtual |
Implements te::se::Visitor.
Definition at line 148 of file CanvasConfigurer.cpp.
References te::se::GetColor(), te::se::GetDouble(), te::se::Font::getFamily(), te::se::Halo::getFill(), te::se::TextSymbolizer::getFill(), te::se::TextSymbolizer::getFont(), te::se::TextSymbolizer::getHalo(), te::se::GetInt(), te::se::Halo::getRadius(), te::se::Font::getSize(), te::se::GetString(), te::se::Font::getStyle(), te::se::Font::getWeight(), TE_OPAQUE, TE_SE_DEFAULT_HALO_COLOR, TE_SE_DEFAULT_HALO_RADIUS, and TE_SE_DEFAULT_TEXT_COLOR.
|
virtual |
Implements te::se::Visitor.
Definition at line 213 of file CanvasConfigurer.cpp.
|
private |
A pointer to the canvas that will be configured.
Definition at line 177 of file CanvasConfigurer.h.
|
staticprivate |
A map that associates stroke-linecap value to the correct LineCapStyle.
Definition at line 179 of file CanvasConfigurer.h.
Referenced by CanvasConfigurer().
|
staticprivate |
A map that associates stroke-linejoin value to the correct LineJoinStyle.
Definition at line 180 of file CanvasConfigurer.h.
Referenced by CanvasConfigurer().