libosmscout
0.1
|
#include <MapPainterSVG.h>
Classes | |
struct | NativeGlyph |
Public Types | |
using | NativeLabel = std::wstring |
using | SvgLabel = Label< NativeGlyph, NativeLabel > |
![]() | |
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 | |
![]() | |
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. More... | |
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. More... | |
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. More... | |
void | DrawGround (const Projection &projection, const MapParameter ¶meter, const FillStyle &style) override |
(Optionally) fills the area with the given default color for ground. More... | |
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). More... | |
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. More... | |
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). More... | |
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. More... | |
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. More... | |
virtual void | RegisterContourLabel (const Projection &projection, const MapParameter ¶meter, const ObjectFileRef &ref, const PathLabelData &label, const LabelPath &labelPath) override |
Register contour label. More... | |
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. More... | |
![]() | |
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. More... | |
const std::list< WayData > & | GetWayData () const |
bool | IsVisibleArea (const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const |
Useful global helper functions. More... | |
bool | IsVisibleWay (const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const |
std::vector< OffsetRel > | ParseLaneTurns (const LanesFeatureValue &feature) const |
Additional Inherited Members | |
![]() | |
AccessFeatureValueReader | accessReader |
Value reader for the 'lanes' feature. More... | |
AddressFeatureValueReader | addressReader |
Value reader for the 'address' feature. More... | |
FillStyle | areaMarkStyle |
Marker fill style for internal debugging. More... | |
FeatureValueBuffer | coastlineSegmentAttributes |
ColorFeatureValueReader | colorReader |
Value reader for the 'color' feature. More... | |
double | contourLabelOffset |
Same value as in MapParameter but converted to pixel. More... | |
double | contourLabelSpace |
Same value as in MapParameter but converted to pixel. More... | |
CoordBuffer | coordBuffer |
Coordinate buffer. More... | |
TextStyleRef | debugLabel |
std::vector< double > | emptyDash |
Presets, precalculations and similar. More... | |
FillStyleRef | landFill |
Fallback styles in case they are missing for the style sheet. More... | |
LanesFeatureValueReader | lanesReader |
Value reader for the 'lanes' feature. More... | |
LayerFeatureValueReader | layerReader |
Value reader for the 'layer' feature. More... | |
NameAltFeatureValueReader | nameAltReader |
Value reader for the 'alternative name' feature. More... | |
NameFeatureValueReader | nameReader |
Attribute readers. More... | |
RefFeatureValueReader | refReader |
Value reader for the 'ref' feature. More... | |
FillStyleRef | seaFill |
double | shieldGridSizeHoriz |
Width of a cell for shield label placement. More... | |
double | shieldGridSizeVert |
Height of a cell for shield label placement. More... | |
StyleConfigRef | styleConfig |
Reference to the style configuration to be used. More... | |
TransBuffer | transBuffer |
Internal coordinate transformation data structures. More... | |
std::vector< double > | tunnelDash |
Dash array for drawing tunnel border. More... | |
WidthFeatureValueReader | widthReader |
Value reader for the 'width' feature. More... | |
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 |