libosmscout  1.1.1
Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
osmscout::MapPainterAgg Class Reference

#include <libosmscout-map-agg/include/osmscout/MapPainterAgg.h>

Inheritance diagram for osmscout::MapPainterAgg:
Inheritance graph
[legend]
Collaboration diagram for osmscout::MapPainterAgg:
Collaboration graph
[legend]

Classes

struct  NativeGlyph
 
struct  NativeLabel
 

Public Types

typedef agg::pixfmt_rgb24 AggPixelFormat
 
using AggLabel = Label< NativeGlyph, NativeLabel >
 
using AggGlyph = Glyph< NativeGlyph >
 
using AggLabelLayouter = LabelLayouter< NativeGlyph, NativeLabel, MapPainterAgg >
 
- Public Types inherited from osmscout::MapPainter
using WayPathDataIt = std::list< WayPathData >::iterator
 

Public Member Functions

 MapPainterAgg (const StyleConfigRef &styleConfig)
 
 ~MapPainterAgg () override
 
bool DrawMap (const Projection &projection, const MapParameter &parameter, const MapData &data, AggPixelFormat *pf)
 
- Public Member Functions inherited from osmscout::MapPainter
 MapPainter (const StyleConfigRef &styleConfig)
 
virtual ~MapPainter ()
 
bool Draw (const Projection &projection, const MapParameter &parameter, const MapData &data, RenderSteps startStep, RenderSteps endStep)
 
bool Draw (const Projection &projection, const MapParameter &parameter, const MapData &data)
 

Public Attributes

friend AggLabelLayouter
 

Protected Member Functions

bool HasIcon (const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, IconStyle &style) override
 
double GetFontHeight (const Projection &projection, const MapParameter &parameter, double fontSize) override
 
void DrawGround (const Projection &projection, const MapParameter &parameter, const FillStyle &style) override
 
void DrawIcon (const IconStyle *style, double centerX, double centerY, double width, double height) override
 
void DrawSymbol (const Projection &projection, const MapParameter &parameter, const Symbol &symbol, double x, double y) override
 
void DrawPath (const Projection &projection, const MapParameter &parameter, const Color &color, double width, const std::vector< double > &dash, LineStyle::CapStyle startCap, LineStyle::CapStyle endCap, size_t transStart, size_t transEnd) override
 
void DrawLabel (const Projection &projection, const MapParameter &parameter, const DoubleRectangle &labelRectangle, const LabelData &label, const NativeLabel &layout)
 
void DrawGlyphs (const Projection &projection, const MapParameter &parameter, const osmscout::PathTextStyleRef style, const std::vector< AggGlyph > &glyphs)
 
osmscout::DoubleRectangle GlyphBoundingBox (const NativeGlyph &glyph) const
 
std::shared_ptr< AggLabelLayout (const Projection &projection, const MapParameter &parameter, const std::string &text, double fontSize, double objectWidth, bool enableWrapping=false, bool contourLabel=false)
 
virtual void RegisterRegularLabel (const Projection &projection, const MapParameter &parameter, const std::vector< LabelData > &labels, const Vertex2D &position, double objectWidth) override
 
virtual void RegisterContourLabel (const Projection &projection, const MapParameter &parameter, const PathLabelData &label, const LabelPath &labelPath) override
 
virtual void DrawLabels (const Projection &projection, const MapParameter &parameter, const MapData &data) override
 
virtual void BeforeDrawing (const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const MapData &data) override
 
void DrawContourSymbol (const Projection &projection, const MapParameter &parameter, const Symbol &symbol, double space, size_t transStart, size_t transEnd) override
 
void DrawArea (const Projection &projection, const MapParameter &parameter, const AreaData &area) override
 
- Protected Member Functions inherited from osmscout::MapPainter
const std::list< WayData > & GetWayData () const
 
const std::list< AreaData > & GetAreaData () const
 
virtual void DrawContourLines (const Projection &projection, const MapParameter &parameter, const MapData &data)
 
virtual void DrawHillShading (const Projection &projection, const MapParameter &parameter, const MapData &data)
 
