1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-12-05 00:39:09 +01:00

Compare commits

...

2 Commits

3 changed files with 22 additions and 11 deletions

View File

@ -497,6 +497,9 @@ int MapData::level(int zoom) const
void MapData::points(const RectC &rect, int zoom, QList<Point> *list) void MapData::points(const RectC &rect, int zoom, QList<Point> *list)
{ {
if (!rect.isValid())
return;
int l(level(zoom)); int l(level(zoom));
PointCTX ctx(this, rect, zoom, list); PointCTX ctx(this, rect, zoom, list);
double min[2], max[2]; double min[2], max[2];
@ -528,6 +531,9 @@ void MapData::points(const VectorTile *tile, const RectC &rect, int zoom,
void MapData::paths(const RectC &rect, int zoom, QList<Path> *list) void MapData::paths(const RectC &rect, int zoom, QList<Path> *list)
{ {
if (!rect.isValid())
return;
int l(level(zoom)); int l(level(zoom));
PathCTX ctx(this, rect, zoom, list); PathCTX ctx(this, rect, zoom, list);
double min[2], max[2]; double min[2], max[2];

View File

@ -200,17 +200,17 @@ QPainterPath RasterTile::painterPath(const Polygon &polygon, bool curve) const
{ {
QPainterPath path; QPainterPath path;
if (curve) {
#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0) #if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)
int size = 0; int size = 0;
for (int i = 0; i < polygon.size(); i++) for (int i = 0; i < polygon.size(); i++)
size += polygon.at(i).size(); size += polygon.at(i).size();
path.reserve(size); path.reserve(size);
#endif // QT 5.13 #endif // QT 5.13
for (int i = 0; i < polygon.size(); i++) { for (int i = 0; i < polygon.size(); i++) {
const QVector<Coordinates> &subpath = polygon.at(i); const QVector<Coordinates> &subpath = polygon.at(i);
if (curve) {
QPointF p1(ll2xy(subpath.first())); QPointF p1(ll2xy(subpath.first()));
QPointF p2(0, 0); QPointF p2(0, 0);
QPointF p3(0, 0); QPointF p3(0, 0);
@ -223,7 +223,11 @@ QPainterPath RasterTile::painterPath(const Polygon &polygon, bool curve) const
p1 = p3; p1 = p3;
} }
path.quadTo(p2, p3); path.quadTo(p2, p3);
} else { }
} else {
for (int i = 0; i < polygon.size(); i++) {
const QVector<Coordinates> &subpath = polygon.at(i);
QVector<QPointF> p(subpath.size()); QVector<QPointF> p(subpath.size());
for (int j = 0; j < subpath.size(); j++) for (int j = 0; j < subpath.size(); j++)
p[j] = ll2xy(subpath.at(j)); p[j] = ll2xy(subpath.at(j));

View File

@ -211,9 +211,10 @@ void MapsforgeMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
_data.points(pointRectD.toRectC(_projection, 20), _zoom, _data.points(pointRectD.toRectC(_projection, 20), _zoom,
&points); &points);
tiles.append(RasterTile(_projection, _transform, &_style, _zoom, if (paths.size() || points.size())
QRect(ttl, QSize(_data.tileSize(), _data.tileSize())), tiles.append(RasterTile(_projection, _transform, &_style,
_tileRatio, paths, points)); _zoom, QRect(ttl, QSize(_data.tileSize(), _data.tileSize())),
_tileRatio, paths, points));
} }
} }
} }