|
libosmscout 0.1
|
#include <MapPainterSVG.h>
Inheritance diagram for osmscout::MapPainterSVG:Classes | |
| struct | NativeGlyph |
Public Types | |
| using | NativeLabel = std::wstring |
| using | SvgLabel = Label< NativeGlyph, NativeLabel > |
Public Types inherited from osmscout::MapPainter | |
| using | WayPathDataIt = std::list< WayPathData >::iterator |
Public Member Functions | |
| bool | DrawMap (const Projection &projection, const MapParameter ¶meter, const MapData &data, std::ostream &stream) |
| MapPainterSVG (const StyleConfigRef &styleConfig) | |
| ~MapPainterSVG () override | |
Public Member Functions inherited from osmscout::MapPainter | |
| bool | Draw (const Projection &projection, const MapParameter ¶meter, const MapData &data) |
| bool | Draw (const Projection &projection, const MapParameter ¶meter, const MapData &data, RenderSteps startStep, RenderSteps endStep) |
| MapPainter (const StyleConfigRef &styleConfig) | |
| virtual | ~MapPainter () |
Static Public Attributes | |
| static constexpr double | AverageCharacterWidth = 0.75 |
Protected Member Functions | |
| void | AfterDrawing (const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const MapData &data) override |
| void | AfterPreprocessing (const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const MapData &data) override |
| Low level drawing routines that have to be implemented by the concrete drawing engine. | |
| void | BeforeDrawing (const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const MapData &data) override |
| void | DrawArea (const Projection &projection, const MapParameter ¶meter, const AreaData &area) override |
| Draw the given area using the given FillStyle for the area outline. | |
| void | DrawContourSymbol (const Projection &projection, const MapParameter ¶meter, const Symbol &symbol, const ContourSymbolData &data) override |
| Draw the given Symbol on top of the contour of the given path. | |
| void | DrawGround (const Projection &projection, const MapParameter ¶meter, const FillStyle &style) override |
| (Optionally) fills the area with the given default color for ground. | |
| void | DrawIcon (const IconStyle *style, const Vertex2D ¢erPos, double width, double height) override |
| Draw the Icon as defined by the IconStyle at the given pixel coordinate (icon center). | |
| virtual void | DrawLabels (const Projection &projection, const MapParameter ¶meter, const MapData &data) override |
| void | DrawPath (const Projection &projection, const MapParameter ¶meter, const Color &color, double width, const std::vector< double > &dash, LineStyle::CapStyle startCap, LineStyle::CapStyle endCap, const CoordBufferRange &coordRange) override |
| Draw simple line with the given style,the given color, the given width and the given untransformed nodes. | |
| void | DrawPath (const Projection &projection, const MapParameter ¶meter, const std::string &styleName, const std::optional< Color > &colorOverride, double width, LineStyle::CapStyle startCap, LineStyle::CapStyle endCap, size_t transStart, size_t transEnd) |
| void | DrawSymbol (const Projection &projection, const MapParameter ¶meter, const Symbol &style, const Vertex2D &screenPos, double scaleFactor) override |
| Draw the Symbol as defined by the SymbolStyle at the given pixel coordinate (symbol center). | |
| void | DrawWay (const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const WayData &data) override |
| void | DrawWayOutline (const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const WayData &data) |
| double | GetFontHeight (const Projection &projection, const MapParameter ¶meter, double fontSize) override |
| Returns the height of the font. | |
| bool | HasIcon (const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, IconStyle &style) override |
| Return true, if the icon in the IconStyle is available and can be drawn. | |
| virtual void | RegisterContourLabel (const Projection &projection, const MapParameter ¶meter, const ObjectFileRef &ref, const PathLabelData &label, const LabelPath &labelPath) override |
| Register contour label. | |
| virtual void | RegisterRegularLabel (const Projection &projection, const MapParameter ¶meter, const ObjectFileRef &ref, const std::vector< LabelData > &labels, const Vertex2D &position, double objectWidth) override |
| Register regular label with given text at the given pixel coordinate in a style defined by the given LabelStyle. | |
Protected Member Functions inherited from osmscout::MapPainter | |
| virtual void | DrawContourLines (const Projection &projection, const MapParameter ¶meter, const MapData &data) |
| virtual void | DrawHillShading (const Projection &projection, const MapParameter ¶meter, const MapData &data) |
| const std::list< AreaData > & | GetAreaData () const |
| double | GetProjectedWidth (const Projection &projection, double minPixel, double width) const |
| double | GetProjectedWidth (const Projection &projection, double width) const |
| virtual double | GetProposedLabelWidth (const MapParameter ¶meter, double averageCharWidth, double objectWidth, size_t stringLength) |
| Compute suggested label width for given parameters. | |
| const std::list< WayData > & | GetWayData () const |
| bool | IsVisibleArea (const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const |
| Useful global helper functions. | |
| bool | IsVisibleWay (const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const |
| std::vector< OffsetRel > | ParseLaneTurns (const LanesFeatureValue &feature) const |
Additional Inherited Members | |
Protected Attributes inherited from osmscout::MapPainter | |
| AccessFeatureValueReader | accessReader |
| Value reader for the 'lanes' feature. | |
| AddressFeatureValueReader | addressReader |
| Value reader for the 'address' feature. | |
| FillStyle | areaMarkStyle |
| Marker fill style for internal debugging. | |
| FeatureValueBuffer | coastlineSegmentAttributes |
| ColorFeatureValueReader | colorReader |
| Value reader for the 'color' feature. | |
| double | contourLabelOffset |
| Same value as in MapParameter but converted to pixel. | |
| double | contourLabelSpace |
| Same value as in MapParameter but converted to pixel. | |
| CoordBuffer | coordBuffer |
| Coordinate buffer. | |
| TextStyleRef | debugLabel |
| std::vector< double > | emptyDash |
| Presets, precalculations and similar. | |
| FillStyleRef | landFill |
| Fallback styles in case they are missing for the style sheet. | |
| LanesFeatureValueReader | lanesReader |
| Value reader for the 'lanes' feature. | |
| LayerFeatureValueReader | layerReader |
| Value reader for the 'layer' feature. | |
| NameAltFeatureValueReader | nameAltReader |
| Value reader for the 'alternative name' feature. | |
| NameFeatureValueReader | nameReader |
| Attribute readers. | |
| RefFeatureValueReader | refReader |
| Value reader for the 'ref' feature. | |
| FillStyleRef | seaFill |
| double | shieldGridSizeHoriz |
| Width of a cell for shield label placement. | |
| double | shieldGridSizeVert |
| Height of a cell for shield label placement. | |
| StyleConfigRef | styleConfig |
| Reference to the style configuration to be used. | |
| TransBuffer | transBuffer |
| Internal coordinate transformation data structures. | |
| std::vector< double > | tunnelDash |
| Dash array for drawing tunnel border. | |
| WidthFeatureValueReader | widthReader |
| Value reader for the 'width' feature. | |
| using osmscout::MapPainterSVG::NativeLabel = std::wstring |
|
explicit |
|
override |
|
overrideprotectedvirtual |
Reimplemented from osmscout::MapPainter.
|
overrideprotectedvirtual |
Low level drawing routines that have to be implemented by the concrete drawing engine.
Some optional callbacks between individual processing steps.
Reimplemented from osmscout::MapPainter.
References osmscout::Projection::ConvertWidthToPixel(), osmscout::MapPainter::GetAreaData(), osmscout::MapPainter::GetProjectedWidth(), osmscout::MapPainter::GetWayData(), osmscout::MapPainter::landFill, osmscout::MapPainter::seaFill, and osmscout::MapPainter::styleConfig.
|
overrideprotectedvirtual |
Reimplemented from osmscout::MapPainter.
References osmscout::Projection::ConvertWidthToPixel(), osmscout::Projection::GetHeight(), osmscout::MapParameter::GetLabelLayouterOverlap(), osmscout::Projection::GetWidth(), osmscout::LabelLayouter< NativeGlyph, NativeLabel, TextLayouter >::SetLayoutOverlap(), and osmscout::LabelLayouter< NativeGlyph, NativeLabel, TextLayouter >::SetViewport().
|
overrideprotectedvirtual |
Draw the given area using the given FillStyle for the area outline.
Implements osmscout::MapPainter.
References osmscout::MapPainter::AreaData::borderStyle, osmscout::CoordBuffer::buffer, osmscout::MapPainter::AreaData::clippings, osmscout::MapPainter::coordBuffer, osmscout::MapPainter::AreaData::coordRange, osmscout::MapPainter::AreaData::fillStyle, osmscout::CoordBufferRange::GetEnd(), osmscout::CoordBufferRange::GetStart(), osmscout::Vertex2D::GetX(), and osmscout::Vertex2D::GetY().
|
overrideprotectedvirtual |
Draw the given Symbol on top of the contour of the given path.
Implements osmscout::MapPainter.
|
overrideprotectedvirtual |
(Optionally) fills the area with the given default color for ground.
In 2D backends this just fills the given area, 3D backends might draw a sphere or an infinite plane.
Implements osmscout::MapPainter.
References osmscout::FillStyle::GetFillColor(), osmscout::Projection::GetHeight(), and osmscout::Projection::GetWidth().
|
overrideprotectedvirtual |
Draw the Icon as defined by the IconStyle at the given pixel coordinate (icon center).
Implements osmscout::MapPainter.
References osmscout::IconStyle::GetIconId(), osmscout::Vertex2D::GetX(), and osmscout::Vertex2D::GetY().
|
overrideprotectedvirtual |
| bool osmscout::MapPainterSVG::DrawMap | ( | const Projection & | projection, |
| const MapParameter & | parameter, | ||
| const MapData & | data, | ||
| std::ostream & | stream | ||
| ) |
|
overrideprotectedvirtual |
Draw simple line with the given style,the given color, the given width and the given untransformed nodes.
Implements osmscout::MapPainter.
References osmscout::CoordBuffer::buffer, osmscout::MapPainter::coordBuffer, osmscout::Color::GetA(), osmscout::CoordBufferRange::GetEnd(), osmscout::CoordBufferRange::GetStart(), osmscout::Vertex2D::GetX(), osmscout::Vertex2D::GetY(), and osmscout::Color::IsSolid().
Referenced by DrawWay().
|
protected |
|
overrideprotectedvirtual |
Draw the Symbol as defined by the SymbolStyle at the given pixel coordinate (symbol center).
Implements osmscout::MapPainter.
References osmscout::Projection::ConvertWidthToPixel(), osmscout::Symbol::GetBoundingBox(), osmscout::ScreenBox::GetCenter(), osmscout::DrawPrimitive::GetFillStyle(), osmscout::Symbol::GetName(), osmscout::Symbol::GetPrimitives(), osmscout::Vertex2D::GetX(), and osmscout::Vertex2D::GetY().
|
overrideprotectedvirtual |
Reimplemented from osmscout::MapPainter.
References osmscout::MapPainter::WayData::color, osmscout::MapPainter::WayData::coordRange, DrawPath(), osmscout::MapPainter::emptyDash, osmscout::MapPainter::WayData::endIsClosed, osmscout::CoordBufferRange::GetEnd(), osmscout::CoordBufferRange::GetStart(), osmscout::MapPainter::WayData::lineStyle, osmscout::MapPainter::WayData::lineWidth, and osmscout::MapPainter::WayData::startIsClosed.
|
protected |
|
overrideprotectedvirtual |
Returns the height of the font.
Implements osmscout::MapPainter.
References osmscout::Projection::ConvertWidthToPixel(), and osmscout::MapParameter::GetFontSize().
|
overrideprotectedvirtual |
Return true, if the icon in the IconStyle is available and can be drawn.
If this method returns false, possibly a fallback (using a Symbol) will be chosen.
Icon style dimensions and iconId may be setup for later usage.
Implements osmscout::MapPainter.
References osmscout::AppendFileToDir(), osmscout::Base64Encode(), osmscout::Projection::ConvertWidthToPixel(), osmscout::IconStyle::GetIconId(), osmscout::MapParameter::GetIconMode(), osmscout::IconStyle::GetIconName(), osmscout::MapParameter::GetIconPaths(), osmscout::MapParameter::GetIconPixelSize(), osmscout::MapParameter::GetIconSize(), osmscout::ReadFile(), osmscout::MapParameter::Scalable, osmscout::MapParameter::ScaledPixmap, osmscout::IconStyle::SetHeight(), osmscout::IconStyle::SetIconId(), and osmscout::IconStyle::SetWidth().
|
overrideprotectedvirtual |
Register contour label.
Implements osmscout::MapPainter.
References osmscout::LabelLayouter< NativeGlyph, NativeLabel, TextLayouter >::RegisterContourLabel().
|
overrideprotectedvirtual |
Register regular label with given text at the given pixel coordinate in a style defined by the given LabelStyle.
Implements osmscout::MapPainter.
References osmscout::LabelLayouter< NativeGlyph, NativeLabel, TextLayouter >::RegisterLabel().
|
staticconstexpr |