virtual double GetProposedLabelWidth (const MapParameter &parameter, double averageCharWidth, double objectWidth, size_t stringLength)
 
virtual void DrawWay (const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const WayData &data)
 
std::vector< OffsetRelParseLaneTurns (const LanesFeatureValue &)
 
virtual void AfterPreprocessing (const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const MapData &data)
 
virtual void AfterDrawing (const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const MapData &data)
 
bool IsVisibleArea (const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const
 
bool IsVisibleWay (const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const
 
void Transform (const Projection &projection, const MapParameter &parameter, const GeoCoord &coord, double &x, double &y)
 
double GetProjectedWidth (const Projection &projection, double minPixel, double width) const
 
double GetProjectedWidth (const Projection &projection, double width) const
 

Additional Inherited Members

- Protected Attributes inherited from osmscout::MapPainter
TextStyleRef debugLabel
 
StyleConfigRef styleConfig
 Reference to the style configuration to be used. More...
 
TransBuffer transBuffer
 Internal buffer for coordinate transformation from geo coordinates to display coordinates. More...
 
CoordBuffer coordBuffer
 Coordinate buffer. More...
 
FillStyleRef landFill
 
FillStyleRef seaFill
 
FeatureValueBuffer coastlineSegmentAttributes
 
NameFeatureValueReader nameReader
 Value reader for the 'name' feature. More...
 
NameAltFeatureValueReader nameAltReader
 Value reader for the 'alternative name' feature. More...
 
RefFeatureValueReader refReader
 Value reader for the 'ref' feature. More...
 
LayerFeatureValueReader layerReader
 Value reader for the 'layer' feature. More...
 
WidthFeatureValueReader widthReader
 Value reader for the 'width' feature. More...
 
AddressFeatureValueReader addressReader
 Value reader for the 'address' feature. More...
 
LanesFeatureValueReader lanesReader
 Value reader for the 'lanes' feature. More...
 
AccessFeatureValueReader accessReader
 Value reader for the 'lanes' feature. More...
 
ColorFeatureValueReader colorReader
 Value reader for the 'color' feature. More...
 
std::vector< double > emptyDash
 Empty dash array. More...
 
std::vector< double > tunnelDash
 Dash array for drawing tunnel border. More...
 
FillStyle areaMarkStyle
 Marker fill style for internal debugging. 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...
 
double shieldGridSizeHoriz
 Width of a cell for shield label placement. More...
 
double shieldGridSizeVert
 Height of a cell for shield label placement. More...
 

Member Typedef Documentation

◆ AggGlyph

◆ AggLabel

◆ AggLabelLayouter

◆ AggPixelFormat

typedef agg::pixfmt_rgb24 osmscout::MapPainterAgg::AggPixelFormat

Constructor & Destructor Documentation

◆ MapPainterAgg()

osmscout::MapPainterAgg::MapPainterAgg ( const StyleConfigRef styleConfig)
explicit

◆ ~MapPainterAgg()

osmscout::MapPainterAgg::~MapPainterAgg ( )
override

Member Function Documentation

◆ BeforeDrawing()

virtual void osmscout::MapPainterAgg::BeforeDrawing ( const StyleConfig styleConfig,
const Projection projection,
const MapParameter &  parameter,
const MapData &  data 
)
overrideprotectedvirtual

Reimplemented from osmscout::MapPainter.

◆ DrawArea()

void osmscout::MapPainterAgg::DrawArea ( const Projection projection,
const MapParameter &  parameter,
const AreaData area 
)
overrideprotectedvirtual

Draw the given area using the given FillStyle for the area outline.

Implements osmscout::MapPainter.

◆ DrawContourSymbol()

void osmscout::MapPainterAgg::DrawContourSymbol ( const Projection projection,
const MapParameter &  parameter,
const Symbol symbol,
double  space,
size_t  transStart,
size_t  transEnd 
)
overrideprotectedvirtual

Draw the given text as a contour of the given path in a style defined by the given LabelStyle.

Implements osmscout::MapPainter.

◆ DrawGlyphs()

void osmscout::MapPainterAgg::DrawGlyphs ( const Projection projection,
const MapParameter &  parameter,
const osmscout::PathTextStyleRef  style,
const std::vector< AggGlyph > &  glyphs 
)
protected

◆ DrawGround()

void osmscout::MapPainterAgg::DrawGround ( const Projection projection,
const MapParameter &  parameter,
const FillStyle style 
)
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.

◆ DrawIcon()

void osmscout::MapPainterAgg::DrawIcon ( const IconStyle style,
double  centerX,
double  centerY,
double  width,
double  height 
)
overrideprotectedvirtual

Draw the Icon as defined by the IconStyle at the given pixel coordinate (icon center).

Implements osmscout::MapPainter.

◆ DrawLabel()

void osmscout::MapPainterAgg::DrawLabel ( const Projection projection,
const MapParameter &  parameter,
const DoubleRectangle labelRectangle,
const LabelData label,
const NativeLabel layout 
)
protected

◆ DrawLabels()

virtual void osmscout::MapPainterAgg::DrawLabels ( const Projection projection,
const MapParameter &  parameter,
const MapData &  data 
)
overrideprotectedvirtual

Implements osmscout::MapPainter.

◆ DrawMap()

bool osmscout::MapPainterAgg::DrawMap ( const Projection projection,
const MapParameter &  parameter,
const MapData &  data,
AggPixelFormat pf 
)

◆ DrawPath()

void osmscout::MapPainterAgg::DrawPath ( const Projection projection,
const MapParameter &  parameter,
const Color &  color,
double  width,
const std::vector< double > &  dash,
LineStyle::CapStyle  startCap,
LineStyle::CapStyle  endCap,
size_t  transStart,
size_t  transEnd 
)
overrideprotectedvirtual

Draw simple line with the given style,the given color, the given width and the given untransformed nodes.

Implements osmscout::MapPainter.

◆ DrawSymbol()

void osmscout::MapPainterAgg::DrawSymbol ( const Projection projection,
const MapParameter &  parameter,
const Symbol symbol,
double  x,
double  y 
)
overrideprotectedvirtual

Draw the Symbol as defined by the SymbolStyle at the given pixel coordinate (symbol center).

Implements osmscout::MapPainter.

◆ GetFontHeight()

double osmscout::MapPainterAgg::GetFontHeight ( const Projection projection,
const MapParameter &  parameter,
double  fontSize 
)
overrideprotectedvirtual

Returns the height of the font.

Implements osmscout::MapPainter.

◆ GlyphBoundingBox()

osmscout::DoubleRectangle osmscout::MapPainterAgg::GlyphBoundingBox ( const NativeGlyph glyph) const
protected

◆ HasIcon()

bool osmscout::MapPainterAgg::HasIcon ( const StyleConfig styleConfig,
const Projection projection,
const MapParameter &  parameter,
IconStyle style 
)
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.

◆ Layout()

std::shared_ptr<AggLabel> osmscout::MapPainterAgg::Layout ( const Projection projection,
const MapParameter &  parameter,
const std::string &  text,
double  fontSize,
double  objectWidth,
bool  enableWrapping = false,
bool  contourLabel = false 
)
protected

◆ RegisterContourLabel()

virtual void osmscout::MapPainterAgg::RegisterContourLabel ( const Projection projection,
const MapParameter &  parameter,
const PathLabelData label,
const LabelPath labelPath 
)
overrideprotectedvirtual

Register contour label

Implements osmscout::MapPainter.

◆ RegisterRegularLabel()

virtual void osmscout::MapPainterAgg::RegisterRegularLabel ( const Projection projection,
const MapParameter &  parameter,
const std::vector< LabelData > &  labels,
const Vertex2D &  position,
double  objectWidth 
)
overrideprotectedvirtual

Register regular label with given text at the given pixel coordinate in a style defined by the given LabelStyle.

Implements osmscout::MapPainter.

Member Data Documentation

◆ AggLabelLayouter


The documentation for this class was generated from the following file: