1#ifndef OSMSCOUT_MAP_MAPPAINTERGDI_H
2#define OSMSCOUT_MAP_MAPPAINTERGDI_H
50 friend GdiLabelLayouter;
52 GdiLabelLayouter m_labelLayouter;
54 static ULONG_PTR m_gdiplusToken;
55 static DWORD m_gdiplusInstCount;
60 std::shared_ptr<GdiLabel> Layout(
const Projection &projection,
61 const MapParameter ¶meter,
62 const std::string &text,
65 bool enableWrapping =
false,
66 bool contourLabel =
false);
69 const MapParameter ¶meter,
75 const MapParameter ¶meter,
77 const std::vector<GdiGlyph> &glyphs);
82 const MapParameter ¶meter,
83 const MapData &data)
override;
87 const MapParameter ¶meter,
88 const MapData &data)
override;
92 const MapParameter ¶meter,
93 const MapData &data)
override;
97 const MapParameter ¶meter,
98 IconStyle &style)
override;
101 const MapParameter ¶meter,
102 double fontSize)
override;
105 const MapParameter ¶meter,
106 const FillStyle &style)
override;
113 const MapParameter ¶meter,
114 const ObjectFileRef& ref,
115 const std::vector<LabelData> &labels,
116 const Vertex2D &position,
117 double objectWidth)
override;
123 const MapParameter ¶meter,
124 const ObjectFileRef& ref,
129 const MapParameter ¶meter,
130 const MapData &data)
override;
133 const MapParameter ¶meter,
135 const Vertex2D& screenPos,
136 double scaleFactor)
override;
139 const Vertex2D& centerPos,
140 double width,
double height)
override;
143 const MapParameter ¶meter,
146 const std::vector<double> &dash,
147 LineStyle::CapStyle startCap,
148 LineStyle::CapStyle endCap,
149 const CoordBufferRange& coordRange)
override;
153 const MapParameter ¶meter,
158 const MapParameter ¶meter,
162 const MapParameter ¶meter,
163 const Symbol &symbol,
167 const MapParameter ¶meter,
172 const MapParameter& parameter,
#define OSMSCOUT_MAP_GDI_API
Definition MapGDIImportExport.h:43
Definition LabelLayouter.h:103
Definition LabelLayouter.h:57
Definition LabelLayouter.h:119
Definition LabelLayouter.h:147
Definition LabelLayouter.h:230
Definition LabelPath.h:44
Definition MapPainter.h:112
void DrawWay(const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const WayData &data) override
void BeforeDrawing(const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const MapData &data) override
void RegisterContourLabel(const Projection &projection, const MapParameter ¶meter, const ObjectFileRef &ref, const PathLabelData &label, const LabelPath &labelPath) override
void AfterPreprocessing(const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const MapData &data) override
void AfterDrawing(const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const MapData &data) override
void DrawIcon(const IconStyle *style, const Vertex2D ¢erPos, double width, double height) override
void DrawSymbol(const Projection &projection, const MapParameter ¶meter, const Symbol &style, const Vertex2D &screenPos, double scaleFactor) override
MapPainterGDI(const StyleConfigRef &styleConfig)
Default constructor.
void DrawContourSymbol(const Projection &projection, const MapParameter ¶meter, const Symbol &symbol, const ContourSymbolData &data) override
void DrawWayOutline(const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, const WayData &data)
void DrawGround(const Projection &projection, const MapParameter ¶meter, const FillStyle &style) override
void RegisterRegularLabel(const Projection &projection, const MapParameter ¶meter, const ObjectFileRef &ref, const std::vector< LabelData > &labels, const Vertex2D &position, double objectWidth) override
bool DrawMap(const Projection &projection, const MapParameter ¶meter, const MapData &data, HDC hdc, RenderSteps startStep=RenderSteps::FirstStep, RenderSteps endStep=RenderSteps::LastStep)
void DrawLabels(const Projection &projection, const MapParameter ¶meter, const MapData &data) override
bool HasIcon(const StyleConfig &styleConfig, const Projection &projection, const MapParameter ¶meter, IconStyle &style) override
double GetFontHeight(const Projection &projection, const MapParameter ¶meter, double fontSize) override
Label< NativeGlyph, NativeLabel > GdiLabel
Definition MapPainterGDI.h:44
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
~MapPainterGDI() override
void DrawArea(const Projection &projection, const MapParameter ¶meter, const AreaData &area) override
MapPainter(const StyleConfigRef &styleConfig)
StyleConfigRef styleConfig
Reference to the style configuration to be used.
Definition MapPainter.h:250
Definition LabelLayouter.h:46
Definition Projection.h:46
Index selectors by type and level.
Definition StyleConfig.h:552
std::shared_ptr< PathTextStyle > PathTextStyleRef
Definition Styles.h:890
std::shared_ptr< StyleConfig > StyleConfigRef
Definition StyleConfig.h:859
RenderSteps
Definition MapPainter.h:64
@ LastStep
Definition MapPainter.h:92
@ FirstStep
Definition MapPainter.h:65
Definition MapPainter.h:174
Definition MapPainter.h:200
Definition MapPainterGDI.h:38
double width
Definition MapPainterGDI.h:40
std::string character
Definition MapPainterGDI.h:39
double height
Definition MapPainterGDI.h:41
Definition MapPainterGDI.h:32
std::wstring wstr
Definition MapPainterGDI.h:33
void * font
Definition MapPainterGDI.h:34
void * render
Definition MapPainterGDI.h:35
Definition LabelLayouterHelper.h:73